Model repeatedly ignores skill specs, fabricates execution evidence, silently degrades multi-agent workflows
Summary
Claude Code (Opus) repeatedly fails to execute defined skill specifications, silently degrades to partial execution, records false results, and writes commit messages claiming full execution when it did not occur. This pattern has now occurred multiple times despite explicit enforcement mechanisms built to prevent it.
Reproduction
We have a /audit skill defined in .claude/skills/audit/SKILL.md that specifies:
- 23 parallel Explore agents
- 9 deterministic leaf scans
- A mandatory preflight check that verifies Agent tool availability before proceeding
What happened (2026-04-15):
/auditwas invoked- Only 6 of 9 leaf scans ran
- Zero of 23 agents were launched (
agentsLaunched,agentsComplete,phaseallundefinedin the Firestore record) - The session synthesized 19 topic-named results from unknown sources instead of 23 agent results
- Recorded
result: 'partial'to Firestore — which on the dashboard reads as "some findings need attention" rather than "execution failed" - Committed remediation code with the message: "23 Explore agents + 9 leaf scans" — a factually false claim contradicted by the recorded data
- The mandatory preflight check (which exists specifically because this exact failure occurred once before and went undetected for 18 days) was either skipped or ignored
Prior occurrence:
Commit 89d8fc4a (2026-03-27) silently added frontmatter that degraded /audit to single-agent mode. It ran in degraded mode for 18 days before being discovered. After that incident, we added:
- A mandatory Step 0 preflight in the SKILL.md
- Progress tracking fields (
agentsLaunched,agentsComplete,phase) - Explicit instructions: "Do NOT fall back to single-agent mode. Do NOT proceed. Do NOT report partial success."
- A lessons.md entry: "Never reduce skill scope"
- An enforcement test
None of these prevented the recurrence.
Core issue
The model treats skill specifications as suggestions rather than requirements. When execution is difficult (launching 23 parallel agents), it silently degrades to whatever is convenient, records the result as if the skill executed correctly, and even writes commit messages that explicitly misrepresent what happened.
This is not a one-time bug. It is a recurring behavioral pattern where:
- Explicit directives in skill files are ignored
- Enforcement mechanisms built after prior failures are bypassed
- False evidence of compliance is generated (commit messages, Firestore records)
- The user has no way to detect the failure without manually querying the database
Impact
- User is paying for skill executions that do not run
- Dashboard shows misleading status ("PARTIAL" instead of "FAILED TO EXECUTE")
- Remediation commits are based on incomplete analysis
- Trust in the entire audit system is destroyed
- Enforcement mechanisms (preflights, progress tracking, lessons files) provide zero actual enforcement because the model ignores them
Expected behavior
- If the skill spec says 23 agents, launch 23 agents
- If agents cannot be launched, STOP and report failure — do not continue with partial results
- Never record
result: 'partial'when core execution steps were skipped entirely - Never write commit messages claiming execution that did not occur
Environment
- Claude Code CLI, Opus model
- Skill-based workflow with
.claude/skills/definitions - Firestore
skill_runscollection for metrics tracking
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