@event4u/agent-config 8.12.0 → 9.0.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 (284) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +164 -0
  3. package/README.md +1 -1
  4. package/dist/agent-src/commands/agent-handoff.md +35 -0
  5. package/dist/agent-src/commands/agents/init.md +1 -0
  6. package/dist/agent-src/commands/agents/optimize.md +1 -0
  7. package/dist/agent-src/commands/agents/user/accept.md +3 -2
  8. package/dist/agent-src/commands/agents/user/init.md +5 -4
  9. package/dist/agent-src/commands/agents/user/update.md +3 -2
  10. package/dist/agent-src/commands/agents/user.md +1 -0
  11. package/dist/agent-src/commands/agents.md +1 -0
  12. package/dist/agent-src/commands/analytics/show.md +1 -0
  13. package/dist/agent-src/commands/analytics.md +1 -0
  14. package/dist/agent-src/commands/analyze/decision.md +1 -0
  15. package/dist/agent-src/commands/analyze/incident.md +1 -0
  16. package/dist/agent-src/commands/analyze/near-miss.md +1 -0
  17. package/dist/agent-src/commands/analyze/postmortem.md +1 -0
  18. package/dist/agent-src/commands/analyze/premortem.md +1 -0
  19. package/dist/agent-src/commands/analyze/reference-repo.md +1 -0
  20. package/dist/agent-src/commands/analyze.md +3 -2
  21. package/dist/agent-src/commands/brand/identity.md +6 -5
  22. package/dist/agent-src/commands/brand/review.md +6 -5
  23. package/dist/agent-src/commands/brand/strategy.md +6 -4
  24. package/dist/agent-src/commands/brand/tokens.md +7 -6
  25. package/dist/agent-src/commands/brand/voice.md +5 -4
  26. package/dist/agent-src/commands/brand.md +9 -7
  27. package/dist/agent-src/commands/bug/fix.md +1 -0
  28. package/dist/agent-src/commands/bug/investigate.md +1 -0
  29. package/dist/agent-src/commands/bug.md +2 -1
  30. package/dist/agent-src/commands/challenge-me/vision.md +1 -0
  31. package/dist/agent-src/commands/challenge-me/with-docs.md +1 -0
  32. package/dist/agent-src/commands/challenge-me.md +28 -6
  33. package/dist/agent-src/commands/chat-history.md +1 -0
  34. package/dist/agent-src/commands/check-current-md.md +1 -0
  35. package/dist/agent-src/commands/commit.md +1 -0
  36. package/dist/agent-src/commands/context/create.md +3 -2
  37. package/dist/agent-src/commands/context.md +1 -0
  38. package/dist/agent-src/commands/cost/profile.md +1 -0
  39. package/dist/agent-src/commands/cost.md +2 -1
  40. package/dist/agent-src/commands/council/analysis.md +1 -0
  41. package/dist/agent-src/commands/council/debate.md +1 -0
  42. package/dist/agent-src/commands/council/default.md +21 -20
  43. package/dist/agent-src/commands/council/design.md +1 -0
  44. package/dist/agent-src/commands/council/optimize.md +1 -0
  45. package/dist/agent-src/commands/council/pr.md +1 -0
  46. package/dist/agent-src/commands/council.md +1 -0
  47. package/dist/agent-src/commands/estimate-ticket.md +1 -0
  48. package/dist/agent-src/commands/feature/dev.md +1 -0
  49. package/dist/agent-src/commands/feature/explore.md +1 -0
  50. package/dist/agent-src/commands/feature/plan.md +1 -0
  51. package/dist/agent-src/commands/feature/refactor.md +1 -0
  52. package/dist/agent-src/commands/feature/roadmap.md +1 -0
  53. package/dist/agent-src/commands/feature.md +2 -1
  54. package/dist/agent-src/commands/fix/pr-comments.md +19 -0
  55. package/dist/agent-src/commands/fix.md +2 -1
  56. package/dist/agent-src/commands/ghostwriter/delete.md +1 -0
  57. package/dist/agent-src/commands/ghostwriter/fetch.md +1 -0
  58. package/dist/agent-src/commands/ghostwriter/show.md +1 -0
  59. package/dist/agent-src/commands/ghostwriter/write.md +1 -0
  60. package/dist/agent-src/commands/ghostwriter.md +1 -0
  61. package/dist/agent-src/commands/grill-me.md +17 -12
  62. package/dist/agent-src/commands/humanize.md +1 -0
  63. package/dist/agent-src/commands/image/analyse.md +2 -1
  64. package/dist/agent-src/commands/image/create.md +1 -0
  65. package/dist/agent-src/commands/image/verify.md +1 -0
  66. package/dist/agent-src/commands/image.md +16 -12
  67. package/dist/agent-src/commands/implement-ticket.md +1 -0
  68. package/dist/agent-src/commands/judge/on-diff.md +1 -0
  69. package/dist/agent-src/commands/judge/solo.md +1 -0
  70. package/dist/agent-src/commands/judge/steps.md +1 -0
  71. package/dist/agent-src/commands/judge.md +1 -0
  72. package/dist/agent-src/commands/knowledge/cross-repo.md +1 -0
  73. package/dist/agent-src/commands/knowledge/forget.md +1 -0
  74. package/dist/agent-src/commands/knowledge/ingest.md +1 -0
  75. package/dist/agent-src/commands/knowledge/list.md +10 -0
  76. package/dist/agent-src/commands/knowledge.md +1 -0
  77. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -0
  78. package/dist/agent-src/commands/memory/mine-session.md +1 -0
  79. package/dist/agent-src/commands/memory/promote.md +3 -2
  80. package/dist/agent-src/commands/memory.md +1 -0
  81. package/dist/agent-src/commands/mission/upgrade.md +45 -24
  82. package/dist/agent-src/commands/mode.md +1 -0
  83. package/dist/agent-src/commands/module/create.md +1 -0
  84. package/dist/agent-src/commands/module/explore.md +1 -0
  85. package/dist/agent-src/commands/module.md +1 -0
  86. package/dist/agent-src/commands/optimize/agents-dir.md +1 -0
  87. package/dist/agent-src/commands/optimize/project.md +1 -0
  88. package/dist/agent-src/commands/optimize/prompt.md +1 -0
  89. package/dist/agent-src/commands/optimize.md +2 -1
  90. package/dist/agent-src/commands/orchestrate.md +1 -0
  91. package/dist/agent-src/commands/override.md +1 -0
  92. package/dist/agent-src/commands/package.md +2 -1
  93. package/dist/agent-src/commands/post-as/ghostwriter.md +1 -0
  94. package/dist/agent-src/commands/post-as/me.md +1 -0
  95. package/dist/agent-src/commands/post-as.md +1 -0
  96. package/dist/agent-src/commands/pr/create/description-only.md +1 -0
  97. package/dist/agent-src/commands/pr/create.md +28 -0
  98. package/dist/agent-src/commands/prediction-pool.md +7 -6
  99. package/dist/agent-src/commands/prepare-for-review.md +1 -0
  100. package/dist/agent-src/commands/profile/activate.md +1 -0
  101. package/dist/agent-src/commands/profile/deactivate.md +1 -0
  102. package/dist/agent-src/commands/profile.md +1 -0
  103. package/dist/agent-src/commands/project.md +2 -1
  104. package/dist/agent-src/commands/refine-ticket.md +7 -0
  105. package/dist/agent-src/commands/research/deep.md +1 -0
  106. package/dist/agent-src/commands/research.md +1 -0
  107. package/dist/agent-src/commands/review/routing.md +1 -0
  108. package/dist/agent-src/commands/review.md +2 -1
  109. package/dist/agent-src/commands/roadmap/ai-council.md +1 -0
  110. package/dist/agent-src/commands/roadmap/materialize.md +1 -0
  111. package/dist/agent-src/commands/roadmap/process-full.md +1 -0
  112. package/dist/agent-src/commands/roadmap/process-phase.md +1 -0
  113. package/dist/agent-src/commands/roadmap/process-step.md +1 -0
  114. package/dist/agent-src/commands/roadmap.md +1 -0
  115. package/dist/agent-src/commands/security-audit-config.md +2 -1
  116. package/dist/agent-src/commands/skill/preview.md +1 -0
  117. package/dist/agent-src/commands/skill.md +1 -0
  118. package/dist/agent-src/commands/skills/discover.md +1 -0
  119. package/dist/agent-src/commands/skills.md +1 -0
  120. package/dist/agent-src/commands/sync/agent-settings.md +1 -0
  121. package/dist/agent-src/commands/sync.md +2 -1
  122. package/dist/agent-src/commands/team/adversarial.md +97 -0
  123. package/dist/agent-src/commands/team/delegate.md +110 -0
  124. package/dist/agent-src/commands/team/review.md +85 -0
  125. package/dist/agent-src/commands/team/status.md +123 -0
  126. package/dist/agent-src/commands/team-knowledge.md +8 -6
  127. package/dist/agent-src/commands/team.md +152 -0
  128. package/dist/agent-src/commands/tests/e2e-heal.md +1 -0
  129. package/dist/agent-src/commands/tests/e2e-plan.md +1 -0
  130. package/dist/agent-src/commands/tests/execute.md +1 -0
  131. package/dist/agent-src/commands/tests.md +2 -1
  132. package/dist/agent-src/commands/update-form-request-messages.md +1 -0
  133. package/dist/agent-src/commands/upstream-contribute.md +1 -0
  134. package/dist/agent-src/commands/video/from-script.md +3 -2
  135. package/dist/agent-src/commands/video/from-song.md +22 -21
  136. package/dist/agent-src/commands/video/scene.md +1 -0
  137. package/dist/agent-src/commands/video/stitch.md +2 -1
  138. package/dist/agent-src/commands/video/storyboard.md +1 -0
  139. package/dist/agent-src/commands/video.md +1 -0
  140. package/dist/agent-src/commands/work.md +1 -0
  141. package/dist/agent-src/commands/worktree/cleanup.md +8 -7
  142. package/dist/agent-src/commands/worktree/create.md +1 -0
  143. package/dist/agent-src/commands/worktree/verify.md +1 -0
  144. package/dist/agent-src/commands/worktree.md +1 -0
  145. package/dist/agent-src/rules/active-remediation.md +12 -36
  146. package/dist/agent-src/rules/artifact-drafting-protocol.md +7 -64
  147. package/dist/agent-src/rules/context-hygiene.md +19 -113
  148. package/dist/agent-src/rules/design-fidelity.md +4 -60
  149. package/dist/agent-src/rules/domain-adoption-policy.md +10 -106
  150. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +12 -60
  151. package/dist/agent-src/rules/improve-before-implement.md +6 -0
  152. package/dist/agent-src/rules/minimal-safe-diff.md +6 -86
  153. package/dist/agent-src/rules/size-enforcement.md +10 -0
  154. package/dist/agent-src/rules/tool-safety.md +17 -3
  155. package/dist/agent-src/skills/agent-security-review/SKILL.md +12 -1
  156. package/dist/agent-src/skills/ai-council/SKILL.md +11 -0
  157. package/dist/agent-src/skills/bug-analyzer/SKILL.md +24 -2
  158. package/dist/agent-src/skills/code-review/SKILL.md +105 -93
  159. package/dist/agent-src/skills/code-review/checklists/backend.md +50 -0
  160. package/dist/agent-src/skills/code-review/checklists/database.md +19 -0
  161. package/dist/agent-src/skills/code-review/checklists/dependency.md +18 -0
  162. package/dist/agent-src/skills/code-review/checklists/docs.md +14 -0
  163. package/dist/agent-src/skills/code-review/checklists/frontend.md +19 -0
  164. package/dist/agent-src/skills/code-review/checklists/infra.md +17 -0
  165. package/dist/agent-src/skills/code-review/checklists/producing-the-review.md +62 -0
  166. package/dist/agent-src/skills/code-review/checklists/test-only.md +13 -0
  167. package/dist/agent-src/skills/code-review/evals/evals.json +53 -15
  168. package/dist/agent-src/skills/condense-memory/SKILL.md +3 -2
  169. package/dist/agent-src/skills/conventional-commits-writing/evals/evals.json +15 -0
  170. package/dist/agent-src/skills/docker/SKILL.md +10 -0
  171. package/dist/agent-src/skills/docx-authoring/SKILL.md +102 -0
  172. package/dist/agent-src/skills/github-ci/evals/evals.json +25 -0
  173. package/dist/agent-src/skills/humanizer/SKILL.md +79 -3
  174. package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +112 -0
  175. package/dist/agent-src/skills/humanizer/references/fixtures.md +70 -0
  176. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +7 -1
  177. package/dist/agent-src/skills/laravel/SKILL.md +10 -0
  178. package/dist/agent-src/skills/launch-readiness/SKILL.md +35 -0
  179. package/dist/agent-src/skills/merge-conflicts/SKILL.md +30 -0
  180. package/dist/agent-src/skills/pdf-tools/SKILL.md +101 -0
  181. package/dist/agent-src/skills/quality-tools/evals/evals.json +15 -0
  182. package/dist/agent-src/skills/security-audit/SKILL.md +29 -0
  183. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +90 -0
  184. package/dist/agent-src/skills/security-maturity-assessment/evals/triggers.json +52 -0
  185. package/dist/agent-src/skills/skill-writing/SKILL.md +79 -0
  186. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +11 -3
  187. package/dist/agent-src/skills/subagent-orchestration/schemas/team-review-status.json +103 -0
  188. package/dist/agent-src/skills/terraform/SKILL.md +10 -0
  189. package/dist/agent-src/skills/test-driven-development/SKILL.md +31 -0
  190. package/dist/agent-src/skills/threat-modeling/SKILL.md +15 -0
  191. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  192. package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  193. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +30 -0
  194. package/dist/agent-src/templates/scripts/telemetry/report_renderer.ts +22 -9
  195. package/dist/agent-src/templates/scripts/telemetry_record.ts +5 -0
  196. package/dist/discovery/deprecation-report.md +1 -1
  197. package/dist/discovery/discovery-manifest.json +378 -174
  198. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  199. package/dist/discovery/discovery-manifest.summary.md +4 -4
  200. package/dist/discovery/orphan-report.md +1 -1
  201. package/dist/discovery/packs.json +16 -8
  202. package/dist/discovery/trust-report.md +3 -3
  203. package/dist/discovery/workspaces.json +14 -6
  204. package/dist/install/install.mjs +46 -0
  205. package/dist/mcp/registry-manifest.json +3 -3
  206. package/dist/router.json +1 -1
  207. package/dist/scripts/condense.js +5 -0
  208. package/dist/scripts/condense.js.map +1 -1
  209. package/dist/server/schemas/settings.js +11 -0
  210. package/dist/server/schemas/settings.js.map +1 -1
  211. package/docs/CLAIMS.md +9 -2
  212. package/docs/SKILL_CENSUS.md +8 -0
  213. package/docs/architecture.md +3 -3
  214. package/docs/benchmark.md +67 -2
  215. package/docs/catalog.md +10 -4
  216. package/docs/command-flows.md +6 -1
  217. package/docs/contracts/ai-council-config.md +9 -2
  218. package/docs/contracts/ai-team-config.md +224 -0
  219. package/docs/contracts/command-clusters.md +1 -0
  220. package/docs/contracts/prelaunch-diagnostics.md +151 -0
  221. package/docs/contracts/release-pr-gating.md +1 -0
  222. package/docs/decisions/ADR-049-configuration-trust-boundary.md +9 -1
  223. package/docs/featured-skills.md +2 -2
  224. package/docs/getting-started-by-role.md +3 -1
  225. package/docs/getting-started.md +42 -1
  226. package/docs/governance-advantage.md +1 -1
  227. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +45 -0
  228. package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +28 -0
  229. package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +76 -0
  230. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +90 -0
  231. package/docs/guidelines/agent-infra/domain-adoption-gates.md +112 -0
  232. package/docs/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
  233. package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +99 -0
  234. package/docs/guidelines/agent-infra/skill-quality-checklist.md +13 -0
  235. package/docs/guidelines/design-fidelity-mechanics.md +76 -0
  236. package/docs/maintainers/branch-protection.md +18 -0
  237. package/docs/parity/command-frontmatter.md +60 -0
  238. package/docs/proof.md +7 -6
  239. package/package.json +1 -1
  240. package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  241. package/src/agent-src/templates/scripts/telemetry/engagement.ts +30 -0
  242. package/src/agent-src/templates/scripts/telemetry/report_renderer.ts +22 -9
  243. package/src/agent-src/templates/scripts/telemetry_record.ts +5 -0
  244. package/src/config/agent-settings.template.yml +71 -7
  245. package/src/config/prelaunch-areas.yml +36 -0
  246. package/src/scripts/_cli/cmd_doctor.ts +288 -1
  247. package/src/scripts/_lib/claude_plugin.ts +114 -4
  248. package/src/scripts/_lib/orchestration_record.ts +5 -0
  249. package/src/scripts/_lib/tool_adapter_registry.ts +120 -0
  250. package/src/scripts/ai_team/config.ts +234 -0
  251. package/src/scripts/ai_team/review_gate.ts +636 -0
  252. package/src/scripts/ai_team/team_dispatch.ts +612 -0
  253. package/src/scripts/bench_ab_task_runner.ts +11 -1
  254. package/src/scripts/bench_parity_count.ts +279 -0
  255. package/src/scripts/build_linear_digest.ts +3 -1
  256. package/src/scripts/check_bridge_derivation.ts +172 -0
  257. package/src/scripts/check_consumer_scope_flip.ts +179 -0
  258. package/src/scripts/check_council_config_location.ts +115 -15
  259. package/src/scripts/check_host_loadability.ts +81 -0
  260. package/src/scripts/condense.ts +5 -0
  261. package/src/scripts/hook_manifest.yaml +12 -1
  262. package/src/scripts/install.ts +39 -0
  263. package/src/scripts/lint_handoffs.ts +42 -0
  264. package/src/scripts/lint_skill_descriptions.ts +228 -0
  265. package/src/scripts/lint_skill_descriptions_allowlist.json +1 -0
  266. package/src/scripts/lint_skill_scripts_readonly.ts +145 -0
  267. package/src/scripts/lint_skill_scripts_readonly_allowlist.json +8 -0
  268. package/src/scripts/lint_supported_tools_matrix.ts +35 -0
  269. package/src/scripts/optimize_skill_description.ts +144 -0
  270. package/src/scripts/orchestration_record.ts +2 -1
  271. package/src/scripts/prelaunch_diagnostics.ts +248 -0
  272. package/src/scripts/rule_backlinks.ts +0 -0
  273. package/src/scripts/run_skill_evals.ts +70 -4
  274. package/src/scripts/schemas/command.schema.json +7 -0
  275. package/src/scripts/schemas/evals.schema.json +105 -14
  276. package/src/scripts/schemas/prelaunch-report.schema.json +107 -0
  277. package/src/scripts/schemas/skill.schema.json +18 -1
  278. package/src/scripts/schemas/subagent.schema.json +6 -0
  279. package/src/scripts/skill_linter.ts +43 -3
  280. package/src/scripts/smoke_host_loadability.sh +73 -0
  281. package/src/scripts/team_review_gate_hook.ts +115 -0
  282. package/src/scripts/trigger_eval_grandfather.json +1 -2
  283. package/src/scripts/utilization_report.ts +225 -0
  284. package/src/server/schemas/settings.ts +25 -0
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: brand
8
8
  type: orchestrator
