Problem
ai/skills/aidd-agent-orchestrator/SKILL.md declares an Agents { … } dispatch table with 12 skills (SKILL.md:15–28). The ai/skills/ directory currently contains 35 skill directories. The orchestrator is therefore unaware of 23 skills.
Listed in the orchestrator (12)
please, stack, productmanager, tdd, javascript, log, commit, autodux, javascript-io-effects, ui, requirements, aidd-upskill
In ai/skills/ but missing from the orchestrator (23)
aidd-churn
aidd-ecs
aidd-error-causes
aidd-fix
aidd-jwt-security
aidd-layout
aidd-lit
aidd-namespace
aidd-observe
aidd-parallel
aidd-pipeline
aidd-pr
aidd-react
aidd-review
aidd-riteway-ai
aidd-rtc
aidd-service
aidd-structure
aidd-sudolang-syntax
aidd-task-creator
aidd-timing-safe-compare
aidd-user-testing
aidd-write
(Several of these — aidd-fix, aidd-pr, aidd-parallel, aidd-review, aidd-task-creator — are central to the workflow described in the README.)
Verification
$ ls -d ai/skills/*/ | wc -l
35
$ sed -n '15,28p' ai/skills/aidd-agent-orchestrator/SKILL.md | grep -cE "^\s+[a-z-]+:"
12
Why this matters
The orchestrator's Agents { … } block presents itself as the canonical routing table:
You are an agent orchestrator. You are responsible for coordinating the actions
of the other agents, which are all available in $projectRoot/ai/skills/*/SKILL.md files
(ai/skills/aidd-agent-orchestrator/SKILL.md:13)
…but the inline list only enumerates ~⅓ of them. An LLM following this guide will likely route only to the 12 listed skills, even though 23 others would be applicable. New skills added to ai/skills/ after May 2025 (which appears to be roughly when this list last grew) are invisible to the orchestrator until someone manually edits this file.
Suggested directions
-
Make the dispatch list non-authoritative. Replace the inline Agents { … } block with a pointer to the auto-generated @skills/index.md, which is already imported by AGENTS.md (AGENTS.md:47). The orchestrator then routes off the live index, not a hand-maintained subset.
-
Auto-regenerate the dispatch list as part of the existing pre-commit --index step. Same hook that maintains ai/skills/index.md could append/refresh the orchestrator's list.
-
Add a diff test that fails if the orchestrator's enumeration disagrees with ls ai/skills/. Small, mechanical, prevents drift even if (1) and (2) aren't done.
(1) is structurally cleanest and removes the staleness class entirely. (3) is the smallest immediate safety net.
Expected
The orchestrator either references all currently-installed skills, or explicitly declares its list to be non-exhaustive and points to the live registry.
Notes
Found during a third-party audit. Citations are against paralleldrive/aidd@57758344 (current main).
Problem
ai/skills/aidd-agent-orchestrator/SKILL.mddeclares anAgents { … }dispatch table with 12 skills (SKILL.md:15–28). Theai/skills/directory currently contains 35 skill directories. The orchestrator is therefore unaware of 23 skills.Listed in the orchestrator (12)
please,stack,productmanager,tdd,javascript,log,commit,autodux,javascript-io-effects,ui,requirements,aidd-upskillIn
ai/skills/but missing from the orchestrator (23)(Several of these —
aidd-fix,aidd-pr,aidd-parallel,aidd-review,aidd-task-creator— are central to the workflow described in the README.)Verification
Why this matters
The orchestrator's
Agents { … }block presents itself as the canonical routing table:(
ai/skills/aidd-agent-orchestrator/SKILL.md:13)…but the inline list only enumerates ~⅓ of them. An LLM following this guide will likely route only to the 12 listed skills, even though 23 others would be applicable. New skills added to
ai/skills/after May 2025 (which appears to be roughly when this list last grew) are invisible to the orchestrator until someone manually edits this file.Suggested directions
Make the dispatch list non-authoritative. Replace the inline
Agents { … }block with a pointer to the auto-generated@skills/index.md, which is already imported byAGENTS.md(AGENTS.md:47). The orchestrator then routes off the live index, not a hand-maintained subset.Auto-regenerate the dispatch list as part of the existing pre-commit
--indexstep. Same hook that maintainsai/skills/index.mdcould append/refresh the orchestrator's list.Add a diff test that fails if the orchestrator's enumeration disagrees with
ls ai/skills/. Small, mechanical, prevents drift even if (1) and (2) aren't done.(1) is structurally cleanest and removes the staleness class entirely. (3) is the smallest immediate safety net.
Expected
The orchestrator either references all currently-installed skills, or explicitly declares its list to be non-exhaustive and points to the live registry.
Notes
Found during a third-party audit. Citations are against
paralleldrive/aidd@57758344(currentmain).