@event4u/agent-config 1.21.0 → 1.23.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 (130) hide show
  1. package/.agent-src/commands/agents/cleanup.md +31 -17
  2. package/.agent-src/commands/bug-fix.md +1 -0
  3. package/.agent-src/commands/bug-investigate.md +1 -0
  4. package/.agent-src/commands/challenge-me/vision.md +348 -0
  5. package/.agent-src/commands/challenge-me/with-docs.md +333 -0
  6. package/.agent-src/commands/challenge-me.md +61 -0
  7. package/.agent-src/commands/commit/in-chunks.md +30 -10
  8. package/.agent-src/commands/commit.md +46 -6
  9. package/.agent-src/commands/compress.md +19 -13
  10. package/.agent-src/commands/cost-report.md +120 -0
  11. package/.agent-src/commands/council/default.md +64 -17
  12. package/.agent-src/commands/create-pr/description-only.md +8 -0
  13. package/.agent-src/commands/create-pr.md +99 -80
  14. package/.agent-src/commands/feature/plan.md +13 -7
  15. package/.agent-src/commands/grill-me.md +38 -0
  16. package/.agent-src/commands/judge/steps.md +1 -1
  17. package/.agent-src/commands/memory/add.md +16 -8
  18. package/.agent-src/commands/memory/promote.md +17 -9
  19. package/.agent-src/commands/optimize/rtk.md +16 -11
  20. package/.agent-src/commands/prepare-for-review.md +12 -6
  21. package/.agent-src/commands/project-analyze.md +31 -20
  22. package/.agent-src/commands/review-changes.md +24 -15
  23. package/.agent-src/commands/roadmap/ai-council.md +183 -0
  24. package/.agent-src/commands/roadmap/create.md +20 -10
  25. package/.agent-src/commands/roadmap/process-full.md +58 -0
  26. package/.agent-src/commands/roadmap/process-phase.md +69 -0
  27. package/.agent-src/commands/roadmap/process-step.md +57 -0
  28. package/.agent-src/commands/roadmap.md +44 -16
  29. package/.agent-src/commands/threat-model.md +1 -0
  30. package/.agent-src/contexts/augment-infrastructure.md +1 -1
  31. package/.agent-src/contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md +53 -18
  32. package/.agent-src/contexts/contracts/frugality-charter.md +57 -0
  33. package/.agent-src/contexts/execution/roadmap-process-loop.md +125 -0
  34. package/.agent-src/contexts/skills-and-commands.md +1 -1
  35. package/.agent-src/rules/architecture.md +9 -0
  36. package/.agent-src/rules/ask-when-uncertain.md +3 -13
  37. package/.agent-src/rules/caveman-speak.md +78 -0
  38. package/.agent-src/rules/direct-answers.md +5 -14
  39. package/.agent-src/rules/improve-before-implement.md +1 -0
  40. package/.agent-src/rules/invite-challenge.md +71 -0
  41. package/.agent-src/rules/markdown-safe-codeblocks.md +6 -7
  42. package/.agent-src/rules/no-cheap-questions.md +4 -14
  43. package/.agent-src/rules/token-efficiency.md +5 -7
  44. package/.agent-src/skills/adr-create/SKILL.md +197 -0
  45. package/.agent-src/skills/adversarial-review/SKILL.md +1 -0
  46. package/.agent-src/skills/agent-docs-writing/SKILL.md +23 -1
  47. package/.agent-src/skills/ai-council/SKILL.md +132 -8
  48. package/.agent-src/skills/bug-analyzer/SKILL.md +1 -0
  49. package/.agent-src/skills/command-writing/SKILL.md +23 -0
  50. package/.agent-src/skills/context-authoring/SKILL.md +23 -0
  51. package/.agent-src/skills/conventional-commits-writing/SKILL.md +23 -0
  52. package/.agent-src/skills/guideline-writing/SKILL.md +22 -0
  53. package/.agent-src/skills/persona-writing/SKILL.md +153 -0
  54. package/.agent-src/skills/readme-writing/SKILL.md +20 -0
  55. package/.agent-src/skills/readme-writing-package/SKILL.md +19 -0
  56. package/.agent-src/skills/roadmap-management/SKILL.md +7 -7
  57. package/.agent-src/skills/roadmap-writing/SKILL.md +157 -0
  58. package/.agent-src/skills/rule-writing/SKILL.md +22 -0
  59. package/.agent-src/skills/script-writing/SKILL.md +226 -0
  60. package/.agent-src/skills/skill-writing/SKILL.md +23 -0
  61. package/.agent-src/skills/systematic-debugging/SKILL.md +22 -2
  62. package/.agent-src/skills/technical-specification/SKILL.md +58 -1
  63. package/.agent-src/skills/test-driven-development/SKILL.md +24 -0
  64. package/.agent-src/skills/threat-modeling/SKILL.md +1 -0
  65. package/.agent-src/templates/agent-settings.md +87 -3
  66. package/.agent-src/templates/command.md +30 -9
  67. package/.agent-src/templates/roadmaps.md +10 -2
  68. package/.agent-src/templates/rule.md +8 -0
  69. package/.agent-src/templates/skill.md +49 -0
  70. package/.claude-plugin/marketplace.json +14 -2
  71. package/AGENTS.md +3 -3
  72. package/CHANGELOG.md +73 -0
  73. package/README.md +5 -5
  74. package/config/agent-settings.template.yml +22 -0
  75. package/docs/architecture.md +4 -4
  76. package/docs/contracts/command-clusters.md +45 -1
  77. package/docs/customization.md +72 -0
  78. package/docs/decisions/ADR-003-flat-cluster-subs-and-colon-syntax.md +126 -0
  79. package/docs/decisions/INDEX.md +15 -0
  80. package/docs/getting-started.md +2 -2
  81. package/docs/guidelines/agent-infra/asking-and-brevity-examples.md +27 -19
  82. package/docs/guidelines/agent-infra/carve-out-predicates.md +17 -0
  83. package/docs/guidelines/agent-infra/mcp-request-signing.md +199 -0
  84. package/docs/guidelines/agent-infra/naming.md +1 -1
  85. package/docs/guidelines/agent-infra/roadmap-progress-mechanics.md +11 -4
  86. package/package.json +1 -1
  87. package/scripts/_lib/__init__.py +5 -0
  88. package/scripts/_lib/script_output.py +140 -0
  89. package/scripts/_phase2_shim_helper.py +1 -1
  90. package/scripts/adr/regenerate_index.py +79 -0
  91. package/scripts/ai_council/one_off_archive/2026-05/_one_off_add_quiet.py +149 -0
  92. package/scripts/ai_council/one_off_archive/2026-05/_one_off_inject_quiet_flag.py +33 -0
  93. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_v2.sh +36 -0
  94. package/scripts/ai_council/one_off_archive/2026-05/_one_off_measure_verbosity.sh +26 -0
  95. package/scripts/ai_council/one_off_archive/2026-05/_one_off_per_task.sh +41 -0
  96. package/scripts/ai_council/one_off_archive/2026-05/_one_off_silent_taskfiles.py +98 -0
  97. package/scripts/check_augmentignore.py +4 -1
  98. package/scripts/check_command_count_messaging.py +4 -1
  99. package/scripts/check_compressed_paths.py +4 -1
  100. package/scripts/check_council_layout.py +4 -1
  101. package/scripts/check_council_references.py +4 -1
  102. package/scripts/check_iron_law_prominence.py +3 -1
  103. package/scripts/check_md_language.py +3 -1
  104. package/scripts/check_memory_proposal.py +3 -1
  105. package/scripts/check_public_catalog_links.py +4 -1
  106. package/scripts/check_reply_consistency.py +8 -2
  107. package/scripts/check_roadmap_trackable.py +4 -1
  108. package/scripts/compile_router.py +27 -0
  109. package/scripts/compress.py +33 -19
  110. package/scripts/cost/budget.mjs +152 -0
  111. package/scripts/cost/track.mjs +144 -0
  112. package/scripts/council_cli.py +127 -10
  113. package/scripts/first-run.sh +3 -9
  114. package/scripts/install-hooks.sh +19 -1
  115. package/scripts/install.py +17 -12
  116. package/scripts/install.sh +19 -8
  117. package/scripts/lint_examples.py +6 -2
  118. package/scripts/lint_handoffs.py +4 -1
  119. package/scripts/lint_load_context.py +4 -1
  120. package/scripts/lint_roadmap_complexity.py +6 -2
  121. package/scripts/lint_rule_interactions.py +4 -1
  122. package/scripts/lint_rule_tiers.py +4 -1
  123. package/scripts/measure_frugality_savings.py +164 -0
  124. package/scripts/migrate_command_suggestions.py +2 -2
  125. package/scripts/runtime_dispatcher.py +11 -0
  126. package/scripts/schemas/command.schema.json +5 -0
  127. package/scripts/schemas/rule.schema.json +5 -0
  128. package/scripts/schemas/skill.schema.json +5 -0
  129. package/scripts/skill_linter.py +208 -3
  130. package/.agent-src/commands/roadmap/execute.md +0 -109