9
9
  description: Brand-as-UX orchestrator — strategy, identity, tokens, review, voice. Routes to the brand-grounding skills that constrain the design layer.
10
+ argument-hint: "[strategy|identity|tokens|review|voice] [args]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "work on our brand, define brand strategy/identity/voice, derive brand tokens, audit brand consistency"
@@ -20,11 +21,12 @@ packs:
20
21
  # /brand
21
22
 
22
23
  Top-level orchestrator for the `/brand:*` family — brand as a first-class UX
23
- layer that **constrains** the UI. Consulted **before**
24
+ layer that **constrains** the UI. The brand layer is consulted **before**
24
25
  [`design-intelligence`](../../skills/design-intelligence/SKILL.md) so brand
25
- bounds style selection. Designer flow: discover → strategy → identity → tokens →
26
- application → governance. Derived brand tokens are the export pack-ai-image's
27
- brand-asset generation and the greenfield scaffold seed consume (B → A).
26
+ decisions bound style selection. Walk the designer flow: discover → strategy →
27
+ identity → tokens → application → governance. Brand tokens, once derived, are
28
+ the export that pack-ai-image's brand-asset generation and the greenfield
29
+ scaffold seed consume (B → A dependency).
28
30
 
29
31
  ## Sub-commands
30
32
 
