@event4u/agent-config 9.5.0 → 9.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +84 -942
  3. package/README.md +17 -17
  4. package/dist/agent-src/README.md +2 -2
  5. package/dist/agent-src/commands/agents/audit.md +2 -3
  6. package/dist/agent-src/commands/agents/optimize.md +2 -3
  7. package/dist/agent-src/commands/agents/user/review.md +4 -5
  8. package/dist/agent-src/commands/agents/user/show.md +4 -5
  9. package/dist/agent-src/commands/agents/user/update.md +4 -5
  10. package/dist/agent-src/commands/agents/user.md +2 -3
  11. package/dist/agent-src/commands/analytics/prune.md +2 -3
  12. package/dist/agent-src/commands/analytics/show.md +2 -3
  13. package/dist/agent-src/commands/analyze/decision.md +2 -3
  14. package/dist/agent-src/commands/analyze/incident.md +2 -3
  15. package/dist/agent-src/commands/analyze/near-miss.md +2 -3
  16. package/dist/agent-src/commands/analyze/postmortem.md +2 -3
  17. package/dist/agent-src/commands/analyze/premortem.md +2 -3
  18. package/dist/agent-src/commands/analyze/reference-repo.md +2 -3
  19. package/dist/agent-src/commands/brand/identity.md +2 -3
  20. package/dist/agent-src/commands/brand/review.md +2 -3
  21. package/dist/agent-src/commands/brand/strategy.md +2 -3
  22. package/dist/agent-src/commands/brand/tokens.md +2 -3
  23. package/dist/agent-src/commands/brand/voice.md +2 -3
  24. package/dist/agent-src/commands/bug/fix.md +2 -3
  25. package/dist/agent-src/commands/bug/investigate.md +2 -3
  26. package/dist/agent-src/commands/challenge-me/vision.md +2 -3
  27. package/dist/agent-src/commands/challenge-me/with-docs.md +2 -3
  28. package/dist/agent-src/commands/chat-history/import.md +2 -3
  29. package/dist/agent-src/commands/commit/in-chunks.md +2 -3
  30. package/dist/agent-src/commands/context/create.md +2 -3
  31. package/dist/agent-src/commands/context/refactor.md +2 -3
  32. package/dist/agent-src/commands/cost/report.md +2 -3
  33. package/dist/agent-src/commands/council/analysis.md +2 -3
  34. package/dist/agent-src/commands/council/debate.md +2 -3
  35. package/dist/agent-src/commands/council/design.md +2 -3
  36. package/dist/agent-src/commands/council/optimize.md +2 -3
  37. package/dist/agent-src/commands/council/pr.md +2 -3
  38. package/dist/agent-src/commands/feature/dev.md +2 -3
  39. package/dist/agent-src/commands/feature/explore.md +2 -3
  40. package/dist/agent-src/commands/feature/plan.md +2 -3
  41. package/dist/agent-src/commands/feature/refactor.md +2 -3
  42. package/dist/agent-src/commands/feature/roadmap.md +2 -3
  43. package/dist/agent-src/commands/fix/ci.md +2 -3
  44. package/dist/agent-src/commands/fix/comments.md +2 -3
  45. package/dist/agent-src/commands/fix/pr-comments.md +2 -3
  46. package/dist/agent-src/commands/fix/quality.md +2 -3
  47. package/dist/agent-src/commands/fix/route.md +2 -3
  48. package/dist/agent-src/commands/fix/seeder.md +2 -3
  49. package/dist/agent-src/commands/ghostwriter/delete.md +2 -3
  50. package/dist/agent-src/commands/ghostwriter/fetch.md +2 -3
  51. package/dist/agent-src/commands/ghostwriter/list.md +2 -3
  52. package/dist/agent-src/commands/ghostwriter/show.md +2 -3
  53. package/dist/agent-src/commands/ghostwriter/write.md +2 -3
  54. package/dist/agent-src/commands/image/analyse.md +2 -3
  55. package/dist/agent-src/commands/image/create.md +2 -3
  56. package/dist/agent-src/commands/image/verify.md +2 -3
  57. package/dist/agent-src/commands/knowledge/cross-repo.md +2 -3
  58. package/dist/agent-src/commands/knowledge/forget.md +2 -3
  59. package/dist/agent-src/commands/knowledge/ingest.md +2 -3
  60. package/dist/agent-src/commands/knowledge/list.md +2 -3
  61. package/dist/agent-src/commands/memory/add.md +2 -3
  62. package/dist/agent-src/commands/memory/learn-low-impact.md +2 -3
  63. package/dist/agent-src/commands/module/create.md +2 -3
  64. package/dist/agent-src/commands/module/explore.md +2 -3
  65. package/dist/agent-src/commands/optimize/agents-dir.md +2 -3
  66. package/dist/agent-src/commands/optimize/project.md +2 -3
  67. package/dist/agent-src/commands/optimize/prompt.md +2 -3
  68. package/dist/agent-src/commands/optimize/skills.md +2 -3
  69. package/dist/agent-src/commands/override/create.md +2 -3
  70. package/dist/agent-src/commands/override/manage.md +2 -3
  71. package/dist/agent-src/commands/post-as/ghostwriter.md +2 -3
  72. package/dist/agent-src/commands/post-as/me.md +2 -3
  73. package/dist/agent-src/commands/pr/create/description-only.md +2 -3
  74. package/dist/agent-src/commands/pr/create.md +1 -1
  75. package/dist/agent-src/commands/profile/activate.md +2 -3
  76. package/dist/agent-src/commands/profile/deactivate.md +2 -3
  77. package/dist/agent-src/commands/profile/show.md +2 -3
  78. package/dist/agent-src/commands/project/analyze.md +2 -3
  79. package/dist/agent-src/commands/project/health.md +2 -3
  80. package/dist/agent-src/commands/research/deep.md +2 -3
  81. package/dist/agent-src/commands/research/report.md +2 -3
  82. package/dist/agent-src/commands/review/changes.md +2 -3
  83. package/dist/agent-src/commands/review/routing.md +2 -3
  84. package/dist/agent-src/commands/roadmap/ai-council.md +2 -3
  85. package/dist/agent-src/commands/roadmap/create.md +2 -3
  86. package/dist/agent-src/commands/roadmap/materialize.md +2 -3
  87. package/dist/agent-src/commands/roadmap/process-full.md +2 -3
  88. package/dist/agent-src/commands/roadmap/process-phase.md +2 -3
  89. package/dist/agent-src/commands/roadmap/process-step.md +2 -3
  90. package/dist/agent-src/commands/skill/preview.md +2 -3
  91. package/dist/agent-src/commands/skills/discover.md +2 -3
  92. package/dist/agent-src/commands/sync/gitignore/fix.md +3 -4
  93. package/dist/agent-src/commands/tdd/green.md +2 -3
  94. package/dist/agent-src/commands/tdd/red.md +2 -3
  95. package/dist/agent-src/commands/tdd/refactor.md +2 -3
  96. package/dist/agent-src/commands/team/adversarial.md +2 -3
  97. package/dist/agent-src/commands/team/review.md +2 -3
  98. package/dist/agent-src/commands/team-knowledge/bootstrap.md +2 -3
  99. package/dist/agent-src/commands/team-knowledge/consolidate.md +2 -3
  100. package/dist/agent-src/commands/tests/create.md +2 -3
  101. package/dist/agent-src/commands/tests/e2e-heal.md +2 -3
  102. package/dist/agent-src/commands/tests/e2e-plan.md +2 -3
  103. package/dist/agent-src/commands/tests/execute.md +2 -3
  104. package/dist/agent-src/commands/video/from-script.md +2 -3
  105. package/dist/agent-src/commands/video/from-song.md +2 -3
  106. package/dist/agent-src/commands/video/scene.md +2 -3
  107. package/dist/agent-src/commands/video/stitch.md +2 -3
  108. package/dist/agent-src/commands/video/storyboard.md +2 -3
  109. package/dist/agent-src/commands/worktree/cleanup.md +2 -3
  110. package/dist/agent-src/commands/worktree/create.md +2 -3
  111. package/dist/agent-src/commands/worktree/status.md +2 -3
  112. package/dist/agent-src/commands/worktree/verify.md +2 -3
  113. package/dist/agent-src/contexts/contracts/command-suggestion-flow.md +10 -0
  114. package/dist/agent-src/rules/downstream-changes.md +31 -1
  115. package/dist/agent-src/skills/agent-docs-writing/SKILL.md +34 -16
  116. package/dist/agent-src/skills/agents-md-thin-root/SKILL.md +9 -9
  117. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  118. package/dist/agent-src/templates/github-workflows/doc-impact.yml +101 -0
  119. package/dist/discovery/deprecation-report.md +1 -1
  120. package/dist/discovery/discovery-manifest.json +113 -113
  121. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  122. package/dist/discovery/discovery-manifest.summary.md +1 -1
  123. package/dist/discovery/orphan-report.md +1 -1
  124. package/dist/discovery/packs.json +2 -2
  125. package/dist/discovery/trust-report.md +1 -1
  126. package/dist/discovery/workspaces.json +2 -2
  127. package/dist/mcp/awesome-mcp-servers.row.md +1 -1
  128. package/dist/mcp/mcp-cloudflare-catalogue.json +1 -1
  129. package/dist/mcp/registry-manifest.json +3 -3
  130. package/docs/CLAIMS.md +2 -1
  131. package/docs/archive/CHANGELOG-6.0.0-overview.md +953 -0
  132. package/docs/benchmark.md +33 -9
  133. package/docs/decisions/ADR-122-adversarial-verification-council.md +30 -0
  134. package/docs/decisions/ADR-123-runtime-security-scope-and-spawn-hardening.md +142 -0
  135. package/docs/decisions/INDEX.md +1 -0
  136. package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +26 -0
  137. package/docs/spawn-site-policy.md +72 -0
  138. package/docs/threat-model.md +2 -1
  139. package/package.json +2 -2
  140. package/src/agent-src/README.md +2 -2
  141. package/src/scripts/_lib/adversarial_bench_score.ts +106 -0
  142. package/src/scripts/_lib/spawn_env.ts +120 -0
  143. package/src/scripts/ai_council/clients.ts +6 -0
  144. package/src/scripts/bench_adversarial_council.ts +292 -0
  145. package/src/scripts/check_no_new_legacy_path.ts +2 -0
  146. package/src/scripts/check_source_pointer_freshness.ts +165 -0
  147. package/src/scripts/hooks/dispatch_hook.ts +5 -1
  148. package/src/scripts/hot_context_hook.ts +2 -0
  149. package/src/scripts/lint_readme_serial_comma.ts +169 -0
  150. package/src/scripts/roadmap_progress_hook.ts +2 -0
