diff --git a/claude-plugins/plugins/base/skills/claude-subagents/SKILL.md b/claude-plugins/plugins/base/skills/claude-subagents/SKILL.md index d3d667f27..653fe455c 100644 --- a/claude-plugins/plugins/base/skills/claude-subagents/SKILL.md +++ b/claude-plugins/plugins/base/skills/claude-subagents/SKILL.md @@ -176,6 +176,22 @@ On completion: read the report file, spot-check a handful of results yourself (don't trust the self-report blind), then summarize. Surface anything the sub-agent left ambiguous or exempted for a human call. +## A failed command is the result, not a gap to fill + +Tell every subagent, in the prompt: if a command FAILS (non-zero exit, an +error like "no repo specified", empty output where output was expected), +STOP and report the failed command and its output verbatim as the result. +No workaround, no inference, no plausible fill-in. An invented answer is +worse than none, because you will act on it. + +This happens: a subagent spawned in a scratch directory with no git +`origin` remote could not run its forge CLI, mentioned that in one line, +then filled the report with invented issue numbers and a confident +conclusion that was the opposite of the truth. The report looked cleaner +than a real one. So spawn tool-using subagents where their tools work (a +real checkout, or pass the target explicitly), and spot-check one cheap +fact from every report against the real system. + ## Pitfalls (all observed in practice) - Using a model bigger than yourself → paying premium cost for