@@ -47,9 +49,9 @@ brand-asset generation and the greenfield scaffold seed consume (B → A).
47
49
 
48
50
  - **Do NOT commit, push, or open a PR** — subcommands never do this.
49
51
  - **Do NOT chain subcommands.** One `/brand <sub>` per turn.
50
- - **Consumer brand tokens are the source of truth.** Corpus only fills gaps; a
51
- value not traceable to a brand token or voice rule is off-brand (per
52
- [`brand-consistency`](../rules/brand-consistency.md)).
52
+ - **Consumer brand tokens are the source of truth.** The brand corpus only
53
+ fills gaps; a value not traceable to a brand token or voice rule is off-brand
54
+ (per [`brand-consistency`](../rules/brand-consistency.md)).
53
55
  - **Edit `src/` only.** Generated mirrors regenerate.
54
56
 
55
57
  ## See also
@@ -8,6 +8,7 @@ sub: fix
8
8
  cluster: bug
9
9
  skills: [bug-analyzer, pest-testing]
10
10
  description: Plan and implement a bug fix — based on investigation, with quality checks and test verification
11
+ argument-hint: "[bug-description]"
11
12
  council_depth: deep
12
13
  suggestion:
13
14
  eligible: true
@@ -8,6 +8,7 @@ sub: investigate
8
8
  cluster: bug
