Agent skill
agent-result-relay
Rules for orchestrators handling sub-agent results without lossy re-summarization. Activates when receiving agent output, relaying research results, passing data between agents, or combining agent findings. Prevents the failure mode where 'not found' becomes 'doesn't exist' and counts get dropped.
Install this agent skill to your Project
npx add-skill https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/summarizer/skills/agent-result-relay
SKILL.md
Agent Result Relay
Rules for how orchestrators MUST handle sub-agent results to prevent information corruption in the relay chain.
The Problem
When an orchestrator receives results from a sub-agent, three failure modes commonly corrupt information:
Failure 1: Lossy Re-Summarization
Agent output: "Found 7 items with details. 3 sources returned HTTP 403."
Orchestrator: "Research complete. Found some items, the rest don't exist."
^^^ CORRUPTED
Failure 2: Count Dropping
Agent output: "Analyzed 15 files: 12 pass validation, 2 have warnings, 1 has errors."
Orchestrator: "Most files pass validation."
^^^ COUNTS LOST
Failure 3: Status Escalation
Agent output: "Unable to access 3 URLs (connection timeout)."
Orchestrator: "3 URLs are not available."
^^^ "UNABLE TO ACCESS" ≠ "NOT AVAILABLE"
Relay Rules
Rule 1: Preserve Exact Counts
When an agent reports numbers, the orchestrator MUST relay those exact numbers.
| Agent Says | Orchestrator MUST Say | Orchestrator MUST NOT Say |
|---|---|---|
| "7 of 10 found" | "7 of 10 found" | "most found" |
| "3 errors, 2 warnings" | "3 errors, 2 warnings" | "several issues" |
| "12 files analyzed" | "12 files analyzed" | "files were analyzed" |
| "0 results" | "0 results found" | "nothing relevant" |
Rule 2: Preserve Failure Reasons
When an agent reports failures, the orchestrator MUST relay the specific reason.
| Agent Says | Orchestrator MUST Say | Orchestrator MUST NOT Say |
|---|---|---|
| "HTTP 403 Forbidden" | "access denied (HTTP 403)" | "not available" |
| "Connection timeout" | "connection timed out" | "doesn't exist" |
| "File not found at path X" | "file not found at X" | "no such file" |
| "Rate limited, try later" | "rate limited" | "unavailable" |
| "3 sources not accessible" | "3 sources not accessible" | "3 sources don't exist" |
Rule 3: Reference Files Instead of Re-Summarizing
When an agent wrote detailed results to a file, the orchestrator MUST reference the file rather than re-summarizing it.
Required pattern:
Research complete. 7 of 10 items documented. 3 sources were inaccessible (connection timeout).
Full results: ./research-output.md
Prohibited pattern:
Research complete. Here's a summary of the summary:
- Item 1 was about X
- Item 2 was about Y
[lossy re-interpretation of agent's already-summarized output]
Rule 4: Relay Structure, Not Interpretation
When an agent returns structured output (STATUS, SUMMARY, ARTIFACTS, etc.), the orchestrator MUST preserve that structure.
Agent returns:
STATUS: DONE
SUMMARY: Validated 15 plugins. 12 pass, 2 warnings, 1 critical error.
ARTIFACTS:
- Report: ./validation-report.md
- Critical: plugin-X has invalid manifest
WARNINGS:
- plugin-Y: description exceeds 200 chars
- plugin-Z: missing homepage field
Orchestrator MUST relay:
Plugin validation complete. 12 of 15 pass, 2 warnings, 1 critical error.
Critical: plugin-X has invalid manifest.
Full report: ./validation-report.md
Orchestrator MUST NOT relay:
Validation done. Most plugins are fine, a couple have minor issues.
Rule 5: Distinguish Agent Conclusions from Agent Observations
When an agent reports both observations and conclusions, the orchestrator MUST clearly distinguish between them.
Agent reports:
Observation: The config file does not contain a "timeout" field.
Conclusion: Using default timeout of 30s.
Orchestrator relays:
Config has no "timeout" field; agent reports default of 30s will be used.
Not:
Timeout is 30 seconds.
The distinction matters because the observation (no field) is verifiable, while the conclusion (default 30s) is the agent's interpretation.
When to Summarize vs When to Relay
The orchestrator MAY summarize agent output ONLY when:
- The user explicitly asked for a summary ("give me a quick overview")
- Multiple agents returned results and the user needs a combined view
- The agent output exceeds what the user needs for their immediate decision
Even when summarizing is appropriate, the orchestrator MUST:
- Preserve all counts
- Preserve all failure reasons
- Reference the full output file
- Not upgrade absence to nonexistence
- Include the "What Was NOT Found" category
Checklist for Orchestrators
Before relaying agent results, verify:
- All numbers from agent output are preserved in relay
- All failure reasons are preserved (not generalized)
- File references are included if agent wrote output files
- "Not found" has not been upgraded to "doesn't exist"
- "Inaccessible" has not been upgraded to "unavailable" or "nonexistent"
- Structured sections (STATUS, ARTIFACTS, WARNINGS) are preserved
- Agent observations are distinguished from agent conclusions
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
ccc
This skill should be used when code search is needed (whether explicitly requested or as part of completing a task), when indexing the codebase after changes, or when the user asks about ccc, cocoindex-code, or the codebase index. Trigger phrases include 'search the codebase', 'find code related to', 'update the index', 'ccc', 'cocoindex-code'.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
delegate
Quick delegation template for sub-agent prompts. Use when assigning work to a sub-agent, before invoking the Agent tool, or when preparing prompts for specialized agents. Provides the WHERE-WHAT-WHY framework. For comprehensive delegation guidance, activate the agent-orchestration how-to-delegate skill.
swarm-spawning
Spawn agents and teammates in Claude Code swarms. Use when choosing between subagents vs teammates, selecting agent types (Explore, Plan, general-purpose, plugin agents), configuring spawn backends (in-process, tmux, iterm2), or setting environment variables for spawned agents.
knowledge-explorer
Manage the research/ knowledge base (KB) of tool and library research entries. Use when browsing KB topics, adding new research entries, updating existing entries with dated revisions, fetching GitHub repo metadata into a draft KB entry, or migrating old-format entries to skill-spec frontmatter. Triggers on tasks like "what do we have on X", "add this to the KB", "update the KB entry for Y", "fetch github info for owner/repo", or "migrate old entries".
design-anti-patterns
Enforce anti-AI UI design rules based on the Uncodixfy methodology. Use when generating HTML, CSS, React, Vue, Svelte, or any frontend UI code. Prevents "Codex UI" — the generic AI aesthetic of soft gradients, floating panels, oversized rounded corners, glassmorphism, hero sections in dashboards, and decorative copy. Applies constraints from Linear/Raycast/Stripe/GitHub design philosophy: functional, honest, human-designed interfaces. Triggers on: UI generation, dashboard building, frontend component creation, CSS styling, landing page design, or any task producing visual interface code.
Didn't find tool you were looking for?