Progressive Detail

Return summary by default, full detail on request.

category: Tool Output
arcade.dev/patterns

Context

Data with varying levels of detail needed.

Problem

Agents often need a summary first, then details for specific items.

Solution

Layer detail levels:
- Summary mode: Essential fields only (default)
- Full mode: All fields included
- Selective expansion: Specify which sections

Examples

Python
class DetailLevel(Enum):
    SUMMARY = "summary"
    FULL = "full"

@tool
def get_issue(
    issue_id: str,
    detail: DetailLevel = DetailLevel.SUMMARY,
    include_comments: bool = False,
    include_attachments: bool = False
) -> Issue:
    """Get issue with configurable detail level.
    
    Default returns summary. Use detail='full' or
    include_* flags for more information.
    """
    issue = issues_api.get(issue_id)
    if detail == DetailLevel.SUMMARY:
        return summarize_issue(issue)
    return expand_issue(issue, include_comments, include_attachments)

Considerations

  • Default to summary (most common need)
  • Allow selective expansion of sections
  • Document what each level includes

Related Patterns

More in Tool Output