@@ -75,12 +75,15 @@ LEGACY CHECK (indicators):
75
75
  ═══════════════════════════════════════════════
76
76
  ```
77
77
 
78
- Ask the user with numbered options:
78
+ Per `verbosity.routine_confirmations` (default `false`):
79
79
 
80
- ```
81
- > 1. Continue with Phase 2 — architecture analysis
82
- > 2. Stop here — keep the overview only
83
- ```
80
+ - `false` → continue to Phase 2 silently (user invoked `/project-analyze`
81
+ for the full pass; "continue" is dominant).
82
+ - `true` ask:
83
+ ```
84
+ > 1. Continue with Phase 2 — architecture analysis
85
+ > 2. Stop here — keep the overview only
86
+ ```
84
87
 
85
88
  ### Phase 2: Architecture mapping
86
89
 
@@ -192,12 +195,15 @@ BUSINESS DOMAINS:
192
195
  ═══════════════════════════════════════════════
193
196
  ```
194
197
 
195
- Ask the user with numbered options:
198
+ Per `verbosity.routine_confirmations` (default `false`):
196
199
 
197
- ```
198
- > 1. Yes — create domain analysis files
199
- > 2. Skip — continue with next phase
200
- ```
200
+ - `false` → create domain analysis files silently (user invoked
201
+ `/project-analyze`; "yes, create" is dominant).
202
+ - `true` ask:
203
+ ```
204
+ > 1. Yes — create domain analysis files
205
+ > 2. Skip — continue with next phase
206
+ ```
201
207
 
202
208
  For each confirmed domain, create `agents/analysis/domains/{domain}.md` using the template