9
9
  skills: [bug-analyzer, sentry-integration]
10
10
  description: Investigate a bug — auto-detect ticket from branch, gather Jira/Sentry/description context, trace root cause
11
+ argument-hint: "[ticket-key | sentry-url | error-message | description]"
11
12
  council_depth: deep
12
13
  suggestion:
13
14
  eligible: true
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: bug
4
4
  disable-model-invocation: true
5
+ argument-hint: "[investigate|fix] [args]"
5
6
  pack: engineering-base
6
7
  intent: "Bug dispatcher — investigate the root cause or implement the fix"
7
8
  routes_to: [bug-investigate, bug-fix]
@@ -34,7 +35,7 @@ user knows they have a defect but has not picked a workflow yet.
34
35
  | `/bug fix` | `commands/bug/fix.md` | Plan and implement a bug fix — based on investigation, with quality checks and test verification |
35
36
 
36
37
  Sub-command names match the locked contract in
37
- [`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
38
+ [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
38
39
 
39
40
  ## Dispatch
40
41
 
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: challenge-me
8
8
  sub: vision
9
9
  description: "Stress-test a plan or idea by one-question-at-a-time interview until 95% confidence — emits a copyable Markdown vision pitch for tickets, roadmaps, or fresh-chat handoff."
10
+ argument-hint: "[--until=N] [--keep-going] [seed]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "challenge me on this plan, grill me, grill me on this, grill me on the vision, grill me on the idea, grill me until it's clear, grill me hard, frag mich durch, dreh mich durch die Mangel"
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: challenge-me
8
8
  sub: with-docs
9
9
  description: "Doc-aware /challenge-me — 95%-confidence interview with session glossary vs CONTEXT.md, load-bearing claim-vs-code verification, optional CONTEXT.md patch + ADR candidates in the pitch."
10
+ argument-hint: "[--until=N] [--keep-going] [seed]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "challenge me against the docs, grill me with our context, grill me against the docs, grill me against CONTEXT.md, grill me with the project context, frag mich durch und prüf gegen CONTEXT.md, challenge plan with domain docs"
@@ -5,6 +5,7 @@ pack: product-reasoning
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Challenge-me orchestrator — routes to vision, with-docs
8
+ argument-hint: "[vision|with-docs] [flags] [seed]"
8
9
  cluster: challenge-me
9
10
  type: orchestrator
10
11
  suggestion:
@@ -55,15 +56,36 @@ enough to emit a copyable Markdown pitch.
55
56
  > 2. with-docs — same flow, but checks the seed against `CONTEXT.md` /
56
57
  > ADRs and emits an optional doc patch in the pitch
57
58
 
59
+ ## In-interview triggers (both sub-commands)
60
+
61
+ While inside `vision` or `with-docs`, the user can end or branch the
62
+ interview at any turn by typing one of three triggers. Full syntax,
63
+ match rules, and routing live in
64
+ [`vision.md` § Triggers — strict matching](challenge-me/vision.md);
65
+ `with-docs` inherits verbatim.
66
+
67
+ | Trigger | Action |
68
+ |---|---|
69
+ | `!pitch` (and aliases) | Emit the pitch, hand back. |
70
+ | `!roadmap` / `!roadmap:create` (and aliases) | Emit the pitch, then auto-route to [`/roadmap:create`](roadmap/create.md) with the pitch as seed. Routing is opt-in by the trigger, not silent. |
71
+ | `!ai` / `!ai-council` / `!council` (and aliases) | Invoke [`/council default`](council/default.md) on the open question(s); cost gate **auto-accepted** by the trigger; council answers integrated, interview resumes. |
72
+
58
73
  ## Rules
59
74
 
60
75
  - **Do NOT chain sub-commands.** One `/challenge-me <sub>` per turn.
61
76
  - If the user invokes `/challenge-me` with no argument, **show the menu**
62
77
  — do not guess which sub-command they meant.
63
- - **No file writes from either sub-command.** Both variants are
64
- conversational; the pitch is the only artefact, and it is copyable
65
- Markdown the user pastes elsewhere. `with-docs` emits its `CONTEXT.md`
66
- patch and ADR candidates inside the same pitch block — agent does not
67
- apply them itself.
78
+ - **No file writes from /challenge-me itself.** Both variants are
79
+ conversational; the pitch is the only artefact `/challenge-me` produces,
80
+ and it is copyable Markdown the user pastes elsewhere. `with-docs`
81
+ emits its `CONTEXT.md` patch and ADR candidates inside the same pitch
82
+ block — `/challenge-me` does not apply them itself. The `!roadmap`
83
+ trigger routes to `/roadmap:create`, which then writes under its own
84
+ contract (with its own user confirmation in its Step 6); the file
85
+ write happens there, not here.
86
+ - **Council cost gate is auto-accepted under `!ai`** — typing the
87
+ trigger is the consent. Sub-commands do not surface a second
88
+ confirmation, even under `personal.autonomy: auto`.
68
89
  - **Mirror the user's language** — sub-commands inherit the
69
- `language-and-tone` Iron Law for question blocks and pitch.
90
+ `language-and-tone` Iron Law for question blocks and pitch. All
91
+ trigger syntax stays literal in any language.
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: chat-history
4
4
  disable-model-invocation: true
5
+ argument-hint: "[import]"
5
6
  pack: memory
6
7
  tier: 2
7
8
  visibility: internal
@@ -5,6 +5,7 @@ pack: meta
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: "Check the open .md file (or a passed path) for German outside DE:/EN: anchor blocks — umlauts, function words, untranslated quotes. Reports and offers fixes."
8
+ argument-hint: "[path...]"
8
9
  suggestion:
9
10
  eligible: false
10
11
  rationale: "Package-internal — only the event4u/agent-config repo runs this."
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: git-commit
4
4
  disable-model-invocation: true
5
+ argument-hint: "[in-chunks] [args]"
5
6
  pack: git
6
7
  intent: "Stage and commit changes in logical chunks with a Conventional Commits message"
7
8
  routes_to: [git-workflow, conventional-commits-writing]
@@ -8,6 +8,7 @@ cluster: context
8
8
  sub: create
9
9
  skills: [agent-docs-writing]
10
10
  description: Analyze a codebase area and create a structured context document
11
+ argument-hint: "[topic]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "document this part of the codebase, create a context doc for X"
@@ -86,9 +87,9 @@ Based on the type, analyze the relevant code area:
86
87
  - Identify all models and tables involved
87
88
 
88
89
  **Service context:**
89
- - Read the service class and its deps
90
+ - Read the service class and its dependencies
90
91
  - Trace call chain (who calls it, what it calls)
91
- - Identify configuration and env deps
92
+ - Identify configuration and env dependencies
92
93
 
93
94
  **Integration context:**
94
95
  - Find API client classes, HTTP calls
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: context
4
4
  disable-model-invocation: true
5
+ argument-hint: "[create|refactor] [args]"
5
6
  pack: meta
6
7
  tier: 2
7
8
  visibility: internal
@@ -8,6 +8,7 @@ replaces: [set-cost-profile]
8
8
  sub: profile
9
9
  cluster: cost
10
10
  description: Change the rule_loading_tier in .agent-settings.yml — shows each profile's meaning and applies the selection
11
+ argument-hint: "[minimal|balanced|full|custom]"
11
12
  skills: [file-editor]
12
13
  suggestion:
13
14
  eligible: false
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: cost
4
4
  disable-model-invocation: true
5
+ argument-hint: "[report|profile] [args]"
5
6
  pack: meta
6
7
  intent: "Cost dispatcher — session cost report or rule-loading cost profile"
7
8
  routes_to: [cost-report, cost-profile]
@@ -34,7 +35,7 @@ and configuration.
34
35
  | `/cost profile` | `commands/cost/profile.md` | Change the `rule_loading_tier` in `.agent-settings.yml` — shows each profile's meaning, applies the selection |
35
36
 
36
37
  Sub-command names match the locked contract in
37
- [`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
38
+ [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
38
39
 
39
40
  ## Dispatch
40
41
 
@@ -8,6 +8,7 @@ cluster: council
8
8
  sub: analysis
9
9
  skills: [ai-council]
10
10
  description: Run the council on a local analysis output (project-analyze, audit script, codebase scan) — critiques the analysis itself for dedup, evidence quality, and roadmap-readiness.
11
+ argument-hint: "[path] [question]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "council on this analysis, critique the project-analyze output, second opinion on the audit findings, turn analysis into roadmap"
@@ -8,6 +8,7 @@ cluster: council
8
8
  sub: debate
9
9
  skills: [ai-council]
10
10
  description: Multi-round council debate with progressive cost disclosure — each member produces a position, then rebuts the strongest opposing position in subsequent rounds. User confirms spend between rounds.
11
+ argument-hint: "[topic | path] [--rounds N] [--auto-continue]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "council debate on X, multi-round rebuttal, escalate council to debate mode, push the council to argue not synthesize"
@@ -8,6 +8,7 @@ cluster: council
8
8
  sub: default
9
9
  skills: [ai-council]
10
10
  description: Default council lens — neutral framing, redacted context, advisory output only. Run `/council default <input>` for prompt/roadmap/diff/files; the cluster shows a menu when invoked bare.
11
+ argument-hint: "[prompt:\"…\" | roadmap:<path> | diff:<a>..<b> | files:<paths>] [rounds:N] [depth:deep]"
11
12
  suggestion:
12
13
  eligible: false
13
14
  rationale: "Default lens — invoked via /council dispatcher; no direct trigger."
@@ -93,19 +94,19 @@ NOT in `.agent-settings.yml`, NOT in the project tree. The CLI
93
94
  (`scripts/ai_council/config.ts:resolve_config_path`, per
94
95
  [ADR-104](../../../docs/decisions/ADR-104-ai-council-config-global-only.md),
95
96
  superseding [ADR-093](../../../docs/decisions/ADR-093-ai-council-config-user-global.md))
96
- resolves it — first hit wins:
97
+ resolves it in this order — first hit wins:
97
98
 
98
99
  1. `$AI_COUNCIL_CONFIG` — explicit absolute path (tests / power users),
99
- honoured even when absent. Explicit path, never a project search.
100
- 2. User-global `~/.event4u/agent-config/settings/.ai-council.yml` — the one
101
- and only home; this single global config serves every project.
100
+ honoured even when absent. An explicit path, never a project search.
101
+ 2. User-global `~/.event4u/agent-config/settings/.ai-council.yml` — the
102
+ one and only home; this single global config serves every project.
102
103
 
103
- No project-local lookup. The council never reads
104
- `<project_root>/agents/settings/.ai-council.yml`, `scripts/ai_council`, or any
105
- project file. Keys are **top-level** (`enabled`, `defaults:`, `members:`). No
106
- `ai_council:` parent block; the legacy `ai_council.*` block under
107
- `.agent-settings.yml` was removed in ADR-093 — never read or recommend that
108
- path for council config.
104
+ There is **no project-local lookup.** The council never reads
105
+ `<project_root>/agents/settings/.ai-council.yml`, `scripts/ai_council`, or
106
+ any project file. Keys are **top-level** in the global file (`enabled`,
107
+ `defaults:`, `members:`). There is no `ai_council:` parent block, and the
108
+ legacy `ai_council.*` block under `.agent-settings.yml` was removed in
109
+ ADR-093 — never read or recommend that path for council config.
109
110
 
110
111
  ```
111
112
  THE COUNCIL CONFIG IS ALWAYS GLOBAL. NEVER SEARCH THE PROJECT FOR IT.
@@ -119,18 +120,18 @@ is authoritative: run `council:estimate` (Step 3) and read its exit code
119
120
  consumer repos, fresh worktrees, any CWD — with zero per-project setup.
120
121
  ```
121
122
 
122
- CLI is the single source of truth for the configured-check — do not hand-parse
123
- the YAML, and never eyeball the project tree, to second-guess it. Map its outcomes (Step 4 exit codes + the
124
- **CLI exits 2** cases below):
123
+ The CLI is the single source of truth for the configured-check — do not
124
+ hand-parse the YAML, and never eyeball the project tree, to second-guess it. Map its outcomes (Step 4 exit
125
+ codes, plus the **CLI exits 2** cases below):
125
126
 
126
- - `enabled: false` (top-level in resolved `.ai-council.yml`) → CLI exits 2 with
127
- `ai_council.enabled is false`. State that, offer to flip it on. Do not flip
128
- it autonomously.
129
- - No member has `enabled: true` (under top-level `members:`) → list install
130
- commands (`./agent-config keys:install-anthropic`,
127
+ - `enabled: false` (top-level in the resolved `.ai-council.yml`) → CLI exits 2
128
+ with `ai_council.enabled is false`. State that and offer to flip it on. Do
129
+ not flip it autonomously.
130
+ - No member has `enabled: true` (under top-level `members:`) → list the
131
+ install commands (`./agent-config keys:install-anthropic`,
131
132
  `./agent-config keys:install-openai`) and stop.
132
- - A member is enabled but its `*.key` file is missing or wrong-mode → tell the
133
- user which key to install. Do not fall back to env vars. Ever.
133
+ - A member is enabled but its `*.key` file is missing or has the wrong mode
134
+ → tell the user which key to install. Do not fall back to env vars. Ever.
134
135
 
135
136
  Load the price table via `scripts.ai_council.pricing.load_prices()`
136
137
  (auto-bootstraps `agents/runtime/.agent-prices.md` from defaults if missing). Run
@@ -8,6 +8,7 @@ cluster: council
8
8
  sub: design
9
9
  skills: [ai-council]
10
10
  description: Run the council on a design document, ADR, or architecture proposal — surfaces hidden coupling, missing rollback, and sequencing risk before commitment.
11
+ argument-hint: "[path]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "council on this design, second opinion on the ADR, external review of architecture proposal"
@@ -8,6 +8,7 @@ cluster: council
8
8
  sub: optimize
9
9
  skills: [ai-council]
10
10
  description: Run the council on an optimization target — perf hot path, memory pattern, query, or an /optimize-* output — for ranked, evidence-based suggestions instead of generic advice.
11
+ argument-hint: "[target]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "council on this perf hot path, second opinion on this optimization, external review of /optimize output"
@@ -8,6 +8,7 @@ cluster: council
8
8
  sub: pr
9
9
  skills: [ai-council]
10
10
  description: Pull a GitHub PR via gh CLI and run the council on the diff with a PR-specific neutrality preamble — read-only by default; comment posting is opt-in.
11
+ argument-hint: "[pr-number | url]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "council on PR #N, external review of pull request, second opinion on a PR"
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: council
4
4
  disable-model-invocation: true
5
+ argument-hint: "[default|pr|design|optimize|analysis|debate] [args]"
5
6
  pack: product-reasoning
6
7
  intent: "Poll external AIs for a neutral second opinion (pr/design/optimize/analysis lenses)"
7
8
  routes_to: [council-default, council-pr, council-design, council-analysis]
@@ -9,6 +9,7 @@ tier: 1
9
9
  visibility: advanced
10
10
  skills: [estimate-ticket]
11
11
  description: Estimate a Jira/Linear ticket before sprint planning — size + risk + split recommendation + uncertainty, sibling to /refine-ticket, ends with a close-prompt
12
+ argument-hint: "[ticket-key | url | text] [--personas=<list>] [--scale=<map>]"
12
13
  suggestion:
13
14
  eligible: true
14
15
  trigger_description: "how big is this ticket, estimate PROJ-123, should we split this"
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: feature
8
8
  sub: dev
9
9
  description: Full 7-phase feature development workflow for complex features.
10
+ argument-hint: "[description]"
10
11
  skills: [laravel, php-coder]
11
12
  suggestion:
12
13
  eligible: true
@@ -8,6 +8,7 @@ cluster: feature
8
8
  sub: explore
9
9
  skills: [laravel]
10
10
  description: Brainstorm and explore a feature idea before committing to a full plan
11
+ argument-hint: "[idea]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "brainstorm this idea, explore this feature concept"
@@ -8,6 +8,7 @@ cluster: feature
8
8
  sub: plan
9
9
  skills: [feature-planning]
10
10
  description: Interactively plan a feature — research, discuss, and create a structured feature document
11
+ argument-hint: "[description]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "plan this feature, create a feature spec for X"
@@ -8,6 +8,7 @@ cluster: feature
8
8
  sub: refactor
9
9
  skills: [laravel, php-coder]
10
10
  description: Refine and update an existing feature plan through interactive discussion
11
+ argument-hint: "[feature-name]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "update the feature plan, refine the feature spec"
@@ -8,6 +8,7 @@ cluster: feature
8
8
  sub: roadmap
9
9
  skills: [agent-docs-writing]
10
10
  description: Generate implementation roadmap(s) from a feature plan and link them
11
+ argument-hint: "[feature-name]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "turn this feature into a roadmap, generate the implementation roadmap"
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: feature
4
4
  disable-model-invocation: true
5
+ argument-hint: "[explore|plan|refactor|roadmap|dev] [args]"
5
6
  pack: engineering-base
6
7
  intent: "Feature-workflow dispatcher — explore, plan, refactor, roadmap, dev"
7
8
  routes_to: [feature-explore, feature-plan, feature-refactor, feature-roadmap, feature-dev]
@@ -39,7 +40,7 @@ commands with a single entry point + sub-command dispatch.
39
40
  ## Workflow ordering
40
41
 
41
42
  Typical sequence: `explore` → `plan` → `roadmap` → `dev` (or per-step
42
- impl). Use `refactor` whenever an existing plan needs an update.
43
+ implementation). Use `refactor` whenever an existing plan needs an update.
43
44
 
44
45
  ## Dispatch
45
46
 
@@ -8,6 +8,7 @@ cluster: fix
8
8
  sub: pr-comments
9
9
  skills: [php-coder, quality-tools]
10
10
  description: Fix, commit+push, reply to, then resolve all open review comments (bots + human reviewers) on a GitHub PR
11
+ argument-hint: "[pr-url]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "fix all PR review comments, resolve the review feedback"
@@ -194,6 +195,24 @@ Example: `🤖 Good catch, fixed.`
194
195
 
195
196
  If `false` or `.agent-settings.yml` doesn't exist, do NOT add the prefix.
196
197
 
198
+ ## Dedup + re-review scoping — before posting anything
199
+
200
+ Two guards run before any reply/comment is posted:
201
+
202
+ 1. **Dedup against existing comments (fuzzy, not just id).** Fetch **all**
203
+ existing PR comments paginated (`per_page: 100`, follow `Link` headers).
204
+ Beyond the exact comment-id + reply-marker check, suppress a would-be new
205
+ comment when it **matches an existing one** on: same file **and** within
206
+ **±3 lines** **and** overlapping title keywords. Log every suppressed item
207
+ ("suppressed: <file>:<line> — already raised by @<login> in #<id>") so the
208
+ suppression is auditable — never silently drop. This stops the bot from
209
+ re-raising a point a human reviewer already made three lines away.
210
+ 2. **Re-review scoping on reply rounds.** A reply round scopes to the
211
+ **changed lines** of the push it responds to; never raise **new** issues in
212
+ code the round did not touch (mirrors the `code-review` re-review-scoping
213
+ rule). A pre-existing issue you notice in untouched code is noted to the
214
+ user, not posted as a fresh blocking comment on someone else's PR.
215
+
197
216
  ## Replying via GitHub API
198
217
 
199
218
  Read `github.pr_reply_method` from `.agent-settings.yml` to determine the correct endpoint.
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: fix
4
4
  disable-model-invocation: true
5
+ argument-hint: "[ci|refs|portability|seeder|pr-comments|comments|quality] [args]"
5
6
  pack: engineering-base
6
7
  intent: "Fix-workflow dispatcher — ci, pr-comments, refs, seeder, portability, comments, quality"
7
8
  routes_to: [fix-ci, fix-pr-comments, fix-refs, fix-seeder, fix-portability, fix-comments, fix-quality]
@@ -40,7 +41,7 @@ with a single entry point + sub-command dispatch.
40
41
  | `/fix quality` | `commands/fix/quality.md` | Run the quality pipeline (type-checker / linter / formatter, PHP and/or JS/TS) and fix every error — auto-detects language from changed files |
41
42
 
42
43
  Sub-command names match the locked contract in
43
- [`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
44
+ [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
44
45
 
45
46
  ## Non-interactive & auto-detection
46
47
 
@@ -8,6 +8,7 @@ cluster: ghostwriter
8
8
  sub: delete
9
9
  skills: [ghostwriter]
10
10
  description: Hard-delete a ghostwriter profile at agents/reference/ghostwriter/<slug>.md after a two-step confirmation. No backup, no soft delete — the file is gone after acceptance.
11
+ argument-hint: "[slug]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "delete ghostwriter profile, remove public-figure voice, drop ghostwriter, retire captured profile"
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: ghostwriter
8
8
  sub: fetch
9
9
  description: Build or refresh a public-figure voice profile under agents/reference/ghostwriter/ from a URL or bare name; runs the public-figure attestation gate; delegates web-fetch/web-search to host.
10
+ argument-hint: "<url | name> [--force-refresh]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "fetch public figure writing voice, capture LinkedIn / blog / Substack style, build ghostwriter profile from name, refresh stale profile"
@@ -8,6 +8,7 @@ cluster: ghostwriter
8
8
  sub: show
9
9
  skills: [ghostwriter]
10
10
  description: Render a single ghostwriter profile in full — identity, style fingerprint, voice samples, taboos, source URLs. Read-only.
11
+ argument-hint: "[slug | index]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "show ghostwriter profile, inspect public-figure voice, view ghostwriter details, what does this profile contain"
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: ghostwriter
8
8
  sub: write
9
9
  description: Draft a markdown post in the voice of a captured public-figure ghostwriter profile; appends the mandatory non-removable disclosure footer.
10
+ argument-hint: "[slug | --as=<slug>] [--tone] [--length] [--channel] [--audience]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "draft post in style of public figure, write in someone's voice, ghostwriter draft, LinkedIn post in style of X"
@@ -5,6 +5,7 @@ pack: gtm-marketing
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Ghostwriter cluster — fetch, write, list, show, and delete public-figure voice profiles (the third voice primitive alongside personas/ and .agent-user.md).
8
+ argument-hint: "[fetch|write|list|show|delete] [args]"
8
9
  cluster: ghostwriter
9
10
  type: orchestrator
10
11
  suggestion:
@@ -5,6 +5,7 @@ pack: product-reasoning
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Alias for /challenge-me — interactive grill-style interview that sharpens a fuzzy plan/idea into a copyable Markdown pitch
8
+ argument-hint: "[vision|with-docs] [flags] [seed]"
8
9
  cluster: challenge-me
9
10
  type: orchestrator
10
11
  suggestion:
@@ -20,27 +21,31 @@ packs:
20
21
  # /grill-me
21
22
 
22
23
  Alias for [`/challenge-me`](challenge-me.md). Identical behaviour,
23
- sub-commands (`vision`, `with-docs`), and in-interview triggers
24
- (`!pitch`, `!roadmap`, `!ai`).
24
+ identical sub-commands (`vision`, `with-docs`), identical in-interview
25
+ triggers (`!pitch`, `!roadmap`, `!ai`). Provided so users who think of
26
+ the workflow as "grill me" rather than "challenge me" land on the same
27
+ dispatcher without a second hop.
25
28
 
26
29
  ## Sub-commands
27
30
 
28
31
  | Sub-command | Routes to | Purpose |
29
32
  |---|---|---|
30
- | `/grill-me vision` | `commands/challenge-me/vision.md` | 95%-confidence interview, emits a vision pitch |
31
- | `/grill-me with-docs` | `commands/challenge-me/with-docs.md` | Same flow plus glossary + claim-vs-code check vs `CONTEXT.md` / ADRs |
33
+ | `/grill-me vision` | `commands/challenge-me/vision.md` | Standard variant — interrogate to 95 % confidence, emit a vision pitch |
34
+ | `/grill-me with-docs` | `commands/challenge-me/with-docs.md` | Doc-aware variant — same flow plus glossary + claim-vs-code verification against `CONTEXT.md` / ADRs |
32
35
 
33
36
  ## Dispatch
34
37
 
35
- 1. Parse: `/grill-me <sub-command> [flags] [seed]`.
38
+ 1. Parse the user's argument: `/grill-me <sub-command> [flags] [seed]`.
36
39
  2. Load [`commands/challenge-me.md`](challenge-me.md) and follow its
37
- `## Dispatch` verbatim with the same sub-command + flags + seed.
38
- 3. Unknown / missing sub-command → print menu from `challenge-me.md`.
40
+ `## Dispatch` section verbatim with the same sub-command + flags + seed.
41
+ 3. If the sub-command is unknown or missing, print the menu from
42
+ `challenge-me.md` (do not guess).
39
43
 
40
44
  ## Rules
41
45
 
42
- - Thin alias — all behaviour, triggers, cost-gate, file-write rules
43
- live in [`challenge-me.md`](challenge-me.md) and the routed sub-commands.
44
- Do not duplicate them here; edit them there.
45
- - Suggestion engine surfaces this for free-form "grill me" prompts;
46
- `/grill-me` is the direct invocation path.
46
+ - This file is a **thin alias** — all behaviour, in-interview triggers,
47
+ cost-gate semantics, and file-write rules live in
48
+ [`commands/challenge-me.md`](challenge-me.md) and the routed
49
+ sub-command files. Do not duplicate them here; edit them there.
50
+ - The suggestion engine surfaces this command for free-form "grill me"
51
+ prompts; the slash form `/grill-me` is the direct invocation path.
@@ -5,6 +5,7 @@ pack: gtm-marketing
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Remove AI-writing tells from pasted text or a file — runs the humanizer skill's draft→audit→final loop and prints the rewrite plus a detector summary.
8
+ argument-hint: "[path] [--voice=<slug|me>] [--language=en|de|auto]"
8
9
  cluster: humanize
9
10
  skills: [humanizer]
10
11
  suggestion:
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: image
8
8
  sub: analyse
9
9
  description: Analyse a character image down to the smallest mole and diff it against a canon — per-feature spec, OCR tattoo text, severity-ranked drift report.
10
+ argument-hint: "<path-or-url> [character-id]"
10
11
  personas: [hollywood-director]
11
12
  skills: [image-analyser]
12
13
  suggestion:
@@ -29,7 +30,7 @@ to diff against, e.g. `veikko`).
29
30
 
30
31
  1. **Resolve the image** — accept a path or public URL. Apply the input gate
31
32
  (refuse blurry / sub-resolution / unreadable; per the `image-ocr` contract).
32
- 2. **Governance check** — real-person likeness → route through
33
+ 2. **Governance check** — if the image is a real-person likeness, route through
33
34
  [`media-governance-routing`](../rules/media-governance-routing.md) first.
34
35
  3. **Run `image-analyser`** — section-by-section extraction (the "down to the
35
36
  smallest mole" pass), OCR sub-pass for lettered tattoos, hard-feature
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: image
8
8
  sub: create
9
9
  description: Generate a character image to spec — assemble a max-fidelity, anchors-first prompt from a Canon Spec; governance- and provider-gated, dry-run by default.
10
+ argument-hint: "<character-id> <scene> [analyse-diff]"
10
11
  personas: [hollywood-director]
11
12
  skills: [image-creator, character-consistency]
12
13
  suggestion:
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: image
8
8
  sub: verify
9
9
  description: Verify a candidate render against its canon — run the analyser in loop mode, emit the gate verdict + remaining diff, halt-and-surface on non-pass.
10
+ argument-hint: "<path-or-url> <character-id>"
10
11
  personas: [hollywood-director]
11
12
  skills: [image-analyser]
12
13
  suggestion: