@gobing-ai/spur 0.4.24 → 0.4.26

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 (151) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/config/config.example.yaml +7 -0
  3. package/package.json +1 -1
  4. package/plugins/sp/README.md +52 -0
  5. package/plugins/sp/agents/expert-spur.md +1 -0
  6. package/plugins/sp/agents/super-coder.md +1 -0
  7. package/plugins/sp/agents/super-planner.md +1 -0
  8. package/plugins/sp/agents/super-reviewer.md +1 -0
  9. package/plugins/sp/commands/dev-arch.md +1 -0
  10. package/plugins/sp/commands/dev-brainstorm.md +1 -0
  11. package/plugins/sp/commands/dev-changelog.md +1 -0
  12. package/plugins/sp/commands/dev-daily.md +1 -0
  13. package/plugins/sp/commands/dev-debug.md +1 -0
  14. package/plugins/sp/commands/dev-dogfood.md +1 -0
  15. package/plugins/sp/commands/dev-feature-change.md +1 -0
  16. package/plugins/sp/commands/dev-find-conflict.md +1 -0
  17. package/plugins/sp/commands/dev-find-issue.md +1 -0
  18. package/plugins/sp/commands/dev-find-next.md +1 -0
  19. package/plugins/sp/commands/dev-find-way.md +1 -0
  20. package/plugins/sp/commands/dev-fixall.md +1 -0
  21. package/plugins/sp/commands/dev-fixgha.md +1 -0
  22. package/plugins/sp/commands/dev-gitmsg.md +1 -0
  23. package/plugins/sp/commands/dev-gtd.md +1 -0
  24. package/plugins/sp/commands/dev-handover.md +1 -0
  25. package/plugins/sp/commands/dev-idea.md +1 -0
  26. package/plugins/sp/commands/dev-job-dump.md +1 -0
  27. package/plugins/sp/commands/dev-job-resume.md +1 -0
  28. package/plugins/sp/commands/dev-next.md +1 -0
  29. package/plugins/sp/commands/dev-plan.md +1 -0
  30. package/plugins/sp/commands/dev-pr-review.md +1 -0
  31. package/plugins/sp/commands/dev-refactor.md +1 -0
  32. package/plugins/sp/commands/dev-refine.md +1 -0
  33. package/plugins/sp/commands/dev-refineall.md +1 -0
  34. package/plugins/sp/commands/dev-refresh.md +1 -0
  35. package/plugins/sp/commands/dev-reverse.md +1 -0
  36. package/plugins/sp/commands/dev-review-session.md +1 -0
  37. package/plugins/sp/commands/dev-review.md +1 -0
  38. package/plugins/sp/commands/dev-run.md +1 -0
  39. package/plugins/sp/commands/dev-runall.md +1 -0
  40. package/plugins/sp/commands/dev-simplify.md +1 -0
  41. package/plugins/sp/commands/dev-unit.md +1 -0
  42. package/plugins/sp/commands/dev-verify.md +1 -0
  43. package/plugins/sp/commands/dev-verifyall.md +1 -0
  44. package/plugins/sp/commands/dev-wrap.md +1 -0
  45. package/plugins/sp/commands/dev-wrapall.md +1 -0
  46. package/plugins/sp/commands/rule-add.md +1 -0
  47. package/plugins/sp/commands/rule-refine.md +1 -0
  48. package/plugins/sp/commands/rule-scan.md +1 -0
  49. package/plugins/sp/commands/spur-init.md +1 -0
  50. package/plugins/sp/commands/workflow-add.md +1 -0
  51. package/plugins/sp/commands/workflow-refine.md +1 -0
  52. package/plugins/sp/lib/destructive-policy.ts +521 -0
  53. package/plugins/sp/plugin.json +1 -1
  54. package/plugins/sp/scripts/hooks/careful-guard.ts +5 -0
  55. package/plugins/sp/skills/brainstorm/SKILL.md +1 -0
  56. package/plugins/sp/skills/branch-workflow/SKILL.md +1 -0
  57. package/plugins/sp/skills/code-implementation/SKILL.md +1 -0
  58. package/plugins/sp/skills/code-improvement/SKILL.md +1 -0
  59. package/plugins/sp/skills/code-refactoring/SKILL.md +1 -0
  60. package/plugins/sp/skills/code-review/SKILL.md +1 -0
  61. package/plugins/sp/skills/code-simplification/SKILL.md +1 -0
  62. package/plugins/sp/skills/code-testing/SKILL.md +1 -0
  63. package/plugins/sp/skills/code-verification/SKILL.md +1 -0
  64. package/plugins/sp/skills/conflict-finding/SKILL.md +1 -0
  65. package/plugins/sp/skills/daily-summary/SKILL.md +1 -0
  66. package/plugins/sp/skills/doc-evolve/SKILL.md +1 -0
  67. package/plugins/sp/skills/dogfood-testing/SKILL.md +1 -0
  68. package/plugins/sp/skills/doubt-driven-development/SKILL.md +1 -0
  69. package/plugins/sp/skills/fleet-join/SKILL.md +1 -0
  70. package/plugins/sp/skills/functional-review/SKILL.md +1 -0
  71. package/plugins/sp/skills/history-anatomy/SKILL.md +1 -0
  72. package/plugins/sp/skills/indexed-context/SKILL.md +1 -0
  73. package/plugins/sp/skills/issue-finding/SKILL.md +1 -0
  74. package/plugins/sp/skills/next-feature/SKILL.md +1 -0
  75. package/plugins/sp/skills/next-router/SKILL.md +1 -0
  76. package/plugins/sp/skills/parallel-execution/SKILL.md +1 -0
  77. package/plugins/sp/skills/pr-reviewing/SKILL.md +1 -0
  78. package/plugins/sp/skills/redesign-web-ui/SKILL.md +1 -0
  79. package/plugins/sp/skills/reverse-engineering/SKILL.md +1 -0
  80. package/plugins/sp/skills/session-review/SKILL.md +1 -0
  81. package/plugins/sp/skills/source-driven-development/SKILL.md +1 -0
  82. package/plugins/sp/skills/sp-bot-bootstrap/SKILL.md +75 -0
  83. package/plugins/sp/skills/spec-decomposition/SKILL.md +1 -0
  84. package/plugins/sp/skills/spur-check/SKILL.md +1 -0
  85. package/plugins/sp/skills/spur-cli/SKILL.md +1 -0
  86. package/plugins/sp/skills/spur-composer/SKILL.md +1 -0
  87. package/plugins/sp/skills/spur-dev/SKILL.md +1 -0
  88. package/plugins/sp/skills/spur-doctor/SKILL.md +1 -0
  89. package/plugins/sp/skills/sys-architecture/SKILL.md +1 -0
  90. package/plugins/sp/skills/sys-debugging/SKILL.md +1 -0
  91. package/plugins/sp/skills/taste-refactoring-api/SKILL.md +1 -0
  92. package/plugins/sp/skills/taste-refactoring-architect/SKILL.md +1 -0
  93. package/plugins/sp/skills/taste-refactoring-tests/SKILL.md +1 -0
  94. package/plugins/sp/skills/taste-refactoring-ui/SKILL.md +1 -0
  95. package/plugins/sp/skills/test-driven-development/SKILL.md +1 -0
  96. package/plugins/sp/skills/wayfinder/SKILL.md +1 -0
  97. package/spur.js +2235 -1292
  98. package/web/_astro/BoardApp.BpVPF1yi.js +1 -0
  99. package/web/_astro/{BoardApp.CNBpKuB6.js → BoardApp.H0GHCpML.js} +157 -157
  100. package/web/_astro/TaskDetail.C3fD4iNx.js +1 -0
  101. package/web/_astro/{arc.CLFbvaU4.js → arc.CwmuZ1Pw.js} +1 -1
  102. package/web/_astro/{architectureDiagram-3BPJPVTR.YYrMKtrm.js → architectureDiagram-3BPJPVTR.D2r2pAtD.js} +1 -1
  103. package/web/_astro/{blockDiagram-GPEHLZMM.D-Xzu32A.js → blockDiagram-GPEHLZMM.LRgyDihu.js} +1 -1
  104. package/web/_astro/{c4Diagram-AAUBKEIU.Cv7EV8QD.js → c4Diagram-AAUBKEIU.OscV13G7.js} +1 -1
  105. package/web/_astro/channel.OpZyofHt.js +1 -0
  106. package/web/_astro/{chunk-2J33WTMH.CkAKN-fF.js → chunk-2J33WTMH.BcbENXnC.js} +1 -1
  107. package/web/_astro/{chunk-4BX2VUAB.D-xu2Tgi.js → chunk-4BX2VUAB.CcRidR01.js} +1 -1
  108. package/web/_astro/{chunk-55IACEB6.yNQibVGY.js → chunk-55IACEB6.DxAFaIIp.js} +1 -1
  109. package/web/_astro/{chunk-727SXJPM.DlVIFHHZ.js → chunk-727SXJPM.Cjvuc3en.js} +1 -1
  110. package/web/_astro/{chunk-AQP2D5EJ.C-LGFaeS.js → chunk-AQP2D5EJ.B3GSEPXo.js} +1 -1
  111. package/web/_astro/{chunk-FMBD7UC4.Df2n26zT.js → chunk-FMBD7UC4.DbpwRXpL.js} +1 -1
  112. package/web/_astro/{chunk-ND2GUHAM.CV_k83Gj.js → chunk-ND2GUHAM.CdiLgZ9z.js} +1 -1
  113. package/web/_astro/{chunk-QZHKN3VN.BQQDO3h3.js → chunk-QZHKN3VN.DT_2ovxF.js} +1 -1
  114. package/web/_astro/{classDiagram-4FO5ZUOK.DkSMdA84.js → classDiagram-4FO5ZUOK.B4Y_Byb0.js} +1 -1
  115. package/web/_astro/{classDiagram-v2-Q7XG4LA2.DkSMdA84.js → classDiagram-v2-Q7XG4LA2.B4Y_Byb0.js} +1 -1
  116. package/web/_astro/{cose-bilkent-S5V4N54A.CCN7GwAZ.js → cose-bilkent-S5V4N54A.0UOSbCRW.js} +1 -1
  117. package/web/_astro/{cynefin-OW5HDTMX.CqQCttkM.js → cynefin-OW5HDTMX.iaVw7KUy.js} +1 -1
  118. package/web/_astro/{dagre-BM42HDAG.CCn6iftc.js → dagre-BM42HDAG.DzBLfYbl.js} +1 -1
  119. package/web/_astro/{diagram-2AECGRRQ.DImUVZK-.js → diagram-2AECGRRQ.CtoO_RXO.js} +1 -1
  120. package/web/_astro/{diagram-5GNKFQAL.BYNywZwV.js → diagram-5GNKFQAL.C1ah--0o.js} +1 -1
  121. package/web/_astro/{diagram-KO2AKTUF.LJZ9DjsJ.js → diagram-KO2AKTUF.DAawwAoM.js} +1 -1
  122. package/web/_astro/{diagram-LMA3HP47.CJ3YpVED.js → diagram-LMA3HP47.kC7Zg0ru.js} +1 -1
  123. package/web/_astro/{diagram-OG6HWLK6.CnVtq5_j.js → diagram-OG6HWLK6.B3dSXJ9m.js} +1 -1
  124. package/web/_astro/{erDiagram-TEJ5UH35.SdmuzZwT.js → erDiagram-TEJ5UH35.cVJXYJkv.js} +1 -1
  125. package/web/_astro/{flowDiagram-I6XJVG4X.C9V-B-nO.js → flowDiagram-I6XJVG4X.CwD6KgFD.js} +1 -1
  126. package/web/_astro/{ganttDiagram-6RSMTGT7.DT5v7SL5.js → ganttDiagram-6RSMTGT7.UB88xr_u.js} +1 -1
  127. package/web/_astro/{gitGraphDiagram-PVQCEYII.B3qURYBL.js → gitGraphDiagram-PVQCEYII.C4B3FNOY.js} +1 -1
  128. package/web/_astro/index.CKtaGArK.css +1 -0
  129. package/web/_astro/{infoDiagram-5YYISTIA.CHO0xT8l.js → infoDiagram-5YYISTIA.6QC564C4.js} +1 -1
  130. package/web/_astro/{ishikawaDiagram-YF4QCWOH.buALAOGh.js → ishikawaDiagram-YF4QCWOH.sQBtM0gc.js} +1 -1
  131. package/web/_astro/{journeyDiagram-JHISSGLW.DvKuIdbX.js → journeyDiagram-JHISSGLW.Dslglgu2.js} +1 -1
  132. package/web/_astro/{kanban-definition-UN3LZRKU.Dvoi9jdN.js → kanban-definition-UN3LZRKU.CPKaPyzi.js} +1 -1
  133. package/web/_astro/{linear.EsEfz8Ex.js → linear.DNHY6BCF.js} +1 -1
  134. package/web/_astro/{mermaid.core.Vk3ryVC7.js → mermaid.core.VoW0rvGv.js} +4 -4
  135. package/web/_astro/{mindmap-definition-RKZ34NQL.DG1pkymq.js → mindmap-definition-RKZ34NQL.jYZ-jCh7.js} +1 -1
  136. package/web/_astro/{pieDiagram-4H26LBE5.DAUmIdd6.js → pieDiagram-4H26LBE5.DQ0fapSh.js} +1 -1
  137. package/web/_astro/{quadrantDiagram-W4KKPZXB.Du3QUozl.js → quadrantDiagram-W4KKPZXB.CWF406ut.js} +1 -1
  138. package/web/_astro/{requirementDiagram-4Y6WPE33.neRi5GrQ.js → requirementDiagram-4Y6WPE33.BmUiiY0p.js} +1 -1
  139. package/web/_astro/{sankeyDiagram-5OEKKPKP.CMUtxA70.js → sankeyDiagram-5OEKKPKP.CzUeGGUK.js} +1 -1
  140. package/web/_astro/{sequenceDiagram-3UESZ5HK.CfYFLmYH.js → sequenceDiagram-3UESZ5HK.DKvkUeEk.js} +1 -1
  141. package/web/_astro/{stateDiagram-AJRCARHV.Bn4dmAad.js → stateDiagram-AJRCARHV.ByedXnFB.js} +1 -1
  142. package/web/_astro/{stateDiagram-v2-BHNVJYJU.BMNezvp-.js → stateDiagram-v2-BHNVJYJU.Bx7wyAlv.js} +1 -1
  143. package/web/_astro/{timeline-definition-PNZ67QCA.ByaDwsBX.js → timeline-definition-PNZ67QCA.Chzu_dUX.js} +1 -1
  144. package/web/_astro/{vennDiagram-CIIHVFJN.CUYU1Mc9.js → vennDiagram-CIIHVFJN.PuxG68DI.js} +1 -1
  145. package/web/_astro/{wardleyDiagram-YWT4CUSO.DpZZeJr2.js → wardleyDiagram-YWT4CUSO.C9ZKxfsC.js} +1 -1
  146. package/web/_astro/{xychartDiagram-2RQKCTM6.CWwI33U0.js → xychartDiagram-2RQKCTM6.B7qR-3HU.js} +1 -1
  147. package/web/index.html +2 -2
  148. package/web/_astro/BoardApp.DVWLxHcV.js +0 -1
  149. package/web/_astro/TaskDetail.BY6jO_3P.js +0 -1
  150. package/web/_astro/channel.DzHZuqj0.js +0 -1
  151. package/web/_astro/index.C8LjH5ri.css +0 -1
