@gobing-ai/spur 0.3.40 → 0.3.42
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.
- package/.claude-plugin/marketplace.json +15 -0
- package/README.md +15 -1
- package/config/templates/AGENTS.md +5 -3
- package/config/workflows/task-pipeline.yaml +103 -12
- package/package.json +15 -12
- package/plugins/README.md +655 -0
- package/plugins/sp/README.md +621 -0
- package/plugins/sp/agents/expert-spur.md +109 -0
- package/plugins/sp/agents/super-coder.md +126 -0
- package/plugins/sp/agents/super-planner.md +283 -0
- package/plugins/sp/agents/super-reviewer.md +154 -0
- package/plugins/sp/commands/dev-arch.md +30 -0
- package/plugins/sp/commands/dev-brainstorm.md +40 -0
- package/plugins/sp/commands/dev-changelog.md +28 -0
- package/plugins/sp/commands/dev-daily.md +29 -0
- package/plugins/sp/commands/dev-debug.md +29 -0
- package/plugins/sp/commands/dev-dogfood.md +33 -0
- package/plugins/sp/commands/dev-featurechange.md +130 -0
- package/plugins/sp/commands/dev-find-conflict.md +51 -0
- package/plugins/sp/commands/dev-find-issue.md +76 -0
- package/plugins/sp/commands/dev-find-next.md +60 -0
- package/plugins/sp/commands/dev-fixall.md +33 -0
- package/plugins/sp/commands/dev-gitmsg.md +28 -0
- package/plugins/sp/commands/dev-gtd.md +97 -0
- package/plugins/sp/commands/dev-handover.md +26 -0
- package/plugins/sp/commands/dev-idea.md +50 -0
- package/plugins/sp/commands/dev-next.md +31 -0
- package/plugins/sp/commands/dev-parallel.md +30 -0
- package/plugins/sp/commands/dev-plan.md +46 -0
- package/plugins/sp/commands/dev-refine.md +48 -0
- package/plugins/sp/commands/dev-refineall.md +65 -0
- package/plugins/sp/commands/dev-refresh.md +32 -0
- package/plugins/sp/commands/dev-reverse.md +32 -0
- package/plugins/sp/commands/dev-review.md +31 -0
- package/plugins/sp/commands/dev-run.md +63 -0
- package/plugins/sp/commands/dev-runall.md +80 -0
- package/plugins/sp/commands/dev-simplify.md +39 -0
- package/plugins/sp/commands/dev-unit.md +29 -0
- package/plugins/sp/commands/dev-verify.md +48 -0
- package/plugins/sp/commands/dev-verifyall.md +72 -0
- package/plugins/sp/commands/dev-wrap.md +30 -0
- package/plugins/sp/commands/dev-wrapall.md +33 -0
- package/plugins/sp/commands/rule-add.md +18 -0
- package/plugins/sp/commands/rule-refine.md +18 -0
- package/plugins/sp/commands/rule-scan.md +18 -0
- package/plugins/sp/commands/spur-init.md +22 -0
- package/plugins/sp/commands/workflow-add.md +18 -0
- package/plugins/sp/commands/workflow-refine.md +18 -0
- package/plugins/sp/hooks/agent-hint.ts +60 -0
- package/plugins/sp/hooks/careful-guard.ts +147 -0
- package/plugins/sp/hooks/context-post-tool.ts +325 -0
- package/plugins/sp/hooks/context-session-start.ts +182 -0
- package/plugins/sp/hooks/context-session-stop.ts +95 -0
- package/plugins/sp/hooks/hooks.json +51 -0
- package/plugins/sp/hooks/pi/guard-extension.ts +341 -0
- package/plugins/sp/hooks/task-write-guard.ts +84 -0
- package/plugins/sp/plugin.json +8 -0
- package/plugins/sp/scripts/batch-preflight.ts +204 -0
- package/plugins/sp/scripts/daily-summary/daily-summary.ts +606 -0
- package/plugins/sp/scripts/daily-summary/logger.ts +28 -0
- package/plugins/sp/scripts/dogfood-testing/detect-pipeline-driving.ts +363 -0
- package/plugins/sp/scripts/dogfood-testing/validate-report.ts +168 -0
- package/plugins/sp/scripts/feature-sync-bounded.ts +451 -0
- package/plugins/sp/scripts/stage-registry-adapter.ts +1341 -0
- package/plugins/sp/scripts/task-size-precheck.ts +202 -0
- package/plugins/sp/scripts/validate-commands.ts +651 -0
- package/plugins/sp/scripts/validate-flag-contracts.ts +875 -0
- package/plugins/sp/skills/brainstorm/SKILL.md +361 -0
- package/plugins/sp/skills/brainstorm/agents/openai.yaml +14 -0
- package/plugins/sp/skills/brainstorm/examples/ideation-example.md +209 -0
- package/plugins/sp/skills/brainstorm/metadata.openclaw +7 -0
- package/plugins/sp/skills/brainstorm/references/grilling-interview.md +68 -0
- package/plugins/sp/skills/brainstorm/references/workflows.md +255 -0
- package/plugins/sp/skills/branch-workflow/SKILL.md +109 -0
- package/plugins/sp/skills/branch-workflow/references/branch-lifecycle.md +69 -0
- package/plugins/sp/skills/branch-workflow/references/worktree-patterns.md +100 -0
- package/plugins/sp/skills/code-implementation/SKILL.md +176 -0
- package/plugins/sp/skills/code-implementation/references/debugging.md +64 -0
- package/plugins/sp/skills/code-implementation/references/implementation-patterns.md +113 -0
- package/plugins/sp/skills/code-improvement/SKILL.md +231 -0
- package/plugins/sp/skills/code-improvement/references/deepening-signals.md +205 -0
- package/plugins/sp/skills/code-review/SKILL.md +112 -0
- package/plugins/sp/skills/code-review/references/receiving-code-review.md +70 -0
- package/plugins/sp/skills/code-review/references/review-lenses.md +117 -0
- package/plugins/sp/skills/code-review/references/self-review-checklist.md +53 -0
- package/plugins/sp/skills/code-review/references/verification-before-completion.md +68 -0
- package/plugins/sp/skills/code-simplification/SKILL.md +225 -0
- package/plugins/sp/skills/code-testing/SKILL.md +108 -0
- package/plugins/sp/skills/code-testing/references/stacks/bun-ts.md +165 -0
- package/plugins/sp/skills/code-testing/references/stacks/go.md +88 -0
- package/plugins/sp/skills/code-testing/references/stacks/python.md +117 -0
- package/plugins/sp/skills/code-testing/references/test-loop-breaker.md +37 -0
- package/plugins/sp/skills/code-testing/references/test-output-discipline.md +52 -0
- package/plugins/sp/skills/code-testing/references/unit-testing.md +212 -0
- package/plugins/sp/skills/code-verification/SKILL.md +535 -0
- package/plugins/sp/skills/code-verification/references/code-improvement.md +39 -0
- package/plugins/sp/skills/code-verification/references/secu-review.md +94 -0
- package/plugins/sp/skills/code-verification/references/verdict-schema.md +141 -0
- package/plugins/sp/skills/conflict-finding/SKILL.md +254 -0
- package/plugins/sp/skills/conflict-finding/references/authority-resolution.md +258 -0
- package/plugins/sp/skills/conflict-finding/references/comparison-protocol.md +277 -0
- package/plugins/sp/skills/conflict-finding/references/finding-contract.md +346 -0
- package/plugins/sp/skills/conflict-finding/references/remediation-routing.md +276 -0
- package/plugins/sp/skills/daily-summary/SKILL.md +171 -0
- package/plugins/sp/skills/daily-summary/agents/openai.yaml +13 -0
- package/plugins/sp/skills/doc-evolve/SKILL.md +175 -0
- package/plugins/sp/skills/doc-evolve/references/operations.md +93 -0
- package/plugins/sp/skills/dogfood-testing/SKILL.md +608 -0
- package/plugins/sp/skills/dogfood-testing/references/monitor-ledger.md +211 -0
- package/plugins/sp/skills/dogfood-testing/references/report-template.md +351 -0
- package/plugins/sp/skills/doubt-driven-development/SKILL.md +136 -0
- package/plugins/sp/skills/functional-review/SKILL.md +364 -0
- package/plugins/sp/skills/functional-review/references/verdict-schema.md +133 -0
- package/plugins/sp/skills/indexed-context/SKILL.md +164 -0
- package/plugins/sp/skills/issue-finding/SKILL.md +424 -0
- package/plugins/sp/skills/issue-finding/agents/openai.yaml +15 -0
- package/plugins/sp/skills/issue-finding/examples/expected-findings.json +27 -0
- package/plugins/sp/skills/issue-finding/examples/session-test-loop.jsonl +23 -0
- package/plugins/sp/skills/issue-finding/references/session-formats.md +121 -0
- package/plugins/sp/skills/next-feature/SKILL.md +125 -0
- package/plugins/sp/skills/next-feature/references/handoff-routing.md +92 -0
- package/plugins/sp/skills/next-feature/references/proposal-contract.md +49 -0
- package/plugins/sp/skills/next-feature/references/ranking-rubric.md +52 -0
- package/plugins/sp/skills/next-feature/references/signal-derivation.md +67 -0
- package/plugins/sp/skills/next-router/SKILL.md +181 -0
- package/plugins/sp/skills/next-router/references/messages.md +90 -0
- package/plugins/sp/skills/next-router/references/routing-table.md +216 -0
- package/plugins/sp/skills/parallel-execution/SKILL.md +148 -0
- package/plugins/sp/skills/parallel-execution/references/dispatch-surface.md +100 -0
- package/plugins/sp/skills/parallel-execution/references/fan-out-patterns.md +101 -0
- package/plugins/sp/skills/parallel-execution/references/result-synthesis.md +94 -0
- package/plugins/sp/skills/reverse-engineering/SKILL.md +375 -0
- package/plugins/sp/skills/reverse-engineering/agents/openai.yaml +18 -0
- package/plugins/sp/skills/source-driven-development/SKILL.md +124 -0
- package/plugins/sp/skills/spec-decomposition/SKILL.md +117 -0
- package/plugins/sp/skills/spec-decomposition/references/decomposition.md +539 -0
- package/plugins/sp/skills/spur-cli/SKILL.md +133 -0
- package/plugins/sp/skills/spur-cli/references/agent.md +179 -0
- package/plugins/sp/skills/spur-cli/references/features/acceptance-criteria.md +82 -0
- package/plugins/sp/skills/spur-cli/references/features/hierarchy-mece.md +177 -0
- package/plugins/sp/skills/spur-cli/references/features/roadmap-priority.md +84 -0
- package/plugins/sp/skills/spur-cli/references/features/verbs.md +122 -0
- package/plugins/sp/skills/spur-cli/references/features.md +234 -0
- package/plugins/sp/skills/spur-cli/references/init.md +119 -0
- package/plugins/sp/skills/spur-cli/references/message.md +98 -0
- package/plugins/sp/skills/spur-cli/references/rules/authoring-rules.md +212 -0
- package/plugins/sp/skills/spur-cli/references/rules/fine-tuning.md +148 -0
- package/plugins/sp/skills/spur-cli/references/rules/operations.md +228 -0
- package/plugins/sp/skills/spur-cli/references/rules/validation-and-extension.md +129 -0
- package/plugins/sp/skills/spur-cli/references/rules.md +209 -0
- package/plugins/sp/skills/spur-cli/references/serve.md +58 -0
- package/plugins/sp/skills/spur-cli/references/tasks/l3-guard-cheatsheet.md +98 -0
- package/plugins/sp/skills/spur-cli/references/tasks/section-editing.md +95 -0
- package/plugins/sp/skills/spur-cli/references/tasks/verbs.md +361 -0
- package/plugins/sp/skills/spur-cli/references/tasks.md +278 -0
- package/plugins/sp/skills/spur-cli/references/team.md +133 -0
- package/plugins/sp/skills/spur-cli/references/workflows/authoring-workflows.md +226 -0
- package/plugins/sp/skills/spur-cli/references/workflows/operations.md +211 -0
- package/plugins/sp/skills/spur-cli/references/workflows/validation-and-extension.md +129 -0
- package/plugins/sp/skills/spur-cli/references/workflows.md +355 -0
- package/plugins/sp/skills/spur-dev/SKILL.md +224 -0
- package/plugins/sp/skills/spur-dev/references/ac-style-guide.md +196 -0
- package/plugins/sp/skills/spur-dev/references/cross-cutting.md +664 -0
- package/plugins/sp/skills/spur-dev/references/decision-brief.md +80 -0
- package/plugins/sp/skills/spur-dev/references/dev-operations.md +546 -0
- package/plugins/sp/skills/spur-dev/references/done-housekeeping.md +164 -0
- package/plugins/sp/skills/spur-dev/references/execution-batch.md +727 -0
- package/plugins/sp/skills/spur-dev/references/execution-workflow.md +350 -0
- package/plugins/sp/skills/spur-dev/references/feature-link-helper.md +191 -0
- package/plugins/sp/skills/spur-dev/references/flag-glossary.md +417 -0
- package/plugins/sp/skills/spur-dev/references/gate-checklists.md +171 -0
- package/plugins/sp/skills/spur-dev/references/glossary.md +95 -0
- package/plugins/sp/skills/spur-dev/references/idea-evaluation.md +80 -0
- package/plugins/sp/skills/spur-dev/references/inline-pipeline-driver.md +88 -0
- package/plugins/sp/skills/spur-dev/references/planning-workflow.md +302 -0
- package/plugins/sp/skills/spur-dev/references/product-planning.md +206 -0
- package/plugins/sp/skills/spur-dev/references/section-batching.md +24 -0
- package/plugins/sp/skills/sys-architecture/SKILL.md +155 -0
- package/plugins/sp/skills/sys-architecture/references/decision-method.md +137 -0
- package/plugins/sp/skills/sys-architecture/references/upkeep-survey.md +75 -0
- package/plugins/sp/skills/sys-debugging/SKILL.md +228 -0
- package/plugins/sp/skills/sys-debugging/references/debugging-protocol.md +62 -0
- package/plugins/sp/skills/test-driven-development/SKILL.md +248 -0
- package/plugins/sp/skills/wayfinder/SKILL.md +292 -0
- package/spur.js +6093 -5180
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
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-featurechange consumes. Triggers: find next, which feature, feature ranking, frontier priority, what should I work on."
|
|
3
|
+
argument-hint: "[--task [<feature-id>]] [--agent <inline|auto|name>] [--json]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Write", "Grep", "Glob", "Skill"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Find Next
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:next-feature** skill — a prompt-first prioritizer that ranks the open feature frontier
|
|
10
|
+
by **derived** importance and urgency, shows its evidence per candidate, gates unactionable features
|
|
11
|
+
instead of ranking them, and emits tree structure defects as proposals only.
|
|
12
|
+
|
|
13
|
+
Answers *"which X"* — the question `/sp:dev-next` deliberately does not (next-router routing-table
|
|
14
|
+
§0 step 1c). Advancing a chosen target remains `/sp:dev-next`'s job; applying tree changes remains
|
|
15
|
+
`/sp:dev-featurechange`'s job.
|
|
16
|
+
|
|
17
|
+
## Argument Flags
|
|
18
|
+
|
|
19
|
+
| Flag | Description | Default |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| `--task` `[<feature-id>]` | After the report, confirm one target and dispatch the planning half to produce implement-ready tasks. | omitted |
|
|
22
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing analysis. | inline |
|
|
23
|
+
| `--json` | Emit the ranked frontier, gated list, and proposals as a JSON envelope. | off |
|
|
24
|
+
|
|
25
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
/sp:dev-find-next
|
|
31
|
+
/sp:dev-find-next --json
|
|
32
|
+
/sp:dev-find-next --task
|
|
33
|
+
/sp:dev-find-next --task H1 --auto
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**`--task` — confirm, then dispatch.** The command offers the rank-1 candidate (or the id you pass),
|
|
37
|
+
takes an **explicit** confirmation, then routes on the tier the ranking already assigned: a **T3**
|
|
38
|
+
feature with valid AC and no tasks goes to `/sp:dev-plan --feature <id>` and then
|
|
39
|
+
`/sp:dev-refineall --feature <id> --auto --depth ready`; a **T1** feature (open tasks already exist)
|
|
40
|
+
goes to refineall only, never a second decomposition; **T2** (blocked), **T4** (stale-done), and T3
|
|
41
|
+
with invalid AC stop with their reason. The command creates no tasks itself — decomposition and its
|
|
42
|
+
schema gate belong to `/sp:dev-plan`. The confirmation pauses **regardless of `--auto`**; `--auto`
|
|
43
|
+
is forwarded only to the dispatched children. Declining writes nothing.
|
|
44
|
+
|
|
45
|
+
Without `--task` the command is read-only with respect to the corpus and docs. Under `--task` the
|
|
46
|
+
only mutation is the one the dispatched commands perform on `docs/tasks*/` after you confirm — the
|
|
47
|
+
command still performs no `spur feature move`, no sync apply, and no write under `docs/features/**`.
|
|
48
|
+
Defect proposals conform to the `docs/plans/feature-tree-restructure-map.md` schema and are applied
|
|
49
|
+
only through `/sp:dev-featurechange` (dry-run → confirm → apply).
|
|
50
|
+
|
|
51
|
+
**See also:** skill `sp:next-feature` (SSOT), `sp:next-router` (`/sp:dev-next`),
|
|
52
|
+
`sp:conflict-finding` (the prompt-first template), `sp:spur-cli`.
|
|
53
|
+
|
|
54
|
+
## Implementation
|
|
55
|
+
|
|
56
|
+
Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface), then invoke the next-feature skill, forwarding all arguments:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
Skill(skill="sp:next-feature", args="$ARGUMENTS")
|
|
60
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Fix all lint, type, and test errors systematically across the working tree
|
|
3
|
+
argument-hint: "[<validation-command>] [--max-retry <n>] [--scope <path>] [--gate-log <path>] [--findings <anchors>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Write", "Edit", "Grep", "Glob"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Fixall
|
|
8
|
+
|
|
9
|
+
Implements an inline procedure — see [dev-operations.md](../skills/spur-dev/references/dev-operations.md#10-fixall) for the authoritative reference.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `[<validation-command>]` | Validation command to iterate against. | project gate |
|
|
16
|
+
| `--max-retry` `<n>` | Max fix iterations. | 3 |
|
|
17
|
+
| `--scope` `<path>` | Scope fixes to a path. | entire working tree |
|
|
18
|
+
| `--gate-log` `<path>` | Read a captured validation-run log first; start fixes at the finding anchors it names (R3, task 0482) instead of re-deriving the failure. | none |
|
|
19
|
+
| `--findings` `<anchors>` | Space-separated `file:line` anchors already extracted from the gate log (R3, task 0482). Fix these first, in order; they are the authoritative list of what broke. | none |
|
|
20
|
+
|
|
21
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
/sp:dev-fixall [<validation-command>] [--max-retry <n>] [--scope <path>] [--gate-log <path>] [--findings <anchors>]
|
|
26
|
+
|
|
27
|
+
## Implementation
|
|
28
|
+
|
|
29
|
+
Under the pipeline, the `test-recheck` state runs the full gate immediately after this hop — that is
|
|
30
|
+
the deciding run. Fixall bounds itself to **one confirming gate run** (R4, task 0483); use targeted
|
|
31
|
+
probes (`bun test <file> --test-name-pattern <test>`) during fix loops, never re-run the full gate
|
|
32
|
+
per fix. `qualityGateCmd` itself is unchanged so `test-recheck` still runs the full gate.
|
|
33
|
+
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate conventional commit message(s) from staged changes via per-file summarization, optionally commit
|
|
3
|
+
argument-hint: "[--commit] [--squash] [--scope <path>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Gitmsg
|
|
8
|
+
|
|
9
|
+
Implements an inline procedure — see [dev-operations.md](../skills/spur-dev/references/dev-operations.md#9-gitmsg) for the authoritative reference.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `--commit` | Stage and commit with the generated message. | off |
|
|
16
|
+
| `--squash` | Squash staged changes into one commit. | off |
|
|
17
|
+
| `--scope` `<path>` | Scope the diff to a path. | all staged changes |
|
|
18
|
+
|
|
19
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
20
|
+
|
|
21
|
+
## Usage
|
|
22
|
+
|
|
23
|
+
/sp:dev-gitmsg [--commit] [--squash] [--scope <path>]
|
|
24
|
+
|
|
25
|
+
## Implementation
|
|
26
|
+
|
|
27
|
+
Follow the inline procedure in [dev-operations.md](../skills/spur-dev/references/dev-operations.md#9-gitmsg) (gitmsg).
|
|
28
|
+
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Get things done — quality gate → fix → act CI simulation → commit → push → gh verify in one flow
|
|
3
|
+
argument-hint: "[<quality-gate-command>] [--dry-run] [--skip-act] [--no-push] [--no-verify] [--scope <path>] [--max-retry <n>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Write", "Edit", "Grep", "Glob"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev GTD
|
|
8
|
+
|
|
9
|
+
Self-contained end-to-end delivery command: local quality gate (auto-fix via `/sp:dev-fixall`),
|
|
10
|
+
local CI/CD simulation via `act`, conventional commit message generation, commit, push, and
|
|
11
|
+
GitHub push-success verification via `gh`. Designed to stand alone (no backing skill); once mature
|
|
12
|
+
it supersedes `/sp:dev-gitmsg` and is absorbed into the shared command structure.
|
|
13
|
+
|
|
14
|
+
## Argument Flags
|
|
15
|
+
|
|
16
|
+
| Flag | Description | Default |
|
|
17
|
+
| --- | --- | --- |
|
|
18
|
+
| `<quality-gate-command>` | Local quality gate to run first; on failure, invoke `/sp:dev-fixall "<cmd>"` to fix all issues automatically. | `bun run check` |
|
|
19
|
+
| `--dry-run` | Generate the git message and plan only — no commit, push, or gh verify. | off |
|
|
20
|
+
| `--skip-act` | Skip the local `act` CI/CD simulation step. | off |
|
|
21
|
+
| `--no-push` | Commit but do not git push or gh-verify. | off |
|
|
22
|
+
| `--no-verify` | Push but skip the `gh` push-success verification. | off |
|
|
23
|
+
| `--scope <path>` | Scope the commit-message diff analysis to a path. | all staged changes |
|
|
24
|
+
| `--max-retry <n>` | Max fix iterations per failing stage. | 3 |
|
|
25
|
+
|
|
26
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
/sp:dev-gtd [<quality-gate-command>] [--dry-run] [--skip-act] [--no-push] [--no-verify] [--scope <path>] [--max-retry <n>]
|
|
31
|
+
|
|
32
|
+
## Implementation
|
|
33
|
+
|
|
34
|
+
Execute the stages below in order. A stage that cannot succeed after `--max-retry` attempts stops
|
|
35
|
+
the run with the specific failing output — do not silently skip a real failure.
|
|
36
|
+
|
|
37
|
+
**1 — Local quality gate (auto-fix).** Resolve the gate command from the first positional argument,
|
|
38
|
+
default `bun run check`. Run it. If it exits non-zero, invoke `/sp:dev-fixall "<gate-command>"`
|
|
39
|
+
(pass through `--scope` and `--max-retry`) to fix all lint/type/test issues automatically, then
|
|
40
|
+
re-run the gate. Loop until the gate is clean or `--max-retry` is exhausted. Report what was fixed
|
|
41
|
+
per file.
|
|
42
|
+
|
|
43
|
+
**2 — Local CI/CD simulation via `act`.** Confirm Docker is running (`docker info`). On macOS the
|
|
44
|
+
repo uses OrbStack — if the default context is not ready, use
|
|
45
|
+
`DOCKER_HOST=unix://$HOME/.orbstack/run/docker.sock`. Run
|
|
46
|
+
`act -W .github/workflows/ci.yml -j verify` (or the repo's `bun run verify-gha-ci`); prefer
|
|
47
|
+
`--container-architecture` matching your host when the runner pulls a foreign platform. If a step
|
|
48
|
+
fails, diagnose the root cause and fix it, then re-run `act` until every job is green. Note: `act`
|
|
49
|
+
executes the workflow inside a **root** container, so a test that asserts an OS permission error
|
|
50
|
+
(e.g. `EACCES` after `chmod 0000`) may fail under root even though it passes on GitHub's non-root
|
|
51
|
+
runner — treat that as a container-environment artifact and do **not** weaken a correct test to
|
|
52
|
+
satisfy the root container.
|
|
53
|
+
|
|
54
|
+
If the build failure includes `TS2307: Cannot find module` on a workspace package (e.g.
|
|
55
|
+
`@gobing-ai/ts-*`), this is a container-environment artifact: `act`'s `tsc` (Node.js) cannot
|
|
56
|
+
resolve Bun workspace packages because Bun does not create `node_modules/@scope/` symlinks.
|
|
57
|
+
The real GitHub CI runner passes. **Do not** modify the build infrastructure to work around this
|
|
58
|
+
`act`-specific issue. Instead, emit a clear message:
|
|
59
|
+
`⚠ act CI simulation failed on workspace resolution — this is a container-environment artifact. Re-run with --skip-act to skip this step.`
|
|
60
|
+
Then stop the run (this stage failed). The operator can use `--skip-act` to proceed.
|
|
61
|
+
|
|
62
|
+
Skip this stage entirely when `--skip-act` is given.
|
|
63
|
+
|
|
64
|
+
**3 — Generate a conventional commit message.** Follow the gitmsg procedure (the same one
|
|
65
|
+
`/sp:dev-gitmsg` runs). Run `git diff --cached --stat` (add `-- <path>` when `--scope` is given) for
|
|
66
|
+
the outline; if it is empty, stage the intended changes first and report "no staged changes" if
|
|
67
|
+
nothing was meant to be committed. Capture the full diff to a temp file
|
|
68
|
+
(`TEMP_FILE="/tmp/gitdiff_$(date +%s)"; git diff --cached > "$TEMP_FILE" 2>&1`). Read it and write
|
|
69
|
+
**one sentence per changed file** — what changed and why. Group the per-file sentences by concern;
|
|
70
|
+
for each group derive its commit type (`feat` · `fix` · `refactor` · `docs` · `chore` · `perf` ·
|
|
71
|
+
`test` · `style`), scope (affected module/package, or the `--scope` value), and message:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
<type>(<scope>): <summary>
|
|
75
|
+
|
|
76
|
+
<body — optional bullets from the group's per-file sentences>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Summary: imperative mood, ≤72 chars, lowercase first word, no period. Body only when the change is
|
|
80
|
+
non-obvious. Resolve groups: one group → emit its message; multiple groups → emit one message per
|
|
81
|
+
group plus a split recommendation (stage per concern, re-run); under this all-in-one flow, prefer a
|
|
82
|
+
single combined message (dominant type/scope, per-file bullets) so the push is atomic. Delete the
|
|
83
|
+
temp file (`rm "$TEMP_FILE"`) — no `/tmp` diff residue.
|
|
84
|
+
|
|
85
|
+
**4 — Commit.** Stage all intended changes (`git add`) and commit with the resolved message
|
|
86
|
+
(`git commit -m "$MESSAGE"`). When `--dry-run`, print the message and the copy-paste `git commit` /
|
|
87
|
+
`git push` lines instead, then stop (skip stages 5–6).
|
|
88
|
+
|
|
89
|
+
**5 — Push.** `git push` to the remote (`origin`). On failure (rejected non-fast-forward, auth,
|
|
90
|
+
missing upstream), diagnose and fix — e.g. set the upstream (`git push -u origin <branch>`),
|
|
91
|
+
pull/rebase a stale remote, or re-authenticate — then retry until the push succeeds. Stop here when
|
|
92
|
+
`--no-push`.
|
|
93
|
+
|
|
94
|
+
**6 — Verify the push with `gh`.** `gh run list` (optionally `--branch <branch>`) to confirm the
|
|
95
|
+
pushed commit triggered a workflow run and that the latest run for the pushed HEAD is successful.
|
|
96
|
+
If the push did not trigger a run or the run is failing, diagnose and fix, then re-push and re-check
|
|
97
|
+
until the push is confirmed successful. Stop here when `--no-verify`.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate a structured handover document when blocked — captures goal, progress, blocker, rejected approaches, and next steps
|
|
3
|
+
argument-hint: "\"<blocker description>\""
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Write"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Handover
|
|
8
|
+
|
|
9
|
+
Implements an inline procedure — see [dev-operations.md](../skills/spur-dev/references/dev-operations.md#11-handover) for the authoritative reference.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `"<blocker description>"` | Free-text description of the current blocker. | required |
|
|
16
|
+
|
|
17
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
/sp:dev-handover "<blocker description>"
|
|
22
|
+
|
|
23
|
+
## Implementation
|
|
24
|
+
|
|
25
|
+
Follow the inline procedure in [dev-operations.md](../skills/spur-dev/references/dev-operations.md#11-handover) (handover).
|
|
26
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Turn a vague idea into a feature with AC and a decomposed task batch — discovery, idea-eval, feature-create, AC, feature-check, system-design, decompose, batch-create (Design by default), handoff
|
|
3
|
+
argument-hint: "\"<idea>\" [--auto] [--skip-design] [--approve-taste]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "AskUserQuestion"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Idea
|
|
8
|
+
|
|
9
|
+
Wraps the **idea-pipeline.yaml** workflow.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `"<idea>"` | Vague idea to turn into a feature with AC and tasks. | required |
|
|
16
|
+
| `--auto` | Skip objective HITL gates only (taste gates still pause). | off |
|
|
17
|
+
| `--skip-design` | Omit system-design and per-task Design. | off |
|
|
18
|
+
| `--approve-taste` | With `--auto`: set idea_approved + design_approved so idea-eval / design-approval do not pause. | off |
|
|
19
|
+
| `--idea-approved` | Compatibility alias for idea_approved=true (subset of --approve-taste). | off |
|
|
20
|
+
| `--design-approved` | Compatibility alias for design_approved=true (subset of --approve-taste). | off |
|
|
21
|
+
|
|
22
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
/sp:dev-idea "<idea>"
|
|
28
|
+
[--auto] # skip objective HITL only (feature-check, batch-create)
|
|
29
|
+
[--skip-design] # design package off (system-design + task Design)
|
|
30
|
+
[--approve-taste] # with --auto: skip idea-eval + design-approval pauses
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
There is **no** `--design` force flag. Design is default-on; only `--skip-design` opts out.
|
|
34
|
+
|
|
35
|
+
**Aliases (one-release / scripts):** `--idea-approved` and `--design-approved` still map into the same
|
|
36
|
+
vars as subsets of `--approve-taste` (`idea_approved` / `design_approved`). Prefer `--approve-taste`.
|
|
37
|
+
|
|
38
|
+
## Implementation
|
|
39
|
+
|
|
40
|
+
Map flags → workflow vars, then:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
spur workflow run .spur/workflows/idea-pipeline.yaml --vars '{
|
|
44
|
+
"idea":"<text>",
|
|
45
|
+
"profile":"interactive|auto",
|
|
46
|
+
"design":"auto|skip",
|
|
47
|
+
"design_approved":"false|true",
|
|
48
|
+
"idea_approved":"false|true"
|
|
49
|
+
}'
|
|
50
|
+
```
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Status-aware router — pick and run the next best /sp:dev-* step for a task or feature frontier
|
|
3
|
+
argument-hint: "[<wbs|feature-id>] [--dry-run] [--once] [--auto] [--agent <inline|auto|name>] [--full]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Next
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:next-router** skill.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `[<wbs\|feature-id>]` | Task WBS or feature id to advance. | active |
|
|
16
|
+
| `--dry-run` | Resolve and print the next step without executing. | off |
|
|
17
|
+
| `--once` | Resolve exactly one step and stop. | off |
|
|
18
|
+
| `--auto` | Skip objective HITL gates in the dispatched step. | off |
|
|
19
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the dispatched model-bearing step. | inline |
|
|
20
|
+
| `--full` | When the primary route is `dev-run … --next`, substitute `dev-run <wbs> --mode full` (no `--next`). No effect on other routes (warning W-FULL). | off |
|
|
21
|
+
|
|
22
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
/sp:dev-next [<wbs|feature-id>] [--dry-run] [--once] [--auto] [--agent <inline|auto|name>] [--full]
|
|
27
|
+
|
|
28
|
+
## Implementation
|
|
29
|
+
|
|
30
|
+
- Apply and forward the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
31
|
+
- `Skill(skill="sp:next-router", args="$ARGUMENTS")`
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Fan out independent tasks or investigations in parallel via subagents — choose the right pattern and synthesize results
|
|
3
|
+
argument-hint: "--tasks <selector> [--feature <id>] [--mode <fan-out|review-panel|investigation>] [--agent <inline|auto|name>] [--json]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Parallel
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:parallel-execution** skill.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `--tasks` `<selector>` | Task selector to fan out. | required |
|
|
16
|
+
| `--feature` `<id>` | Restrict the selector to a feature. | omitted |
|
|
17
|
+
| `--mode` `<fan-out\|review-panel\|investigation>` | Fan-out pattern. | fan-out |
|
|
18
|
+
| `--agent` `<inline\|auto\|name>` | Who runs each dispatched slice. | inline |
|
|
19
|
+
| `--json` | Emit structured JSON. | off |
|
|
20
|
+
|
|
21
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
22
|
+
|
|
23
|
+
## Usage
|
|
24
|
+
|
|
25
|
+
/sp:dev-parallel --tasks <selector> [--feature <id>] [--mode <fan-out|review-panel|investigation>] [--agent <inline|auto|name>] [--json]
|
|
26
|
+
|
|
27
|
+
## Implementation
|
|
28
|
+
|
|
29
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface) before choosing native subagents or `spur agent run`.
|
|
30
|
+
- `Skill(skill="sp:parallel-execution", args="$ARGUMENTS")`
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plan a feature from a description — intake → feature create → AC generation → feature check gate → decomposition → batch-create (Design by default)
|
|
3
|
+
argument-hint: "\"<description>\" [--feature <id>] [--parent <feature-id>] [--agent <inline|auto|name>] [--skip-design] [--auto] [--approve-taste]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Plan
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:spur-dev** skill.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `"<description>"` | Feature description to plan. | required |
|
|
16
|
+
| `--feature` `<id>` | Attach to an existing feature. | omitted |
|
|
17
|
+
| `--parent` `<feature-id>` | Create under a parent feature. | omitted |
|
|
18
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing planning. The planning pipeline's `agent.run` stages always dispatch a subprocess; `inline` is accepted there as a synonym for omit, resolving to `agent.default` (ADR-047). `auto` tier-resolves an executor; a name pins that executor. | agent.default |
|
|
19
|
+
| `--skip-design` | Omit the system-design hop. | off |
|
|
20
|
+
| `--auto` | Skip objective HITL gates. | off |
|
|
21
|
+
| `--approve-taste` | With --auto: skip design-approval pause. | off |
|
|
22
|
+
|
|
23
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
/sp:dev-plan "<description>"
|
|
29
|
+
[--feature <id>] [--parent <feature-id>] [--agent <inline|auto|name>]
|
|
30
|
+
[--auto] # skip objective HITL where the plan path supports it
|
|
31
|
+
[--skip-design] # design package off (satellite + task Design)
|
|
32
|
+
[--approve-taste] # with --auto: skip design-approval taste pause when applicable
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Design package (unified with `/sp:dev-idea`):** Design is **on by default**. Default fills
|
|
36
|
+
per-task `### Design` in the batch and the feature satellite when the seam heuristic fires
|
|
37
|
+
(ties lean **design**). There is **no** `--design` force flag — only **`--skip-design`** opts out.
|
|
38
|
+
|
|
39
|
+
**Taste re-entry:** `--approve-taste` is the same flag as on `dev-idea` (sets prior design approval
|
|
40
|
+
for taste gates). Alias: `--design-approved` (prefer `--approve-taste`).
|
|
41
|
+
|
|
42
|
+
## Implementation
|
|
43
|
+
|
|
44
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
45
|
+
- `Skill(skill="sp:spur-dev", args="plan $ARGUMENTS")`
|
|
46
|
+
- Full Design package + batch `design` field contract: `plugins/sp/skills/spur-dev/references/dev-operations.md` § plan and `planning-workflow.md` Step 5.5.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Refine task requirements via structured Q&A — clarify scope, elicit missing details, tighten acceptance criteria; optional implement-ready depth
|
|
3
|
+
argument-hint: "<wbs> [--focus <mode>] [--description <text>] [--depth <standard|ready>] [--agent <inline|auto|name>] [--auto] [--next]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Refine
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:spur-dev** skill. Prefer Design at plan/create (default); refine is the **fallback**
|
|
10
|
+
for blank Design/AC/Plan after `--skip-design` or incomplete create. Use `--depth ready` when another
|
|
11
|
+
agent will implement and L3-clean is not enough (frozen APIs, anti-patterns, file targets, handoffs).
|
|
12
|
+
|
|
13
|
+
## Argument Flags
|
|
14
|
+
|
|
15
|
+
| Flag | Description | Default |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `<wbs>` | Task WBS to refine. | required |
|
|
18
|
+
| `--focus` `<mode>` | Refinement focus mode. | omitted |
|
|
19
|
+
| `--description` `<text>` | Override the task description. | omitted |
|
|
20
|
+
| `--depth` `<standard\|ready>` | Spec depth bar (see flag glossary). | `standard` |
|
|
21
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing refinement. | inline |
|
|
22
|
+
| `--auto` | Skip objective HITL gates. | off |
|
|
23
|
+
| `--next` | Hand off to the next-router on success. | off |
|
|
24
|
+
|
|
25
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
26
|
+
|
|
27
|
+
## Usage
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
/sp:dev-refine <wbs> [--focus <mode>] [--description <text>] [--depth <standard|ready>] [--agent <inline|auto|name>] [--auto] [--next]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Under `--auto` with **`--depth standard`** (default), SKIP only when target sections have no L3
|
|
34
|
+
findings: Background, Requirements, Acceptance Criteria, Design, Plan. Solution is not a refine
|
|
35
|
+
target. Under **`--depth ready`**, do **not** SKIP on L3-clean alone — run the implement-ready
|
|
36
|
+
checklist (dev-operations § refine) and rewrite Design/Requirements/Plan until another agent can
|
|
37
|
+
implement without inventing design. Stage floor: `standard` (fallback `capable-2`); ready synthesis
|
|
38
|
+
may use a higher tier when the task spans packages/seams.
|
|
39
|
+
|
|
40
|
+
## Implementation
|
|
41
|
+
|
|
42
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
43
|
+
- `Skill(skill="sp:spur-dev", args="refine $ARGUMENTS")`
|
|
44
|
+
- Contract: `plugins/sp/skills/spur-dev/references/dev-operations.md` § refine.
|
|
45
|
+
|
|
46
|
+
`--next`: chain-to-completion with
|
|
47
|
+
propagation. `routing-table.md` row A1 dispatches `/sp:dev-refine <wbs> --auto --next` so a
|
|
48
|
+
backlog/todo task chains refine → run → verify without per-step re-invocation. **was: `--next` declared but never defined.**
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
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; optional implement-ready depth
|
|
3
|
+
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>]]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill", "AskUserQuestion"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Refineall
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:spur-dev** skill. Batch counterpart of `/sp:dev-refine` — same per-task refine
|
|
10
|
+
operation, applied to a resolved set (typically every task under a feature). Pass
|
|
11
|
+
`--depth ready` to force an implement-ready freeze on every task (does not L3-SKIP).
|
|
12
|
+
|
|
13
|
+
## Argument Flags
|
|
14
|
+
|
|
15
|
+
| Flag | Description | Default |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| `--feature` `<id>` | Refine all tasks in a feature. | required (one of `--feature` / `--tasks`) |
|
|
18
|
+
| `--tasks` `<selector>` | Task selector to refine (alternative to `--feature`). | required (one of `--feature` / `--tasks`) |
|
|
19
|
+
| `--focus` `<mode>` | Refinement focus mode. | omitted |
|
|
20
|
+
| `--description` `<text>` | Override description for each task. | omitted |
|
|
21
|
+
| `--depth` `<standard\|ready>` | Spec depth bar (see flag glossary). | `standard` |
|
|
22
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing refinement. | inline |
|
|
23
|
+
| `--auto` | Skip objective HITL gates. | off |
|
|
24
|
+
| `--keep-going` | Continue past per-task failures. | off |
|
|
25
|
+
| `--status` `<s>` | Only refine tasks in a status. | backlog,todo |
|
|
26
|
+
| `--json` | Emit structured JSON. | off |
|
|
27
|
+
| `--worktree` `[<name>]` | Run the batch in an isolated git worktree; FF-merge on success, retain on failure. Bare `--worktree` creates a fresh tree; `--worktree <name>` adopts an existing worktree by name/path/branch. | off |
|
|
28
|
+
|
|
29
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
30
|
+
|
|
31
|
+
## Usage
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
/sp:dev-refineall --feature <id> [shared refine flags…] [--depth <standard|ready>] [--agent <inline|auto|name>] [--worktree [<name>]]
|
|
35
|
+
/sp:dev-refineall --tasks <selector> [shared refine flags…] [--depth <standard|ready>] [--agent <inline|auto|name>] [--worktree [<name>]]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Flags: `--feature` (sugar for `feature:<id>`), `--tasks <selector>`, shared refine flags
|
|
39
|
+
(`--focus`, `--description`, `--depth`, `--agent`, `--auto`),
|
|
40
|
+
plus `--keep-going`,
|
|
41
|
+
`--status` (default `backlog,todo`),
|
|
42
|
+
`--json`, `--worktree` `[<name>]` (run the batch in an isolated git worktree — FF-merge onto the base ref on
|
|
43
|
+
full success, retain intact on any failure/halt/non-FF; bare form creates a fresh tree, `<name>`
|
|
44
|
+
form adopts an existing worktree by name/path/branch; see `execution-batch.md` § Worktree
|
|
45
|
+
isolation). Prefer `--auto` for batch
|
|
46
|
+
scale. Full procedure: `plugins/sp/skills/spur-dev/references/dev-operations.md` § refineall.
|
|
47
|
+
**`--worktree` corpus visibility.** While the batch runs in a worktree, corpus writes land in the
|
|
48
|
+
worktree copy; your main tree still shows pre-run statuses until the FF-merge on success. Expected,
|
|
49
|
+
not a bug.
|
|
50
|
+
|
|
51
|
+
**Depth:** default `standard` keeps the cheap L3 SKIP gate under `--auto`. Use
|
|
52
|
+
`--depth ready` when handing a feature to another implementer (frozen Design/Requirements/Plan);
|
|
53
|
+
thread `--depth` into each per-task refine.
|
|
54
|
+
|
|
55
|
+
> **`--next` dropped** (feature H8, 2026-07-31). Batch-level chaining was a token bomb — each refine
|
|
56
|
+
> hop is an LLM call, and a large feature means N refine chains fanned out at once. For batch
|
|
57
|
+
> chaining, run `/sp:dev-refineall` first (this command, no `--next`), then
|
|
58
|
+
> `/sp:dev-runall --feature <id> --next` which chains each task's run → verify → wrap sequentially.
|
|
59
|
+
> **was: `--next` declared with a self-contradicting "avoid --next" warning.**
|
|
60
|
+
|
|
61
|
+
## Implementation
|
|
62
|
+
|
|
63
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
64
|
+
- Batch orchestration: `Skill(skill="sp:spur-dev", args="refineall $ARGUMENTS")`
|
|
65
|
+
- Per-task refine (inner): `Skill(skill="sp:spur-dev", args="refine <wbs> $SHARED_FLAGS")`
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Refresh feature status by feature ID, task WBS, or batch sweep via spur feature sync
|
|
3
|
+
argument-hint: "[<feature-id|wbs>] [--all] [--auto] [--agent <inline|auto|name>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Refresh
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:spur-dev** skill.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `[<feature-id\|wbs>]` | Feature id or task WBS to refresh. | active |
|
|
16
|
+
| `--all` | Refresh every feature. | off |
|
|
17
|
+
| `--auto` | Skip objective HITL gates. | off |
|
|
18
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing refresh. | inline |
|
|
19
|
+
|
|
20
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
/sp:dev-refresh [<feature-id|wbs>] [--all] [--auto] [--agent <inline|auto|name>]
|
|
25
|
+
|
|
26
|
+
## Implementation
|
|
27
|
+
|
|
28
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
29
|
+
- Single feature (`<feature-id>`): `Skill(skill="sp:spur-dev", args="refresh <feature-id> $ARGUMENTS")` — runs `spur feature sync <id> --dry-run --json` to preview derivation proposal, asks for confirmation (in interactive mode), then applies `spur feature sync <id> --json`.
|
|
30
|
+
- Task WBS (`<wbs>`): `Skill(skill="sp:spur-dev", args="refresh <wbs> $ARGUMENTS")` — resolves linked feature; if unlinked, runs feature-link-helper to propose or persist skip (`feature_link_declined: true`), then syncs.
|
|
31
|
+
- Batch sweep (`--all`): `Skill(skill="sp:spur-dev", args="refresh --all $ARGUMENTS")` — sweeps orphan tasks via link-helper + `spur feature sync --all --json` across features with summary report.
|
|
32
|
+
- Unattended (`--auto`): Forward-only auto-apply for status syncs; orphan link proposals queued to `.spur/run/dev-refresh-report.txt`.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Reverse engineer a codebase with selectable depth, focus, and output format
|
|
3
|
+
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>]"
|
|
4
|
+
allowed-tools: ["Read", "Write", "Edit", "Grep", "Glob", "Bash", "Skill"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Reverse
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:reverse-engineering** skill.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `[<path>]` | Path to reverse-engineer. | cwd |
|
|
16
|
+
| `--mode` `<briefing\|structure\|architecture\|design\|full>` | Depth of the report. | structure |
|
|
17
|
+
| `--focus` `<all\|stack\|dependencies\|data\|flows\|api\|security\|quality\|performance>` | Analysis lens. | all |
|
|
18
|
+
| `--format` `<markdown\|json\|both>` | Output format. | markdown |
|
|
19
|
+
| `--output` `<file>` | Write to a file instead of stdout. | stdout |
|
|
20
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing analysis. | inline |
|
|
21
|
+
|
|
22
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
/sp:dev-reverse [<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>]
|
|
27
|
+
|
|
28
|
+
## Implementation
|
|
29
|
+
|
|
30
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
31
|
+
- `Skill(skill="sp:reverse-engineering", args="$ARGUMENTS")`
|
|
32
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Review code for a task or path — multi-dimensional review across functional traceability, SECUA quality, and architectural depth. Triggers: \"review this\", \"check the code\", \"SECUA review\", \"dev review\", \"audit this\"."
|
|
3
|
+
argument-hint: "[<wbs|path>] [--agent <inline|auto|name>] [--focus <dims>] [--fix (deprecated)]"
|
|
4
|
+
allowed-tools: ["Bash", "Read", "Skill"]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Dev Review
|
|
8
|
+
|
|
9
|
+
Wraps the **sp:functional-review**, **sp:code-verification**, and **sp:code-improvement** skills.
|
|
10
|
+
|
|
11
|
+
## Argument Flags
|
|
12
|
+
|
|
13
|
+
| Flag | Description | Default |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| `[<wbs\|path>]` | Task WBS or source path to review. | cwd |
|
|
16
|
+
| `--agent` `<inline\|auto\|name>` | Who runs the model-bearing review. | inline |
|
|
17
|
+
| `--focus` `<dims>` | Review dimensions (functional / SECUA / architecture). | all |
|
|
18
|
+
| `--fix` | Deprecated no-op + warning; route remediation to /sp:dev-verify --fix. | off |
|
|
19
|
+
|
|
20
|
+
For shared semantics, see the [flag glossary](../skills/spur-dev/references/flag-glossary.md).
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
/sp:dev-review [<wbs|path>] [--agent <inline|auto|name>] [--focus <dims>] [--fix (deprecated)]
|
|
25
|
+
|
|
26
|
+
## Implementation
|
|
27
|
+
|
|
28
|
+
- Apply the [inline-default execution-surface contract](../skills/spur-dev/references/cross-cutting.md#inline-default-execution-surface).
|
|
29
|
+
- WBS mode (`<wbs>`): `Skill(skill="sp:functional-review", args="<wbs> $ARGUMENTS")` + `Skill(skill="sp:code-verification", args="review $ARGUMENTS")` + `Skill(skill="sp:code-improvement", args="<wbs> $ARGUMENTS")` (functional traceability + SECUA framework + architectural depth; may write `Review` section to task)
|
|
30
|
+
- Path mode (`<path>`): `Skill(skill="sp:code-verification", args="review $ARGUMENTS")` + `Skill(skill="sp:code-improvement", args="<path> $ARGUMENTS")` (advisory SECUA quality + architectural depth; performs no task mutation)
|
|
31
|
+
- `--fix`: Deprecated (no-op + warning message; route remediation to `/sp:dev-verify --fix`). **`--next` removed** (feature H8, 2026-07-31) — it was a deprecated no-op; route progression to `/sp:dev-next`. **was: `--next` deprecated no-op.**
|