@@ -9,9 +9,8 @@ cluster: project
9
9
  skills: [quality-tools]
10
10
  description: Quick project health check — show status of docs, modules, contexts, and roadmaps without creating anything
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "check project health, what's the state of my docs and modules"
14
- trigger_context: "routine health check, no destructive intent"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -10,9 +10,8 @@ description: "Read `outline.yaml`, research each item in batches, write per-item
10
10
  argument-hint: "[--batch-confirm=each|once|auto]"
11
11
  skills: [deep-reading-analyst]
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "deep research, populate the research scaffold, fill outline.yaml items"
15
- trigger_context: "user has run `/research <topic>` and now wants per-item depth"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -9,9 +9,8 @@ sub: report
9
9
  description: "Summarise per-item JSON results from `/research:deep` into `report.md`. Agent renders directly + emits an optional `jq` template for deterministic regeneration. No Python runtime."
10
10
  skills: [deep-reading-analyst]
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "summarise research results, build research report, render outline.yaml results"
14
- trigger_context: "user has finished `/research:deep` and wants a single markdown summary"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -12,9 +12,8 @@ cluster: review
12
12
  skills: [code-review, subagent-orchestration, judge-bug-hunter, judge-security-auditor, judge-test-coverage, judge-code-quality, architecture-review-lens, judge-synthesis, git-workflow]
