@opengsd/gsd-core 1.6.0-rc.2 → 1.6.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.
- package/.claude-plugin/plugin.json +2 -1
- package/agents/gsd-advisor-researcher.md +2 -0
- package/agents/gsd-ai-researcher.md +2 -0
- package/agents/gsd-assumptions-analyzer.md +2 -0
- package/agents/gsd-doc-classifier.md +2 -0
- package/agents/gsd-doc-synthesizer.md +2 -0
- package/agents/gsd-domain-researcher.md +2 -0
- package/agents/gsd-eval-auditor.md +6 -9
- package/agents/gsd-phase-researcher.md +2 -0
- package/agents/gsd-planner.md +8 -57
- package/agents/gsd-project-researcher.md +2 -0
- package/agents/gsd-research-synthesizer.md +2 -0
- package/agents/gsd-security-auditor.md +37 -18
- package/agents/gsd-ui-researcher.md +2 -0
- package/bin/install.js +370 -18
- package/gemini-extension.json +1 -1
- package/gsd-core/bin/gsd-tools.cjs +46 -4
- package/gsd-core/bin/lib/audit-command-router.cjs +52 -14
- package/gsd-core/bin/lib/capability-lifecycle.cjs +30 -7
- package/gsd-core/bin/lib/capability-registry.cjs +96 -83
- package/gsd-core/bin/lib/capability-validator.cjs +22 -0
- package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +40 -2
- package/gsd-core/bin/lib/command-aliases.cjs +10 -1
- package/gsd-core/bin/lib/command-routing-hub.cjs +10 -3
- package/gsd-core/bin/lib/config-schema.cjs +1 -0
- package/gsd-core/bin/lib/config.cjs +67 -24
- package/gsd-core/bin/lib/coverage.cjs +464 -0
- package/gsd-core/bin/lib/decisions.cjs +27 -0
- package/gsd-core/bin/lib/eval-command-router.cjs +21 -0
- package/gsd-core/bin/lib/eval.cjs +60 -0
- package/gsd-core/bin/lib/frontmatter.cjs +132 -13
- package/gsd-core/bin/lib/graphify-command-router.cjs +53 -36
- package/gsd-core/bin/lib/init.cjs +139 -30
- package/gsd-core/bin/lib/install-profiles.cjs +6 -3
- package/gsd-core/bin/lib/intel-command-router.cjs +79 -60
- package/gsd-core/bin/lib/io.cjs +1 -0
- package/gsd-core/bin/lib/phase.cjs +16 -2
- package/gsd-core/bin/lib/plan-scan.cjs +2 -2
- package/gsd-core/bin/lib/planning-workspace.cjs +157 -13
- package/gsd-core/bin/lib/profile-output.cjs +18 -6
- package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +53 -16
- package/gsd-core/bin/lib/runtime-artifact-layout.cjs +21 -3
- package/gsd-core/bin/lib/runtime-hooks-surface.cjs +15 -0
- package/gsd-core/bin/lib/runtime-name-policy.cjs +47 -2
- package/gsd-core/bin/lib/shell-command-projection.cjs +10 -0
- package/gsd-core/bin/lib/state.cjs +398 -60
- package/gsd-core/bin/lib/surface.cjs +42 -10
- package/gsd-core/bin/lib/uat-predicate.cjs +13 -6
- package/gsd-core/bin/lib/update-context.cjs +2 -2
- package/gsd-core/bin/lib/verification.cjs +67 -6
- package/gsd-core/bin/lib/verify.cjs +8 -1
- package/gsd-core/bin/shared/config-defaults.manifest.json +3 -0
- package/gsd-core/bin/shared/config-schema.manifest.json +2 -1
- package/gsd-core/references/planner-guidance.md +66 -0
- package/gsd-core/references/planning-config.md +2 -2
- package/gsd-core/references/security-asvs-levels.md +27 -0
- package/gsd-core/references/untrusted-input-boundary.md +13 -0
- package/gsd-core/templates/SECURITY.md +6 -4
- package/gsd-core/templates/summary-complex.md +4 -0
- package/gsd-core/templates/summary-minimal.md +3 -0
- package/gsd-core/templates/summary-standard.md +4 -0
- package/gsd-core/templates/summary.md +41 -0
- package/gsd-core/workflows/autonomous.md +53 -46
- package/gsd-core/workflows/complete-milestone.md +27 -8
- package/gsd-core/workflows/execute-phase.md +1 -1
- package/gsd-core/workflows/execute-plan.md +5 -0
- package/gsd-core/workflows/manager.md +17 -7
- package/gsd-core/workflows/new-project.md +82 -16
- package/gsd-core/workflows/plan-phase.md +15 -0
- package/gsd-core/workflows/profile-user.md +6 -2
- package/gsd-core/workflows/progress.md +37 -4
- package/gsd-core/workflows/quick.md +3 -1
- package/gsd-core/workflows/secure-phase.md +13 -7
- package/gsd-core/workflows/ship.md +3 -1
- package/gsd-core/workflows/spec-phase.md +3 -1
- package/gsd-core/workflows/transition.md +14 -12
- package/gsd-core/workflows/ui-review.md +2 -6
- package/gsd-core/workflows/verify-work.md +74 -1
- package/hooks/dist/gsd-read-injection-scanner.js +49 -25
- package/hooks/gsd-read-injection-scanner.js +49 -25
- package/hooks/hooks.json +1 -1
- package/package.json +4 -2
- package/scripts/check-alias-drift.cjs +5 -0
- package/scripts/gen-plugin-skills.cjs +117 -0
- package/scripts/lint-test-file-count.allowlist.json +2 -1
- package/scripts/prompt-injection-scan.sh +9 -0
- package/scripts/release-notes/conventional-title.cjs +88 -0
- package/scripts/release-notes/format-github-release-notes.cjs +4 -3
- package/skills/gsd-add-tests/SKILL.md +38 -0
- package/skills/gsd-ai-integration-phase/SKILL.md +37 -0
- package/skills/gsd-audit-fix/SKILL.md +33 -0
- package/skills/gsd-audit-milestone/SKILL.md +37 -0
- package/skills/gsd-audit-uat/SKILL.md +25 -0
- package/skills/gsd-autonomous/SKILL.md +51 -0
- package/skills/gsd-capture/SKILL.md +67 -0
- package/skills/gsd-cleanup/SKILL.md +24 -0
- package/skills/gsd-code-review/SKILL.md +59 -0
- package/skills/gsd-complete-milestone/SKILL.md +142 -0
- package/skills/gsd-config/SKILL.md +56 -0
- package/skills/gsd-debug/SKILL.md +53 -0
- package/skills/gsd-discuss-phase/SKILL.md +77 -0
- package/skills/gsd-docs-update/SKILL.md +49 -0
- package/skills/gsd-eval-review/SKILL.md +33 -0
- package/skills/gsd-execute-phase/SKILL.md +65 -0
- package/skills/gsd-explore/SKILL.md +28 -0
- package/skills/gsd-extract-learnings/SKILL.md +22 -0
- package/skills/gsd-fast/SKILL.md +31 -0
- package/skills/gsd-forensics/SKILL.md +56 -0
- package/skills/gsd-graphify/SKILL.md +204 -0
- package/skills/gsd-health/SKILL.md +31 -0
- package/skills/gsd-help/SKILL.md +29 -0
- package/skills/gsd-import/SKILL.md +46 -0
- package/skills/gsd-inbox/SKILL.md +39 -0
- package/skills/gsd-ingest-docs/SKILL.md +43 -0
- package/skills/gsd-manager/SKILL.md +45 -0
- package/skills/gsd-map-codebase/SKILL.md +83 -0
- package/skills/gsd-mempalace-capture/SKILL.md +71 -0
- package/skills/gsd-mempalace-recall/SKILL.md +102 -0
- package/skills/gsd-milestone-summary/SKILL.md +51 -0
- package/skills/gsd-mvp-phase/SKILL.md +45 -0
- package/skills/gsd-new-milestone/SKILL.md +45 -0
- package/skills/gsd-new-project/SKILL.md +47 -0
- package/skills/gsd-ns-context/SKILL.md +24 -0
- package/skills/gsd-ns-ideate/SKILL.md +23 -0
- package/skills/gsd-ns-manage/SKILL.md +35 -0
- package/skills/gsd-ns-project/SKILL.md +26 -0
- package/skills/gsd-ns-review/SKILL.md +28 -0
- package/skills/gsd-ns-workflow/SKILL.md +33 -0
- package/skills/gsd-pause-work/SKILL.md +43 -0
- package/skills/gsd-phase/SKILL.md +57 -0
- package/skills/gsd-plan-phase/SKILL.md +63 -0
- package/skills/gsd-plan-review-convergence/SKILL.md +60 -0
- package/skills/gsd-pr-branch/SKILL.md +26 -0
- package/skills/gsd-profile-user/SKILL.md +47 -0
- package/skills/gsd-progress/SKILL.md +49 -0
- package/skills/gsd-quick/SKILL.md +174 -0
- package/skills/gsd-resume-work/SKILL.md +31 -0
- package/skills/gsd-review/SKILL.md +42 -0
- package/skills/gsd-review-backlog/SKILL.md +63 -0
- package/skills/gsd-secure-phase/SKILL.md +36 -0
- package/skills/gsd-settings/SKILL.md +29 -0
- package/skills/gsd-ship/SKILL.md +24 -0
- package/skills/gsd-sketch/SKILL.md +60 -0
- package/skills/gsd-spec-phase/SKILL.md +63 -0
- package/skills/gsd-spike/SKILL.md +57 -0
- package/skills/gsd-stats/SKILL.md +20 -0
- package/skills/gsd-surface/SKILL.md +162 -0
- package/skills/gsd-thread/SKILL.md +24 -0
- package/skills/gsd-ui-phase/SKILL.md +35 -0
- package/skills/gsd-ui-review/SKILL.md +33 -0
- package/skills/gsd-ultraplan-phase/SKILL.md +34 -0
- package/skills/gsd-undo/SKILL.md +35 -0
- package/skills/gsd-update/SKILL.md +50 -0
- package/skills/gsd-validate-phase/SKILL.md +36 -0
- package/skills/gsd-verify-work/SKILL.md +39 -0
- package/skills/gsd-workspace/SKILL.md +53 -0
- package/skills/gsd-workstreams/SKILL.md +70 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-mempalace-capture
|
|
3
|
+
description: "File a phase artifact into MemPalace; mirror decision facts into its temporal KG"
|
|
4
|
+
argument-hint: "[CONTEXT.md|PLAN.md|SUMMARY.md]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
**STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by the command system. Using the Read tool on this file wastes tokens. Begin executing Step 0 immediately.**
|
|
12
|
+
|
|
13
|
+
## Step 0 -- Banner
|
|
14
|
+
|
|
15
|
+
**Before ANY tool calls**, display this banner:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
GSD > MEMPALACE CAPTURE
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Then proceed to Step 1.
|
|
22
|
+
|
|
23
|
+
## Step 1 -- Config Gate
|
|
24
|
+
|
|
25
|
+
Check whether the MemPalace capability is enabled by reading `.planning/config.json` directly with the Read tool.
|
|
26
|
+
|
|
27
|
+
1. Read `.planning/config.json` with the Read tool.
|
|
28
|
+
2. If the file does not exist, or `config.mempalace` is absent, or `config.mempalace.enabled !== true`, or `config.mempalace.capture_artifacts !== true`: display the disabled message and **STOP**.
|
|
29
|
+
3. Otherwise proceed to Step 2.
|
|
30
|
+
|
|
31
|
+
**Disabled message:**
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
GSD > MEMPALACE CAPTURE
|
|
35
|
+
|
|
36
|
+
MemPalace capture is disabled (mempalace.enabled / mempalace.capture_artifacts).
|
|
37
|
+
Nothing was filed; the loop proceeds normally.
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
This step is `onError: skip` at `discuss:post` / `plan:post` / `verify:post` -- capture never fails a phase.
|
|
41
|
+
|
|
42
|
+
## Step 2 -- Resolve target
|
|
43
|
+
|
|
44
|
+
1. **Artifact.** Take the artifact from `$ARGUMENTS`. If absent, infer from the loop point: `discuss:post` → `CONTEXT.md`, `plan:post` → `PLAN.md`, `verify:post` → `SUMMARY.md`.
|
|
45
|
+
2. **Room.** Map artifact → room:
|
|
46
|
+
- `CONTEXT.md` → `decisions`
|
|
47
|
+
- `PLAN.md` → `planning`
|
|
48
|
+
- `SUMMARY.md` → `milestones`
|
|
49
|
+
(Confirmed problem→fix pairs go to `problems` — see the `capture-problems` fragment used at `execute:wave:post`.)
|
|
50
|
+
3. **Wing.** `config.mempalace.wing` if non-empty, else `config.project_code`, else the repo directory name.
|
|
51
|
+
4. **Mode / transport.** Read `config.mempalace.memory_mode`. Prefer MCP (`mempalace_*`) when your MemPalace MCP server is registered and your runtime permits those tools; otherwise use the `mempalace` CLI (covered by this skill's `Bash` allow-tool), as in `mempalace-recall`.
|
|
52
|
+
|
|
53
|
+
## Step 3 -- File verbatim (idempotent)
|
|
54
|
+
|
|
55
|
+
On any error or timeout, stop and let the phase continue -- capture is best-effort.
|
|
56
|
+
|
|
57
|
+
1. **Dedup first.** Interactive: `mempalace_check_duplicate` on the artifact's deterministic drawer id. Headless: rely on `mempalace mine`'s content-hash idempotency.
|
|
58
|
+
2. **Add the drawer (verbatim).** File the exact artifact text into `room: <room>` of `wing: <wing>` with provenance (`source_file`, phase id). Interactive: `mempalace_add_drawer`. Headless: `mempalace mine <path> --wing <wing> --room <room>`.
|
|
59
|
+
3. **Mirror KG facts** when `config.mempalace.mirror_kg` is true: extract decision/delivery facts and `mempalace_kg_add` them with `valid_from` = the phase date (e.g. `(<project>, decided, <decision>)` from CONTEXT; `(<phase>, delivered, <capability>)` from SUMMARY). Only `augment` is currently wired, so these are an *additive* mirror of `.planning/graphs/`. (`kg_backend`/`replace` are forward-declared and behave as `augment` today.)
|
|
60
|
+
4. Re-running a phase MUST NOT create duplicate drawers (deterministic ids + `check_duplicate`).
|
|
61
|
+
|
|
62
|
+
## Step 4 -- Report
|
|
63
|
+
|
|
64
|
+
Print a one-line summary: `Filed <artifact> → <wing>/<room> (<n> KG facts)` or `MemPalace unavailable — capture skipped`.
|
|
65
|
+
|
|
66
|
+
## Anti-Patterns
|
|
67
|
+
|
|
68
|
+
1. DO NOT let any MemPalace error fail the step -- capture is `onError: skip`.
|
|
69
|
+
2. DO NOT write lossy summaries -- store the verbatim artifact text (AAAK compression is a separate, optional index).
|
|
70
|
+
3. DO NOT prune or delete drawers here -- pruning (`sync --apply`) is the curator agent's job at `ship:post`, wing-scoped only.
|
|
71
|
+
4. DO NOT skip the config gate or the dedup check.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-mempalace-recall
|
|
3
|
+
description: "Recall decisions, patterns, and surprises from MemPalace before planning"
|
|
4
|
+
argument-hint: "[phase-slug]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
**STOP -- DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by the command system. Using the Read tool on this file wastes tokens. Begin executing Step 0 immediately.**
|
|
13
|
+
|
|
14
|
+
## Step 0 -- Banner
|
|
15
|
+
|
|
16
|
+
**Before ANY tool calls**, display this banner:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
GSD > MEMPALACE RECALL
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Then proceed to Step 1.
|
|
23
|
+
|
|
24
|
+
## Step 1 -- Config Gate
|
|
25
|
+
|
|
26
|
+
Check whether the MemPalace capability is enabled by reading `.planning/config.json` directly with the Read tool.
|
|
27
|
+
|
|
28
|
+
**DO NOT use `gsd-tools config get-value`** -- it hard-exits on missing keys.
|
|
29
|
+
|
|
30
|
+
1. Read `.planning/config.json` with the Read tool.
|
|
31
|
+
2. If the file does not exist: write the "unavailable" stub (Step 4) and **STOP**.
|
|
32
|
+
3. Parse the JSON. Proceed to Step 2 only if `config.mempalace && config.mempalace.enabled === true` **and** `config.mempalace.recall_on_plan !== false`. Otherwise display the disabled message and **STOP** (`recall_on_plan: false` turns plan-time recall off while leaving the rest of the capability enabled).
|
|
33
|
+
|
|
34
|
+
**Disabled message:**
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
GSD > MEMPALACE RECALL
|
|
38
|
+
|
|
39
|
+
MemPalace memory is disabled. To activate:
|
|
40
|
+
|
|
41
|
+
node <runtime-home>/gsd-core/bin/gsd-tools.cjs config-set mempalace.enabled true
|
|
42
|
+
|
|
43
|
+
Recall is opt-in; the loop proceeds normally without it.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
This step is `onError: skip` at `plan:pre` -- recall never blocks planning.
|
|
47
|
+
|
|
48
|
+
## Step 2 -- Resolve wing, mode, and transport
|
|
49
|
+
|
|
50
|
+
1. **Wing.** Use `config.mempalace.wing` if non-empty; otherwise derive from `config.project_code`; otherwise fall back to the repository directory name.
|
|
51
|
+
2. **Mode.** Read `config.mempalace.memory_mode` (`augment` | `kg_backend` | `replace`, default `augment`). Only `augment` is wired today, so recall always treats the palace as additive; `kg_backend`/`replace` are forward-declared and behave as `augment`.
|
|
52
|
+
3. **Transport.** Prefer the **MCP tools** (`mempalace_*`) in interactive runs *when your MemPalace MCP server is registered and your runtime permits those tools*. Otherwise — headless/cron/autonomous runs, or runtimes that don't grant the MemPalace MCP tools — use the **CLI** (`mempalace wake-up`, `mempalace search`), which this skill's `Bash` allow-tool always covers. If neither is reachable, go to Step 4.
|
|
53
|
+
4. **Topic.** Read the phase `CONTEXT.md` (the consumed artifact). Derive a short search query from its title, goal, and key decisions.
|
|
54
|
+
|
|
55
|
+
## Step 3 -- Retrieve (read-only)
|
|
56
|
+
|
|
57
|
+
All calls in this step are side-effect-free. On any error or timeout, stop retrieving and write whatever was gathered (or the stub) -- never raise.
|
|
58
|
+
|
|
59
|
+
1. **Wake up** (cheap, ~600--900 tokens):
|
|
60
|
+
- Interactive: read the wing identity/summary, then `mempalace_search`.
|
|
61
|
+
- Headless: `mempalace wake-up --wing <wing>`.
|
|
62
|
+
2. **Targeted search:**
|
|
63
|
+
- Interactive: `mempalace_search(query=<topic>, wing=<wing>)`.
|
|
64
|
+
- Headless: `mempalace search "<topic>" --wing <wing>`.
|
|
65
|
+
3. **Knowledge-graph facts** (when `config.mempalace.mirror_kg` is true): `mempalace_kg_query` / `mempalace_kg_timeline` for decisions relevant to the topic and their validity windows. Only `augment` is currently wired, so the palace KG *supplements* GSD's native `.planning/graphs/` — do not treat it as the sole source. (`kg_backend`/`replace` are forward-declared and behave as `augment` today.)
|
|
66
|
+
4. **Dedup** the returned drawers/facts; keep the top results.
|
|
67
|
+
|
|
68
|
+
## Step 4 -- Write MEMORY-RECALL.md
|
|
69
|
+
|
|
70
|
+
Write `MEMORY-RECALL.md` in the current phase directory. The planner consumes it.
|
|
71
|
+
|
|
72
|
+
When recall succeeded, structure it as:
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
# Memory Recall (MemPalace)
|
|
76
|
+
|
|
77
|
+
_Wing: <wing> · Mode: <mode> · Transport: <mcp|cli>_
|
|
78
|
+
|
|
79
|
+
## Prior decisions
|
|
80
|
+
- <decision> — <provenance: drawer id / kg fact, valid_from>
|
|
81
|
+
|
|
82
|
+
## Patterns
|
|
83
|
+
- <pattern> — <provenance>
|
|
84
|
+
|
|
85
|
+
## Surprises / gotchas
|
|
86
|
+
- <surprise> — <provenance>
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
When MemPalace is unreachable, write the stub and continue:
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
# Memory Recall (MemPalace)
|
|
93
|
+
|
|
94
|
+
_MemPalace unavailable at recall time — proceeding without recalled memory._
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## Anti-Patterns
|
|
98
|
+
|
|
99
|
+
1. DO NOT let any MemPalace error fail the step -- recall is `onError: skip`.
|
|
100
|
+
2. DO NOT write to the palace from this skill -- recall is read-only; capture is a separate skill.
|
|
101
|
+
3. DO NOT paste raw search output into the file -- distil to decisions/patterns/surprises with provenance.
|
|
102
|
+
4. DO NOT skip the config gate.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-milestone-summary
|
|
3
|
+
description: "Generate a comprehensive project summary from milestone artifacts for team onboarding and review"
|
|
4
|
+
argument-hint: "[version]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Grep
|
|
10
|
+
- Glob
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Generate a structured milestone summary for team onboarding and project review. Reads completed milestone artifacts (ROADMAP, REQUIREMENTS, CONTEXT, SUMMARY, VERIFICATION files) and produces a human-friendly overview of what was built, how, and why.
|
|
16
|
+
|
|
17
|
+
Purpose: Enable new team members to understand a completed project by reading one document and asking follow-up questions.
|
|
18
|
+
Output: MILESTONE_SUMMARY written to `.planning/reports/`, presented inline, optional interactive Q&A.
|
|
19
|
+
</objective>
|
|
20
|
+
|
|
21
|
+
<execution_context>
|
|
22
|
+
@~/.claude/gsd-core/workflows/milestone-summary.md
|
|
23
|
+
</execution_context>
|
|
24
|
+
|
|
25
|
+
<context>
|
|
26
|
+
**Project files:**
|
|
27
|
+
- `.planning/ROADMAP.md`
|
|
28
|
+
- `.planning/PROJECT.md`
|
|
29
|
+
- `.planning/STATE.md`
|
|
30
|
+
- `.planning/RETROSPECTIVE.md`
|
|
31
|
+
- `.planning/milestones/v{version}-ROADMAP.md` (if archived)
|
|
32
|
+
- `.planning/milestones/v{version}-REQUIREMENTS.md` (if archived)
|
|
33
|
+
- `.planning/phases/*-*/` (SUMMARY.md, VERIFICATION.md, CONTEXT.md, RESEARCH.md)
|
|
34
|
+
|
|
35
|
+
**User input:**
|
|
36
|
+
- Version: $ARGUMENTS (optional — defaults to current/latest milestone)
|
|
37
|
+
</context>
|
|
38
|
+
|
|
39
|
+
<process>
|
|
40
|
+
Execute end-to-end.
|
|
41
|
+
</process>
|
|
42
|
+
|
|
43
|
+
<success_criteria>
|
|
44
|
+
- Milestone version resolved (from args, STATE.md, or archive scan)
|
|
45
|
+
- All available artifacts read (ROADMAP, REQUIREMENTS, CONTEXT, SUMMARY, VERIFICATION, RESEARCH, RETROSPECTIVE)
|
|
46
|
+
- Summary document written to `.planning/reports/MILESTONE_SUMMARY-v{version}.md`
|
|
47
|
+
- All 7 sections generated (Overview, Architecture, Phases, Decisions, Requirements, Tech Debt, Getting Started)
|
|
48
|
+
- Summary presented inline to user
|
|
49
|
+
- Interactive Q&A offered
|
|
50
|
+
- STATE.md updated
|
|
51
|
+
</success_criteria>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-mvp-phase
|
|
3
|
+
description: "Plan a phase as a vertical MVP slice — user story, SPIDR splitting, then plan-phase"
|
|
4
|
+
argument-hint: "<phase-number>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Agent
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Guide the user through MVP-mode planning for a phase. The command:
|
|
17
|
+
|
|
18
|
+
1. Prompts for an "As a / I want to / So that" user story (three structured questions)
|
|
19
|
+
2. Runs SPIDR splitting check — if the story is too large, walks through Spike/Paths/Interfaces/Data/Rules and offers to split into multiple phases
|
|
20
|
+
3. Writes `**Mode:** mvp` and the reformatted `**Goal:**` to the phase's ROADMAP.md section
|
|
21
|
+
4. Delegates to `/gsd plan-phase <N>` which auto-detects MVP mode via the roadmap field
|
|
22
|
+
|
|
23
|
+
Phase 1 of the vertical-mvp-slice PRD shipped the planner-side machinery; this command is the user entry point for it.
|
|
24
|
+
</objective>
|
|
25
|
+
|
|
26
|
+
<execution_context>
|
|
27
|
+
@~/.claude/gsd-core/workflows/mvp-phase.md
|
|
28
|
+
@~/.claude/gsd-core/references/spidr-splitting.md
|
|
29
|
+
@~/.claude/gsd-core/references/user-story-template.md
|
|
30
|
+
</execution_context>
|
|
31
|
+
|
|
32
|
+
<runtime_note>
|
|
33
|
+
**Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. Equivalent API.
|
|
34
|
+
</runtime_note>
|
|
35
|
+
|
|
36
|
+
<context>
|
|
37
|
+
Phase number: $ARGUMENTS (required — integer or decimal like `2.1`)
|
|
38
|
+
|
|
39
|
+
The phase must already exist in ROADMAP.md (created via `/gsd new-project`, `/gsd add-phase`, or `/gsd insert-phase`). This command does not create new phases — it converts an existing phase to MVP mode.
|
|
40
|
+
</context>
|
|
41
|
+
|
|
42
|
+
<process>
|
|
43
|
+
Execute the mvp-phase workflow from @~/.claude/gsd-core/workflows/mvp-phase.md end-to-end.
|
|
44
|
+
Preserve all gates: phase existence, status guard (refuse in_progress/completed), user-story format validation, SPIDR splitting check, ROADMAP write confirmation, plan-phase delegation.
|
|
45
|
+
</process>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-new-milestone
|
|
3
|
+
description: "Start a new milestone cycle — update PROJECT.md and route to requirements"
|
|
4
|
+
argument-hint: "[milestone name, e.g., 'v1.1 Notifications']"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Start a new milestone: questioning → research (optional) → requirements → roadmap.
|
|
15
|
+
|
|
16
|
+
Brownfield equivalent of new-project. Project exists, PROJECT.md has history. Gathers "what's next", updates PROJECT.md, then runs requirements → roadmap cycle.
|
|
17
|
+
|
|
18
|
+
**Creates/Updates:**
|
|
19
|
+
- `.planning/PROJECT.md` — updated with new milestone goals
|
|
20
|
+
- `.planning/research/` — domain research (optional, NEW features only)
|
|
21
|
+
- `.planning/REQUIREMENTS.md` — scoped requirements for this milestone
|
|
22
|
+
- `.planning/ROADMAP.md` — phase structure (continues numbering)
|
|
23
|
+
- `.planning/STATE.md` — reset for new milestone
|
|
24
|
+
|
|
25
|
+
**After:** `/gsd-plan-phase [N]` to start execution.
|
|
26
|
+
</objective>
|
|
27
|
+
|
|
28
|
+
<execution_context>
|
|
29
|
+
@~/.claude/gsd-core/workflows/new-milestone.md
|
|
30
|
+
@~/.claude/gsd-core/references/questioning.md
|
|
31
|
+
@~/.claude/gsd-core/references/ui-brand.md
|
|
32
|
+
@~/.claude/gsd-core/templates/project.md
|
|
33
|
+
@~/.claude/gsd-core/templates/requirements.md
|
|
34
|
+
</execution_context>
|
|
35
|
+
|
|
36
|
+
<context>
|
|
37
|
+
Milestone name: $ARGUMENTS (optional - will prompt if not provided)
|
|
38
|
+
|
|
39
|
+
Project and milestone context files are resolved inside the workflow (`init new-milestone`) and delegated via `<files_to_read>` blocks where subagents are used.
|
|
40
|
+
</context>
|
|
41
|
+
|
|
42
|
+
<process>
|
|
43
|
+
Execute end-to-end.
|
|
44
|
+
Preserve all workflow gates (validation, questioning, research, requirements, roadmap approval, commits).
|
|
45
|
+
</process>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-new-project
|
|
3
|
+
description: "Initialize a new project with deep context gathering and PROJECT.md"
|
|
4
|
+
argument-hint: "[--auto]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Bash
|
|
8
|
+
- Write
|
|
9
|
+
- Agent
|
|
10
|
+
- AskUserQuestion
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<runtime_note>
|
|
14
|
+
**Copilot (VS Code):** Use `vscode_askquestions` wherever this workflow calls `AskUserQuestion`. They are equivalent — `vscode_askquestions` is the VS Code Copilot implementation of the same interactive question API.
|
|
15
|
+
</runtime_note>
|
|
16
|
+
|
|
17
|
+
<context>
|
|
18
|
+
**Flags:**
|
|
19
|
+
- `--auto` — Automatic mode. After config questions, runs research → requirements → roadmap without further interaction. Expects idea document via @ reference.
|
|
20
|
+
</context>
|
|
21
|
+
|
|
22
|
+
<objective>
|
|
23
|
+
Initialize a new project through unified flow: questioning → research (optional) → requirements → roadmap.
|
|
24
|
+
|
|
25
|
+
**Creates:**
|
|
26
|
+
- `.planning/PROJECT.md` — project context
|
|
27
|
+
- `.planning/config.json` — workflow preferences
|
|
28
|
+
- `.planning/research/` — domain research (optional)
|
|
29
|
+
- `.planning/REQUIREMENTS.md` — scoped requirements
|
|
30
|
+
- `.planning/ROADMAP.md` — phase structure
|
|
31
|
+
- `.planning/STATE.md` — project memory
|
|
32
|
+
|
|
33
|
+
**After this command:** Run `/gsd-plan-phase 1` to start execution.
|
|
34
|
+
</objective>
|
|
35
|
+
|
|
36
|
+
<execution_context>
|
|
37
|
+
@~/.claude/gsd-core/workflows/new-project.md
|
|
38
|
+
@~/.claude/gsd-core/references/questioning.md
|
|
39
|
+
@~/.claude/gsd-core/references/ui-brand.md
|
|
40
|
+
@~/.claude/gsd-core/templates/project.md
|
|
41
|
+
@~/.claude/gsd-core/templates/requirements.md
|
|
42
|
+
</execution_context>
|
|
43
|
+
|
|
44
|
+
<process>
|
|
45
|
+
Execute end-to-end.
|
|
46
|
+
Preserve all workflow gates (validation, approvals, commits, routing).
|
|
47
|
+
</process>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-ns-context
|
|
3
|
+
description: "codebase intel | map graphify docs learnings mempalace"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Skill
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Route to the appropriate codebase-intelligence skill based on the user's intent.
|
|
11
|
+
`gsd-scan` and `gsd-intel` were folded into `gsd-map-codebase` flags by #2790.
|
|
12
|
+
|
|
13
|
+
| User wants | Invoke |
|
|
14
|
+
|---|---|
|
|
15
|
+
| Map the full codebase structure | gsd-map-codebase |
|
|
16
|
+
| Quick lightweight codebase scan | gsd-map-codebase --fast |
|
|
17
|
+
| Query mapped intelligence files | gsd-map-codebase --query |
|
|
18
|
+
| Generate a knowledge graph | gsd-graphify |
|
|
19
|
+
| Update project documentation | gsd-docs-update |
|
|
20
|
+
| Extract learnings from a completed phase | gsd-extract-learnings |
|
|
21
|
+
| Recall prior decisions and patterns before planning | gsd-mempalace-recall |
|
|
22
|
+
| File a phase artifact into MemPalace | gsd-mempalace-capture |
|
|
23
|
+
|
|
24
|
+
Invoke the matched skill directly using the Skill tool.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-ns-ideate
|
|
3
|
+
description: "exploration capture | explore sketch spike spec capture"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Skill
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Route to the appropriate exploration / capture skill based on the user's intent.
|
|
11
|
+
`gsd-note`, `gsd-add-todo`, `gsd-add-backlog`, and `gsd-plant-seed` were folded
|
|
12
|
+
into `gsd-capture` (with `--note`, default, `--backlog`, `--seed` modes) by
|
|
13
|
+
#2790. The capture target lists pending todos via `--list`.
|
|
14
|
+
|
|
15
|
+
| User wants | Invoke |
|
|
16
|
+
|---|---|
|
|
17
|
+
| Explore an idea or opportunity | gsd-explore |
|
|
18
|
+
| Sketch out a rough design or plan | gsd-sketch |
|
|
19
|
+
| Time-boxed technical spike | gsd-spike |
|
|
20
|
+
| Write a spec for a phase | gsd-spec-phase |
|
|
21
|
+
| Capture a thought (todo / note / backlog / seed) | gsd-capture |
|
|
22
|
+
|
|
23
|
+
Invoke the matched skill directly using the Skill tool.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-ns-manage
|
|
3
|
+
description: "config workspace | workstreams thread update ship inbox"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Skill
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Route to the appropriate management skill based on the user's intent.
|
|
11
|
+
`gsd-config` (settings + advanced + integrations + profile) and `gsd-workspace`
|
|
12
|
+
(new + list + remove) are post-#2790 consolidated entries.
|
|
13
|
+
|
|
14
|
+
| User wants | Invoke |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Configure GSD settings (basic / advanced / integrations / profile) | gsd-config |
|
|
17
|
+
| Manage workspaces (create / list / remove) | gsd-workspace |
|
|
18
|
+
| Manage parallel workstreams | gsd-workstreams |
|
|
19
|
+
| Continue work in a fresh context thread | gsd-thread |
|
|
20
|
+
| Pause current work | gsd-pause-work |
|
|
21
|
+
| Resume paused work | gsd-resume-work |
|
|
22
|
+
| Update the GSD installation | gsd-update |
|
|
23
|
+
| Ship completed work | gsd-ship |
|
|
24
|
+
| Process inbox items | gsd-inbox |
|
|
25
|
+
| Create a clean PR branch | gsd-pr-branch |
|
|
26
|
+
| Undo the last GSD action | gsd-undo |
|
|
27
|
+
| Archive accumulated phase directories | gsd-cleanup |
|
|
28
|
+
| Diagnose planning directory health | gsd-health |
|
|
29
|
+
| Open the interactive command center | gsd-manager |
|
|
30
|
+
| Configure workflow toggles and model profile | gsd-settings |
|
|
31
|
+
| Show project statistics | gsd-stats |
|
|
32
|
+
| Toggle which skills are surfaced | gsd-surface |
|
|
33
|
+
| Show the GSD command guide | gsd-help |
|
|
34
|
+
|
|
35
|
+
Invoke the matched skill directly using the Skill tool.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-ns-project
|
|
3
|
+
description: "project lifecycle | milestones audits summary"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Skill
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Route to the appropriate project / milestone skill based on the user's intent.
|
|
11
|
+
`gsd-plan-milestone-gaps` was deleted by #2790 — gap planning now happens
|
|
12
|
+
inline as part of `gsd-audit-milestone`'s output.
|
|
13
|
+
|
|
14
|
+
| User wants | Invoke |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Start a new project | gsd-new-project |
|
|
17
|
+
| Create a new milestone | gsd-new-milestone |
|
|
18
|
+
| Complete the current milestone | gsd-complete-milestone |
|
|
19
|
+
| Audit a milestone for issues | gsd-audit-milestone |
|
|
20
|
+
| Summarize milestone status | gsd-milestone-summary |
|
|
21
|
+
| Import an external plan | gsd-import |
|
|
22
|
+
| Bootstrap planning from existing docs | gsd-ingest-docs |
|
|
23
|
+
| Generate a developer profile | gsd-profile-user |
|
|
24
|
+
| Review and promote backlog items | gsd-review-backlog |
|
|
25
|
+
|
|
26
|
+
Invoke the matched skill directly using the Skill tool.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-ns-review
|
|
3
|
+
description: "quality gates | code review debug audit security eval ui"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Skill
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Route to the appropriate quality / review skill based on the user's intent.
|
|
11
|
+
`gsd-code-review-fix` was absorbed by `gsd-code-review --fix` in #2790.
|
|
12
|
+
|
|
13
|
+
| User wants | Invoke |
|
|
14
|
+
|---|---|
|
|
15
|
+
| Review code for quality and correctness | gsd-code-review |
|
|
16
|
+
| Auto-fix code review findings | gsd-code-review --fix |
|
|
17
|
+
| Audit UAT / acceptance testing | gsd-audit-uat |
|
|
18
|
+
| Security review of a phase | gsd-secure-phase |
|
|
19
|
+
| Evaluate AI response quality | gsd-eval-review |
|
|
20
|
+
| Review UI for design and accessibility | gsd-ui-review |
|
|
21
|
+
| Validate phase outputs | gsd-validate-phase |
|
|
22
|
+
| Debug a failing feature or error | gsd-debug |
|
|
23
|
+
| Forensic investigation of a broken system | gsd-forensics |
|
|
24
|
+
| Autonomous audit-to-fix pipeline | gsd-audit-fix |
|
|
25
|
+
| Cross-AI peer review of plans | gsd-review |
|
|
26
|
+
| Generate a UI design contract | gsd-ui-phase |
|
|
27
|
+
|
|
28
|
+
Invoke the matched skill directly using the Skill tool.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-ns-workflow
|
|
3
|
+
description: "workflow | discuss plan execute verify phase progress"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Skill
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
Route to the appropriate phase-pipeline skill based on the user's intent.
|
|
11
|
+
Sub-skill names below are post-#2790 consolidated targets — `gsd-phase`
|
|
12
|
+
absorbs the former add/insert/remove/edit-phase commands and `gsd-progress`
|
|
13
|
+
absorbs the former next/do commands.
|
|
14
|
+
|
|
15
|
+
| User wants | Invoke |
|
|
16
|
+
|---|---|
|
|
17
|
+
| Gather context before planning | gsd-discuss-phase |
|
|
18
|
+
| Clarify what a phase delivers | gsd-spec-phase |
|
|
19
|
+
| Create a PLAN.md | gsd-plan-phase |
|
|
20
|
+
| Execute plans in a phase | gsd-execute-phase |
|
|
21
|
+
| Verify built features through UAT | gsd-verify-work |
|
|
22
|
+
| Add / insert / remove / edit a phase | gsd-phase |
|
|
23
|
+
| Advance to the next logical step | gsd-progress |
|
|
24
|
+
| Offload planning to the ultraplan cloud | gsd-ultraplan-phase |
|
|
25
|
+
| Cross-AI plan review convergence loop | gsd-plan-review-convergence |
|
|
26
|
+
| Generate tests for a completed phase | gsd-add-tests |
|
|
27
|
+
| Design an AI-integration phase | gsd-ai-integration-phase |
|
|
28
|
+
| Run all remaining phases autonomously | gsd-autonomous |
|
|
29
|
+
| Execute a trivial task inline | gsd-fast |
|
|
30
|
+
| Plan a phase as a vertical MVP slice | gsd-mvp-phase |
|
|
31
|
+
| Execute a quick task with GSD guarantees | gsd-quick |
|
|
32
|
+
|
|
33
|
+
Invoke the matched skill directly using the Skill tool.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-pause-work
|
|
3
|
+
description: "Create context handoff when pausing work mid-phase"
|
|
4
|
+
argument-hint: "[--report]"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<objective>
|
|
13
|
+
Create `.continue-here.md` handoff file to preserve complete work state across sessions.
|
|
14
|
+
|
|
15
|
+
Routes to the pause-work workflow which handles:
|
|
16
|
+
- Current phase detection from recent files
|
|
17
|
+
- Complete state gathering (position, completed work, remaining work, decisions, blockers)
|
|
18
|
+
- Handoff file creation with all context sections
|
|
19
|
+
- Git commit as WIP
|
|
20
|
+
- Resume instructions
|
|
21
|
+
</objective>
|
|
22
|
+
|
|
23
|
+
<execution_context>
|
|
24
|
+
@~/.claude/gsd-core/workflows/pause-work.md
|
|
25
|
+
</execution_context>
|
|
26
|
+
|
|
27
|
+
<context>
|
|
28
|
+
State and phase progress are gathered in-workflow with targeted reads.
|
|
29
|
+
</context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
If `--report` is in $ARGUMENTS:
|
|
33
|
+
Read and execute `~/.claude/gsd-core/workflows/session-report.md` end-to-end.
|
|
34
|
+
|
|
35
|
+
**Follow the pause-work workflow**.
|
|
36
|
+
|
|
37
|
+
The workflow handles all logic including:
|
|
38
|
+
1. Phase directory detection
|
|
39
|
+
2. State gathering with user clarifications
|
|
40
|
+
3. Handoff file writing with timestamp
|
|
41
|
+
4. Git commit
|
|
42
|
+
5. Confirmation with resume instructions
|
|
43
|
+
</process>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-phase
|
|
3
|
+
description: "CRUD for phases in ROADMAP.md — add, insert, remove, or edit phases"
|
|
4
|
+
argument-hint: "[--insert | --remove | --edit] <phase-name-or-number>"
|
|
5
|
+
allowed-tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<objective>
|
|
14
|
+
Manage phases in ROADMAP.md with a single consolidated command.
|
|
15
|
+
|
|
16
|
+
Mode routing:
|
|
17
|
+
- **default** (no flag): Add a new integer phase to the end of the current milestone → add-phase workflow
|
|
18
|
+
- **--insert**: Insert urgent work as a decimal phase (e.g., 72.1) between existing phases → insert-phase workflow
|
|
19
|
+
- **--remove**: Remove a future phase and renumber subsequent phases → remove-phase workflow
|
|
20
|
+
- **--edit**: Edit any field of an existing phase in place → edit-phase workflow
|
|
21
|
+
</objective>
|
|
22
|
+
|
|
23
|
+
<routing>
|
|
24
|
+
|
|
25
|
+
| Flag | Action | Workflow |
|
|
26
|
+
|------|--------|----------|
|
|
27
|
+
| (none) | Add new integer phase at end of milestone | add-phase |
|
|
28
|
+
| --insert | Insert decimal phase (e.g., 72.1) after specified phase | insert-phase |
|
|
29
|
+
| --remove | Remove future phase, renumber subsequent | remove-phase |
|
|
30
|
+
| --edit | Edit fields of existing phase in place | edit-phase |
|
|
31
|
+
|
|
32
|
+
</routing>
|
|
33
|
+
|
|
34
|
+
<execution_context>
|
|
35
|
+
@~/.claude/gsd-core/workflows/add-phase.md
|
|
36
|
+
@~/.claude/gsd-core/workflows/insert-phase.md
|
|
37
|
+
@~/.claude/gsd-core/workflows/remove-phase.md
|
|
38
|
+
@~/.claude/gsd-core/workflows/edit-phase.md
|
|
39
|
+
</execution_context>
|
|
40
|
+
|
|
41
|
+
<context>
|
|
42
|
+
Arguments: $ARGUMENTS
|
|
43
|
+
|
|
44
|
+
Parse the first token of $ARGUMENTS:
|
|
45
|
+
- If it is `--insert`: strip the flag, pass remainder (format: <after-phase-number> <description>) to insert-phase workflow
|
|
46
|
+
- If it is `--remove`: strip the flag, pass remainder (phase number) to remove-phase workflow
|
|
47
|
+
- If it is `--edit`: strip the flag, pass remainder (phase-number [--force]) to edit-phase workflow
|
|
48
|
+
- Otherwise: pass all of $ARGUMENTS (phase description) to add-phase workflow
|
|
49
|
+
|
|
50
|
+
Roadmap and state are resolved in-workflow via `init phase-op` and targeted reads.
|
|
51
|
+
</context>
|
|
52
|
+
|
|
53
|
+
<process>
|
|
54
|
+
1. Parse the leading flag (if any) from $ARGUMENTS.
|
|
55
|
+
2. Load and execute the appropriate workflow end-to-end based on the routing table above.
|
|
56
|
+
3. Preserve all validation gates from the target workflow.
|
|
57
|
+
</process>
|