@event4u/agent-config 8.13.0 → 9.1.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 (316) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +183 -0
  3. package/MIGRATION.md +14 -0
  4. package/README.md +2 -2
  5. package/dist/agent-src/commands/agent-handoff.md +35 -0
  6. package/dist/agent-src/commands/agents/init.md +1 -0
  7. package/dist/agent-src/commands/agents/optimize.md +1 -0
  8. package/dist/agent-src/commands/agents/user/accept.md +3 -2
  9. package/dist/agent-src/commands/agents/user/init.md +5 -4
  10. package/dist/agent-src/commands/agents/user/update.md +3 -2
  11. package/dist/agent-src/commands/agents/user.md +1 -0
  12. package/dist/agent-src/commands/agents.md +1 -0
  13. package/dist/agent-src/commands/analytics/show.md +1 -0
  14. package/dist/agent-src/commands/analytics.md +1 -0
  15. package/dist/agent-src/commands/analyze/decision.md +1 -0
  16. package/dist/agent-src/commands/analyze/incident.md +1 -0
  17. package/dist/agent-src/commands/analyze/near-miss.md +1 -0
  18. package/dist/agent-src/commands/analyze/postmortem.md +1 -0
  19. package/dist/agent-src/commands/analyze/premortem.md +1 -0
  20. package/dist/agent-src/commands/analyze/reference-repo.md +1 -0
  21. package/dist/agent-src/commands/analyze.md +3 -2
  22. package/dist/agent-src/commands/brand/identity.md +6 -5
  23. package/dist/agent-src/commands/brand/review.md +6 -5
  24. package/dist/agent-src/commands/brand/strategy.md +6 -4
  25. package/dist/agent-src/commands/brand/tokens.md +7 -6
  26. package/dist/agent-src/commands/brand/voice.md +5 -4
  27. package/dist/agent-src/commands/brand.md +9 -7
  28. package/dist/agent-src/commands/bug/fix.md +1 -0
  29. package/dist/agent-src/commands/bug/investigate.md +1 -0
  30. package/dist/agent-src/commands/bug.md +2 -1
  31. package/dist/agent-src/commands/challenge-me/vision.md +1 -0
  32. package/dist/agent-src/commands/challenge-me/with-docs.md +1 -0
  33. package/dist/agent-src/commands/challenge-me.md +28 -6
  34. package/dist/agent-src/commands/chat-history.md +1 -0
  35. package/dist/agent-src/commands/check-current-md.md +1 -0
  36. package/dist/agent-src/commands/commit.md +1 -0
  37. package/dist/agent-src/commands/context/create.md +3 -2
  38. package/dist/agent-src/commands/context.md +1 -0
  39. package/dist/agent-src/commands/cost/profile.md +1 -0
  40. package/dist/agent-src/commands/cost.md +2 -1
  41. package/dist/agent-src/commands/council/analysis.md +1 -0
  42. package/dist/agent-src/commands/council/debate.md +1 -0
  43. package/dist/agent-src/commands/council/default.md +21 -20
  44. package/dist/agent-src/commands/council/design.md +1 -0
  45. package/dist/agent-src/commands/council/optimize.md +1 -0
  46. package/dist/agent-src/commands/council/pr.md +1 -0
  47. package/dist/agent-src/commands/council.md +1 -0
  48. package/dist/agent-src/commands/estimate-ticket.md +1 -0
  49. package/dist/agent-src/commands/explain-run.md +88 -0
  50. package/dist/agent-src/commands/feature/dev.md +1 -0
  51. package/dist/agent-src/commands/feature/explore.md +1 -0
  52. package/dist/agent-src/commands/feature/plan.md +1 -0
  53. package/dist/agent-src/commands/feature/refactor.md +1 -0
  54. package/dist/agent-src/commands/feature/roadmap.md +1 -0
  55. package/dist/agent-src/commands/feature.md +2 -1
  56. package/dist/agent-src/commands/fix/pr-comments.md +19 -0
  57. package/dist/agent-src/commands/fix.md +2 -1
  58. package/dist/agent-src/commands/ghostwriter/delete.md +1 -0
  59. package/dist/agent-src/commands/ghostwriter/fetch.md +1 -0
  60. package/dist/agent-src/commands/ghostwriter/show.md +1 -0
  61. package/dist/agent-src/commands/ghostwriter/write.md +1 -0
  62. package/dist/agent-src/commands/ghostwriter.md +1 -0
  63. package/dist/agent-src/commands/grill-me.md +17 -12
  64. package/dist/agent-src/commands/humanize.md +1 -0
  65. package/dist/agent-src/commands/image/analyse.md +2 -1
  66. package/dist/agent-src/commands/image/create.md +1 -0
  67. package/dist/agent-src/commands/image/verify.md +1 -0
  68. package/dist/agent-src/commands/image.md +16 -12
  69. package/dist/agent-src/commands/implement-ticket.md +1 -0
  70. package/dist/agent-src/commands/judge/on-diff.md +1 -0
  71. package/dist/agent-src/commands/judge/solo.md +1 -0
  72. package/dist/agent-src/commands/judge/steps.md +1 -0
  73. package/dist/agent-src/commands/judge.md +1 -0
  74. package/dist/agent-src/commands/knowledge/cross-repo.md +1 -0
  75. package/dist/agent-src/commands/knowledge/forget.md +1 -0
  76. package/dist/agent-src/commands/knowledge/ingest.md +1 -0
  77. package/dist/agent-src/commands/knowledge/list.md +10 -0
  78. package/dist/agent-src/commands/knowledge.md +1 -0
  79. package/dist/agent-src/commands/memory/learn-low-impact.md +1 -0
  80. package/dist/agent-src/commands/memory/mine-session.md +1 -0
  81. package/dist/agent-src/commands/memory/promote.md +3 -2
  82. package/dist/agent-src/commands/memory.md +1 -0
  83. package/dist/agent-src/commands/mission/upgrade.md +45 -24
  84. package/dist/agent-src/commands/mode.md +1 -0
  85. package/dist/agent-src/commands/module/create.md +1 -0
  86. package/dist/agent-src/commands/module/explore.md +1 -0
  87. package/dist/agent-src/commands/module.md +1 -0
  88. package/dist/agent-src/commands/optimize/agents-dir.md +1 -0
  89. package/dist/agent-src/commands/optimize/project.md +1 -0
  90. package/dist/agent-src/commands/optimize/prompt.md +1 -0
  91. package/dist/agent-src/commands/optimize.md +2 -1
  92. package/dist/agent-src/commands/orchestrate.md +1 -0
  93. package/dist/agent-src/commands/override.md +1 -0
  94. package/dist/agent-src/commands/package.md +2 -1
  95. package/dist/agent-src/commands/post-as/ghostwriter.md +1 -0
  96. package/dist/agent-src/commands/post-as/me.md +1 -0
  97. package/dist/agent-src/commands/post-as.md +1 -0
  98. package/dist/agent-src/commands/pr/create/description-only.md +139 -8
  99. package/dist/agent-src/commands/pr/create.md +35 -22
  100. package/dist/agent-src/commands/prediction-pool.md +7 -6
  101. package/dist/agent-src/commands/prepare-for-review.md +1 -0
  102. package/dist/agent-src/commands/profile/activate.md +1 -0
  103. package/dist/agent-src/commands/profile/deactivate.md +1 -0
  104. package/dist/agent-src/commands/profile.md +1 -0
  105. package/dist/agent-src/commands/project.md +2 -1
  106. package/dist/agent-src/commands/refine-ticket.md +7 -0
  107. package/dist/agent-src/commands/research/deep.md +1 -0
  108. package/dist/agent-src/commands/research.md +1 -0
  109. package/dist/agent-src/commands/review/routing.md +1 -0
  110. package/dist/agent-src/commands/review.md +2 -1
  111. package/dist/agent-src/commands/roadmap/ai-council.md +1 -0
  112. package/dist/agent-src/commands/roadmap/materialize.md +1 -0
  113. package/dist/agent-src/commands/roadmap/process-full.md +1 -0
  114. package/dist/agent-src/commands/roadmap/process-phase.md +1 -0
  115. package/dist/agent-src/commands/roadmap/process-step.md +1 -0
  116. package/dist/agent-src/commands/roadmap.md +1 -0
  117. package/dist/agent-src/commands/security-audit-config.md +2 -1
  118. package/dist/agent-src/commands/skill/preview.md +1 -0
  119. package/dist/agent-src/commands/skill.md +1 -0
  120. package/dist/agent-src/commands/skills/discover.md +1 -0
  121. package/dist/agent-src/commands/skills.md +1 -0
  122. package/dist/agent-src/commands/sync/agent-settings.md +1 -0
  123. package/dist/agent-src/commands/sync.md +2 -1
  124. package/dist/agent-src/commands/team/adversarial.md +3 -2
  125. package/dist/agent-src/commands/team/delegate.md +3 -2
  126. package/dist/agent-src/commands/team/review.md +3 -2
  127. package/dist/agent-src/commands/team/status.md +49 -18
  128. package/dist/agent-src/commands/team-knowledge.md +8 -6
  129. package/dist/agent-src/commands/team.md +21 -16
  130. package/dist/agent-src/commands/tests/e2e-heal.md +1 -0
  131. package/dist/agent-src/commands/tests/e2e-plan.md +1 -0
  132. package/dist/agent-src/commands/tests/execute.md +1 -0
  133. package/dist/agent-src/commands/tests.md +2 -1
  134. package/dist/agent-src/commands/update-form-request-messages.md +1 -0
  135. package/dist/agent-src/commands/upstream-contribute.md +1 -0
  136. package/dist/agent-src/commands/video/from-script.md +3 -2
  137. package/dist/agent-src/commands/video/from-song.md +22 -21
  138. package/dist/agent-src/commands/video/scene.md +1 -0
  139. package/dist/agent-src/commands/video/stitch.md +2 -1
  140. package/dist/agent-src/commands/video/storyboard.md +1 -0
  141. package/dist/agent-src/commands/video.md +1 -0
  142. package/dist/agent-src/commands/work.md +1 -0
  143. package/dist/agent-src/commands/worktree/cleanup.md +8 -7
  144. package/dist/agent-src/commands/worktree/create.md +1 -0
  145. package/dist/agent-src/commands/worktree/verify.md +1 -0
  146. package/dist/agent-src/commands/worktree.md +1 -0
  147. package/dist/agent-src/rules/active-remediation.md +12 -36
  148. package/dist/agent-src/rules/artifact-drafting-protocol.md +7 -64
  149. package/dist/agent-src/rules/context-hygiene.md +19 -113
  150. package/dist/agent-src/rules/design-fidelity.md +4 -60
  151. package/dist/agent-src/rules/domain-adoption-policy.md +10 -106
  152. package/dist/agent-src/rules/framework-neutrality-in-generic-skills.md +12 -60
  153. package/dist/agent-src/rules/improve-before-implement.md +4 -0
  154. package/dist/agent-src/rules/minimal-safe-diff.md +6 -86
  155. package/dist/agent-src/rules/size-enforcement.md +10 -0
  156. package/dist/agent-src/rules/tool-safety.md +17 -3
  157. package/dist/agent-src/skills/agent-security-review/SKILL.md +12 -1
  158. package/dist/agent-src/skills/ai-council/SKILL.md +11 -0
  159. package/dist/agent-src/skills/bug-analyzer/SKILL.md +24 -2
  160. package/dist/agent-src/skills/code-review/SKILL.md +105 -93
  161. package/dist/agent-src/skills/code-review/checklists/backend.md +50 -0
  162. package/dist/agent-src/skills/code-review/checklists/database.md +19 -0
  163. package/dist/agent-src/skills/code-review/checklists/dependency.md +18 -0
  164. package/dist/agent-src/skills/code-review/checklists/docs.md +14 -0
  165. package/dist/agent-src/skills/code-review/checklists/frontend.md +19 -0
  166. package/dist/agent-src/skills/code-review/checklists/infra.md +17 -0
  167. package/dist/agent-src/skills/code-review/checklists/producing-the-review.md +62 -0
  168. package/dist/agent-src/skills/code-review/checklists/test-only.md +13 -0
  169. package/dist/agent-src/skills/code-review/evals/evals.json +53 -15
  170. package/dist/agent-src/skills/condense-memory/SKILL.md +3 -2
  171. package/dist/agent-src/skills/conventional-commits-writing/evals/evals.json +15 -0
  172. package/dist/agent-src/skills/docker/SKILL.md +10 -0
  173. package/dist/agent-src/skills/docx-authoring/SKILL.md +102 -0
  174. package/dist/agent-src/skills/github-ci/evals/evals.json +25 -0
  175. package/dist/agent-src/skills/humanizer/SKILL.md +79 -3
  176. package/dist/agent-src/skills/humanizer/references/anti-aiisms.md +112 -0
  177. package/dist/agent-src/skills/humanizer/references/fixtures.md +70 -0
  178. package/dist/agent-src/skills/judge-bug-hunter/SKILL.md +7 -1
  179. package/dist/agent-src/skills/laravel/SKILL.md +10 -0
  180. package/dist/agent-src/skills/launch-readiness/SKILL.md +35 -0
  181. package/dist/agent-src/skills/llm-provider-knowledge/SKILL.md +146 -0
  182. package/dist/agent-src/skills/llm-provider-knowledge/evals/triggers.json +20 -0
  183. package/dist/agent-src/skills/merge-conflicts/SKILL.md +30 -0
  184. package/dist/agent-src/skills/pdf-tools/SKILL.md +101 -0
  185. package/dist/agent-src/skills/quality-tools/evals/evals.json +15 -0
  186. package/dist/agent-src/skills/security-audit/SKILL.md +29 -0
  187. package/dist/agent-src/skills/security-maturity-assessment/SKILL.md +90 -0
  188. package/dist/agent-src/skills/security-maturity-assessment/evals/triggers.json +52 -0
  189. package/dist/agent-src/skills/skill-writing/SKILL.md +79 -0
  190. package/dist/agent-src/skills/spreadsheet-authoring/SKILL.md +11 -3
  191. package/dist/agent-src/skills/subagent-orchestration/prompts/README.md +11 -0
  192. package/dist/agent-src/skills/subagent-orchestration/schemas/team-review-status.json +103 -0
  193. package/dist/agent-src/skills/terraform/SKILL.md +10 -0
  194. package/dist/agent-src/skills/test-driven-development/SKILL.md +31 -0
  195. package/dist/agent-src/skills/threat-modeling/SKILL.md +15 -0
  196. package/dist/agent-src/skills/token-optimizer/SKILL.md +10 -4
  197. package/dist/agent-src/templates/agent-settings.md +28 -0
  198. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  199. package/dist/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  200. package/dist/agent-src/templates/scripts/telemetry/engagement.ts +30 -0
  201. package/dist/agent-src/templates/scripts/telemetry/report_renderer.ts +22 -9
  202. package/dist/agent-src/templates/scripts/telemetry_record.ts +5 -0
  203. package/dist/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
  204. package/dist/discovery/deprecation-report.md +1 -1
  205. package/dist/discovery/discovery-manifest.json +314 -194
  206. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  207. package/dist/discovery/discovery-manifest.summary.md +5 -5
  208. package/dist/discovery/orphan-report.md +1 -1
  209. package/dist/discovery/packs.json +23 -18
  210. package/dist/discovery/trust-report.md +8 -8
  211. package/dist/discovery/workspaces.json +18 -13
  212. package/dist/install/install.mjs +48 -33
  213. package/dist/mcp/registry-manifest.json +3 -3
  214. package/dist/router.json +1 -1
  215. package/dist/scripts/_lib/agent_settings.js +4 -1
  216. package/dist/scripts/_lib/agent_settings.js.map +1 -1
  217. package/dist/scripts/condense.js +5 -0
  218. package/dist/scripts/condense.js.map +1 -1
  219. package/dist/server/schemas/settings.js +10 -1
  220. package/dist/server/schemas/settings.js.map +1 -1
  221. package/docs/CLAIMS.md +9 -2
  222. package/docs/MIGRATION.md +20 -0
  223. package/docs/SKILL_CENSUS.md +8 -0
  224. package/docs/architecture.md +3 -3
  225. package/docs/benchmark.md +67 -2
  226. package/docs/catalog.md +2 -2
  227. package/docs/command-flows.md +1 -1
  228. package/docs/contracts/agents-layout.md +1 -1
  229. package/docs/contracts/ai-council-config.md +9 -2
  230. package/docs/contracts/ai-team-config.md +37 -4
  231. package/docs/contracts/consumer-bridge.md +55 -63
  232. package/docs/contracts/install-layout.md +1 -1
  233. package/docs/contracts/migrate-command.md +1 -1
  234. package/docs/contracts/prelaunch-diagnostics.md +151 -0
  235. package/docs/contracts/release-pr-gating.md +1 -0
  236. package/docs/customization.md +22 -1
  237. package/docs/decisions/ADR-020-global-only-consumer-scope.md +34 -0
  238. package/docs/decisions/ADR-049-configuration-trust-boundary.md +9 -1
  239. package/docs/featured-skills.md +2 -2
  240. package/docs/getting-started-by-role.md +1 -1
  241. package/docs/getting-started.md +17 -6
  242. package/docs/governance-advantage.md +1 -1
  243. package/docs/guidelines/agent-infra/active-remediation-mechanics.md +45 -0
  244. package/docs/guidelines/agent-infra/agent-interaction-and-decision-quality.md +28 -0
  245. package/docs/guidelines/agent-infra/api-cost-levers.md +126 -0
  246. package/docs/guidelines/agent-infra/artifact-drafting-protocol-mechanics.md +76 -0
  247. package/docs/guidelines/agent-infra/context-hygiene-mechanics.md +90 -0
  248. package/docs/guidelines/agent-infra/domain-adoption-gates.md +112 -0
  249. package/docs/guidelines/agent-infra/framework-neutrality-patterns.md +66 -0
  250. package/docs/guidelines/agent-infra/minimal-safe-diff-mechanics.md +99 -0
  251. package/docs/guidelines/agent-infra/skill-quality-checklist.md +13 -0
  252. package/docs/guidelines/design-fidelity-mechanics.md +76 -0
  253. package/docs/installation.md +2 -1
  254. package/docs/maintainers/dev-mode.md +3 -2
  255. package/docs/parity/command-frontmatter.md +60 -0
  256. package/docs/proof.md +7 -6
  257. package/package.json +1 -1
  258. package/src/agent-src/templates/scripts/telemetry/aggregator.ts +0 -0
  259. package/src/agent-src/templates/scripts/telemetry/engagement.ts +30 -0
  260. package/src/agent-src/templates/scripts/telemetry/report_renderer.ts +22 -9
  261. package/src/agent-src/templates/scripts/telemetry_record.ts +5 -0
  262. package/src/agent-src/templates/scripts/work_engine/_lib/agent_settings.ts +4 -1
  263. package/src/config/agent-settings.template.yml +73 -10
  264. package/src/config/gitignore-block.txt +16 -6
  265. package/src/config/prelaunch-areas.yml +36 -0
  266. package/src/scripts/_cli/cmd_conformance.ts +2 -2
  267. package/src/scripts/_cli/cmd_doctor.ts +280 -39
  268. package/src/scripts/_cli/cmd_refresh.ts +35 -118
  269. package/src/scripts/_lib/agent_settings.ts +4 -1
  270. package/src/scripts/_lib/claude_plugin.ts +77 -2
  271. package/src/scripts/_lib/orchestration_record.ts +5 -0
  272. package/src/scripts/_lib/tool_adapter_registry.ts +120 -0
  273. package/src/scripts/ai_council/clients.ts +68 -6
  274. package/src/scripts/ai_council/pricing.ts +62 -0
  275. package/src/scripts/ai_team/config.ts +73 -1
  276. package/src/scripts/ai_team/review_gate.ts +636 -0
  277. package/src/scripts/ai_team/team_dispatch.ts +612 -0
  278. package/src/scripts/bench_ab_task_runner.ts +11 -1
  279. package/src/scripts/bench_parity_count.ts +279 -0
  280. package/src/scripts/build_linear_digest.ts +3 -1
  281. package/src/scripts/check_bridge_derivation.ts +172 -0
  282. package/src/scripts/check_consumer_scope_flip.ts +179 -0
  283. package/src/scripts/check_council_config_location.ts +115 -15
  284. package/src/scripts/check_host_loadability.ts +81 -0
  285. package/src/scripts/condense.ts +5 -0
  286. package/src/scripts/council_cli.ts +19 -3
  287. package/src/scripts/hook_manifest.yaml +12 -1
  288. package/src/scripts/install.ts +44 -45
  289. package/src/scripts/lint_agents_layout.ts +10 -4
  290. package/src/scripts/lint_breaking_changes_index.ts +303 -0
  291. package/src/scripts/lint_handoffs.ts +42 -0
  292. package/src/scripts/lint_skill_descriptions.ts +228 -0
  293. package/src/scripts/lint_skill_descriptions_allowlist.json +1 -0
  294. package/src/scripts/lint_skill_scripts_readonly.ts +145 -0
  295. package/src/scripts/lint_skill_scripts_readonly_allowlist.json +8 -0
  296. package/src/scripts/lint_supported_tools_matrix.ts +35 -0
  297. package/src/scripts/mcp_server/tools.ts +1 -3
  298. package/src/scripts/optimize_skill_description.ts +144 -0
  299. package/src/scripts/orchestration_record.ts +2 -1
  300. package/src/scripts/prelaunch_diagnostics.ts +248 -0
  301. package/src/scripts/run_skill_evals.ts +70 -4
  302. package/src/scripts/schemas/agent-settings.schema.json +17 -0
  303. package/src/scripts/schemas/command.schema.json +7 -0
  304. package/src/scripts/schemas/evals.schema.json +105 -14
  305. package/src/scripts/schemas/prelaunch-report.schema.json +107 -0
  306. package/src/scripts/schemas/skill.schema.json +18 -1
  307. package/src/scripts/schemas/subagent.schema.json +6 -0
  308. package/src/scripts/self_review_gate.test.ts +11 -0
  309. package/src/scripts/self_review_gate.ts +7 -1
  310. package/src/scripts/skill_eval_coverage.ts +4 -1
  311. package/src/scripts/skill_linter.ts +43 -3
  312. package/src/scripts/smoke_host_loadability.sh +73 -0
  313. package/src/scripts/team_review_gate_hook.ts +115 -0
  314. package/src/scripts/trigger_eval_grandfather.json +1 -2
  315. package/src/scripts/utilization_report.ts +225 -0
  316. package/src/server/schemas/settings.ts +24 -1
@@ -9,6 +9,7 @@ cluster: git-pr-create
9
9
  sub: description-only
10
10
  skills: [git-workflow]
11
11
  description: Generate a PR description as a copyable markdown block — used standalone or by create-pr
12
+ argument-hint: "[pr-url | branch]"
12
13
  suggestion:
13
14
  eligible: true
14
15
  trigger_description: "write a PR description, draft the PR text"
@@ -94,34 +95,164 @@ That's 6 round-trips for what should be 2.
94
95
 
95
96
  ### 4. Build the PR body
96
97
 
98
+ #### 4.0 Resolve the detail level
99
+
100
+ Read `commands.create_pr.detail_level` from `.agent-settings.yml` (default
101
+ `min` when unset). This tier governs **only the explanatory depth of the
102
+ Description section** — never which template sections exist, and never
103
+ whether a critical callout appears (see 4.1 critical-info-always).
104
+
105
+ | Tier | Description section content |
106
+ |---|---|
107
+ | `min` (default) | Title-level summary in 2-3 sentences: *what* changed, *why*, and the user/system impact. No per-file walk, no restating commit subjects, no "how to test". |
108
+ | `med` | `min` + grouped logical changes as 3-5 bullets (by concern, not by file) + a one-line tests note (added / none / coverage). |
109
+ | `max` | `med` + how-to-test steps + edge cases / trade-offs + one "reviewer guidance" line (what to focus on). ≈ the legacy output. |
110
+
111
+ `min` is the default because this is a token-cost optimization: a shorter
112
+ description costs fewer output tokens on every PR. Keep `min` genuinely
113
+ minimal — but never at the expense of the critical-info block below.
114
+
115
+ #### 4.1 Critical-info-always — tier-independent MUST
116
+
117
+ ```
118
+ CRITICAL INFORMATION APPEARS AT EVERY TIER, INCLUDING min.
119
+ THE TIER GOVERNS EXPLANATORY DEPTH, NEVER WHETHER A CRITICAL CALLOUT APPEARS.
120
+ DROPPING A BREAKING-CHANGE / MIGRATION / SECURITY / ROLLBACK CALLOUT AT min
121
+ IS A P0 DEFECT, NOT A TOKEN SAVING.
122
+ ```
123
+
124
+ If the diff shows any of the following, a one-line callout for it is included
125
+ in the Description **regardless of `detail_level`** (grounded in the diff, not
126
+ guessed):
127
+
128
+ - **Breaking change** — API contract change (new/removed/renamed field, changed
129
+ endpoint or response shape), CLI-arg change, changed env var, or a renamed
130
+ route the frontend depends on. Prefix `⚠️ Breaking:`.
131
+ - **Migration required** — DB migration, config migration, or a deployment step.
132
+ Prefix `Migration:`.
133
+ - **Security implication** — new permission/scope, auth change, or data-exposure
134
+ surface. Prefix `🔒 Security:`.
135
+ - **Non-trivial rollback** — when reverting is not a plain `git revert`. Prefix
136
+ `Rollback:`.
137
+
138
+ None present → omit the block entirely (do not emit empty "No breaking
139
+ changes" filler at `min`).
140
+
141
+ #### 4.2 Fill the template sections
142
+
97
143
  **ALWAYS** use the PR template (`.github/pull_request_template.md`). Fill in its sections:
98
144
 
99
145
  - **Jira badge**: Replace `{TICKET-NUMBER}` with the actual ticket ID.
100
- - **Description**: Summarize the changes in 2-5 sentences. Explain *what* changed and *why*.
101
- Use the Jira ticket description and commit messages as input.
146
+ - **Description**: Write it to the resolved tier (4.0) with the critical-info
147
+ block (4.1) always present. Use the Jira ticket description + commit messages
148
+ as input.
102
149
  - **Type of change**: Check the appropriate checkbox(es) based on the changes.
103
150
  - **Checklist**: Leave as-is (the developer fills this in).
104
151
  - **Links**: Replace `{TICKET-NUMBER}` with the actual ticket ID.
105
- - **Screenshots**: Leave as `...` unless the user provides screenshots.
152
+ - **Screenshots**: Handled by Step 4.4 (default: leave the placeholder / `...`).
106
153
 
107
- If no PR template exists, use this structure:
154
+ If no PR template exists, use this structure — including only the sections the
155
+ tier calls for (at `min`, the `## Changes` bullets collapse to the 2-3 sentence
156
+ summary and `## How to test` is omitted):
108
157
 
109
158
  ```markdown
110
159
  ## Jira
111
160
  [{TICKET-ID}]({JIRA_BASE_URL}/browse/{TICKET-ID})
112
161
 
113
- ## Changes
114
- - Bullet list of what was changed and why
162
+ ## Description
163
+ - 2-3 sentence what/why/impact (min) — grouped bullets (med/max)
164
+ - Critical-info callouts (any tier, only if present)
115
165
 
116
166
  ### Migrations
117
167
  - List new/changed migrations (if any)
118
168
 
119
169
  ### Tests
120
- - List new/changed tests (if any)
170
+ - List new/changed tests (med/max)
121
171
 
122
172
  ## How to test
123
- - Steps to verify the changes
173
+ - Steps to verify the changes (max)
174
+ ```
175
+
176
+ #### 4.3 API response examples (evidence-grounded)
177
+
178
+ Read `commands.create_pr.api_examples` (default `true`). When `true` **and**
179
+ the diff touches an API endpoint, add a fenced request/response example under
180
+ the Description.
181
+
182
+ **Detect an API-endpoint change** (fail-open — no false enrichment when
183
+ ambiguous): a changed file matches `commands.create_pr.api_paths` (if set), or
184
+ the light heuristic — a route file (`routes/`, `**/api/**`, `*Controller*`,
185
+ resource/serializer classes) whose diff adds or changes an endpoint or its
186
+ request/response shape. No confident match → skip silently.
187
+
188
+ **Ground the example in a real source — never invent one:**
189
+
190
+ ```
191
+ NEVER FABRICATE A JSON EXAMPLE. AN INVENTED CONTRACT MISLEADS REVIEWERS
192
+ AND IS WORSE THAN NONE. EMIT A JSON BLOCK ONLY FROM A REAL SOURCE.
193
+ ```
194
+
195
+ Grounding sources, in priority order: the response DTO / API-resource /
196
+ serializer class in the diff · an OpenAPI/JSON-schema in the repo · a test
197
+ fixture or assertion exercising the endpoint · the actual output of a probe you
198
+ ran this session (`curl` / test client). If **none** exists, emit a one-line
199
+ pointer instead — `API contract changed — see \`<file>\`` — never a guessed
200
+ example. This is [`senior-engineering-discipline`](../rules/senior-engineering-discipline.md)
201
+ (never invent an API) applied to the description surface.
202
+
203
+ Format when grounded:
204
+
205
+ ~~~markdown
206
+ ### API example (`POST /api/...`)
207
+ Request:
208
+ ```json
209
+ { ...grounded... }
210
+ ```
211
+ Response `201`:
212
+ ```json
213
+ { ...grounded... }
124
214
  ```
215
+ ~~~
216
+
217
+ `api_examples: false` → skip this step entirely.
218
+
219
+ #### 4.4 Screenshots for frontend changes (capability-gated)
220
+
221
+ Read `commands.create_pr.screenshots` (default `false`). `false` → skip this
222
+ step entirely; leave the template Screenshots placeholder as-is.
223
+
224
+ When `true`, this is a **capability-gated contract, never a runtime
225
+ orchestrator** — the package ships instructions, the host provides the tools:
226
+
227
+ 1. **Frontend-change gate.** Only proceed if the diff touches a frontend
228
+ surface — a changed file matches `commands.create_pr.ui_paths` (if set), or
229
+ the light heuristic (`.vue` / `.tsx` / `.jsx` / `.blade.php` / `.svelte`,
230
+ component/view/page/template dirs, CSS/Tailwind). No match → skip silently.
231
+ 2. **Capability gate — explicit, never silent.** Screenshots need host
232
+ browser/preview tooling (a Playwright/browser MCP **and** a reachable dev-server
233
+ or preview URL). There is no capability flag to read, so probe cheaply. If the
234
+ tooling or a running preview is **absent**:
235
+ - Leave the template Screenshots placeholder untouched, **and**
236
+ - Emit ONE line in the chat reply: `Screenshots requested (screenshots: true)
237
+ but no browser/preview tooling was reachable — skipped.`
238
+ - **Never** fail, block, or delay PR creation over this.
239
+ 3. **Capture (when capable).** Capture the current (head) state of each changed
240
+ surface. Before/after (base vs head) with changed-region highlighting is
241
+ **best-effort only** — a base checkout mid-PR is fragile and expensive;
242
+ attempt it only if cheap and safe, otherwise after-only. One screenshot per
243
+ changed surface, each with a one-line caption.
244
+ 4. **Embedding — honest limits.** The `github-api pulls` write path cannot
245
+ upload image bytes and GitHub markdown does not render `data:` URIs, so an
246
+ agent cannot inline captured bytes into the body via the API. Use, in order:
247
+ (a) a host image-upload capability if one exists (embed the returned URL);
248
+ (b) otherwise save the screenshots to a local path, reference them in the
249
+ Screenshots section, and tell the user to drag them into the PR in the
250
+ GitHub UI. **Never claim an embed that did not happen**
251
+ ([`direct-answers`](../rules/direct-answers.md) Iron Law 2).
252
+
253
+ Limitations (state them so expectations are set): default off; depends on host
254
+ browser tooling + a running preview; before/after + highlighting is best-effort;
255
+ byte-embedding into the PR body is not possible via the API.
125
256
 
126
257
  ### 5. Present as copyable block
127
258
 
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: git-pr-create
4
4
  disable-model-invocation: true
5
+ argument-hint: "[description-only] [:draft|:ready|:final]"
5
6
  pack: git
6
7
  intent: "Open a pull request with a generated description and stripped attribution footers"
7
8
  routes_to: [git-workflow]
@@ -86,28 +87,29 @@ improvise the base or silently proceed when behind **and** overlapping. The
86
87
  **On merge conflict: regenerate, don't abort.** Most conflicts on this class of
87
88
  branch are in **generated files** — the roadmap dashboard
88
89
  (`agents/roadmaps-progress.md`), `docs/proof.md`, condensation hashes, tool
89
- projections. Resolve **by regenerating from the merged sources**, never by
90
- hand-picking hunks:
90
+ projections. Those are resolved **by regenerating from the merged sources**,
91
+ never by hand-picking hunks:
91
92
 
92
- 1. `./agent-config roadmap:progress` → dashboard.
93
- 2. `./scripts-run src/scripts/build_proof` → `docs/proof.md`.
94
- 3. `bash src/scripts/condense.sh --check` (re-`--mark-done` dependents on a
95
- hash conflict) → condensation state.
96
- 4. Stage regenerated files, complete the merge, re-run touched verification
97
- before pushing.
93
+ 1. `./agent-config roadmap:progress` → resolves the dashboard.
94
+ 2. `./scripts-run src/scripts/build_proof` → resolves `docs/proof.md`.
95
+ 3. `bash src/scripts/condense.sh --check` (and re-`--mark-done` dependents on
96
+ a hash conflict) → resolves condensation state.
97
+ 4. Stage the regenerated files, complete the merge, and re-run the touched
98
+ verification before pushing.
98
99
 
99
- Only a conflict in **hand-authored** content is surfaced to the user; a
100
- generated-file conflict never is.
100
+ Only a conflict in **hand-authored** content (source code, prose you or the
101
+ other PR wrote) is surfaced to the user; a generated-file conflict never is.
101
102
 
102
103
  ### 1b-ii. Update freshness — MANDATORY on EVERY later push to an open PR
103
104
 
104
- The gate is not creation-only. **Every subsequent push** to a branch with an
105
- open PR (CI fix, review response, follow-up commit) re-runs the sequence first:
106
- `git fetch origin {target-base}` → behind-check → merge `origin/{target-base}`
107
- in (regenerating on conflict as above) → verify → push. A PR that sits open
108
- while its base advances goes stale silently; keeping the base merged at every
109
- touch keeps it `mergeStateStatus: CLEAN`. Behind-check `0` → the step costs one
110
- fetch and nothing else.
105
+ The gate above is not creation-only. **Every subsequent push** to a branch with
106
+ an open PR (a CI fix, a review response, a follow-up commit) re-runs the same
107
+ sequence first: `git fetch origin {target-base}` → behind-check → merge
108
+ `origin/{target-base}` in (regenerating on conflict as above) → verify → push.
109
+ A PR that sits open while its base advances goes stale silently; keeping the
110
+ base merged **at every touch** means it stays `mergeStateStatus: CLEAN` instead
111
+ of accumulating conflicts for the moment the user wants to merge. If the
112
+ behind-check shows `0`, the step costs one fetch and nothing else.
111
113
 
112
114
  ### 1c. PR-gate — archive completed roadmaps (MANDATORY)
113
115
 
@@ -138,6 +140,12 @@ completion is read from the checkbox counts.
138
140
  Run `/create-pr:description-only` Steps 1–4 to generate the PR title and body.
139
141
  This handles: Jira ticket extraction, diff analysis, commit messages, **PR template filling**.
140
142
 
143
+ The generation honors the cached content flags from step 1 (§4e):
144
+ `detail_level` sets the Description tier (default `min`), `api_examples`
145
+ adds a grounded JSON block for API-endpoint changes, and `screenshots`
146
+ (capability-gated) adds frontend screenshots. Critical-info callouts
147
+ (breaking changes / migrations / security / rollback) appear at every tier.
148
+
141
149
  **CRITICAL**: The PR body MUST use the project's PR template (`.github/pull_request_template.md`).
142
150
  Read the template file and fill in its sections. If the template does not exist, use the
143
151
  fallback structure defined in `/create-pr:description-only`. NEVER invent a custom body structure.
@@ -314,11 +322,16 @@ an actual Jira API call succeeded** — never announce "skipped".
314
322
 
315
323
  #### 4e. Settings short-circuit — single read per run
316
324
 
317
- `verbosity.routine_confirmations`, `verbosity.post_action_reports`, and
318
- `commands.create_pr.preview_description` are read **once** at the top
319
- of the run and cached for the whole `/create-pr` invocation. Do **not**
320
- re-read `.agent-settings.yml` in 4b / 4d — both branches resolve from
321
- the cached values from step 1.
325
+ `verbosity.routine_confirmations`, `verbosity.post_action_reports`,
326
+ `commands.create_pr.preview_description`, `commands.create_pr.detail_level`,
327
+ `commands.create_pr.api_examples`, `commands.create_pr.screenshots`,
328
+ `commands.create_pr.ui_paths`, and `commands.create_pr.api_paths` are read
329
+ **once** at the top of the run and cached for the whole `/create-pr`
330
+ invocation. Do **not** re-read `.agent-settings.yml` in Step 2 or 4b / 4d —
331
+ every branch resolves from the cached values from step 1. The content flags
332
+ (`detail_level`, `api_examples`, `screenshots`, `ui_paths`, `api_paths`) are
333
+ consumed by the `/create-pr:description-only` generation step (Step 2); the
334
+ confirmation/report flags by steps 3–4.
322
335
 
323
336
  When all three resolve to their silent defaults (`false` / `minimal` /
324
337
  `false`), steps 4b + 4d collapse to the single `→ #N opened: <url>` line
@@ -5,6 +5,7 @@ pack: fun
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: "Fill a prediction pool (kicktipp, football/basketball WM): optimize expected points under the rules, enter tips via Playwright. Triggers 'Tippspiel', 'kicktipp', 'predict the pool'."
8
+ argument-hint: "[event] [--pool-url <url>] [--council off|event|match] [--submit] [--fresh|--continue]"
8
9
  skills: [prediction-pool-optimizer]
9
10
  suggestion:
10
11
  eligible: true
@@ -109,12 +110,12 @@ Run [`prediction-pool-optimizer`](../skills/prediction-pool-optimizer/SKILL.md),
109
110
  adapted to the event's sport (football / basketball / …): a **de-vigged
110
111
  consensus across the 5–10 biggest publicly-viewable bookmakers**
111
112
  (sharp-weighted, never one portal) as the primary signal → expected value
112
- under the Step-3 rules → participant field → tip. **Answer every entry on the
113
- Step-3 checklist** — scores AND every bonus / award / special question (top
114
- scorer, "team of the top scorer", group winners, most cards …); none blank.
115
- Tournament/outright/award probabilities come from real markets **or** the
116
- skill's executed Poisson helper — **never** a hallucinated "I simulated
117
- 10,000 runs".
113
+ under the Step-3 rules → participant field → tip. **Answer every entry on
114
+ the Step-3 checklist** — scores AND every bonus / award / special question
115
+ (top scorer, "team of the top scorer", group winners, most cards …); none
116
+ left blank. Tournament/outright/award probabilities come from real markets
117
+ **or** the skill's executed Poisson helper — **never** a hallucinated
118
+ "I simulated 10,000 runs".
118
119
 
119
120
  **Offer the AI-council pass (default off).** Unless `--council` is set,
120
121
  ask once:
@@ -6,6 +6,7 @@ tier: 2
6
6
  visibility: internal
7
7
  skills: [git-workflow, quality-tools]
8
8
  description: Prepare a PR branch for local review — updates main and merges the full branch chain so the branch is up to date
9
+ argument-hint: "<pr-number | pr-url | ticket-key>"
9
10
  suggestion:
10
11
  eligible: true
11
12
  trigger_description: "get this branch ready for review, rebase and prep for PR"
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: profile
8
8
  sub: activate
9
9
  description: Activate a session profile — surface only the named profile/pack closure plus core artefacts, no persistence
10
+ argument-hint: "<profile|pack> [names...]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "activate the laravel/po/finance profile for this session, switch my surface to X, only show me X commands"
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: profile
8
8
  sub: deactivate
9
9
  description: Deactivate the session profile — clear the overlay (or drop named packs) so the full surface returns
10
+ argument-hint: "[names...]"
10
11
  suggestion:
11
12
  eligible: true
12
13
  trigger_description: "deactivate the profile, clear my session profile, show everything again, reset the surface"
@@ -5,6 +5,7 @@ pack: meta
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Session-profile orchestrator — activate / deactivate / show the active packs for this session (recommendation-bias surface filter, no persistence)
8
+ argument-hint: "[activate|deactivate|show] [args]"
8
9
  cluster: profile
9
10
  type: orchestrator
10
11
  suggestion:
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: project
4
4
  disable-model-invocation: true
5
+ argument-hint: "[analyze|health]"
5
6
  pack: engineering-base
6
7
  intent: "Project dispatcher — full analysis or quick health check"
7
8
  routes_to: [project-analyze, project-health]
@@ -37,7 +38,7 @@ Top-level orchestrator for the `/project` family — project-wide inspection.
37
38
  | `/project health` | `commands/project/health.md` | Quick health check — status of docs, modules, contexts, roadmaps; creates nothing |
38
39
 
39
40
  Sub-command names match the locked contract in
40
- [`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
41
+ [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
41
42
 
42
43
  ## Dispatch
43
44
 
@@ -9,6 +9,7 @@ tier: 1
9
9
  visibility: advanced
10
10
  skills: [refine-ticket]
11
11
  description: Refine a Jira/Linear ticket before planning — rewritten ticket + Top-5 risks + persona voices, orchestrates validate-feature-fit and threat-modeling, ends with a close-prompt
12
+ argument-hint: "[ticket-key | url | text] [--personas=<list>] [--user-type=<id>] [--fresh-eyes]"
12
13
  suggestion:
13
14
  eligible: true
14
15
  trigger_description: "refine PROJ-123, tighten the acceptance criteria, is this ticket clear"
@@ -68,6 +69,12 @@ application, synthesis, and close-prompt.
68
69
  - `--personas=<list>` — comma-separated override of the Core-6 default
69
70
  (e.g. `--personas=developer,senior-engineer,critical-challenger`)
70
71
  - `--personas=+qa` — add the QA specialist to the Core-6
72
+ - `--user-type=<id>` — load one user-type from `user-types/<id>.md` and
73
+ add an end-user simulation lens to the persona stack (e.g.
74
+ `--user-type=galabau-field-crew`). Composes orthogonally with
75
+ `--personas=`; persona = methodology lens, user-type = end-user lens.
76
+ v1 is CLI-only (no skill-level default). Contract:
77
+ [`docs/contracts/user-type-schema.md`](../docs/contracts/user-type-schema.md).
71
78
  - `--fresh-eyes` — reweight toward first-time-reader confusion signals
72
79
  (critical-challenger voice gets more lines; less assumed context)
73
80
 
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: research
8
8
  sub: deep
9
9
  description: "Read `outline.yaml`, research each item in batches, write per-item JSON validated against the project-local research-schema. No Python runtime, no `~/.claude/` paths."
10
+ argument-hint: "[--batch-confirm=each|once|auto]"
10
11
  skills: [deep-reading-analyst]
11
12
  suggestion:
12
13
  eligible: true
@@ -2,6 +2,7 @@
2
2
  model_tier: high
3
3
  name: research
4
4
  disable-model-invocation: true
5
+ argument-hint: "[<topic>|deep|report] [args]"
5
6
  pack: product-discovery
6
7
  tier: 2
7
8
  visibility: internal
@@ -8,6 +8,7 @@ sub: routing
8
8
  cluster: review
9
9
  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
+ argument-hint: "[base-ref head-ref]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "who should review this, suggest reviewers for this PR"
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: review
4
4
  disable-model-invocation: true
5
+ argument-hint: "[changes|routing]"
5
6
  pack: engineering-base
6
7
  intent: "Review dispatcher — multi-judge self-review of the current diff, or reviewer routing"
7
8
  routes_to: [review-changes, review-routing]
@@ -38,7 +39,7 @@ reviewer selection.
38
39
  | `/review routing` | `commands/review/routing.md` | Compute reviewer roles + matched historical bug patterns for the current diff (ownership-map.yml, historical-bug-patterns.yml) |
39
40
 
40
41
  Sub-command names match the locked contract in
41
- [`docs/contracts/command-clusters.md`](../../docs/contracts/command-clusters.md).
42
+ [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
42
43
 
43
44
  ## Dispatch
44
45
 
@@ -8,6 +8,7 @@ cluster: roadmap
8
8
  sub: ai-council
9
9
  skills: [ai-council, agent-docs-writing, roadmap-management]
10
10
  description: Challenge a roadmap with the AI council (deep tier) and refactor from convergence findings. Wraps `/council default` pinned to `--input-mode roadmap --depth deep`; patches surface as numbered options.
11
+ argument-hint: "[roadmap-name | path]"
11
12
  council_depth: deep
12
13
  suggestion:
13
14
  eligible: true
@@ -8,6 +8,7 @@ cluster: roadmap
8
8
  sub: materialize
9
9
  skills: [emit-tickets]
10
10
  description: Materialise a roadmap into a self-contained, importable ticket bundle under agents/tickets/
11
+ argument-hint: "[roadmap-path]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "turn this roadmap into tickets, materialise the roadmap, mach Tickets aus der Roadmap"
@@ -8,6 +8,7 @@ cluster: roadmap
8
8
  sub: process-full
9
9
  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
+ argument-hint: "[roadmap]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "process the whole roadmap, finish the roadmap, komplette roadmap abarbeiten"
@@ -8,6 +8,7 @@ cluster: roadmap
8
8
  sub: process-phase
9
9
  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
+ argument-hint: "[roadmap]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "process the next phase, finish this phase autonomously, eine phase abarbeiten"
@@ -8,6 +8,7 @@ cluster: roadmap
8
8
  sub: process-step
9
9
  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
+ argument-hint: "[roadmap]"
11
12
  suggestion:
12
13
  eligible: true
13
14
  trigger_description: "process the next step, do the next roadmap step, einen schritt abarbeiten"
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: roadmap
4
4
  disable-model-invocation: true
5
+ argument-hint: "[create|ai-council|process-step|process-phase|process-full] [args]"
5
6
  pack: product-basic
6
7
  intent: "Roadmap dispatcher — create, process-step, process-phase, process-full, ai-council"
7
8
  routes_to: [roadmap-create, roadmap-process-step, roadmap-process-phase, roadmap-process-full]
@@ -6,6 +6,7 @@ tier: 2
6
6
  visibility: internal
7
7
  skills: [judge-security-auditor, threat-modeling, security-audit]
8
8
  description: Audit an assembled agent config (CLAUDE.md, .cursor/rules, settings, MCP, hooks, skills) for prompt-injection / supply-chain risk — A–F score per category, mapped to OWASP Agentic Top 10
9
+ argument-hint: "[repo-root]"
9
10
  council_depth: deep
10
11
  suggestion:
11
12
  eligible: true
@@ -35,7 +36,7 @@ suite's own `lint_agent_security` self-audit gate.
35
36
 
36
37
  (omit `--root` to audit the current repo). The script reuses the Phase-1
37
38
  detection library under the false-positive containment convention
38
- ([`security-lint-containment`](../../../docs/guidelines/agent-infra/security-lint-containment.md)),
39
+ ([`security-lint-containment`](../../docs/guidelines/agent-infra/security-lint-containment.md)),
39
40
  so doc/example files do not tank the score. It scans instruction files
40
41
  (`CLAUDE.md`, `AGENTS.md`, `.cursor/rules`, `.github/copilot-instructions.md`,
41
42
  `.clinerules`, `.windsurfrules`), MCP configs (`.mcp.json`, `.cursor/mcp.json`,
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: skill
8
8
  sub: preview
9
9
  description: Non-destructive preview of a skill — its declared steps, execution type, allowed tools, and file/command targets — before you run it. Read-only, no execution.
10
+ argument-hint: "<skill-name> [--technical]"
10
11
  skills: [file-editor]
11
12
  suggestion:
12
13
  eligible: true
@@ -5,6 +5,7 @@ pack: meta
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Single-skill orchestrator — routes to preview. Non-destructive "what will this skill do?" before you run it.
8
+ argument-hint: "[preview] <skill-name>"
8
9
  cluster: skill
9
10
  type: orchestrator
10
11
  suggestion:
@@ -7,6 +7,7 @@ visibility: internal
7
7
  cluster: skills
8
8
  sub: discover
9
9
  description: Recommend skills for a role — ranked by four explained classes (most-useful-for-role, related-to-current-task, recently-adopted, popular-in-role). Local-only; every result carries a why.
10
+ argument-hint: "[role]"
10
11
  skills: [file-editor]
11
12
  suggestion:
12
13
  eligible: true
@@ -5,6 +5,7 @@ pack: meta
5
5
  tier: 2
6
6
  visibility: internal
7
7
  description: Skill discovery orchestrator — routes to discover. Local, explained skill recommendations over the catalog + role shortlists + optional local analytics.
8
+ argument-hint: "[discover] [role]"
8
9
  cluster: skills
9
10
  type: orchestrator
10
11
  suggestion:
@@ -8,6 +8,7 @@ sub: agent-settings
8
8
  cluster: sync
9
9
  skills: [sync-agent-settings]
10
10
  description: Sync `.agent-settings.yml` against the current template + profile — adds new sections/keys, preserves user values, shows a diff before writing
11
+ argument-hint: "[--path <file>] [--profile minimal|balanced|full] [--check]"
11
12
  suggestion:
12
13
  eligible: false
13
14
  rationale: "Settings sync — must be deliberate."
@@ -2,6 +2,7 @@
2
2
  model_tier: medium
3
3
  name: sync
4
4
  disable-model-invocation: true
5
+ argument-hint: "[agent-settings|gitignore|gitignore-fix]"
5
6
  pack: meta
6
7
  intent: "Sync dispatcher — agent settings or the managed .gitignore block"
7
8
  routes_to: [sync-agent-settings, sync-gitignore, sync-gitignore-fix]
@@ -34,7 +35,7 @@ managed files in step with the package templates.
34
35
  | `/sync gitignore-fix` | `commands/sync/gitignore/fix.md` | Scrub legacy pre-`/agents/` patterns anywhere in the `.gitignore`, then re-sync the canonical entries |
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
 
@@ -2,7 +2,8 @@
2
2
  model_tier: inherit
3
3
  name: team-adversarial
4
4
  disable-model-invocation: true
5
- pack: product-reasoning
5
+ argument-hint: "<focus>"
6
+ pack: meta
6
7
  tier: 2
7
8
  visibility: internal
8
9
  skills: [adversarial-review]
@@ -16,7 +17,7 @@ suggestion:
16
17
  workspaces:
17
18
  - agent-config-maintainer
18
19
  packs:
19
- - product-reasoning
20
+ - meta
20
21
  ---
21
22
 
22
23
  # /team adversarial
@@ -2,7 +2,8 @@
2
2
  model_tier: inherit
3
3
  name: team-delegate
4
4
  disable-model-invocation: true
5
- pack: product-reasoning
5
+ argument-hint: "<task>"
6
+ pack: meta
6
7
  tier: 2
7
8
  visibility: internal
8
9
  description: Thin wrapper — hand a task to the second model as a native worker via the official plugin (/codex:rescue). The only write-access wrapper; double-gated behind ai_team.allow_delegate.
@@ -14,7 +15,7 @@ suggestion:
14
15
  workspaces:
15
16
  - agent-config-maintainer
16
17
  packs:
17
- - product-reasoning
18
+ - meta
18
19
  ---
19
20
 
20
21
  # /team delegate
@@ -2,7 +2,8 @@
2
2
  model_tier: inherit
3
3
  name: team-review
4
4
  disable-model-invocation: true
5
- pack: product-reasoning
5
+ argument-hint: "[--background]"
6
+ pack: meta
6
7
  tier: 2
7
8
  visibility: internal
8
9
  description: Thin wrapper — cross-model review of the current diff via the official plugin (/codex:review). Gated on ai_team.enabled; fails closed when the plugin is absent.
@@ -15,7 +16,7 @@ suggestion:
15
16
  workspaces:
16
17
  - agent-config-maintainer
17
18
  packs:
18
- - product-reasoning
19
+ - meta
19
20
  ---
20
21
 
21
22
  # /team review