203
209
  from the `project-analyzer` skill.
@@ -226,12 +232,14 @@ SERVICE MAP:
226
232
  ═══════════════════════════════════════════════
227
233
  ```
228
234
 
229
- Ask the user with numbered options:
235
+ Per `verbosity.routine_confirmations` (default `false`):
230
236
 
231
- ```
232
- > 1. Yes — create API and service analysis files
233
- > 2. Skip — continue with next phase
234
- ```
237
+ - `false` → create API + service analysis files silently.
238
+ - `true` ask:
239
+ ```
240
+ > 1. Yes — create API and service analysis files
241
+ > 2. Skip — continue with next phase
242
+ ```
235
243
 
236
244
  Create:
237
245
  - `agents/analysis/api/endpoints-v1.md`
@@ -253,12 +261,15 @@ Write all remaining analysis files that haven't been created yet:
253
261
  - `agents/analysis/modules/{module}.md` — one per module
254
262
  - `agents/analysis/testing/test-map.md` — test suites, coverage, strategy
255
263
 
256
- For each file, ask with numbered options:
264
+ Per `verbosity.routine_confirmations` (default `false`):
257
265
 
258
- ```
259
- > 1. Create {filename}
260
- > 2. Skip
261
- ```
266
+ - `false` → create all listed files silently (per-file picker is pure
267
+ noise once the user invoked `/project-analyze`).
268
+ - `true` → for each file, ask:
269
+ ```
270
+ > 1. Create — {filename}
271
+ > 2. Skip
272
+ ```
262
273
 
263
274
  ### Phase 8: Gap analysis & action plan
264
275
 
@@ -81,15 +81,22 @@ Pick dispatch mode based on diff size and environment:
81
81
  Each judge returns its own `Judge / Model / Target / Verdict /