13
13
  description: Self-review local changes before creating a PR — dispatches to five specialized judges (bug, security, tests, quality, architecture) and consolidates verdicts
14
14
  suggestion:
15
- eligible: true
16
- trigger_description: "self-review my changes, judge this diff before PR"
17
- trigger_context: "uncommitted or staged changes pre-PR"
15
+ eligible: false
16
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
18
17
  workspaces:
19
18
  - agent-config-maintainer
20
19
  packs:
@@ -10,9 +10,8 @@ skills: [review-routing, reviewer-awareness]
10
10
  description: Compute reviewer roles and matched historical bug patterns for the current diff, using project-local ownership-map.yml and historical-bug-patterns.yml
11
11
  argument-hint: "[base-ref head-ref]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "who should review this, suggest reviewers for this PR"
15
- trigger_context: "PR open without assigned reviewers"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -11,9 +11,8 @@ description: Challenge a roadmap with the AI council (deep tier) and refactor fr
11
11
  argument-hint: "[roadmap-name | path]"
12
12
  council_depth: deep
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "council on roadmap, challenge this roadmap, stress-test the plan, refactor roadmap from council findings"
16
- trigger_context: "existing agents/roadmaps/*.md the user wants reviewed before execution"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -9,9 +9,8 @@ sub: create
9
9
  skills: [agent-docs-writing]
10
10
  description: Interactively create a new roadmap file in agents/roadmaps/
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "create a roadmap for X, plan this work as a roadmap"
14
- trigger_context: "multi-phase work without an existing agents/roadmaps/*.md"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -10,9 +10,8 @@ skills: [emit-tickets]
10
10
  description: Materialise a roadmap into a self-contained, importable ticket bundle under agents/tickets/
11
11
  argument-hint: "[roadmap-path]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "turn this roadmap into tickets, materialise the roadmap, mach Tickets aus der Roadmap"
15
- trigger_context: "an existing agents/roadmaps/*.md the user wants decomposed into build-ready tickets"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ skills: [agent-docs-writing, ai-council, roadmap-management]
10
10
  description: Autonomously process every open step across every phase of a roadmap until the file is fully closed. Largest execution scope of the /roadmap cluster — runs continuously across phase boundaries.
11
11
  argument-hint: "[roadmap]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "process the whole roadmap, finish the roadmap, komplette roadmap abarbeiten"
15
- trigger_context: "existing agents/roadmaps/*.md and user wants the entire file done end-to-end"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ skills: [agent-docs-writing, ai-council, roadmap-management]
10
10
  description: Autonomously process every open step in the next or current phase of a roadmap, then stop. Default execution scope of the /roadmap cluster.
11
11
  argument-hint: "[roadmap]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "process the next phase, finish this phase autonomously, eine phase abarbeiten"
15
- trigger_context: "existing agents/roadmaps/*.md and user wants the next phase done end-to-end"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ skills: [agent-docs-writing, ai-council, roadmap-management]
10
10
  description: Autonomously process the single next open step of a roadmap and stop. Smallest execution scope of the /roadmap cluster — one step in, one step out.
11
11
  argument-hint: "[roadmap]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "process the next step, do the next roadmap step, einen schritt abarbeiten"
15
- trigger_context: "existing agents/roadmaps/*.md and user wants exactly one step done autonomously"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ description: Non-destructive preview of a skill — its declared steps, executio
10
10
  argument-hint: "<skill-name> [--technical]"
