session-orchestrator 5.0.0 → 5.2.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 (298) hide show
  1. package/.agents/skills/autopilot/SKILL.md +1 -0
  2. package/.agents/skills/bootstrap/SKILL.md +2 -0
  3. package/.agents/skills/brainstorm/SKILL.md +3 -0
  4. package/.agents/skills/close/SKILL.md +17 -0
  5. package/.agents/skills/debug/SKILL.md +2 -0
  6. package/.agents/skills/discovery/SKILL.md +2 -1
  7. package/.agents/skills/dispatcher/SKILL.md +2 -0
  8. package/.agents/skills/eli5/SKILL.md +2 -0
  9. package/.agents/skills/eval/SKILL.md +1 -0
  10. package/.agents/skills/evolve/SKILL.md +2 -1
  11. package/.agents/skills/go/SKILL.md +18 -0
  12. package/.agents/skills/grill/SKILL.md +2 -0
  13. package/.agents/skills/harness-audit/SKILL.md +16 -0
  14. package/.agents/skills/memory-cleanup/SKILL.md +1 -0
  15. package/.agents/skills/persona-panel/SKILL.md +1 -0
  16. package/.agents/skills/plan/SKILL.md +3 -1
  17. package/.agents/skills/portfolio/SKILL.md +17 -0
  18. package/.agents/skills/reconcile/SKILL.md +1 -0
  19. package/.agents/skills/release/SKILL.md +18 -0
  20. package/.agents/skills/repo-audit/SKILL.md +1 -0
  21. package/.agents/skills/spinout/SKILL.md +1 -0
  22. package/.agents/skills/sunset-review/SKILL.md +2 -0
  23. package/.agents/skills/test/SKILL.md +17 -0
  24. package/.agents/skills/ux-grill/SKILL.md +2 -0
  25. package/.claude-plugin/marketplace.json +3 -3
  26. package/.claude-plugin/plugin.json +2 -2
  27. package/.codex-plugin/plugin.json +2 -2
  28. package/.codex-plugin/skills/autopilot/SKILL.md +5 -4
  29. package/.codex-plugin/skills/bootstrap/SKILL.md +8 -4
  30. package/.codex-plugin/skills/brainstorm/SKILL.md +11 -4
  31. package/.codex-plugin/skills/close/SKILL.md +3 -3
  32. package/.codex-plugin/skills/convergence-monitoring/SKILL.md +2 -0
  33. package/.codex-plugin/skills/convergence-monitoring/agents/openai.yaml +5 -0
  34. package/.codex-plugin/skills/debug/SKILL.md +11 -4
  35. package/.codex-plugin/skills/discovery/SKILL.md +8 -4
  36. package/.codex-plugin/skills/dispatcher/SKILL.md +4 -4
  37. package/.codex-plugin/skills/eli5/SKILL.md +9 -4
  38. package/.codex-plugin/skills/eval/SKILL.md +9 -4
  39. package/.codex-plugin/skills/evolve/SKILL.md +9 -4
  40. package/.codex-plugin/skills/go/SKILL.md +3 -3
  41. package/.codex-plugin/skills/grill/SKILL.md +11 -4
  42. package/.codex-plugin/skills/harness-audit/SKILL.md +4 -3
  43. package/.codex-plugin/skills/memory-cleanup/SKILL.md +9 -4
  44. package/.codex-plugin/skills/npm-publish/SKILL.md +2 -0
  45. package/.codex-plugin/skills/npm-publish/agents/openai.yaml +5 -0
  46. package/.codex-plugin/skills/persona-panel/SKILL.md +5 -5
  47. package/.codex-plugin/skills/plan/SKILL.md +8 -4
  48. package/.codex-plugin/skills/portfolio/SKILL.md +3 -3
  49. package/.codex-plugin/skills/reconcile/SKILL.md +9 -4
  50. package/.codex-plugin/skills/release/SKILL.md +3 -3
  51. package/.codex-plugin/skills/repo-audit/SKILL.md +6 -4
  52. package/.codex-plugin/skills/spinout/SKILL.md +4 -4
  53. package/.codex-plugin/skills/sunset-review/SKILL.md +5 -4
  54. package/.codex-plugin/skills/test/SKILL.md +3 -3
  55. package/.codex-plugin/skills/ux-grill/SKILL.md +11 -4
  56. package/.cursor/commands/autopilot.md +4 -4
  57. package/.cursor/commands/bootstrap.md +5 -4
  58. package/.cursor/commands/brainstorm.md +5 -4
  59. package/.cursor/commands/close.md +4 -3
  60. package/.cursor/commands/convergence-monitoring.md +13 -0
  61. package/.cursor/commands/debug.md +4 -4
  62. package/.cursor/commands/discovery.md +4 -4
  63. package/.cursor/commands/dispatcher.md +4 -4
  64. package/.cursor/commands/eli5.md +4 -4
  65. package/.cursor/commands/eval.md +4 -4
  66. package/.cursor/commands/evolve.md +4 -4
  67. package/.cursor/commands/go.md +4 -3
  68. package/.cursor/commands/grill.md +4 -4
  69. package/.cursor/commands/harness-audit.md +3 -3
  70. package/.cursor/commands/memory-cleanup.md +4 -4
  71. package/.cursor/commands/npm-publish.md +13 -0
  72. package/.cursor/commands/persona-panel.md +4 -4
  73. package/.cursor/commands/plan.md +5 -4
  74. package/.cursor/commands/portfolio.md +3 -3
  75. package/.cursor/commands/reconcile.md +4 -4
  76. package/.cursor/commands/release.md +4 -3
  77. package/.cursor/commands/repo-audit.md +4 -4
  78. package/.cursor/commands/spinout.md +4 -4
  79. package/.cursor/commands/sunset-review.md +4 -4
  80. package/.cursor/commands/test.md +3 -3
  81. package/.cursor/commands/ux-grill.md +4 -4
  82. package/.cursor/rules/010-session-workflow.mdc +2 -2
  83. package/.cursor/skills/bootstrap/SKILL.md +1 -0
  84. package/.cursor/skills/close/SKILL.md +13 -0
  85. package/.cursor/skills/debug/SKILL.md +0 -1
  86. package/.cursor/skills/discovery/SKILL.md +0 -1
  87. package/.cursor/skills/dispatcher/SKILL.md +0 -1
  88. package/.cursor/skills/eli5/SKILL.md +0 -1
  89. package/.cursor/skills/evolve/SKILL.md +0 -1
  90. package/.cursor/skills/go/SKILL.md +13 -0
  91. package/.cursor/skills/grill/SKILL.md +0 -1
  92. package/.cursor/skills/harness-audit/SKILL.md +12 -0
  93. package/.cursor/skills/portfolio/SKILL.md +12 -0
  94. package/.cursor/skills/release/SKILL.md +13 -0
  95. package/.cursor/skills/repo-audit/SKILL.md +0 -1
  96. package/.cursor/skills/sunset-review/SKILL.md +0 -1
  97. package/.cursor/skills/test/SKILL.md +12 -0
  98. package/.cursor/skills/ux-grill/SKILL.md +0 -1
  99. package/.cursor-plugin/plugin.json +2 -2
  100. package/.orchestrator/policy/blocked-commands.json +10 -0
  101. package/AGENTS.md +1 -1
  102. package/CHANGELOG.md +80 -0
  103. package/README.md +74 -235
  104. package/commands/session.md +10 -0
  105. package/docs/USER-GUIDE.md +24 -0
  106. package/docs/ci-setup.md +53 -0
  107. package/docs/codex-setup.md +1 -1
  108. package/docs/components.md +12 -5
  109. package/docs/events-schema.md +5 -1
  110. package/docs/install.md +128 -0
  111. package/docs/persona-panel.md +1 -1
  112. package/docs/pi-setup.md +1 -1
  113. package/docs/rule-authoring.md +83 -14
  114. package/docs/scope-collision-guard.md +2 -0
  115. package/docs/session-config-reference.md +6 -4
  116. package/docs/session-config-template.md +38 -0
  117. package/docs/telemetry.md +15 -0
  118. package/hooks/_lib/hook-import-set.json +46 -6
  119. package/hooks/_lib/subagent-paths.mjs +15 -0
  120. package/hooks/_lib/vcs-create-matcher.mjs +217 -62
  121. package/hooks/enforce-scope.mjs +42 -1
  122. package/hooks/hooks-codex.json +1 -1
  123. package/hooks/hooks.json +1 -1
  124. package/hooks/on-session-end.mjs +14 -2
  125. package/hooks/on-stop.mjs +43 -1
  126. package/hooks/post-bash-write-verify.mjs +3 -0
  127. package/hooks/pre-auq-clarity.mjs +3 -0
  128. package/hooks/pre-bash-issue-budget.mjs +103 -17
  129. package/hooks/pre-task-scope-disjoint.mjs +152 -3
  130. package/hooks/skill-invocation-telemetry.mjs +2 -1
  131. package/package.json +3 -2
  132. package/pi/prompts/autopilot.md +3 -3
  133. package/pi/prompts/bootstrap.md +3 -3
  134. package/pi/prompts/brainstorm.md +3 -3
  135. package/pi/prompts/close.md +2 -2
  136. package/pi/prompts/convergence-monitoring.md +11 -0
  137. package/pi/prompts/debug.md +3 -3
  138. package/pi/prompts/discovery.md +3 -3
  139. package/pi/prompts/dispatcher.md +3 -3
  140. package/pi/prompts/eli5.md +3 -3
  141. package/pi/prompts/eval.md +3 -3
  142. package/pi/prompts/evolve.md +3 -3
  143. package/pi/prompts/go.md +2 -2
  144. package/pi/prompts/grill.md +3 -3
  145. package/pi/prompts/harness-audit.md +2 -3
  146. package/pi/prompts/memory-cleanup.md +3 -3
  147. package/pi/prompts/npm-publish.md +11 -0
  148. package/pi/prompts/persona-panel.md +3 -3
  149. package/pi/prompts/plan.md +3 -3
  150. package/pi/prompts/portfolio.md +2 -2
  151. package/pi/prompts/reconcile.md +3 -3
  152. package/pi/prompts/release.md +3 -3
  153. package/pi/prompts/repo-audit.md +3 -4
  154. package/pi/prompts/session.md +1 -1
  155. package/pi/prompts/spinout.md +3 -3
  156. package/pi/prompts/sunset-review.md +3 -3
  157. package/pi/prompts/templates-ack.md +1 -1
  158. package/pi/prompts/test.md +3 -3
  159. package/pi/prompts/ux-grill.md +3 -3
  160. package/scripts/archive-closed-prds.mjs +2 -2
  161. package/scripts/auq-audit.mjs +2 -3
  162. package/scripts/backfill-abandoned-sessions.mjs +57 -3
  163. package/scripts/backfill-evidence-digest.mjs +2 -1
  164. package/scripts/backfill-learnings-from-vault.mjs +2 -2
  165. package/scripts/check-package-manager.mjs +2 -2
  166. package/scripts/ci/assert-vitest-green.mjs +2 -1
  167. package/scripts/emit-session.mjs +2 -3
  168. package/scripts/export-hw-learnings.mjs +2 -1
  169. package/scripts/express-path.mjs +1 -1
  170. package/scripts/gc-stale-worktrees.mjs +2 -1
  171. package/scripts/generate-codex-skills.mjs +48 -4
  172. package/scripts/generate-cursor-adapter.mjs +173 -9
  173. package/scripts/generate-hook-import-set.mjs +12 -27
  174. package/scripts/generate-pi-prompts.mjs +183 -13
  175. package/scripts/github-protection-audit.mjs +2 -3
  176. package/scripts/lib/agent-frontmatter.mjs +23 -1
  177. package/scripts/lib/claude-md-budget-lint.mjs +2 -5
  178. package/scripts/lib/command-blocker.mjs +209 -9
  179. package/scripts/lib/config/drift-check.mjs +19 -0
  180. package/scripts/lib/convergence-monitor.mjs +2 -2
  181. package/scripts/lib/cursor-hook-bridge.mjs +2 -2
  182. package/scripts/lib/description-surface.mjs +2 -5
  183. package/scripts/lib/dispatcher/cli.mjs +2 -1
  184. package/scripts/lib/ecosystem-wizard.mjs +2 -1
  185. package/scripts/lib/fetch-baseline.mjs +3 -8
  186. package/scripts/lib/gitlab-ops/stale-mr-sweep.mjs +2 -1
  187. package/scripts/lib/gitlab-portfolio/cli.mjs +2 -1
  188. package/scripts/lib/instruction-budget-guard.mjs +186 -46
  189. package/scripts/lib/is-main-module.mjs +82 -0
  190. package/scripts/lib/locks/index.mjs +32 -25
  191. package/scripts/lib/maintenance-due-banner.mjs +69 -3
  192. package/scripts/lib/peer-discovery.mjs +2 -5
  193. package/scripts/lib/playwright-driver/runner.mjs +63 -2
  194. package/scripts/lib/reconcile/rule-expiry-sweep.mjs +642 -0
  195. package/scripts/lib/rules-sync.mjs +2 -5
  196. package/scripts/lib/scope-echo.mjs +392 -7
  197. package/scripts/lib/session-close-backfill.mjs +58 -6
  198. package/scripts/lib/state-md.mjs +84 -3
  199. package/scripts/lib/sunset/walker.mjs +31 -4
  200. package/scripts/lib/tests-src-ratio.mjs +2 -6
  201. package/scripts/lib/tmux-layout/telemetry-stats.mjs +2 -1
  202. package/scripts/lib/user-invocable-skills.mjs +185 -0
  203. package/scripts/lib/validate/check-banner-parity.mjs +2 -2
  204. package/scripts/lib/validate/check-cursor-adapter.mjs +2 -2
  205. package/scripts/lib/validate/check-dead-bridge.mjs +2 -2
  206. package/scripts/lib/validate/check-doc-cli-commands.mjs +2 -2
  207. package/scripts/lib/validate/check-entry-guard.mjs +366 -0
  208. package/scripts/lib/validate/check-guard-requires-parity.mjs +2 -2
  209. package/scripts/lib/validate/check-hooks-emit-event-guard.mjs +2 -2
  210. package/scripts/lib/validate/check-learning-provenance.mjs +2 -2
  211. package/scripts/lib/validate/check-skill-links.mjs +27 -6
  212. package/scripts/lib/validate/check-skill-script-paths.mjs +2 -2
  213. package/scripts/lib/validate/check-test-git-config-target.mjs +2 -2
  214. package/scripts/lib/validate/check-unicode-safety.mjs +2 -2
  215. package/scripts/lib/validate/check-untracked-test-deps.mjs +2 -2
  216. package/scripts/lib/validate/check-unwired-features.mjs +266 -11
  217. package/scripts/lib/validate/check-validator-registration.mjs +2 -2
  218. package/scripts/lib/validate/check-vcs-repo-flag.mjs +2 -2
  219. package/scripts/lib/validate-vendored-rules.mjs +35 -9
  220. package/scripts/lib/wave-transcript-tail.mjs +2 -2
  221. package/scripts/lock-reaper.mjs +2 -1
  222. package/scripts/materialize-wave-scope.mjs +87 -4
  223. package/scripts/migrate-sessions-jsonl.mjs +2 -1
  224. package/scripts/migrate-vault-paths.mjs +2 -3
  225. package/scripts/release.mjs +124 -35
  226. package/scripts/relocate-vault-corpus.mjs +2 -3
  227. package/scripts/repair-invalid-sessions.mjs +2 -2
  228. package/scripts/session-shape.mjs +2 -2
  229. package/scripts/site-numbers.mjs +35 -11
  230. package/scripts/sweep-expired-rules.mjs +216 -0
  231. package/scripts/validate-plugin.mjs +9 -0
  232. package/scripts/vault-consolidate.mjs +2 -2
  233. package/scripts/vault-mirror.mjs +2 -3
  234. package/scripts/wave-scope-binding.mjs +2 -3
  235. package/skills/_shared/bootstrap-gate.md +1 -1
  236. package/skills/_shared/monitor-patterns.md +1 -1
  237. package/skills/_shared/research-evidence.md +53 -0
  238. package/skills/_shared/state-ownership.md +3 -0
  239. package/skills/autopilot/SKILL.md +58 -4
  240. package/skills/bootstrap/SKILL.md +51 -1
  241. package/skills/brainstorm/SKILL.md +16 -0
  242. package/skills/claude-md-drift-check/checker.mjs +49 -11
  243. package/{commands/close.md → skills/close/SKILL.md} +9 -3
  244. package/skills/debug/SKILL.md +10 -0
  245. package/skills/discovery/SKILL.md +24 -1
  246. package/skills/discovery/probes-session.md +2 -2
  247. package/skills/dispatcher/SKILL.md +38 -7
  248. package/skills/eli5/SKILL.md +11 -0
  249. package/skills/eval/SKILL.md +14 -0
  250. package/skills/evolve/SKILL.md +8 -1
  251. package/skills/evolve/references/evolve-dialectic-mode.md +6 -2
  252. package/{commands/go.md → skills/go/SKILL.md} +9 -1
  253. package/skills/grill/SKILL.md +19 -0
  254. package/{commands/harness-audit.md → skills/harness-audit/SKILL.md} +7 -2
  255. package/skills/hook-development/SKILL.md +46 -41
  256. package/skills/memory-cleanup/SKILL.md +7 -0
  257. package/skills/npm-publish/SKILL.md +1 -1
  258. package/skills/persona-panel/SKILL.md +56 -1
  259. package/skills/persona-panel/persona-format.md +1 -1
  260. package/skills/plan/SKILL.md +28 -1
  261. package/skills/playwright-driver/SKILL.md +7 -10
  262. package/{commands/portfolio.md → skills/portfolio/SKILL.md} +8 -2
  263. package/skills/reconcile/SKILL.md +10 -0
  264. package/{commands/release.md → skills/release/SKILL.md} +16 -2
  265. package/skills/repo-audit/SKILL.md +7 -0
  266. package/skills/session-end/plan-verification.md +2 -2
  267. package/skills/session-plan/SKILL.md +1 -1
  268. package/skills/session-start/SKILL.md +5 -4
  269. package/skills/session-start/phase-8-5-express-path.md +6 -6
  270. package/skills/session-start/references/phase-1-5-session-continuity.md +1 -1
  271. package/skills/session-start/references/phase-2-7-portfolio-snapshot.md +1 -1
  272. package/skills/session-start/references/phase-4-ssot-environment-check.md +4 -3
  273. package/skills/spinout/SKILL.md +12 -1
  274. package/skills/sunset-review/SKILL.md +13 -0
  275. package/{commands/test.md → skills/test/SKILL.md} +10 -4
  276. package/skills/ux-grill/SKILL.md +19 -1
  277. package/skills/wave-executor/SKILL.md +7 -4
  278. package/skills/wave-executor/references/wave-executor-state-init.md +13 -1
  279. package/skills/wave-executor/references/wave-loop-dispatch.md +3 -1
  280. package/skills/wave-executor/references/wave-loop-review.md +17 -1
  281. package/commands/autopilot.md +0 -80
  282. package/commands/bootstrap.md +0 -56
  283. package/commands/brainstorm.md +0 -48
  284. package/commands/debug.md +0 -36
  285. package/commands/discovery.md +0 -32
  286. package/commands/dispatcher.md +0 -59
  287. package/commands/eli5.md +0 -33
  288. package/commands/eval.md +0 -28
  289. package/commands/evolve.md +0 -10
  290. package/commands/grill.md +0 -45
  291. package/commands/memory-cleanup.md +0 -26
  292. package/commands/persona-panel.md +0 -121
  293. package/commands/plan.md +0 -15
  294. package/commands/reconcile.md +0 -23
  295. package/commands/repo-audit.md +0 -24
  296. package/commands/spinout.md +0 -15
  297. package/commands/sunset-review.md +0 -27
  298. package/commands/ux-grill.md +0 -51
package/commands/eli5.md DELETED
@@ -1,33 +0,0 @@
1
- ---
2
- description: Say the last answer again in plain words — same facts, in the order the operator needs them. Optional topic argument.
3
- argument-hint: "[topic]"
4
- ---
5
-
6
- # eli5
7
-
8
- Invokes the `eli5` skill (`skills/eli5/SKILL.md`). Restates my last substantial output — or the named topic — for someone who knows this project but did not watch the last ten minutes of it.
9
-
10
- ## Argument Validation
11
-
12
- The optional argument is a topic, in prose. If absent, the target is my own last substantial output in this conversation; if there is none yet, say so rather than picking a topic for him.
13
-
14
- Examples:
15
- - `/eli5` — restate what I just said
16
- - `/eli5 warum ist der Regel-Korpus voll?` — explain that, grounded in what this session measured
17
-
18
- ## Behavior
19
-
20
- 1. **Resolve the target** — last output, or `$ARGUMENTS`.
21
- 2. **Ground it** — prefer what this session already measured over recall, and name where it came from. Never measured here → say so.
22
- 3. **Restate** — consequence first (*must I act, and what if I don't?*), then the facts in the order he needs them.
23
- 4. **Check before sending** — every greppable token from the original still present; every noun the system does not contain gone.
24
-
25
- ## The limit that outranks the command
26
-
27
- **Simplifying removes words, never facts.** A dropped path, number, error code, identifier, or instruction to act is data loss, not simplification — `skills/session-start/soul.md` § "Never traded for brevity" outranks brevity here as everywhere. And no invented pictures: say what happens, never what it is "like".
28
-
29
- ## Related
30
-
31
- - `skills/eli5/SKILL.md` — the skill, in full
32
- - `.claude/rules/ask-via-tool.md` § AUQ-006 — plain words, real things
33
- - `skills/session-start/soul.md` § Register — the canonical register statement
package/commands/eval.md DELETED
@@ -1,28 +0,0 @@
1
- ---
2
- description: Run an honest session-process evaluation (Standard v1, aiat-llm-eval/1.0) — score the last completed session against the pre-registered rubric-v1 dimensions
3
- argument-hint: "[--session <id>] [--no-write] [--verify <run-id>]"
4
- ---
5
-
6
- # Eval
7
-
8
- The user wants to run a session-process evaluation. Invoke the eval skill with arguments: **$ARGUMENTS**.
9
-
10
- Scores ONE completed orchestrator session against the pre-registered **rubric-v1**
11
- check set via the deterministic engine (`scripts/eval-session.mjs`), appends a
12
- `session-eval` record to the journal (`.orchestrator/metrics/eval.jsonl`), and —
13
- when configured — renders an HTML report and overlays an advisory LLM judge.
14
- Deterministic-first; **no global score, by construction**; missing data yields an
15
- honest `cannot-determine` rather than a guess.
16
-
17
- **Usage:**
18
-
19
- - `/eval` — evaluate the last completed session (resolution cascade), append the record, render the report
20
- - `/eval --session <id>` — evaluate a specific session_id
21
- - `/eval --no-write` — evaluate + report without appending to the journal (dry-run)
22
- - `/eval --verify <run-id>` — re-score a stored run and diff for drift (the reproducibility proof; exit 1 on drift)
23
-
24
- **Seams used:** `scripts/eval-session.mjs` (deterministic CLI) · `runEvalJudge` / `mergeJudgeDimensions` (judge.mjs, opt-in) · `writeEvalReport` (report.mjs) · `appendEvalRecord` (sink.mjs) · `eval` config block · `skills/eval/rubric-v1.md` (frozen check set)
25
-
26
- Reads the `eval` block (`enabled`, `mode`, `judge`, `report`, `handle`) from
27
- Session Config. On-demand `/eval` runs regardless of `eval.enabled` — that flag
28
- gates only the automatic session-end eval phase.
@@ -1,10 +0,0 @@
1
- ---
2
- description: Extract session patterns into reusable learnings
3
- argument-hint: "[analyze|review|list|dialectic [--apply]]"
4
- ---
5
-
6
- # Evolve
7
-
8
- The user wants to extract and manage session learnings. Invoke the evolve skill with mode: **$ARGUMENTS** (if empty, default to `analyze`).
9
-
10
- Analyze session history for patterns, review existing learnings, list active intelligence, or derive USER.md/AGENT.md peer-card updates via the dialectic mode. Every learning must be confirmed by the user before persisting. Evidence before assertions.
package/commands/grill.md DELETED
@@ -1,45 +0,0 @@
1
- ---
2
- description: Stress-test a plan, design, or PRD before any build — relentless one-question-at-a-time interrogation that hunts contradictions against the code and challenges assumptions. Composable; no HARD-GATE.
3
- argument-hint: "[file-path-or-topic]"
4
- ---
5
-
6
- # Grill
7
-
8
- Invokes the `grill` skill (`skills/grill/SKILL.md`). Relentlessly interrogates a plan/design/PRD one decision at a time, grounds every question in the codebase, and surfaces contradictions before implementation. Optionally writes `docs/specs/YYYY-MM-DD-<slug>-grill.md`.
9
-
10
- ## Argument Validation
11
-
12
- The optional argument is either a file path to grill (a PRD, spec, `STATE.md`) or a topic/slug. If absent, the skill grills the plan already present in the current conversation; if there is none, it asks the user to state it first.
13
-
14
- Examples:
15
- - `/grill` — grills the plan in the current conversation context
16
- - `/grill docs/prd/2026-06-09-export.md` — grills a specific PRD file
17
- - `/grill "partial order cancellation"` — grills the named idea, slug pre-set
18
-
19
- ## Behavior
20
-
21
- 1. **Phase 0 — Target Acquisition** — resolve what's being grilled, ground it against the codebase (`CONTEXT.md`, steering docs, ADRs, relevant source), state the target back.
22
- 2. **Phase 1 — Map the Decision Tree** — lay out the dependent decisions root-to-leaf; skip what the code already settles.
23
- 3. **Phase 2 — Grill Loop** — one question per turn via `AskUserQuestion`, applying the Six Tactics (glossary conflict, sharpen fuzzy language, code contradiction, edge-case scenario, assumption audit, pre-mortem); read the repo before asking.
24
- 4. **Phase 3 — Resolved-Decisions Recap** — decisions, contradictions surfaced, open questions, assumptions audited.
25
- 5. **Phase 4 — Hand-off** — AUQ: write grill summary + `/plan feature`, summary only, hand off without a file, or done.
26
-
27
- ## No HARD-GATE
28
-
29
- Unlike `/brainstorm`, grill imposes no implementation gate — it is a composable thinking tool. It writes no code and never commits; the only write it performs is the optional summary file in Phase 4. What happens after the grill is the user's call.
30
-
31
- ## When to use vs. /brainstorm and /plan feature
32
-
33
- | Situation | Use |
34
- |-----------|-----|
35
- | A settled-feeling plan needs stress-testing before build | `/grill` |
36
- | The design is still ambiguous and needs narrowing | `/brainstorm` |
37
- | Scope is clear, need a formal PRD + issues | `/plan feature` |
38
- | Adversarial pass before formalizing | `/grill` → `/plan feature` |
39
-
40
- ## Related
41
-
42
- - `skills/grill/SKILL.md` — full skill specification
43
- - `skills/brainstorm/SKILL.md` — cooperative sibling for ambiguous designs
44
- - `skills/plan/SKILL.md` — primary hand-off target
45
- - `.claude/rules/ask-via-tool.md` — AUQ usage convention (AUQ-001..005)
@@ -1,26 +0,0 @@
1
- ---
2
- description: Manual memory consolidation — review, consolidate, and prune memory files (Dream-equivalent)
3
- argument-hint: "[--dry-run | --apply-pending]"
4
- ---
5
-
6
- # Memory Cleanup
7
-
8
- The user wants to consolidate the project's auto-memory store. Invoke the `memory-cleanup` skill.
9
-
10
- ## Flags
11
-
12
- The skill accepts two optional, mutually-exclusive flags (see PRD #502):
13
-
14
- | Flag | Behavior |
15
- |---|---|
16
- | `--dry-run` | Run Phases 1-3 read-only. Writes a complete-replacement MEMORY.md proposal (single fenced ` ```markdown ` block; topic-file changes carried as separate `### Topic-file change:` sections after it — never git-style diff hunks, see #717) to `.orchestrator/pending-dream.md` (atomic write). Prints `pending-dream written: <N> lines proposed` (or `no consolidation needed`). Exit 0. <!-- path-check: example --> |
17
- | `--apply-pending` | Reads `.orchestrator/pending-dream.md`, refuses if older than 14 days or if MEMORY.md changed since the producing `--dry-run` (#788), applies the proposal, deletes the pending file. Prints `auto-dream applied: -<X> lines, +<Y> entries`. Exit 0 on apply; exit 1 when pending file is missing (`no pending dream to apply`), stale (`pending dream is stale (>14d), re-run --dry-run`), index-drifted (`MEMORY.md changed since the producing --dry-run; re-run --dry-run.`), or unsupported-format (`auto-dream NOT applied: pending-dream.md contains git-style diff hunks this applier cannot consume. MEMORY.md left untouched, sidecar preserved. Re-run /memory-cleanup --dry-run to regenerate a complete-body proposal.`). <!-- path-check: example --> |
18
-
19
- Passing both flags is an error. Absence of both = legacy interactive 4-phase mode.
20
-
21
- Session-end Phase 3.6.5 (`scripts/lib/auto-dream.mjs`) is nudge-only (#614) — it never dispatches a subagent to write the sidecar.
22
- The only real producer of `.orchestrator/pending-dream.md` is a manual `/memory-cleanup --dry-run` run; `--apply-pending` is the operator-confirmed consumer in a later session. The sidecar file is single-writer — concurrent sessions cannot collide because the writer holds the session-lock. <!-- path-check: example -->
23
-
24
- ## Default (no flag)
25
-
26
- Run the 4-phase Dream process (Orient → Gather Signal → Consolidate → Prune & Index) against `~/.claude/projects/<encoded-cwd>/memory/`. Report files changed, `MEMORY.md` line count before/after, contradictions resolved, and any items that need manual attention.
@@ -1,121 +0,0 @@
1
- ---
2
- description: Run a parallel multi-persona domain-expert review panel against a file, directory, or output range
3
- argument-hint: "<target> [--personas <names,...>] [--mode <voting|hard-gate|summary>] [--threshold <M-of-N|all|any>] [--grounding <off|re-derive>] [--dry-run]"
4
- disable-model-invocation: false
5
- ---
6
-
7
- # Persona Panel
8
-
9
- Dispatches N personas from the per-repo `.claude/personas/` catalog in parallel (one `Agent()` call per persona), consolidates their outputs, persists a sidecar to `.orchestrator/persona-panel/`, and reports the final verdict. Invoke the `persona-panel` skill with arguments: **$ARGUMENTS**
10
-
11
- ## Argument Validation
12
-
13
- Parse `$ARGUMENTS` before doing anything else.
14
-
15
- **Positional argument (required):**
16
-
17
- - `<target>` — file path, directory, or range to review. Must be resolvable via `validatePathInsideProject` against the current project root. Relative paths are resolved from the project root. Globs are accepted (e.g., `src/app/api/*.ts`).
18
-
19
- **Recognized flags:**
20
-
21
- - `--personas <names,...>` — comma-separated subset of catalog names to include (e.g., `physicist,ai-expert`). Default: all personas discovered in `.claude/personas/`. Names are matched case-insensitively against `<name>.md` catalog files.
22
- - `--mode <voting|hard-gate|summary>` — consolidation mode. Default: `voting`.
23
- - `voting` — M-of-N quorum; deterministic. Requires `--threshold M-of-N` or defaults to `all`.
24
- - `hard-gate` — all N personas must PASS; deterministic. `--threshold all` is the default; `--threshold N-of-N` is also accepted.
25
- - `summary` — coordinator LLM-aggregate of heterogeneous outputs. Emits an explicit WARN that this mode adds one additional LLM call.
26
- - `--threshold <spec>` — quorum spec. Accepted forms: `M-of-N` where M and N are integers 1..20, `all`, or `any`. Parsed by `scripts/lib/persona-panel/threshold.mjs::parseThreshold()`. Default: `all`.
27
- - `--grounding <off|re-derive>` — Grounding-Review mode (#730 Epic H). `off` (default): personas evaluate the target as-is. `re-derive`: each persona is instructed to independently re-derive supporting sources via Read/Grep/Glob instead of trusting a "Sources" section the target may already assert, and reports them as `derived_sources`. Advisory-only in v1 — never influences `final_verdict`. See `skills/persona-panel/persona-format.md` § "Grounding Mode (optional)".
28
- - `--dry-run` — resolve catalog, print dispatch plan, do NOT call `Agent()`, do NOT write sidecar. Exit 0 on success.
29
-
30
- **Validation errors (all exit 1):**
31
-
32
- - Missing `<target>`: `missing required arg <target>`.
33
- - Unknown flag (starts with `--` but not in the list above): `unknown flag: --<name>. Valid: --personas, --mode, --threshold, --grounding, --dry-run`.
34
- - `--mode` value not in enum: `invalid --mode value: '<value>'. Valid: voting, hard-gate, summary`.
35
- - `--threshold` value fails `parseThreshold()`: echo the parser error verbatim, e.g., `invalid threshold 'foo': expected M-of-N (M,N integers 1..20), 'all', or 'any'`.
36
- - `--grounding` value not in enum: `invalid --grounding value: '<value>'. Valid: off, re-derive`.
37
- - `<target>` outside project root: `target path outside project: <path>`.
38
-
39
- If `<target>` is missing, print the usage line and exit 1 without invoking the skill.
40
-
41
- ## Behavior
42
-
43
- **Phase 1 — Catalog Discovery**
44
-
45
- The skill scans `.claude/personas/*.md` in the current repo. Each file must have YAML frontmatter with at minimum `name`, `role`, and `tier`. If `--personas` is given, only matching files are loaded; unmatched names produce a warning but do not abort (the remaining personas proceed). If zero personas are resolved after filtering, exit 1 with: `no personas resolved — check .claude/personas/ or --personas filter`.
46
-
47
- **Phase 2 — Target Resolution**
48
-
49
- `<target>` is validated via `validatePathInsideProject`. Globs are expanded; directories are passed as-is for the skill to recurse. The resolved target is attached to each persona's prompt context.
50
-
51
- **Phase 3 — Parallel Dispatch**
52
-
53
- One `Agent()` call per resolved persona. Agents run with the persona's `model` frontmatter field (default `claude-opus-4-7`). Each agent receives the persona body as its system prompt and the target file content (or directory listing) as context. Agent outputs are collected in an `outputs[]` array keyed by persona name.
54
-
55
- **Phase 4 — Consolidation**
56
-
57
- Mode determines the consolidation strategy:
58
-
59
- - `voting` — count PASS verdicts. Apply `--threshold` to determine final verdict. Dissenting personas (FAIL or UNCLEAR) are listed explicitly.
60
- - `hard-gate` — all resolved personas must return PASS. Any single FAIL or UNCLEAR produces a final verdict of FAIL. Dissenting personas are listed.
61
- - `summary` — coordinator LLM call aggregates heterogeneous outputs into a structured narrative. A WARN is emitted before dispatch: `summary mode adds one additional LLM call`.
62
-
63
- **Phase 5 — Sidecar Persist + Report**
64
-
65
- Unless `--dry-run`, a sidecar is written to `.orchestrator/persona-panel/<isoTs>-<run-id>.json` matching the schema at `agents/schemas/persona-panel-sidecar.schema.json`. The sidecar includes `run_id`, `target`, `personas_invoked[]`, `outputs[]`, and `consolidation` (mode, final-verdict, dissenting-personas, audit-reason).
66
-
67
- The command emits a summary line to stdout:
68
-
69
- ```
70
- persona-panel: <final-verdict> (<M>/<N> PASS) — sidecar: .orchestrator/persona-panel/<filename>.json
71
- Dissenting: <name1>, <name2> [omitted when none]
72
- ```
73
-
74
- ## Examples
75
-
76
- **1. Default — all catalog personas, voting mode:**
77
-
78
- ```
79
- /persona-panel src/app/api/invoices.ts
80
- ```
81
-
82
- Loads all `.claude/personas/*.md`, dispatches one agent per persona, applies voting with threshold `all`, writes sidecar.
83
-
84
- **2. Specific personas:**
85
-
86
- ```
87
- /persona-panel src/app/api/invoices.ts --personas physicist,ai-expert
88
- ```
89
-
90
- Only the `physicist` and `ai-expert` catalog entries are dispatched. Others are skipped.
91
-
92
- **3. Hard-gate mode, unanimous threshold:**
93
-
94
- ```
95
- /persona-panel notes/draft.md --mode hard-gate --threshold all
96
- ```
97
-
98
- All resolved personas must return PASS. A single FAIL produces a final FAIL verdict.
99
-
100
- **4. Dry-run — inspect dispatch plan without executing:**
101
-
102
- ```
103
- /persona-panel src/ --dry-run
104
- ```
105
-
106
- Resolves catalog and target, prints the planned dispatch list (persona names, models, target), exits 0 without calling `Agent()` or writing a sidecar.
107
-
108
- **5. Grounding-review mode — personas re-derive their own sources:**
109
-
110
- ```
111
- /persona-panel docs/design-doc.md --grounding re-derive
112
- ```
113
-
114
- Each dispatched persona is instructed to independently re-derive supporting sources via Read/Grep/Glob rather than trusting a "Sources" section already present in the input document (for example, `docs/design-doc.md`), and reports them as `derived_sources`. Advisory-only — `final_verdict` is unaffected. <!-- path-check: example -->
115
-
116
- ## Related
117
-
118
- - `skills/persona-panel/SKILL.md` — skill spec: 6 phases, catalog format, dispatch mechanics, consolidation logic, sidecar schema
119
- - `agents/schemas/persona-panel-sidecar.schema.json` — AJV Draft 2020-12 sidecar schema
120
- - Issue #458 — wave-hook integration (persona-panel as inter-wave quality gate)
121
- - Issue #460 — trend tracking across persona-panel runs
package/commands/plan.md DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- description: Plan a new project, feature, or retrospective with structured requirement gathering
3
- disable-model-invocation: true
4
- argument-hint: "[new|feature|retro]"
5
- ---
6
-
7
- # Plan
8
-
9
- You are beginning a structured planning session. The user has invoked `/plan` with mode: **$ARGUMENTS** (if empty, ask the user which mode they want: `new`, `feature`, or `retro`).
10
-
11
- **Modes:** `new` = project kickoff, `feature` = feature PRD, `retro` = retrospective.
12
-
13
- **Your job: Guide the user through structured requirement gathering and produce a complete plan document for the chosen mode.**
14
-
15
- **Invoke the plan skill.** Follow its instructions precisely. Do NOT skip any phase. Do NOT make assumptions — gather requirements interactively.
@@ -1,23 +0,0 @@
1
- ---
2
- description: Reconcile learnings into .claude/rules/ proposals — on-demand version of session-end Phase 3.6.8
3
- argument-hint: "[--dry-run]"
4
- ---
5
-
6
- # Reconcile
7
-
8
- The user wants to reconcile learnings into rule proposals. Invoke the reconcile skill with arguments: **$ARGUMENTS**.
9
-
10
- Runs the same pipeline as session-end Phase 3.6.8: filters eligible learnings from
11
- `.orchestrator/metrics/learnings.jsonl`, renders proposed `.claude/rules/<slug>.md` entries,
12
- and presents them to the operator via AUQ multiSelect (batches of 4) for approval before
13
- writing. Advisory-only — no rule is ever written without explicit operator confirmation.
14
-
15
- **Usage:**
16
-
17
- - `/reconcile` — full approval flow: engine → AUQ → write approved rules
18
- - `/reconcile --dry-run` — print proposals and rejections without writing anything or rendering the AUQ prompt
19
-
20
- **Engine seams used:** `runReconcile` (engine.mjs) · `writeApprovedRules` (writer.mjs) · `reconcile` config block · `.claude/rules/` write target
21
-
22
- Reads `reconcile.rule-expiry-days` and `reconcile.confidence-floor` from Session Config.
23
- The `reconcile.enabled` flag is NOT checked — this command always runs on-demand.
@@ -1,24 +0,0 @@
1
- ---
2
- description: Run a 9-category baseline compliance audit on the current repository
3
- argument-hint: ""
4
- ---
5
-
6
- # Repo Audit
7
-
8
- The user wants to audit the current repository against the ecosystem baseline. There are no arguments.
9
-
10
- Invoke `skills/repo-audit/SKILL.md` to perform the audit.
11
-
12
- The skill will:
13
- 1. Read Session Config to resolve `test-command`, `typecheck-command`, and `lint-command` (falls back to `pnpm test --run`, `tsgo --noEmit`, `pnpm lint`)
14
- 2. Detect Clank integration markers (`.clank/`, `clank.config.*`) — Category 8 is skipped if absent
15
- 3. Run all 9 audit categories with status: ✓ pass / ✗ fail / ⚠ warn / skipped
16
- 4. Emit a structured Markdown report to stdout
17
- 5. Write a JSON sidecar to `.orchestrator/metrics/repo-audit-<timestamp>.json`
18
-
19
- Do NOT skip any category (except Clank when not detected). Do NOT auto-fix findings — report only.
20
-
21
- Distinguish from related commands:
22
- - `/discovery` — broad quality probes, interactive triage, creates issues
23
- - `/harness-audit` — plugin installation health (is session-orchestrator installed correctly?)
24
- - `/repo-audit` — consuming-repo compliance (does this repo match the ecosystem baseline?)
@@ -1,15 +0,0 @@
1
- ---
2
- description: Guided 5-step venture-spinout / sanitized-fork runbook (copy + fresh-init + SNAPSHOT-FREEZE) — interactive, not scripted
3
- argument-hint: "[--type venture|snapshot] [--dry-run]"
4
- ---
5
-
6
- # Spinout
7
-
8
- The user wants to extract this project (or a sub-path of it) into a new standalone repo — a venture spinout or a sanitized content-snapshot fork. Invoke the `spinout` skill.
9
-
10
- ## Flags
11
-
12
- | Flag | Behavior |
13
- |---|---|
14
- | `--type venture\|snapshot` | Skips the extraction-type question in Phase 1 (`AskUserQuestion`) — still asks for destination path and sphere. |
15
- | `--dry-run` | Runs all 5 phases as a plan-print (target, sanitize checklist, copy plan, freeze-marker draft, remote plan) with no writes. |
@@ -1,27 +0,0 @@
1
- ---
2
- description: Identify unused / near-zero-use / stale skills, agents, and commands as Demote or Retire candidates (read-only; never deletes)
3
- argument-hint: "[--kind skill|agent|command] [--window-days N]"
4
- ---
5
-
6
- # Sunset Review
7
-
8
- The user wants to identify which skills, agents, and commands in the plugin surface are still in use and which are candidates to demote or retire. Optional arguments narrow the scope: `--kind` limits to one surface kind, `--window-days` overrides the default 90-day dispatch window.
9
-
10
- Invoke `skills/sunset-review/SKILL.md` to perform the review.
11
-
12
- The skill will:
13
- 1. Resolve the dispatch window (default 90 days; honour any `--window-days` override)
14
- 2. Run the read-only walker `node scripts/lib/sunset/walker.mjs --json` to combine agent-dispatch telemetry (start-events only) with static reference scanning
15
- 3. Classify every surface item into Active / Investigate / Demote / Retire, grouped for review
16
- 4. Emit a Markdown report + JSON sidecar at `.orchestrator/metrics/sunset-review-<timestamp>.{md,json}`
17
- 5. Record the run time for the quarterly cadence nudge
18
-
19
- Critical guardrails:
20
- - The walker is READ-ONLY and NEVER deletes a skill/agent/command. It surfaces candidates for human decision only.
21
- - Telemetry only spans ~18 days, so the 90-day window cannot be satisfied — every Retire verdict is downgraded to Investigate and `meta.lowConfidence` is set. Do not retire anything while low-confidence.
22
- - Draft-issue creation for candidates is a coordinator-side AskUserQuestion decision (AUQ-004) — a dispatched agent cannot file issues itself.
23
-
24
- Distinguish from related commands:
25
- - `/repo-audit` — does this repo match the ecosystem baseline? (compliance pass/fail)
26
- - `/sunset-review` — which parts of OUR surface are unused? (prune candidates)
27
- - `/harness-audit` — is session-orchestrator installed correctly? (plugin health)
@@ -1,51 +0,0 @@
1
- ---
2
- description: Grill a running web app's UX — a deterministic mechanical pass (axe, target size, overflow, journeys) followed by a screenshot-grounded interrogation of the operator.
3
- argument-hint: "[url | manifest-path]"
4
- ---
5
-
6
- # UX-Grill
7
-
8
- Invokes the `ux-grill` skill (`skills/ux-grill/SKILL.md`). Stufe 1 measures a running loopback build route-by-route and viewport-by-viewport without any model judgment, writing `findings.jsonl` plus screenshots under `.orchestrator/metrics/ux-grill/<run-id>/` <!-- path-check: example -->. Stufe 2 then grills the operator journey by journey — one question per journey finding, every claim carrying a screenshot path. The user invoked `/ux-grill` with arguments: **$ARGUMENTS**
9
-
10
- ## Argument Validation
11
-
12
- Parse `$ARGUMENTS` before anything else. Exactly one positional argument is recognised:
13
-
14
- - **An absolute `http(s)` URL** (e.g. `http://127.0.0.1:3100`) → bootstrap path. The target repo has no manifest yet; the skill asks for the env names, crawls the navigation and writes one. The URL must be loopback — anything else is refused before a browser starts.
15
- - **A file path** (ends in `.md`, or resolves to an existing file) → treat it as the manifest path, repo-relative to the target repo.
16
- - **Empty** → the manifest at `DEFAULT_MANIFEST_PATH` (`.orchestrator/ux-manifest.md` <!-- path-check: example -->). If that file does not exist, say so and name the bootstrap form `/ux-grill <url>` — do not invent a manifest from nothing.
17
- - **Anything else** → stop with: `ux-grill: argument must be a loopback URL or a manifest path (default .orchestrator/ux-manifest.md)`.
18
-
19
- Examples:
20
- - `/ux-grill` — runs against the target repo's existing manifest
21
- - `/ux-grill http://127.0.0.1:3100` — first run: AUQ for env names, crawl, write the manifest, stop with a fill-in hint
22
- - `/ux-grill .orchestrator/ux-manifest.md` — explicit manifest path
23
-
24
- ## Behavior
25
-
26
- 1. **Phase 0 — Target + Stufe 1** — resolve the argument, bootstrap or `loadManifest()`, run the mechanical pass as one coordinator-direct Bash call, then compare against the last run with the same `manifest_hash`.
27
- 2. **Phase 1 — Journey map** — understand / decide / act / recover per journey step, from the step screenshots; mechanical findings tabled per route.
28
- 3. **Phase 2 — Grill loop** — at most one `AskUserQuestion` per JOURNEY finding, option 1 `(Recommended)` with its cost, screenshot path in the description.
29
- 4. **Phase 3 — Recap** — resolved decisions, contradictions between screens (the primary output), open questions, mechanical counts including everything skipped.
30
- 5. **Phase 4 — Hand-off** — AUQ: audit dossier in the target repo, vault note, issues only, or done.
31
-
32
- ## No CI, no HARD-GATE
33
-
34
- Stufe 1 is built CI-shaped (deterministic, exit-coded, LLM-free) but is deliberately not wired into any pipeline — the PRD's dose argument. `/ux-grill` gates nothing: it writes measurement artefacts, an optional dossier and — only through `reconcile.mjs` <!-- path-check: planned #1327 --> — issues. It never commits, never pushes, never edits product code.
35
-
36
- ## When to use vs. /test and /grill
37
-
38
- | Situation | Use |
39
- |-----------|-----|
40
- | A running web app's UX and journeys need measuring and interrogating | `/ux-grill` |
41
- | A CI-shaped end-to-end run with driver + `ux-evaluator` over an existing profile | `/test` |
42
- | A plan, PRD or design needs stress-testing before any build | `/grill` |
43
- | Per-wave design drift against the design source | `design-reviewer` (SO#1300) |
44
-
45
- ## Related
46
-
47
- - `skills/ux-grill/SKILL.md` — full skill specification (phases, budgets, hand-off)
48
- - `skills/ux-grill/rubric-v2.md` — check catalogue, severity table, skip reasons
49
- - `templates/_shared/ux-manifest.template.md` — the manifest a target repo commits
50
- - `skills/test-runner/SKILL.md` — severity routing and batched AUQ triage, adopted here
51
- - `.claude/rules/ask-via-tool.md` — AUQ usage convention (AUQ-001..006)