@@ -7,7 +7,7 @@
7
7
  "plugins": [
8
8
  {
9
9
  "name": "sp",
10
- "version": "0.4.24",
10
+ "version": "0.4.26",
11
11
  "source": "./plugins/sp"
12
12
  }
13
13
  ]
@@ -240,6 +240,13 @@ redaction:
240
240
  # # none — only the stack-neutral `spur rule run` presets are bound; declare the
241
241
  # # rest in `actions` (see below) or they stay unbound.
242
242
  # preset: bun
243
+ # # Fresh `spur self init` detects root Bun first, then matching Make targets, exact declared
244
+ # # JavaScript scripts and Cargo/Go defaults under preset: none. Python needs explicit bindings.
245
+ # # A root manifest wins; otherwise one immediate child may be selected. Multiple roots stay
246
+ # # unbound with paths listed. Child commands prefix a shell-quoted cd; no cwd field is added.
247
+ # # Cargo/Go defaults require the tool on PATH; declared Make/JS proposals warn when unavailable.
248
+ # # Comments explain provenance, selected directory and unbound actions; re-init preserves config
249
+ # # unless --force is explicitly selected. Inspect with `spur self exec --list --json`.
243
250
  # # action name -> one shell command, or a list of action names (composite, run in order,
244
251
  # # fail-fast). A declared entry replaces the preset binding whole. Reserved names: build, dev,
