Problem
Agents improvise multi-step workflows from scratch instead of checking whether a documented skill already exists. Even when AGENTS.md is read at session start, the agent has no behavioral rule requiring it to scan skills/ before building an ad-hoc process.
Observed failure (2026-04-06)
User asked agent to "analyze roadmap for a swarm." Agent read AGENTS.md (which had no swarm routing — tracked in #147), then improvised a full swarm analysis from scratch. The agent never checked the skills/ directory, missing skills/deft-swarm/SKILL.md which contains a structured 6-phase workflow, file-overlap audit, prompt template, and launch options. The failure was only caught when the user explicitly asked whether the agent was using the skill.
Why #147 alone is insufficient
#147 adds a keyword routing table to AGENTS.md. That fixes the known-keyword case. But:
- New skills added after the routing table was written won't be routed
- Agents encountering unfamiliar workflow keywords will still improvise if the keyword isn't in the table
- The defensive behavior (scan
skills/ before improvising) is the safety net for routing table gaps
Relationship to #75
#75 tracks platform-level skill auto-discovery (symlinks, .agents/skills/, etc.). This issue is the behavioral rule that works today without platform changes — a single ! rule that makes agents self-check before improvising.
Fix
- AGENTS.md — Add a
! rule under Development Process or a new ## Behavioral Gates section:
! Before improvising any multi-step structured workflow, scan skills/ for a relevant SKILL.md. If one exists, read and follow it.
- AGENTS.md — Add a
⊗ anti-pattern:
⊗ Improvise a multi-step workflow without first checking whether skills/ contains a matching SKILL.md
- Candidate
meta/lessons.md entry — document the failure pattern: "Agent improvised swarm workflow instead of reading existing skill; root cause was no scan-before-improvise gate"
Xrefs
Problem
Agents improvise multi-step workflows from scratch instead of checking whether a documented skill already exists. Even when
AGENTS.mdis read at session start, the agent has no behavioral rule requiring it to scanskills/before building an ad-hoc process.Observed failure (2026-04-06)
User asked agent to "analyze roadmap for a swarm." Agent read AGENTS.md (which had no swarm routing — tracked in #147), then improvised a full swarm analysis from scratch. The agent never checked the
skills/directory, missingskills/deft-swarm/SKILL.mdwhich contains a structured 6-phase workflow, file-overlap audit, prompt template, and launch options. The failure was only caught when the user explicitly asked whether the agent was using the skill.Why #147 alone is insufficient
#147 adds a keyword routing table to AGENTS.md. That fixes the known-keyword case. But:
skills/before improvising) is the safety net for routing table gapsRelationship to #75
#75 tracks platform-level skill auto-discovery (symlinks,
.agents/skills/, etc.). This issue is the behavioral rule that works today without platform changes — a single!rule that makes agents self-check before improvising.Fix
!rule under Development Process or a new## Behavioral Gatessection:⊗anti-pattern:meta/lessons.mdentry — document the failure pattern: "Agent improvised swarm workflow instead of reading existing skill; root cause was no scan-before-improvise gate"Xrefs