11
11
  skills: [file-editor]
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "what does this skill do, preview <skill> before running, what will it change, is it safe, /skill:preview competitive-positioning"
15
- trigger_context: "user wants to inspect a skill's declared intent before committing to run it"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ description: Recommend skills for a role — ranked by four explained classes (m
10
10
  argument-hint: "[role]"
11
11
  skills: [file-editor]
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "which skills should I use, recommend skills for my role, what fits this work, help me find a skill, /skills:discover sales"
15
- trigger_context: "user wants a short, explained skill shortlist instead of scanning the 220-skill catalog"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -9,9 +9,8 @@ sub: gitignore
9
9
  skills: [sync-gitignore]
10
10
  description: Scrub legacy pre-`/agents/` patterns from the consumer's .gitignore (inside or outside the managed block) and re-sync the canonical entries
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "fix .gitignore garbage, clean up legacy agent-config entries, my .gitignore has stale agent entries, /sync-gitignore is not picking up the right paths"
14
- trigger_context: "consumer project carries pre-/agents/ runtime patterns (.agent-chat-history, .agent-prices.md) at the root from an older install"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -191,5 +190,5 @@ If the check fails, offer to re-sync the block with the current template:
191
190
  ignored-but-tracked detection (Phase 5.2)
192
191
  - [`scripts/check_gitignore_freshness.ts`](../../../../src/scripts/check_gitignore_freshness.ts) —
193
192
  manifest vs block coverage check (Phase 3.4)
194
- - [`docs/contracts/agents-layout.md`](../../../../docs/contracts/agents-layout.md) —
193
+ - [`docs/contracts/agents-layout.md`](../../../../../../docs/contracts/agents-layout.md) —
195
194
  full classification contract for `agents/` entries
@@ -10,9 +10,8 @@ skills: [test-driven-development]
10
10
  description: TDD green phase — write the minimum production code to make the failing test pass; no test edits
11
11
  argument-hint: "[failing test | context]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "make the failing test pass"
15
- trigger_context: "a failing test exists, ready to implement"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ skills: [test-driven-development]
10
10
  description: TDD red phase — enumerate cases, write ONE failing test, watch it fail at an assertion (not an import error)
11
11
  argument-hint: "[behavior to test]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "write the failing test first"
15
- trigger_context: "starting a new behavior test-first"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ skills: [test-driven-development]
10
10
  description: TDD refactor phase — clean up (rename, deduplicate) while keeping the test green
11
11
  argument-hint: "[target | context]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "refactor while the test stays green"
15
- trigger_context: "test is green, ready to clean up"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -11,9 +11,8 @@ description: Thin wrapper — adversarial cross-model review on a named focus vi
11
11
  cluster: team
12
12
  sub: adversarial
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "adversarial cross-model review, attack this change with a second model, stress-test the diff with GPT, hostile review by another model"
16
- trigger_context: "ai_team.enabled is true AND single-model self-review found nothing or the stakes are high — escalate the Attack-Defend-Revise frame to a second strong model"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -10,9 +10,8 @@ description: Thin wrapper — cross-model review of the current diff via the off
10
10
  cluster: team
11
11
  sub: review
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "team review, second model review, cross-model review of my changes, GPT drüberschauen lassen, review the diff with another strong model"
15
- trigger_context: "ai_team.enabled is true AND there is an uncommitted / staged diff the user wants a second strong model to review with repo access"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -9,9 +9,8 @@ sub: bootstrap
9
9
  description: One-shot deterministic seed for a fresh project's knowledge layer — stages template pages from real config/directory detection, never LLM-invented claims. Review-then-commit.
10
10
  skills: []
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "bootstrap the knowledge base, seed project knowledge, initialize agents/knowledge, onboard this project's knowledge layer"
14
- trigger_context: "a project has no agents/knowledge/ typed pages yet and the user wants a starting baseline"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -9,9 +9,8 @@ sub: consolidate
9
9
  description: Review pending typed knowledge-observation events and file them into agents/knowledge/ pages as a human-reviewed batch — never writes without approval.
10
10
  skills: [file-editor]
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "consolidate knowledge events, review pending observations, file captured knowledge, promote knowledge candidates"
14
- trigger_context: "pending events have accumulated in agents/knowledge/intake/ and are ready for review"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -9,9 +9,8 @@ sub: create
9
9
  skills: [test-case-discovery, pest-testing, quality-tools]
10
10
  description: Write meaningful tests for the current branch — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "write tests for these changes, add tests for this branch"
14
- trigger_context: "code changes on the branch without matching test changes"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -11,9 +11,8 @@ skills: [playwright-testing]
11
11
  description: Find, debug, and fix failing Playwright E2E tests
12
12
  argument-hint: "[test-file | ci-run-url]"
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "fix the failing E2E tests, playwright tests are red"
16
- trigger_context: "failing test output from tests/e2e/"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -11,9 +11,8 @@ skills: [playwright-testing]
11
11
  description: Explore the application and create a structured E2E test plan in Markdown
12
12
  argument-hint: "[url | feature-area]"
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "plan E2E tests for this feature, what should we cover in playwright"
16
- trigger_context: "new feature or page added without tests/e2e/ coverage"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -10,9 +10,8 @@ skills: [pest-testing, quality-tools]
10
10
  description: Run the project's test suite — stack-adaptive (pest / phpunit / vitest / jest / pytest / …)
11
11
  argument-hint: "[file | filter] [--include-e2e] [--include-slow] [--php]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "run the tests, execute the test suite"
15
- trigger_context: "code changes pending verification"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -11,9 +11,8 @@ argument-hint: "<path-to-script.md> [--mode preview|commit] [--max-spend-usd <us
11
11
  personas: [hollywood-director, ai-video-technical-director]
12
12
  skills: [scene-expander, video-director, pixar-storyteller, character-consistency, motion-choreographer]
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "render a video from a script, full AI video pipeline, multi-scene generation"
16
- trigger_context: "user supplies a Markdown script with `## Scene N` headings and wants a final MP4"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -11,9 +11,8 @@ argument-hint: "<images-dir> <song-file> [--mode preview|commit] [--brief <text>
11
11
  personas: [hollywood-director, ai-video-technical-director]
12
12
  skills: [song-to-script, scene-expander, video-director, character-consistency, motion-choreographer, prompt-validator]
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "make a music video from a song, turn a track into a video, lip-sync clip from images and audio, AI music video"
16
- trigger_context: "user supplies an audio file plus reference images and wants a final MP4 cut to the song"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -11,9 +11,8 @@ argument-hint: "<idea> [--mode preview|commit] [--image-provider <id>] [--video-
11
11
  personas: [hollywood-director, ai-video-technical-director]
12
12
  skills: [scene-expander, video-director, character-consistency, motion-choreographer]
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "render a single video scene, iterate on one shot, test a prompt without a full script"
16
- trigger_context: "user supplies a one-line scene idea and wants a single clip, no multi-scene stitching"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -11,9 +11,8 @@ argument-hint: "<project-slug> [--skip-scene <id>] [--continue]"
11
11
  personas: [ai-video-technical-director]
12
12
  skills: []
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "re-stitch existing video clips, rebuild final MP4 after edits, ffmpeg concat existing scenes"
16
- trigger_context: "user has edited clips in `<project>/scenes/*/` and wants the final.mp4 rebuilt without paying for re-renders"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -11,9 +11,8 @@ argument-hint: "<path-to-script.md> [--image-provider <id>]"
11
11
  personas: [hollywood-director]
12
12
  skills: [scene-expander, video-director, character-consistency]
13
13
  suggestion:
14
- eligible: true
15
- trigger_description: "build a storyboard, contact sheet of scenes, image-only preview, validate a script visually before video render"
16
- trigger_context: "user wants to see all scenes as stills before committing to motion calls"
14
+ eligible: false
15
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
17
16
  workspaces:
18
17
  - agent-config-maintainer
19
18
  packs:
@@ -10,9 +10,8 @@ skills: [worktree-lifecycle, git-workflow]
10
10
  description: Safe worktree removal gate — refuses while the branch holds commits on no other ref; never force-deletes
11
11
  argument-hint: "[worktree-path]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "clean up the worktrees, remove the finished worktree"
15
- trigger_context: "git worktree list shows worktrees whose branches are merged"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -10,9 +10,8 @@ skills: [worktree-lifecycle, using-git-worktrees]
10
10
  description: Create a governed worktree and write its scope-lock note — propose-once branch naming, host-native primitive preferred
11
11
  argument-hint: "[task] [branch-name]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "do this in a worktree, isolate this task, spawn a worktree for X"
15
- trigger_context: "parallel or exploratory work while the current branch is mid-work"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -9,9 +9,8 @@ sub: status
9
9
  skills: [worktree-lifecycle, git-workflow]
10
10
  description: List active worktrees — ownership (scope lock), dirty state, ahead/behind, merge-readiness incl. verification evidence
11
11
  suggestion:
12
- eligible: true
13
- trigger_description: "which worktrees are active, is this worktree merge-ready, worktree overview"
14
- trigger_context: "git worktree list shows more than the main working tree"
12
+ eligible: false
13
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
15
14
  workspaces:
16
15
  - agent-config-maintainer
17
16
  packs:
@@ -10,9 +10,8 @@ skills: [worktree-lifecycle, verify-completion-evidence]
10
10
  description: Run the scoped verification for a worktree's declared change — narrow probes matched to the diff, never the full CI pipeline
11
11
  argument-hint: "[worktree-path | branch]"
12
12
  suggestion:
13
- eligible: true
14
- trigger_description: "verify the worktree change, prove this worktree is ready"
15
- trigger_context: "a governed worktree with committed changes but no verification evidence attached"
13
+ eligible: false
14
+ rationale: "Cluster sub-command — reached via its cluster head's routing or its explicit /cluster:sub name; not independently suggested (surface-consolidation)."
16
15
  workspaces:
17
16
  - agent-config-maintainer
18
17
  packs:
@@ -91,6 +91,16 @@ suggestion:
91
91
  cooldown: 30m # longer than global default
92
92
  ```
93
93
 
94
+ ## Eligibility invariant — cluster sub-commands route via their head
95
+
96
+ A `/cluster:sub` command (frontmatter `sub:` set) is **not** independently
97
+ suggestion-eligible: `suggestion.eligible: false`. The cluster HEAD is the
98
+ journey that self-suggests; the sub-command is reached by routing from the head
99
+ (the `/fix:route` template) or by its explicit `/cluster:sub` name — which
100
+ always works. This keeps the proactive surface to a few journeys, not one
101
+ entry point per mode (9.4.0 review; `road-to-surface-consolidation`, council
102
+ 2026-07-20). Standalone commands (no `sub:`) and cluster heads may be eligible.
103
+
94
104
  ## Subordination — when to stay silent
95
105
 
96
106
  The rule lists four senior gates that outrank suggestion. The agent
@@ -45,7 +45,36 @@ After editing any file, search for **all** of these:
45
45
  | **Config / bindings** | Search service providers, config files | Update class references in DI bindings |
46
46
  | **API schemas / OpenAPI** | Check controller attributes | Update if response structure changed |
47
47
  | **Routes** | Search `routes/` for controller references | Update after controller rename/move |
48
- | **Documentation** | Search `agents/`, `docs/` for references | Update if behavior or API changed |
48
+ | **Documentation** | Search `agents/`, `docs/`, `README`, examples for references | Update the doc that **describes** the changed surface — see Doc-Impact below |
49
+
50
+ ## Doc-Impact — docs follow code (same change)
51
+
52
+ ```
53
+ A CHANGE TO A PUBLIC SURFACE IS INCOMPLETE UNTIL THE DOC THAT
54
+ DESCRIBES IT IS UPDATED IN THE SAME CHANGE. A DOC MAKING A CLAIM
55
+ THE CODE NOW CONTRADICTS IS A BROKEN CHANGE, NOT A STYLE NIT.
56
+ ```
57
+
58
+ **Public surfaces** whose change triggers a doc update: HTTP route /
59
+ endpoint · exported function / class signature · CLI command or flag ·
60
+ config / settings key · env var · DB schema or migration · event
61
+ payload. Update the doc that describes it — README, API / OpenAPI docs,
62
+ AGENTS.md, code examples, CHANGELOG — in the same commit.
63
+
64
+ **Drift = a falsifiable-claim contradiction**, not incompleteness. Fire
65
+ when a reader following the doc would be misled: an endpoint that no
66
+ longer exists, a wrong return type, a renamed key, a broken example. Do
67
+ **not** fire on "the doc could be more detailed" — completeness is a
68
+ quality nit, not drift.
69
+
70
+ **Escape hatch** (no false-positive fatigue): refactor-only / no
71
+ public-surface change → no doc obligation. If a surface changed but
72
+ genuinely needs no doc edit, state the one-line reason instead of
73
+ editing a doc to satisfy the rule.
74
+
75
+ Detection + the framework-agnostic surface→doc map (Laravel / Symfony /
76
+ Next.js / Python / Go) live in [`agent-docs-writing`](../skills/agent-docs-writing/SKILL.md)
77
+ § Doc-Impact — run it after every code change.
49
78
 
50
79
  ## Breaking changes
51
80
 
@@ -78,3 +107,4 @@ After completing all downstream changes:
78
107
  3. **No broken types / signatures** — project's type-checker (PHPStan / Psalm, TypeScript, mypy / pyright, `go vet`, `cargo check`).
79
108
  4. **No stale references** — grep for the old name / namespace / import path to confirm zero results.
80
109
  5. **No own-orphans** — the same sweep applied to the new diff: identifiers whose last reference disappeared in a file this diff touched are removed in the same diff (see [`minimal-safe-diff § Own-orphan cleanup`](minimal-safe-diff.md#own-orphan-cleanup)); pre-existing dead code stays.
110
+ 6. **No doc drift** — a public surface changed this diff has its describing doc updated (or the one-line no-doc-needed reason stated), per Doc-Impact above.
@@ -189,29 +189,47 @@ After making changes, check if docs need updating:
189
189
  - **Structural changes** → update affected docs in `./agents/`
190
190
  - **New patterns** → update or create guideline docs
191
191
 
192
- ## Doc sync check (after code changes)
192
+ ## Doc-Impact — the mandatory check after every code change
193
193
 
194
- After completing a significant code change, run this mental checklist:
194
+ This is the detection procedure the [`downstream-changes`](../../rules/downstream-changes.md)
195
+ § Doc-Impact obligation points at. **Run it after every code change** — the
196
+ *detection* is non-optional; the human still confirms the actual edit.
195
197
 
196
- | What changed | Doc to check |
198
+ **Step 1 — did a public surface change?** Framework-agnostic surface list:
199
+
200
+ | Public surface changed | Doc that describes it — update in the same change |
197
201
  |---|---|
198
- | Database schema (migration) | `agents/reference/docs/database-setup.md` |
199
- | New API endpoint | OpenAPI annotations, `AGENTS.md` API section |
200
- | New module created | Create `{module_root}/{Module}/{agent_folder}/` (resolve via `modules.root_paths` + `modules.agent_folder`) |
201
- | Service/repository signature changed | Check if referenced in `agents/reference/docs/services-and-repos.md` |
202
- | New environment variable | `.env.example`, `AGENTS.md` environment section |
203
- | Docker/compose change | `agents/reference/docs/docker.md`, `Makefile` documentation |
204
- | New Artisan command | `AGENTS.md` commands section |
205
- | New pattern/convention introduced | Relevant guideline in `.augment/guidelines/` |
206
-
207
- **When unsure** — ask with numbered options:
202
+ | HTTP route / endpoint (Laravel `routes/`, Next.js `app/api`, FastAPI/Express handlers, Go mux) | OpenAPI / API reference, `README` usage, `AGENTS.md` API section |
203
+ | Exported function / class / method signature | The doc/example that calls it; `agents/reference/docs/services-and-repos.md` if referenced |
204
+ | CLI command or flag | `README` usage, `AGENTS.md` commands section, `--help` text |
205
+ | Config / settings key | Settings doc, `README` config section, schema/example file |
206
+ | Environment variable | `.env.example`, `AGENTS.md` environment section |
207
+ | DB schema / migration | `agents/reference/docs/database-setup.md` |
208
+ | Event payload / job constructor | The listener/consumer doc that documents the contract |
209
+ | New module | `{module_root}/{Module}/{agent_folder}/` (resolve via `modules.root_paths` + `modules.agent_folder`) |
210
+ | New pattern / convention | Relevant guideline in `.augment/guidelines/` |
211
+ | Architectural decision | [`adr-create`](../adr-create/SKILL.md) — numbered ADR + index regen |
212
+
213
+ **Step 2 — apply the fire/no-fire test.** Drift is a **falsifiable-claim
214
+ contradiction**, not incompleteness:
215
+
216
+ - **FIRE** (doc is now wrong — a reader would be misled): endpoint no longer
217
+ exists, wrong return type, renamed key, removed flag, broken code example.
218
+ - **DO NOT FIRE** (completeness / quality only): the doc is high-level and
219
+ omits a new internal detail it never claimed to list; "could be clearer".
220
+
221
+ **Step 3 — escape hatch.** Refactor-only / no public-surface change → no doc
222
+ obligation. Surface changed but genuinely needs no doc edit → state the
223
+ one-line reason; never edit a doc just to satisfy the rule (false-positive
224
+ fatigue is worse than a missed nit).
225
+
226
+ **When a doc edit IS needed but you are unsure of the wording** — flag it with
227
+ numbered options; do NOT auto-rewrite prose without the user's knowledge:
208
228
  ```
209
229
  > 1. Yes — update the docs
210
- > 2. No — leave as-is
230
+ > 2. No — leave as-is (reason: …)
211
231
  ```
212
232
 
213
- Do NOT auto-update docs without the user's knowledge. Flag what needs updating and let the user decide.
214
-
215
233
  ## Rules
216
234
 
217
235
  - All `.md` files must be in **English**.