82
82
  Issues` block in the format defined by that skill.
83
83
 
84
- ### 4b. Optional external council (B3 hook)
84
+ ### 4b. Optional external council (B3 hook, verbosity-gated)
85
85
 
86
- If `.agent-settings.yml` has `ai_council.enabled: true` **and** at least
87
- one member is enabled, ask (in the user's language):
86
+ Read `verbosity.offer_council_in_delivery` from `.agent-settings.yml`
87
+ (default `false`):
88
88
 
89
- > 1. Add an external council review alongside the four internal judges? (billable)
90
- > 2. Skip internal judges only
89
+ - `false` (default): skip the prompt silently. When `ai_council.enabled:
90
+ true` AND at least one member enabled, emit one line: `→ council
91
+ skipped (set verbosity.offer_council_in_delivery: true to enable, or
92
+ run /council diff:<base>..<head> directly)`. Otherwise emit nothing.
93
+ - `true`: when `ai_council.enabled: true` **and** at least one member
94
+ enabled, ask (in the user's language):
91
95
 
92
- Suppress when `personal.autonomy: on` (council is billable).
96
+ > 1. Add an external council review alongside the four internal judges? (billable)
97
+ > 2. Skip — internal judges only
98
+
99
+ Also suppress when `personal.autonomy: on` (council is billable).
93
100
 
94
101
  If picked **1**:
95
102
 
@@ -124,17 +131,19 @@ Produce one combined report:
124
131
  ask before fixing 🟡 findings, report 🟢 as suggestions
125
132
  - If all four returned `apply` → the diff is ready; report and stop
126
133
 
127
- ### 7. Quality tools (optional)
128
-
129
- After the consolidated report, ask:
134
+ ### 7. Quality tools (verbosity-gated)
130
135
 
131
- ```
132
- > 1. Yes — run quality tools (formatter, static analyzer, linters)
133
- > 2. No — review done
134
- ```
136
+ Per `verbosity.routine_confirmations` (default `false`):
135
137
 
136
- If yes, hand off to the project's quality workflow (e.g. `/quality-fix`
137
- or the equivalent configured command).
138
+ - `false` (default) emit `→ run /quality-fix to format + lint` as a
139
+ single follow-up line; do not auto-invoke. User runs explicitly.
140
+ - `true` → ask:
141
+ ```
142
+ > 1. Yes — run quality tools (formatter, static analyzer, linters)
143
+ > 2. No — review done
144
+ ```
145
+ If yes, hand off to the project's quality workflow (e.g.
146
+ `/quality-fix` or the equivalent configured command).
138
147
 
139
148
  ## Backward compatibility
140
149
 
@@ -0,0 +1,183 @@
1
+ ---
2
+ name: roadmap:ai-council
3
+ cluster: roadmap
4
+ sub: ai-council
5
+ skills: [ai-council, agent-docs-writing, roadmap-management]
6
+ 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.
7
+ disable-model-invocation: true
8
+ council_depth: deep
9
+ suggestion:
10
+ eligible: true
11
+ trigger_description: "council on roadmap, challenge this roadmap, stress-test the plan, refactor roadmap from council findings"
12
+ trigger_context: "existing agents/roadmaps/*.md the user wants reviewed before execution"
13
+ ---
14
+
15
+ # /roadmap:ai-council
16
+
17
+ Council-driven challenge + refactor scope of the
18
+ [`/roadmap`](../roadmap.md) cluster. Pins the input mode to
19
+ `roadmap` and the depth tier to `deep` (architecture / refactor
20
+ artefact), then drives the user through applying convergence
21
+ findings as numbered patches against the roadmap file.
22
+
23
+ **Source of truth:** `.agent-src.uncompressed/` — never read or edit
24
+ `.agent-src/` or `.augment/` directly.
25
+
26
+ ## Instructions
27
+
28
+ ### 1. Resolve the target roadmap
29
+
30
+ Parse the argument as a roadmap path or filename:
31
+
32
+ - `/roadmap:ai-council agents/roadmaps/<name>.md` — explicit path.
33
+ - `/roadmap:ai-council <name>` — fuzzy match against
34
+ `agents/roadmaps/*.md`; if multiple match, list and ask
35
+ (one question per turn per `ask-when-uncertain`).
36
+ - No argument → list `agents/roadmaps/*.md` and ask.
37
+
38
+ Capture the **original ask** verbatim — the user's framing sentence
39
+ that triggered this council run (e.g. *"review this roadmap before
40
+ I execute it"*). This flows into `--original-ask`.
41
+
42
+ ### 2. Run the `/council default` flow with these pinned flags
43
+
44
+ Follow [`/council default`](../council/default.md) Steps 2–4
45
+ **verbatim**, with these arguments fixed:
46
+
47
+ - `--input-mode roadmap`
48
+ - `--depth deep` (this command declares `council_depth: deep` in
49
+ frontmatter; the host translates it into `--depth deep`)
50
+ - `--output agents/council-responses/<roadmap-stem>-roadmap.json`
51
+ (overwrite if it exists; the previous run is the predecessor for
52
+ this iteration)
53
+ - `--original-ask "<captured-ask>"`
54
+
55
+ `--depth deep` floors rounds at
56
+ `max(ai_council.deep_min_rounds, ai_council.min_rounds)` (default
57
+ `3`). Do **not** pass `--rounds` unless the user explicitly asked
58
+ for a different count.
59
+
60
+ The cost gate from `/council default` Step 3 still applies — billable
61
+ members require user confirmation **even under `personal.autonomy: on`**
62
+ (per the deep tier surcharge — typical cost ~$0.05–0.13 vs. ~$0.02
63
+ for the standard tier).
64
+
65
+ ### 3. Render the report
66
+
67
+ Run `./agent-config council:render <output.json>` and write the
68
+ **Convergence / Divergence** section per
69
+ [`/council default § Render`](../council/default.md). Do **not** end
70
+ with `/council default`'s generic numbered-options block — the
71
+ refactor flow in Step 4 replaces it.
72
+
73
+ ### 4. Append a Council review block to the roadmap
74
+
75
+ Open the roadmap file and append (do **not** overwrite existing
76
+ content):
77
+
78
+ ```markdown
79
+
80
+ ## Council review (<UTC date>)
81
+
82
+ <Convergence section verbatim>
83
+
84
+ ### Convergence findings
85
+
86
+ 1. **<Finding 1 title>** — <one-line summary> · trace: §<member-section>
87
+ 2. **<Finding 2 title>** — <one-line summary> · trace: §<member-section>
88
+
89
+
90
+ ### Divergences (no consensus)
91
+
92
+ - **<Topic>** — <Member A says X, Member B says Y; user decides>
93
+
94
+ ### Predecessor council trace
95
+
96
+ `agents/council-responses/<roadmap-stem>-roadmap.json` (this run).
97
+ ```
98
+
99
+ Run `./agent-config roadmap:progress` after the append. The block
100
+ adds no `[ ]` checkboxes, so the dashboard counts stay flat.
101
+
102
+ ### 5. Apply the critical-evaluation lens, then surface verdicted patches
103
+
104
+ Before drafting any patch, run every finding from Step 4 through the
105
+ *Critical evaluation* checklist from the
106
+ [`ai-council` skill](../../skills/ai-council/SKILL.md#critical-evaluation--convener-skeptic-stance):
107
+
108
+ - **Codebase fit** — does the finding match the actual roadmap content, file paths, scripts, contracts cited in the roadmap? (`view` / `codebase-retrieval`)
109
+ - **Locked-decision conflict** — does it contradict an ADR (`docs/decisions/`), a contract (`docs/contracts/`), a kernel rule, or an earlier locked decision in **this** roadmap?
110
+ - **Already addressed** — is the finding already covered by an existing step, AC, or phase in the roadmap?
111
+ - **Cost / benefit** — does the patch's scope vs. roadmap value clear the bar?
112
+ - **Hallucination** — does the finding cite a file, function, phase, or step that does not exist?
113
+
114
+ For every finding, attach a verdict — **`accept`**, **`accept-with-modification`**, **`reject`**, or **`needs-input`** — with a one-line reason citing host evidence (file:line, ADR, contract, roadmap step).
115
+
116
+ Append a **Host verdict** sub-block under the Council review block in the roadmap:
117
+
118
+ ```markdown
119
+ ### Host verdict
120
+
121
+ | # | Finding | Verdict | Reason |
122
+ |---|---|---|---|
123
+ | 1 | <one-line> | `accept` | matches `agents/roadmaps/<this>.md` Phase X step Y |
124
+ | 2 | <one-line> | `accept-with-modification` | narrow scope to phase Z — global change contradicts AC §N |
125
+ | 3 | <one-line> | `reject` | contradicts ADR `docs/decisions/<adr>.md` |
126
+ | 4 | <one-line> | `needs-input` | open question — user picks below |
127
+ ```
128
+
129
+ Then surface a single numbered-options block per [`user-interaction`](../../rules/user-interaction.md), carrying the verdict per option:
130
+
131
+ > 1. `[accept]` Apply finding 1 — <one-line patch summary>
132
+ > 2. `[accept-with-modification]` Apply finding 2 (modified) — <one-line patch summary + adjustment>
133
+ > 3. `[reject]` Skip finding 3 — <one-line reason> (override available below)
134
+ > 4. `[needs-input]` <open question for finding 4>
135
+ > …
136
+ > N. Apply all `accept` findings (recommended only if non-conflicting)
137
+ > N+1. Override host verdict — apply a finding the host rejected (specify number)
138
+ > N+2. Skip — leave Council review block + Host verdict as advisory only
139
+
140
+ The user picks one or more numbers (`1,3,5` is allowed). Apply each selected patch via `str-replace-editor` against the roadmap, then re-run `./agent-config roadmap:progress` once at the end so the dashboard reflects the new step / AC count.
141
+
142
+ **Verdict ≠ filter.** Every finding stays visible in the Host verdict block with its verdict and reason — the user can override at any time. The host filters its **own** recommendation; it does not hide council output.
143
+
144
+ ### 6. Hard floor — text + roadmap edits only
145
+
146
+ `/roadmap:ai-council` may:
147
+
148
+ - write `agents/council-responses/<…>.json`
149
+ - append the Council review block to the named roadmap
150
+ - apply user-picked patches to the same roadmap
151
+ - regenerate `agents/roadmaps-progress.md`
152
+
153
+ It does **NOT**:
154
+
155
+ - edit any other roadmap, command, rule, or skill file
156
+ - commit, push, or open a PR
157
+ - run `git` beyond `git diff` (read-only)
158
+
159
+ ## Rules
160
+
161
+ - **One roadmap per invocation.** Re-run for the next file.
162
+ - **Critical evaluation is mandatory** — every council finding gets
163
+ a host verdict (`accept` / `accept-with-modification` / `reject` /
164
+ `needs-input`) with one-line evidence before any patch is drafted.
165
+ Convergence ≠ correctness; the council never saw the codebase. See
166
+ [`ai-council § Critical evaluation`](../../skills/ai-council/SKILL.md#critical-evaluation--convener-skeptic-stance).
167
+ - **Decline = silence** ([`scope-control`](../../rules/scope-control.md)) —
168
+ if the user picks "Skip — advisory only", the Council review block
169
+ + Host verdict stay in the roadmap, but no patches are applied. Do
170
+ not re-ask the question on the same task.
171
+ - **Cost gate is non-negotiable** — the deep tier costs more than
172
+ standard; confirm before every billable run, even with
173
+ `personal.autonomy: on`.
174
+ - **No commit.** Patches land in the working tree only; commit
175
+ decisions stay with the user per
176
+ [`commit-policy`](../../rules/commit-policy.md).
177
+
178
+ ## See also
179
+
180
+ - [`/roadmap`](../roadmap.md) — cluster orchestrator
181
+ - [`/council default`](../council/default.md) — base flow this command wraps
182
+ - [`ai-council`](../../skills/ai-council/SKILL.md) — neutrality, redaction, deep tier
183
+ - [`scripts/council_cli.py`](../../../scripts/council_cli.py) — CLI entry point
@@ -137,18 +137,23 @@ Regenerate `agents/roadmaps-progress.md` so the new roadmap shows up:
137
137
 
138
138
  Mention the new overall count to the user.
139
139
 
140
- ### 8. Offer council review (B1 hook)
140
+ ### 8. Offer council review (B1 hook, verbosity-gated)
141
141
 
142
- If `.agent-settings.yml` has `ai_council.enabled: true` **and** at least
143
- one member is enabled (`anthropic` or `openai`), ask the user (in their
144
- language):
142
+ Read `verbosity.offer_council_in_delivery` from `.agent-settings.yml`
143
+ (default `false`):
145
144
 
146
- > 1. Run the council on this roadmap before execution? (billable)
147
- > 2. Skip council review
145
+ - `false` (default): skip the prompt silently. When `ai_council.enabled:
146
+ true` AND at least one member enabled, emit one line: `→ council
147
+ skipped (set verbosity.offer_council_in_delivery: true to enable, or
148
+ run /council roadmap:<path> directly)`. Otherwise emit nothing.
149
+ - `true`: when `ai_council.enabled: true` **and** at least one member
150
+ enabled (`anthropic` or `openai`), ask (in the user's language):
148
151
 
149
- Suppress this question entirely when `personal.autonomy: on` is set
150
- council is billable, autonomous mode must not silently spend tokens
151
- (see `road-to-ai-council.md` Decision 3 / Q47).
152
+ > 1. Run the council on this roadmap before execution? (billable)
153
+ > 2. Skip council review
154
+
155
+ Also suppress when `personal.autonomy: on` (council is billable; see
156
+ `road-to-ai-council.md` Decision 3 / Q47).
152
157
 
153
158
  If the user picks **1**:
154
159
 
@@ -168,7 +173,12 @@ If the user picks **2** → continue.
168
173
 
169
174
  After saving (and any council review), ask the user (in their language) whether to start executing the roadmap immediately.
170
175
 
171
- If yes → switch to the `roadmap-execute` command workflow with the newly created file.
176
+ If yes → switch to [`/roadmap:process-phase`](process-phase.md) with
177
+ the newly created file (the default execution scope of the `/roadmap`
178
+ cluster). Offer [`process-step`](process-step.md) and
179
+ [`process-full`](process-full.md) as alternatives. The legacy
180
+ `/roadmap execute` command was removed — autonomous execution is the
181
+ only path now.
172
182
 
173
183
  ### Rules
174
184
 
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: roadmap:process-full
3
+ cluster: roadmap
4
+ sub: process-full
5
+ skills: [agent-docs-writing, ai-council, roadmap-management]
6
+ 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.
7
+ disable-model-invocation: true
8
+ suggestion:
9
+ eligible: true
10
+ trigger_description: "process the whole roadmap, finish the roadmap, komplette roadmap abarbeiten"
11
+ trigger_context: "existing agents/roadmaps/*.md and user wants the entire file done end-to-end"
12
+ ---
13
+
14
+ # /roadmap:process-full
15
+
16
+ Whole-roadmap execution scope of the [`/roadmap`](../roadmap.md)
17
+ cluster. Same canonical loop as
18
+ [`/roadmap:process-phase`](process-phase.md), but does **not** stop at
19
+ phase boundaries — continues until every step is closed (or a halt
20
+ condition fires).
21
+
22
+ ## Instructions
23
+
24
+ Run the canonical loop in
25
+ [`contexts/execution/roadmap-process-loop`](../../contexts/execution/roadmap-process-loop.md)
26
+ with the **scope delta below**.
27
+
28
+ ## Scope delta
29
+
30
+ - **Working set:** every open step across every phase, in document
31
+ order.
32
+ - **Stop after:** the entire roadmap reaches `count_open == 0`, or a
33
+ halt condition fires (Hard-Floor, council-off + ambiguity,
34
+ security-sensitive, scope-out-of-roadmap, test/quality red).
35
+ - **Phase boundary handling:** at every phase boundary, run the
36
+ per-phase quality pipeline when `quality_cadence: per_phase` (or
37
+ `per_step`). On red → stop, surface, do **not** silently roll into
38
+ the next phase.
39
+ - **Final archival:** when the roadmap is fully closed, run the
40
+ archival check from
41
+ [`roadmap-process-loop § 6`](../../contexts/execution/roadmap-process-loop.md#6-final-report-and-archival).
42
+
43
+ ## Rules
44
+
45
+ - **No silent acceleration past a halt.** Every halt condition stops
46
+ the run; the user resumes on the next turn.
47
+ - **Phase quality pipeline runs at every phase boundary** when cadence
48
+ is `per_phase` or `per_step`. `end_of_roadmap` skips per-phase and
49
+ runs only at the final archival check.
50
+ - All other rules from
51
+ [`process-phase § Rules`](process-phase.md#rules) apply unchanged.
52
+
53
+ ## See also
54
+
55
+ - [`/roadmap`](../roadmap.md) — cluster orchestrator
56
+ - [`/roadmap:process-step`](process-step.md) — single-step variant
57
+ - [`/roadmap:process-phase`](process-phase.md) — default scope, single phase
58
+ - [`roadmap-process-loop`](../../contexts/execution/roadmap-process-loop.md) — canonical mechanics
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: roadmap:process-phase
3
+ cluster: roadmap
4
+ sub: process-phase
5
+ skills: [agent-docs-writing, ai-council, roadmap-management]
6
+ description: Autonomously process every open step in the next or current phase of a roadmap, then stop. Default execution scope of the /roadmap cluster.
7
+ disable-model-invocation: true
8
+ suggestion:
9
+ eligible: true
10
+ trigger_description: "process the next phase, finish this phase autonomously, eine phase abarbeiten"
11
+ trigger_context: "existing agents/roadmaps/*.md and user wants the next phase done end-to-end"
12
+ ---
13
+
14
+ # /roadmap:process-phase
15
+
16
+ Default execution scope of the [`/roadmap`](../roadmap.md) cluster.
17
+ Sibling of [`/roadmap:process-step`](process-step.md) and
18
+ [`/roadmap:process-full`](process-full.md). Replaces the legacy
19
+ `/roadmap execute` (which paused for confirmation before every step).
20
+
21
+ ## Instructions
22
+
23
+ Run the canonical loop in
24
+ [`contexts/execution/roadmap-process-loop`](../../contexts/execution/roadmap-process-loop.md)
25
+ with the **scope delta below**. The loop file owns roadmap discovery,
26
+ pre-run summary, cadence resolution, commit-step pre-scan, the step
27
+ loop with AI-council branching, halt conditions, and the archival
28
+ check.
29
+
30
+ ## Scope delta
31
+
32
+ - **Working set:** all open steps in the **first phase with
33
+ `count_open > 0`**. If every phase is closed → report "Roadmap
34
+ already complete." and run the archival check from
35
+ [`roadmap-process-loop § 6`](../../contexts/execution/roadmap-process-loop.md#6-final-report-and-archival).
36
+ - **Stop after:** the phase boundary. Do **not** advance into the next
37
+ phase. Use [`/roadmap:process-full`](process-full.md) for continuous
38
+ execution across phases.
39
+ - **Quality cadence at the boundary:** run the per-phase pipeline when
40
+ `quality_cadence: per_phase` (or `per_step`). Skip when
41
+ `end_of_roadmap`.
42
+
43
+ ## Rules
44
+
45
+ - **Autonomous within the phase, never beyond.** The user picks
46
+ `process-step` for one step or `process-full` for the whole roadmap.
47
+ - **No commit, push, branch, PR, tag, or bulk-destructive op** without
48
+ explicit permission this turn — see
49
+ [`commit-policy`](../../rules/commit-policy.md) and
50
+ [`scope-control § git-ops`](../../rules/scope-control.md#git-operations--permission-gated).
51
+ Roadmap-listed commit steps follow the single-upfront-ask flow in
52
+ [`roadmap-process-loop § 3`](../../contexts/execution/roadmap-process-loop.md#3-commit-step-pre-scan--one-upfront-ask).
53
+ - **Every checkbox edit syncs the dashboard in the same response** per
54
+ [`roadmap-progress-sync`](../../rules/roadmap-progress-sync.md).
55
+ - **AI-council consultations run silently when council is on.** No
56
+ per-call confirmation. The opt-in covers the whole run.
57
+ - **Decline = silence.** Once the user said "skip council", do not
58
+ re-offer for the rest of this run.
59
+ - **Halt cleanly on Hard-Floor or true ambiguity.** Surface state,
60
+ wait. Resume on the user's next turn from the same checkbox.
61
+
62
+ ## See also
63
+
64
+ - [`/roadmap`](../roadmap.md) — cluster orchestrator
65
+ - [`/roadmap:process-step`](process-step.md) — single-step variant
66
+ - [`/roadmap:process-full`](process-full.md) — across-phases variant
67
+ - [`/roadmap:create`](create.md) — sibling, scaffolds roadmaps
68
+ - [`roadmap-process-loop`](../../contexts/execution/roadmap-process-loop.md) — canonical mechanics
69
+ - [`roadmap-management`](../../skills/roadmap-management/SKILL.md) — checkbox + archival mechanics
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: roadmap:process-step
3
+ cluster: roadmap
4
+ sub: process-step
5
+ skills: [agent-docs-writing, ai-council, roadmap-management]
6
+ 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.
7
+ disable-model-invocation: true
8
+ suggestion:
9
+ eligible: true
10
+ trigger_description: "process the next step, do the next roadmap step, einen schritt abarbeiten"
11
+ trigger_context: "existing agents/roadmaps/*.md and user wants exactly one step done autonomously"
12
+ ---
13
+
14
+ # /roadmap:process-step
15
+
16
+ One-step execution scope of the [`/roadmap`](../roadmap.md) cluster.
17
+ Same canonical loop as [`/roadmap:process-phase`](process-phase.md),
18
+ bounded to a single iteration.
19
+
20
+ ## Instructions
21
+
22
+ Run the canonical loop in
23
+ [`contexts/execution/roadmap-process-loop`](../../contexts/execution/roadmap-process-loop.md)
24
+ with the **scope delta below**.
25
+
26
+ ## Scope delta
27
+
28
+ - **Working set:** the **first checkbox `[ ]` in document order**
29
+ inside the first phase with `count_open > 0`. If every step is
30
+ closed → report "Roadmap already complete." and run the archival
31
+ check from
32
+ [`roadmap-process-loop § 6`](../../contexts/execution/roadmap-process-loop.md#6-final-report-and-archival).
33
+ - **Stop after:** one full iteration of
34
+ [`roadmap-process-loop § 5`](../../contexts/execution/roadmap-process-loop.md#5-step-loop)
35
+ (sub-steps 1–7). After the checkbox edit + dashboard regen, **stop**.
36
+ - **Quality cadence:** run the per-step pipeline only when
37
+ `quality_cadence: per_step`. Skip otherwise.
38
+ - **Phase boundary:** if this single step happens to close the phase,
39
+ do **not** advance. Report the phase as complete and stop.
40
+ - **Roadmap boundary:** if this single step happens to close the
41
+ entire roadmap, run the archival check before reporting.
42
+
43
+ ## Rules
44
+
45
+ - **Stop after one step**, even if the next step is trivial. The user
46
+ picks `process-phase` or `process-full` when they want more.
47
+ - All other rules from
48
+ [`process-phase § Rules`](process-phase.md#rules) apply unchanged:
49
+ Hard-Floor, no auto-commit, dashboard sync, AI-council silent-when-on,
50
+ decline = silence.
51
+
52
+ ## See also
53
+
54
+ - [`/roadmap`](../roadmap.md) — cluster orchestrator
55
+ - [`/roadmap:process-phase`](process-phase.md) — default scope, single phase
56
+ - [`/roadmap:process-full`](process-full.md) — across-phases variant
57
+ - [`roadmap-process-loop`](../../contexts/execution/roadmap-process-loop.md) — canonical mechanics
@@ -1,44 +1,72 @@
1
1
  ---
2
2
  name: roadmap
3
- description: Roadmap orchestrator — routes to create, execute
3
+ description: Roadmap orchestrator — routes to create (authoring) and process-step / process-phase / process-full (autonomous execution).
4
4
  cluster: roadmap
5
5
  disable-model-invocation: true
6
6
  suggestion:
7
7
  eligible: true
8
- trigger_description: "create a roadmap, execute a roadmap, plan a roadmap interactively"
9
- trigger_context: "user wants to scaffold or run a roadmap under agents/roadmaps/"
8
+ trigger_description: "create a roadmap, process a roadmap, work through a roadmap autonomously, plan or abarbeiten"
9
+ trigger_context: "user wants to scaffold or autonomously execute a roadmap under agents/roadmaps/"
10
10
  ---
11
11
 
12
12
  # /roadmap
13
13
 
14
- Top-level orchestrator for the `/roadmap` family. Replaces 2 standalone
15
- commands with a single entry point + sub-command dispatch.
14
+ Top-level orchestrator for the `/roadmap` family. Carries authoring
15
+ (`create`) and the three autonomous-execution scopes (`process-step`,
16
+ `process-phase`, `process-full`). The legacy `/roadmap execute` (which
17
+ paused for confirmation before every step) was removed —
18
+ `process-phase` is the default execution scope.
16
19
 
17
20
  ## Sub-commands
18
21
 
19
22
  | Sub-command | Routes to | Purpose |
20
23
  |---|---|---|
21
- | `/roadmap create` | `commands/roadmap/create.md` | Interactively create a new roadmap in `agents/roadmaps/` |
22
- | `/roadmap execute` | `commands/roadmap/execute.md` | Read and interactively execute a roadmap |
24
+ | `/roadmap:create` | `commands/roadmap/create.md` | Interactively scaffold a new roadmap in `agents/roadmaps/` |
25
+ | `/roadmap:ai-council` | `commands/roadmap/ai-council.md` | Challenge an existing roadmap with the AI council (deep tier) and refactor from convergence findings |
26
+ | `/roadmap:process-step` | `commands/roadmap/process-step.md` | Autonomously process the next open step, then stop |
27
+ | `/roadmap:process-phase` (**default execution scope**) | `commands/roadmap/process-phase.md` | Autonomously process every open step in the current phase |
28
+ | `/roadmap:process-full` | `commands/roadmap/process-full.md` | Autonomously process every open step across every phase |
23
29
 
24
30
  Sub-command names match the locked contract in
25
31
  [`docs/contracts/command-clusters.md`](../docs/contracts/command-clusters.md).
32
+ `:` and space are equivalent at the cluster boundary — see
33
+ [`slash-command-routing-policy-mechanics`](../contexts/communication/rules-auto/slash-command-routing-policy-mechanics.md#routing-semantics).
34
+ The three `process-*` subs share the canonical loop in
35
+ [`contexts/execution/roadmap-process-loop`](../contexts/execution/roadmap-process-loop.md);
36
+ each only binds a scope delta.
26
37
 
27
38
  ## Dispatch
28
39
 
29
- 1. Parse the user's argument: `/roadmap <sub-command> [args]`.
40
+ 1. Parse the user's argument: `/roadmap[:<sub>] [args]` or
41
+ `/roadmap <sub> [args]`.
30
42
  2. Look up the sub-command in the table above.
31
- 3. Load the body of the routed file and follow its `## Instructions` section
32
- verbatim with the remaining args.
33
- 4. If the sub-command is unknown or missing, print the table above and ask:
43
+ 3. Load the body of the routed file and follow its `## Instructions`
44
+ section verbatim with the remaining args.
45
+ 4. **Legacy forwarding:**
46
+ - `/roadmap execute` or `/roadmap-execute` → forward to
47
+ [`/roadmap:process-phase`](roadmap/process-phase.md) (default
48
+ scope) with a one-time migration notice.
49
+ - `/roadmap-process[:<sub>]` (legacy top-level cluster) → forward
50
+ to `/roadmap:process-<sub>` with a one-time migration notice.
51
+ 5. If the sub-command is unknown or missing, print the table above
52
+ and ask:
34
53
 
35
54
  > 1. create — scaffold a new roadmap interactively
36
- > 2. executerun an existing roadmap step by step
55
+ > 2. ai-councilchallenge + refactor an existing roadmap (deep tier)
56
+ > 3. process-step — process the next open step, then stop
57
+ > 4. process-phase — process the current phase (default)
58
+ > 5. process-full — process every open step across every phase
37
59
 
38
60
  ## Rules
39
61
 
40
- - **Do NOT commit, push, or open a PR** unless the sub-command explicitly
41
- authorizes it.
62
+ - **Do NOT commit, push, or open a PR** unless the sub-command
63
+ explicitly authorizes it. Roadmap-listed commit steps follow the
64
+ single-upfront-ask flow in
65
+ [`roadmap-process-loop § 3`](../contexts/execution/roadmap-process-loop.md#3-commit-step-pre-scan--one-upfront-ask).
42
66
  - **Do NOT chain sub-commands.** One `/roadmap <sub>` per turn.
43
- - If the user invokes `/roadmap` with no argument, **show the menu** — do
44
- not guess which sub-command they meant.
67
+ - If the user invokes `/roadmap` with no argument, **show the menu** —
68
+ do not guess which sub-command they meant.
69
+ - Execution intents (*"work through the roadmap"*, *"abarbeiten"*,
70
+ *"finish this phase"*) default to
71
+ [`/roadmap:process-phase`](roadmap/process-phase.md) unless the user
72
+ named a different scope.
@@ -3,6 +3,7 @@ name: threat-model
3
3
  skills: [threat-modeling, authz-review, security-sensitive-stop]
4
4
  description: Run a pre-implementation threat model on a proposed change — enumerates abuse cases, trust boundaries, and authorization gaps before the first line of code is written
5
5
  disable-model-invocation: true
6
+ council_depth: deep
6
7
  suggestion:
7
8
  eligible: true
8
9
  trigger_description: "threat model this change, what could go wrong security-wise"