245
252
  # # clean, format, autofix, lint, typecheck, test, test-full, test-heavy, rules-pre, rules-post,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobing-ai/spur",
3
- "version": "0.4.24",
3
+ "version": "0.4.26",
4
4
  "description": "Spur CLI — local-first harness for mainstream coding agents: constraint checking, workflow orchestration, agent health, and history analytics. Bun-native; exposes the `spur` command.",
5
5
  "keywords": [
6
6
  "spur",
@@ -333,6 +333,7 @@ surface or run one workflow. All skills target the same five core platforms: `cl
333
333
  | `functional-review` | 1.0 | Requirements-traceability assessment — per-requirement verdicts with file:line evidence that the implementation satisfies ALL task requirements; pipeline Phase 8b gate |
334
334
  | `doubt-driven-development` | 1.0 | In-flight adversarial review of a non-trivial decision before committing it — hand artifact + contract to a fresh-context skeptic, reconcile, stop at 3 cycles |
335
335
  | `source-driven-development` | 1.0 | Source-first verification — verify framework/API/library facts against primary sources before generating code; separates "the API exists" from "used correctly under its contract" |
336
+ | `sp-bot-bootstrap` | 1.0 | Grok Bot toolchain bootstrap — POSIX `sh` check/setup pair installing `bun` plus the three sp CLIs; idempotent after a computer recreate; Team Setup Script variant (1292, feature I14 R4) |
336
337
  | `dogfood-testing` | 1.2 | Dogfood backbone — drives a testee end-to-end with bounded auto-fix, a live monitor ledger, and a structured report; @1.2 adds footer-mandatory reports, 7-check finalize-or-abort, and the `validate-report` CLI; backs `/sp:dev-dogfood` |
337
338
  | `next-router` | 1.0 | Status→command router — resolve a task WBS or feature frontier, TABLE A/B/C lookup with light-gate short-circuit, single dispatch or HITL stop; backs `/sp:dev-next` |
338
339
  | `parallel-execution` | 1.0 | Fan-out decision framework — when to parallelize, four proven fan-out patterns, and result synthesis; backs `/sp:dev-runall --mode parallel\|auto` |
@@ -709,6 +710,57 @@ pipeline owns one lifecycle phase:
709
710
  > (zero runs, example-only — `docs/design/workflow-catalogue-refactor.md` §10); the pattern lives on
710
711
  > as a test fixture (`packages/app/tests/services/fixtures/decision-routing-example.yaml`).
711
712
 
713
+ #### Runtime `requires` metadata (task 1291, superskill 0162)
714
+
715
+ Every sp entity (`skills/*/SKILL.md`, `commands/*.md`, `agents/*.md`) declares a `requires:`
716
+ frontmatter list in the superskill 0162 grammar — a sorted YAML flow list of tokens:
717
+
718
+ - `local-fs` — the entity acts on local project files. All 88 entities require it.
719
+ - `cli:<tool>` — a tracked CLI the entity's body invokes directly (`spur`, `superskill`, `kk`,
720
+ `gh`) or inherits through a dispatched `Skill(skill="sp:<id>…")` skill.
721
+ - `hooks` / `subagents` — reserved tokens; no sp entity currently declares either.
722
+
723
+ The declared set intentionally equals the union of direct invocations and the transitive `requires`
724
+ of every dispatch target, so the set stays self-maintaining:
725
+ `plugins/sp/tests/runtime-requires.test.ts` derives the expected set from each entity body,
726
+ compares it to the annotation (missing tokens fail on undeclared use, direct or inherited; extra
727
+ stale tokens fail too), and pins the group snapshot from the 2026-11-04 scan: 70 entities
728
+ `[cli:spur, local-fs]`, 2 `[cli:gh, local-fs]`, 2 `[cli:gh, cli:spur, local-fs]`, 14 `[local-fs]`.
729
+ Consumers (e.g. `superskill skill validate`) read the same line, declaring what a skill needs
730
+ before it runs instead of discovering it at invocation time.
731
+
732
+ #### Grok Bot (task 1291, feature I14 R4)
733
+
734
+ The `requires` annotations let a Grok Bot (superskill 0162) decide what it can run before it runs it.
735
+ The four tokens mean, in Bot context:
736
+
737
+ - `local-fs` — the entity needs the local project files (corpus, docs, git checkout). A Bot only has
738
+ these after a repo is cloned; the operator opts in with `--bot-provides local-fs`.
739
+ - `cli:spur` / `cli:superskill` / `cli:kk` — the tracked, non-baseline CLIs the entity may invoke.
740
+ Until 1292's `sp-bot-bootstrap` skill installs them on the Bot, these are unmet.
741
+ - `cli:gh` — `gh` CLI use; provide it only when `gh` is authenticated on the Bot.
742
+ - `hooks` / `subagents` — reserved tokens; no sp entity declares either today.
743
+
744
+ **sp hooks do not run on a Bot.** The hook tools that ship in `hooks/` (task-write guard, careful
745
+ guard, context token ledger, fleet Stop delivery) are harness extensions; a Grok Bot session has no
746
+ hook runtime, so those protections are not claimed on a Bot. Follow the skills' explicit gate
747
+ instructions and the CLI validation instead.
748
+
749
+ **With defaults every sp entity is excluded.** A Bot that meets none of the declared requirements
750
+ installs nothing; an operator opts an entity set in explicitly with `--bot-provides`.
751
+
752
+ **Bootstrap first (1292).** For a fresh Bot computer, follow the `sp-bot-bootstrap` skill —
753
+ check, then setup only on a nonzero exit, then check again — before installing the plugin.
754
+
755
+ **Recommended install after 1292's bootstrap** (follow the `sp-bot-bootstrap` skill first, which
756
+ installs bun plus `spur`, `superskill` and `kk`), then:
757
+
758
+ ```
759
+ superskill install sp --targets grok-bot --bot-provides cli:spur --bot-provides local-fs
760
+ ```
761
+
762
+ plus `--bot-provides cli:gh` when `gh` is available on the Bot.
763
+
712
764
  ### Lifecycle operations
713
765
 
714
766
  All planning entities (tasks and features) share a common lifecycle, managed by the `spur` CLI:
@@ -9,6 +9,7 @@ description: |-
9
9
  assistant: "Delegating to sp:expert-spur — loads the task reference, resolves the set, then applies and checks each transition."
10
10
  <commentary>A multi-task sweep needs isolated sequencing and between-operation judgment.</commentary>
11
11
  </example>
12
+ requires: [cli:spur, local-fs]
12
13
  tools: [Read, Grep, Glob, Bash, Skill]
13
14
  model: inherit
14
15
  color: green
@@ -9,6 +9,7 @@ description: |
9
9
  assistant: "Delegating to sp:super-coder — dispatches sp:code-implementation to write the code against the task's requirements and AC."
10
10
  <commentary>A single task's implementation is the build agent's core unit of work.</commentary>
11
11
  </example>
12
+ requires: [cli:spur, local-fs]
12
13
  tools: [Read, Grep, Glob, Bash, Skill]
13
14
  model: inherit
14
15
  color: blue
@@ -9,6 +9,7 @@ description: |
9
9
  assistant: "Delegating to sp:super-planner — resolves feature:A1, topo-sorts by dependencies, runs each through task-pipeline.yaml, emits a report."
10
10
  <commentary>A batch needs between-runs judgment: set resolution, dependency ordering, failure policy.</commentary>
11
11
  </example>
12
+ requires: [cli:spur, local-fs]
12
13
  tools: [Read, Grep, Glob, Bash, Skill]
13
14
  model: inherit
14
15
  color: green
@@ -16,6 +16,7 @@ description: |
16
16
  assistant: "Delegating to sp:super-reviewer — pipeline Phase 7 review of task 0042's diff."
17
17
  <commentary>Pipeline review step.</commentary>
18
18
  </example>
19
+ requires: [cli:spur, local-fs]
19
20
  tools: [Read, Grep, Glob, Bash, Skill]
20
21
  model: inherit
21
22
  color: crimson
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Survey a codebase (or module tree) for shallow modules and deepening opportunities — emit a ranked MARKDOWN candidate report that feeds the planning half; never auto-refactors
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "[<module-path>] [--scope <all|path>] [--agent <inline|auto|name>] [--json]"
5
6
  allowed-tools: ["Bash", "Read", "Grep", "Glob", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Interactive solution design — heuristic discovery interview followed by structured ideation with trade-offs and confidence scoring
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "<topic> [--depth <basic|detailed|comprehensive>] [--options <n>] [--agent <inline|auto|name>] [--skip-discovery] [--task [<feature-id>]] [--feature [<parent-id>]] [--next]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Generate changelog from git commits
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "[<file>] [--since <tag|commit>] [--until <tag|commit>] [--version <version>]"
5
6
  allowed-tools: ["Bash", "Read", "Edit"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Generate a daily summary report from agent usage data, git history, and notes"
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "[--date <YYYY-MM-DD>] [--dry-run] [--output <path>] [--no-git] [--no-ccusage]"
5
6
  allowed-tools: ["Bash", "Read"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Systematic debugging protocol — reproduce, isolate, diagnose root cause, apply minimal fix, and verify with regression tests"
3
+ requires: [cli:spur, local-fs]
3
4
  role: coder
4
5
  argument-hint: "\"<symptom | failing command>\" [--scope <path>] [--task [<wbs>]] [--agent <inline|auto|name>]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Dogfood an agent skill/command/CLI — drive it end-to-end with bounded auto-fix, self-monitor, and emit a comprehensive report
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "<testee> [--agent <inline|auto|name>] [--max-retry <n>] [--save] [--task] [--chain-follow] [--full]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Grep", "Glob", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Restructure the feature tree from a mapping file — dry-run then apply via spur feature move / task feature_id edges / root docs/*.md reference rewrites (CLI-gated; no raw Write on docs/features or docs/tasks). Triggers: feature restructure, feature tree move, reparent features, apply mapping file"
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "[--map <path>] [--dry-run] [--apply] [--limit <old-id>] [--wave <1|2|3|all>] [--yes]"
5
6
  allowed-tools: ["Bash", "Read", "AskUserQuestion", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Authority-aware semantic audit across source, task files, feature files, and project authority files — discover conflicts, resolve claim-specific authority, collect reproducible evidence, and route confirmed repairs through owner surfaces. Triggers: find conflict, conflict audit, semantic conflict, authority mismatch, stale projection."
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[--tasks <selector> | --feature <id>[,<id>] | --scope <path>[,<path>]] [--pillar <source|tasks|features|authority|all>] [--mode <adaptive|full>] [--resolve] [--auto] [--agent <inline|auto|name>] [--json]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Grep", "Glob", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Generate the daily or ad-hoc history-anatomy diagnostic report over already-imported history: the twelve-section report contract, closed finding taxonomy, cache branch, bounded correction, and atomic publication. Triggers: find historical issues, post-mortem, performance analysis, history-anatomy, run the daily report, ad-hoc diagnosis"
3
+ requires: [local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[<focus>] [--mode <daily|ad-hoc>] [--date <YYYY-MM-DD>] [--since <RFC3339>] [--until <RFC3339>] [--recompute] [--agent <auto|name>] [--output <path>]"
5
6
  allowed-tools: ["Bash", "Read", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Prompt-first feature frontier prioritizer — answers 'which feature should we work on now?' with a ranked, evidence-carrying frontier, and emits rank-distorting tree defects as proposals /sp:dev-feature-change consumes. Triggers: find next, which feature, feature ranking, frontier priority, what should I work on."
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "[--task [<feature-id>]] [--agent <inline|auto|name>] [--auto] [--json]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Grep", "Glob", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Wayfinder — chart a multi-session investigation map for a foggy destination, or resolve one map ticket, always inside an isolated git worktree + branch
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "<idea> | <feature-id> [<wbs>] [--agent <inline|auto|name>] [--auto] [--worktree [<name>]] [--wrap]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Fix all lint, type, and test errors systematically across the working tree
3
+ requires: [local-fs]
3
4
  role: coder
4
5
  argument-hint: "[<validation-command>] [--max-retry <n>] [--scope <path>] [--gate-log <path>] [--findings <anchors>]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Grep", "Glob"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Find and fix failing GitHub Actions runs — gh fetch → diagnose → root-cause fix → commit → push → re-verify until green
3
+ requires: [cli:gh, local-fs]
3
4
  role: coder
4
5
  argument-hint: "[<context>] [--max-retry <n>] [--no-push]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Grep", "Glob"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Generate conventional commit message(s) from the current change set via one bounded gather call, optionally commit
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "[--commit] [--squash] [--all] [--scope <path>] [--check <cmd>]"
5
6
  allowed-tools: ["Bash", "Read"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Get things done — quality gate → fix → commit → push → gh verify in one flow (optional act CI simulation via --act)
3
+ requires: [cli:gh, local-fs]
3
4
  role: coder
4
5
  argument-hint: "[<quality-gate-command>] [--dry-run] [--act] [--no-push] [--no-verify] [--scope <path>] [--max-retry <n>]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Grep", "Glob"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Generate a structured handover document when blocked — captures goal, progress, blocker, rejected approaches, and next steps
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "\"<blocker description>\""
5
6
  allowed-tools: ["Bash", "Read", "Write"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Turn a vague idea into a feature with AC and a decomposed task batch — discovery, idea-eval, feature-create, AC, system-design, decompose, batch-create (Design by default), handoff
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "\"<idea>\" | --from-file <path> [--skip-design] [--agent <inline|auto|name>] [--auto]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Dump remaining work to a Markdown handoff file
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "--file <path>"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Resume remaining work from a Markdown handoff file
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "--file <path>"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Status-aware router — pick and run the next best /sp:dev-* step for a task or feature frontier
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "[<wbs|feature-id>] [--dry-run] [--once] [--auto] [--agent <inline|auto|name>] [--full]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Plan a feature from a description — intake → feature create → AC generation → decomposition → batch-create (Design by default)
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "\"<description>\" [--feature <id>] [--parent <feature-id>] [--skip-design] [--agent <inline|auto|name>] [--auto]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Local-first PR review — status, a local branch-diff review, and validated fixes; --codex opts into the GitHub Codex review spine."
3
+ requires: [cli:gh, cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[status|review|fix] [--codex] [--force] [--no-wait] [--base <branch>] [--agent <inline|auto|name>] [<focus>]"
5
6
  allowed-tools: ["Bash", "Read", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Lens-routed refactoring with a preservation contract — taste lenses classify findings against the shared schema; cutting/breaking changes pause for operator approval
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[<description>] [--scope <path>] [--focus <api|architect|tests|ui|auto>] [--fix <none|blockers-first|all>] [--check <cmd>] [--agent <inline|auto|name>] [--auto]"
5
6
  allowed-tools: ["Bash", "Read", "Edit", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Refine or re-audit a task — fill missing sections via Q&A, or with --depth ready verify existing claims and fixes against the tree, correct them, and promote to todo
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "<wbs> [--focus <mode>] [--description <text>] [--depth <standard|ready>] [--agent <inline|auto|name>] [--auto] [--next]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Refine a batch of tasks via structured Q&A — resolve a set (feature or selector), refine each in dependency-correct order, emit a batch report; --depth ready audits, corrects and promotes each task
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "--feature <id> | --tasks <selector> [--focus <mode>] [--description <text>] [--depth <standard|ready>] [--agent <inline|auto|name>] [--auto] [--keep-going] [--status <s>] [--json] [--worktree [<name>]]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Refresh feature status by feature ID, task WBS, or batch sweep via spur feature sync
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "[<feature-id|wbs>] [--all] [--auto] [--agent <inline|auto|name>]"
5
6
  allowed-tools: ["Bash", "Read", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Reverse engineer a codebase with selectable depth, focus, and output format
3
+ requires: [cli:spur, local-fs]
3
4
  role: coder
4
5
  argument-hint: "[<path>] [--mode <briefing|structure|architecture|design|full>] [--focus <all|stack|dependencies|data|flows|api|security|quality|performance>] [--format <markdown|json|both>] [--output <file>] [--agent <inline|auto|name>]"
5
6
  allowed-tools: ["Read", "Write", "Edit", "Grep", "Glob", "Bash", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Review the active coding-agent session immediately: summarize outcomes, distinguish resolved and open issues with evidence, and propose bounded improvements. With --fix auto (alias --triage): apply pure-doc / one-to-two-line fixes inline, then file remaining findings as one or more implement-ready tasks. With --fix all: fix every actionable finding inline and file no task. Triggers: review this session, session wrap-up, immediate retrospective, what happened, what was resolved, triage findings"
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[<focus>] [--fix <none|auto|all>] [--triage]"
5
6
  allowed-tools: ["Bash", "Read", "Grep", "Glob", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: "Review code for a task set or paths — multi-dimensional review across functional traceability, SECUA quality, and architectural depth. With --triage: fix small findings directly, then file the rest as implement-ready tasks. Triggers: \"review this\", \"check the code\", \"SECUA review\", \"dev review\", \"audit this\", \"triage review findings\"."
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[--tasks <selector> | --feature <id>[,<id>] | --scope <path>[,<path>]] [--agent <inline|auto|name>] [--focus <dims>] [--triage] [--worktree [<name>]] [--auto]"
5
6
  allowed-tools: ["Bash", "Read", "Skill", "Edit", "Write"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Run a task — full pipeline (precheck→implement→test→review→approve→verify→record→done) or single-step (implement)
3
+ requires: [cli:spur, local-fs]
3
4
  role: coder
4
5
  argument-hint: "<wbs> [--mode <full|implement>] [--agent <inline|auto|name>] [--auto] [--next] [--wrap] [--continue] [--worktree [<name>]] [--no-summary]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Run a batch of tasks through their pipelines in dependency-correct order — resolve a set, topo-sort, run each via task-pipeline.yaml, emit a batch report
3
+ requires: [cli:spur, local-fs]
3
4
  role: planner
4
5
  argument-hint: "--tasks <selector> [--feature <id>] [--mode <sequential|parallel|auto>] [--concurrency <n>] [--keep-going] [--auto] [--agent <inline|auto|name>] [--json] [--wrap] [--next] [--continue] [--worktree [<name>]] [--no-summary] [--defer-gate]"
5
6
  allowed-tools: ["Bash", "Read", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Simplify code for clarity without changing behavior — reduce complexity in recent changes (or a given scope), preserving behavior exactly
3
+ requires: [local-fs]
3
4
  role: coder
4
5
  argument-hint: "[<path-or-scope>] [--scope <recent|all|path>] [--check <cmd>] [--agent <inline|auto|name>] [--auto]"
5
6
  allowed-tools: ["Bash", "Read", "Edit", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Generate or extend tests until the unit target is met
3
+ requires: [local-fs]
3
4
  role: coder
4
5
  argument-hint: "<target> [--coverage <n>] [--agent <inline|auto|name>] [--auto]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Edit", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Verify a task against its requirements and Acceptance Criteria — traceability check producing a PASS/PARTIAL/FAIL verdict with evidence
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "<wbs> [--agent <inline|auto|name>] [--fix <none|blockers-first|all>] [--focus <lens>] [--bdd] [--auto] [--force] [--next] [--skip-shippable]"
5
6
  allowed-tools: ["Bash", "Read", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Verify a batch of tasks against their requirements and Acceptance Criteria — batch traceability check producing per-task verdicts and a summary report
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "--tasks <selector> [--feature <id>] [--agent <inline|auto|name>] [--fix <none|blockers-first|all>] [--focus <lens>] [--bdd] [--auto] [--force] [--next] [--json] [--skip-shippable] [--worktree [<name>]]"
5
6
  allowed-tools: ["Bash", "Read", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Wrap up a single completed task — learnings, metrics, doc-sync, optional branch cleanup
3
+ requires: [cli:spur, local-fs]
3
4
  role: coder
4
5
  argument-hint: "<wbs> [--agent <inline|auto|name>] [--auto] [--merge] [--dry-run]"
5
6
  allowed-tools: ["Bash", "Read", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Wrap up a batch of completed tasks — learnings, metrics, doc-sync, optional branch cleanup
3
+ requires: [cli:spur, local-fs]
3
4
  role: coder
4
5
  argument-hint: "[--since <iso-date>] [--feature <id>] [--status <s>] [--agent <inline|auto|name>] [--auto] [--merge] [--dry-run]"
5
6
  allowed-tools: ["Bash", "Read", "AskUserQuestion"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Author a validated, smoke-tested constraint rule
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "\"<description>\" [--file <path>] [--preset <target>]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Refine a constraint rule or preset, then re-verify it
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "<rule-file-or-preset> [--intent \"<goal>\"] [--severity <sev>] [--scope <glob>] [--exempt <path>] [--disable <id>] [--override <id>] [--dry-run]"
5
6
  allowed-tools: ["Bash", "Read", "Edit", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Discover recurring anti-patterns worth codifying as rules
3
+ requires: [cli:spur, local-fs]
3
4
  role: reviewer
4
5
  argument-hint: "[<path-or-glob>]"
5
6
  allowed-tools: ["Bash", "Read", "Grep", "Glob", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Initialize a new Spur project — scaffold config + docs, then customize for this project's stack and scope
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "[--name <name>] [--minimal] [--force]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Author a validated, dry-run-verified workflow in the right execution mode
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "\"<description>\" [--kind <state-machine|transition-flow>] [--file <path>]"
5
6
  allowed-tools: ["Bash", "Read", "Write", "Skill"]
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Refine an existing workflow, then re-validate and re-dry-run it
3
+ requires: [cli:spur, local-fs]
3
4
  role: scribe
4
5
  argument-hint: "<workflow-file> [--intent \"<goal>\"] [--dry-run]"
5
6
  allowed-tools: ["Bash", "Read", "Edit", "Skill"]