gsd-antigravity-kit 2.0.0 → 2.1.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/.agent/skills/gsd/SKILL.md +26 -4
- package/.agent/skills/gsd/VERSION +1 -1
- package/.agent/skills/gsd/assets/templates/AI-SPEC.md +246 -0
- package/.agent/skills/gsd/assets/templates/DEBUG.md +7 -2
- package/.agent/skills/gsd/assets/templates/config.json +56 -48
- package/.agent/skills/gsd/assets/templates/research.md +40 -0
- package/.agent/skills/gsd/assets/templates/spec.md +307 -0
- package/.agent/skills/gsd/assets/templates/state.md +8 -0
- package/.agent/skills/gsd/bin/gsd-tools.cjs +212 -11
- package/.agent/skills/gsd/bin/help-manifest.json +8 -2
- package/.agent/skills/gsd/bin/hooks/gsd-check-update-worker.js +108 -0
- package/.agent/skills/gsd/bin/hooks/gsd-check-update.js +14 -89
- package/.agent/skills/gsd/bin/hooks/gsd-context-monitor.js +34 -5
- package/.agent/skills/gsd/bin/hooks/gsd-phase-boundary.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-prompt-guard.js +1 -1
- package/.agent/skills/gsd/bin/hooks/gsd-read-guard.js +6 -1
- package/.agent/skills/gsd/bin/hooks/gsd-session-state.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-statusline.js +150 -16
- package/.agent/skills/gsd/bin/hooks/gsd-validate-commit.sh +1 -0
- package/.agent/skills/gsd/bin/hooks/gsd-workflow-guard.js +1 -1
- package/.agent/skills/gsd/bin/lib/audit.cjs +757 -0
- package/.agent/skills/gsd/bin/lib/commands.cjs +17 -7
- package/.agent/skills/gsd/bin/lib/config.cjs +66 -20
- package/.agent/skills/gsd/bin/lib/core.cjs +212 -12
- package/.agent/skills/gsd/bin/lib/frontmatter.cjs +6 -8
- package/.agent/skills/gsd/bin/lib/graphify.cjs +494 -0
- package/.agent/skills/gsd/bin/lib/gsd2-import.cjs +511 -0
- package/.agent/skills/gsd/bin/lib/init.cjs +371 -18
- package/.agent/skills/gsd/bin/lib/intel.cjs +9 -30
- package/.agent/skills/gsd/bin/lib/milestone.cjs +18 -17
- package/.agent/skills/gsd/bin/lib/model-profiles.cjs +1 -0
- package/.agent/skills/gsd/bin/lib/phase.cjs +225 -98
- package/.agent/skills/gsd/bin/lib/profile-output.cjs +17 -5
- package/.agent/skills/gsd/bin/lib/roadmap.cjs +12 -5
- package/.agent/skills/gsd/bin/lib/state.cjs +394 -129
- package/.agent/skills/gsd/bin/lib/template.cjs +8 -4
- package/.agent/skills/gsd/bin/lib/uat.cjs +2 -1
- package/.agent/skills/gsd/bin/lib/verify.cjs +111 -42
- package/.agent/skills/gsd/migration_report.md +2 -2
- package/.agent/skills/gsd/references/agents/gsd-advisor-researcher.md +23 -0
- package/.agent/skills/gsd/references/agents/gsd-ai-researcher.md +133 -0
- package/.agent/skills/gsd/references/agents/gsd-code-fixer.md +11 -10
- package/.agent/skills/gsd/references/agents/gsd-code-reviewer.md +2 -2
- package/.agent/skills/gsd/references/agents/gsd-codebase-mapper.md +13 -2
- package/.agent/skills/gsd/references/agents/gsd-debug-session-manager.md +314 -0
- package/.agent/skills/gsd/references/agents/gsd-debugger.md +147 -76
- package/.agent/skills/gsd/references/agents/gsd-doc-verifier.md +1 -1
- package/.agent/skills/gsd/references/agents/gsd-doc-writer.md +615 -602
- package/.agent/skills/gsd/references/agents/gsd-domain-researcher.md +153 -0
- package/.agent/skills/gsd/references/agents/gsd-eval-auditor.md +175 -0
- package/.agent/skills/gsd/references/agents/gsd-eval-planner.md +154 -0
- package/.agent/skills/gsd/references/agents/gsd-executor.md +108 -38
- package/.agent/skills/gsd/references/agents/gsd-framework-selector.md +160 -0
- package/.agent/skills/gsd/references/agents/gsd-integration-checker.md +454 -443
- package/.agent/skills/gsd/references/agents/gsd-intel-updater.md +40 -20
- package/.agent/skills/gsd/references/agents/gsd-nyquist-auditor.md +187 -176
- package/.agent/skills/gsd/references/agents/gsd-pattern-mapper.md +335 -0
- package/.agent/skills/gsd/references/agents/gsd-phase-researcher.md +112 -13
- package/.agent/skills/gsd/references/agents/gsd-plan-checker.md +104 -10
- package/.agent/skills/gsd/references/agents/gsd-planner.md +125 -167
- package/.agent/skills/gsd/references/agents/gsd-project-researcher.md +25 -2
- package/.agent/skills/gsd/references/agents/gsd-research-synthesizer.md +3 -3
- package/.agent/skills/gsd/references/agents/gsd-roadmapper.md +12 -1
- package/.agent/skills/gsd/references/agents/gsd-security-auditor.md +139 -128
- package/.agent/skills/gsd/references/agents/gsd-ui-auditor.md +3 -3
- package/.agent/skills/gsd/references/agents/gsd-ui-checker.md +11 -2
- package/.agent/skills/gsd/references/agents/gsd-ui-researcher.md +27 -4
- package/.agent/skills/gsd/references/agents/gsd-verifier.md +13 -19
- package/.agent/skills/gsd/references/commands/atomic/add-todo.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/check-todos.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/cleanup.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/do.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/help.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/join-discord.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/note.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/session-report.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/ship.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/stats.md +2 -2
- package/.agent/skills/gsd/references/commands/atomic/thread.md +141 -41
- package/.agent/skills/gsd/references/commands/atomic/undo.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/add-backlog.md +15 -12
- package/.agent/skills/gsd/references/commands/milestone/audit-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/complete-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/milestone-summary.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/new-milestone.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/plan-milestone-gaps.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/plant-seed.md +2 -2
- package/.agent/skills/gsd/references/commands/milestone/review-backlog.md +4 -4
- package/.agent/skills/gsd/references/commands/misc/ai-integration-phase.md +38 -0
- package/.agent/skills/gsd/references/commands/misc/audit-fix.md +2 -2
- package/.agent/skills/gsd/references/commands/misc/audit-uat.md +2 -2
- package/.agent/skills/gsd/references/commands/misc/eval-review.md +34 -0
- package/.agent/skills/gsd/references/commands/misc/extract_learnings.md +24 -0
- package/.agent/skills/gsd/references/commands/misc/from-gsd2.md +49 -0
- package/.agent/skills/gsd/references/commands/misc/graphify.md +203 -0
- package/.agent/skills/gsd/references/commands/misc/inbox.md +40 -0
- package/.agent/skills/gsd/references/commands/misc/next.md +5 -3
- package/.agent/skills/gsd/references/commands/misc/progress.md +4 -3
- package/.agent/skills/gsd/references/commands/misc/sketch-wrap-up.md +33 -0
- package/.agent/skills/gsd/references/commands/misc/sketch.md +47 -0
- package/.agent/skills/gsd/references/commands/misc/spec-phase.md +64 -0
- package/.agent/skills/gsd/references/commands/misc/spike-wrap-up.md +33 -0
- package/.agent/skills/gsd/references/commands/misc/spike.md +43 -0
- package/.agent/skills/gsd/references/commands/misc/verify-work.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/add-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/add-tests.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/discuss-phase.md +5 -5
- package/.agent/skills/gsd/references/commands/phase/execute-phase.md +4 -4
- package/.agent/skills/gsd/references/commands/phase/insert-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/list-phase-assumptions.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/plan-phase.md +3 -3
- package/.agent/skills/gsd/references/commands/phase/remove-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/research-phase.md +5 -5
- package/.agent/skills/gsd/references/commands/phase/secure-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/ui-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/ui-review.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/validate-phase.md +2 -2
- package/.agent/skills/gsd/references/commands/phase/workstreams.md +9 -9
- package/.agent/skills/gsd/references/commands/project/analyze-dependencies.md +2 -2
- package/.agent/skills/gsd/references/commands/project/explore.md +2 -2
- package/.agent/skills/gsd/references/commands/project/import.md +2 -2
- package/.agent/skills/gsd/references/commands/project/intel.md +10 -10
- package/.agent/skills/gsd/references/commands/project/list-workspaces.md +2 -2
- package/.agent/skills/gsd/references/commands/project/map-codebase.md +2 -2
- package/.agent/skills/gsd/references/commands/project/new-project.md +2 -2
- package/.agent/skills/gsd/references/commands/project/new-workspace.md +2 -2
- package/.agent/skills/gsd/references/commands/project/remove-workspace.md +2 -2
- package/.agent/skills/gsd/references/commands/project/scan.md +2 -2
- package/.agent/skills/gsd/references/commands/system/autonomous.md +4 -3
- package/.agent/skills/gsd/references/commands/system/code-review-fix.md +3 -3
- package/.agent/skills/gsd/references/commands/system/code-review.md +3 -3
- package/.agent/skills/gsd/references/commands/system/debug.md +177 -100
- package/.agent/skills/gsd/references/commands/system/docs-update.md +2 -2
- package/.agent/skills/gsd/references/commands/system/fast.md +2 -2
- package/.agent/skills/gsd/references/commands/system/forensics.md +2 -2
- package/.agent/skills/gsd/references/commands/system/gsd-tools.md +153 -6
- package/.agent/skills/gsd/references/commands/system/health.md +2 -2
- package/.agent/skills/gsd/references/commands/system/manager.md +3 -3
- package/.agent/skills/gsd/references/commands/system/pause-work.md +2 -2
- package/.agent/skills/gsd/references/commands/system/pr-branch.md +2 -2
- package/.agent/skills/gsd/references/commands/system/profile-user.md +2 -2
- package/.agent/skills/gsd/references/commands/system/quick.md +127 -3
- package/.agent/skills/gsd/references/commands/system/reapply-patches.md +45 -6
- package/.agent/skills/gsd/references/commands/system/resume-work.md +2 -2
- package/.agent/skills/gsd/references/commands/system/review.md +6 -4
- package/.agent/skills/gsd/references/commands/system/set-profile.md +3 -3
- package/.agent/skills/gsd/references/commands/system/settings.md +2 -2
- package/.agent/skills/gsd/references/commands/system/update.md +2 -2
- package/.agent/skills/gsd/references/docs/ai-evals.md +156 -0
- package/.agent/skills/gsd/references/docs/ai-frameworks.md +186 -0
- package/.agent/skills/gsd/references/docs/artifact-types.md +18 -0
- package/.agent/skills/gsd/references/docs/autonomous-smart-discuss.md +277 -0
- package/.agent/skills/gsd/references/docs/checkpoints.md +30 -0
- package/.agent/skills/gsd/references/docs/common-bug-patterns.md +49 -49
- package/.agent/skills/gsd/references/docs/continuation-format.md +11 -7
- package/.agent/skills/gsd/references/docs/debugger-philosophy.md +76 -0
- package/.agent/skills/gsd/references/docs/decimal-phase-calculation.md +64 -64
- package/.agent/skills/gsd/references/docs/executor-examples.md +110 -0
- package/.agent/skills/gsd/references/docs/git-integration.md +4 -4
- package/.agent/skills/gsd/references/docs/git-planning-commit.md +40 -38
- package/.agent/skills/gsd/references/docs/ios-scaffold.md +123 -0
- package/.agent/skills/gsd/references/docs/mandatory-initial-read.md +2 -0
- package/.agent/skills/gsd/references/docs/phase-argument-parsing.md +61 -61
- package/.agent/skills/gsd/references/docs/planner-antipatterns.md +89 -0
- package/.agent/skills/gsd/references/docs/planner-revision.md +87 -87
- package/.agent/skills/gsd/references/docs/planner-source-audit.md +73 -0
- package/.agent/skills/gsd/references/docs/planning-config.md +33 -8
- package/.agent/skills/gsd/references/docs/project-skills-discovery.md +19 -0
- package/.agent/skills/gsd/references/docs/sketch-interactivity.md +41 -0
- package/.agent/skills/gsd/references/docs/sketch-theme-system.md +94 -0
- package/.agent/skills/gsd/references/docs/sketch-tooling.md +45 -0
- package/.agent/skills/gsd/references/docs/sketch-variant-patterns.md +81 -0
- package/.agent/skills/gsd/references/docs/tdd.md +67 -0
- package/.agent/skills/gsd/references/docs/universal-anti-patterns.md +5 -0
- package/.agent/skills/gsd/references/docs/workstream-flag.md +11 -11
- package/.agent/skills/gsd/references/mapping.md +1 -1
- package/.agent/skills/gsd/references/workflows/add-phase.md +112 -112
- package/.agent/skills/gsd/references/workflows/add-tests.md +6 -3
- package/.agent/skills/gsd/references/workflows/add-todo.md +5 -3
- package/.agent/skills/gsd/references/workflows/ai-integration-phase.md +284 -0
- package/.agent/skills/gsd/references/workflows/audit-fix.md +157 -157
- package/.agent/skills/gsd/references/workflows/audit-milestone.md +340 -340
- package/.agent/skills/gsd/references/workflows/audit-uat.md +109 -109
- package/.agent/skills/gsd/references/workflows/autonomous.md +20 -288
- package/.agent/skills/gsd/references/workflows/check-todos.md +4 -2
- package/.agent/skills/gsd/references/workflows/cleanup.md +3 -1
- package/.agent/skills/gsd/references/workflows/code-review-fix.md +497 -497
- package/.agent/skills/gsd/references/workflows/code-review.md +515 -515
- package/.agent/skills/gsd/references/workflows/complete-milestone.md +97 -24
- package/.agent/skills/gsd/references/workflows/diagnose-issues.md +238 -238
- package/.agent/skills/gsd/references/workflows/discovery-phase.md +2 -0
- package/.agent/skills/gsd/references/workflows/discuss-phase-assumptions.md +11 -11
- package/.agent/skills/gsd/references/workflows/discuss-phase.md +143 -19
- package/.agent/skills/gsd/references/workflows/do.md +8 -2
- package/.agent/skills/gsd/references/workflows/docs-update.md +5 -3
- package/.agent/skills/gsd/references/workflows/eval-review.md +155 -0
- package/.agent/skills/gsd/references/workflows/execute-phase.md +338 -54
- package/.agent/skills/gsd/references/workflows/execute-plan.md +80 -104
- package/.agent/skills/gsd/references/workflows/explore.md +3 -1
- package/.agent/skills/gsd/references/workflows/extract_learnings.md +232 -0
- package/.agent/skills/gsd/references/workflows/forensics.md +3 -3
- package/.agent/skills/gsd/references/workflows/health.md +2 -2
- package/.agent/skills/gsd/references/workflows/help.md +59 -1
- package/.agent/skills/gsd/references/workflows/import.md +3 -1
- package/.agent/skills/gsd/references/workflows/inbox.md +387 -384
- package/.agent/skills/gsd/references/workflows/insert-phase.md +130 -130
- package/.agent/skills/gsd/references/workflows/list-workspaces.md +56 -56
- package/.agent/skills/gsd/references/workflows/manager.md +5 -3
- package/.agent/skills/gsd/references/workflows/map-codebase.md +19 -5
- package/.agent/skills/gsd/references/workflows/milestone-summary.md +6 -6
- package/.agent/skills/gsd/references/workflows/new-milestone.md +63 -9
- package/.agent/skills/gsd/references/workflows/new-project.md +126 -22
- package/.agent/skills/gsd/references/workflows/new-workspace.md +6 -4
- package/.agent/skills/gsd/references/workflows/next.md +220 -153
- package/.agent/skills/gsd/references/workflows/note.md +2 -0
- package/.agent/skills/gsd/references/workflows/pause-work.md +11 -7
- package/.agent/skills/gsd/references/workflows/plan-milestone-gaps.md +273 -273
- package/.agent/skills/gsd/references/workflows/plan-phase.md +281 -62
- package/.agent/skills/gsd/references/workflows/plant-seed.md +4 -1
- package/.agent/skills/gsd/references/workflows/pr-branch.md +41 -13
- package/.agent/skills/gsd/references/workflows/profile-user.md +15 -13
- package/.agent/skills/gsd/references/workflows/progress.md +133 -21
- package/.agent/skills/gsd/references/workflows/quick.md +67 -27
- package/.agent/skills/gsd/references/workflows/remove-phase.md +155 -155
- package/.agent/skills/gsd/references/workflows/remove-workspace.md +4 -2
- package/.agent/skills/gsd/references/workflows/research-phase.md +3 -3
- package/.agent/skills/gsd/references/workflows/resume-project.md +3 -3
- package/.agent/skills/gsd/references/workflows/review.md +71 -8
- package/.agent/skills/gsd/references/workflows/scan.md +102 -102
- package/.agent/skills/gsd/references/workflows/secure-phase.md +7 -5
- package/.agent/skills/gsd/references/workflows/settings.md +24 -7
- package/.agent/skills/gsd/references/workflows/ship.md +71 -6
- package/.agent/skills/gsd/references/workflows/sketch-wrap-up.md +283 -0
- package/.agent/skills/gsd/references/workflows/sketch.md +263 -0
- package/.agent/skills/gsd/references/workflows/spec-phase.md +262 -0
- package/.agent/skills/gsd/references/workflows/spike-wrap-up.md +273 -0
- package/.agent/skills/gsd/references/workflows/spike.md +270 -0
- package/.agent/skills/gsd/references/workflows/stats.md +60 -60
- package/.agent/skills/gsd/references/workflows/transition.md +671 -671
- package/.agent/skills/gsd/references/workflows/ui-phase.md +33 -12
- package/.agent/skills/gsd/references/workflows/ui-review.md +6 -4
- package/.agent/skills/gsd/references/workflows/undo.md +3 -1
- package/.agent/skills/gsd/references/workflows/update.md +113 -2
- package/.agent/skills/gsd/references/workflows/validate-phase.md +7 -5
- package/.agent/skills/gsd/references/workflows/verify-phase.md +93 -10
- package/.agent/skills/gsd/references/workflows/verify-work.md +50 -10
- package/.agent/skills/gsd-converter/references/mapping.md +1 -1
- package/.agent/skills/gsd-converter/scripts/convert.py +36 -17
- package/.agent/skills/gsd-converter/scripts/regression_test.py +68 -33
- package/README.md +3 -2
- package/package.json +4 -2
- package/.agent/skills/release-manager/SKILL.md +0 -162
- package/.agent/skills/release-manager/bin/LICENSE +0 -21
- package/.agent/skills/release-manager/bin/gh.exe +0 -0
- package/.agent/skills/release-manager/references/update_kb_from_fixes.md +0 -29
- package/.agent/skills/release-manager/scripts/release.ps1 +0 -222
- package/.agent/skills/selectpaste-update/SKILL.md +0 -46
- package/.agent/skills/selectpaste-update/scripts/sync-commands.py +0 -317
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
<purpose>
|
|
2
|
+
Rapid feasibility validation through focused, throwaway experiments. Each spike answers one
|
|
3
|
+
specific question with observable evidence. Saves artifacts to `.planning/spikes/`.
|
|
4
|
+
Companion to `/gsd-spike-wrap-up`.
|
|
5
|
+
</purpose>
|
|
6
|
+
|
|
7
|
+
<required_reading>
|
|
8
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
9
|
+
</required_reading>
|
|
10
|
+
|
|
11
|
+
<process>
|
|
12
|
+
|
|
13
|
+
<step name="banner">
|
|
14
|
+
```
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
GSD ► SPIKING
|
|
17
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Parse `$ARGUMENTS` for:
|
|
21
|
+
- `--quick` flag → set `QUICK_MODE=true`
|
|
22
|
+
- Remaining text → the idea to spike
|
|
23
|
+
</step>
|
|
24
|
+
|
|
25
|
+
<step name="setup_directory">
|
|
26
|
+
Create `.planning/spikes/` if it doesn't exist:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
mkdir -p .planning/spikes
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Check for existing spikes to determine numbering:
|
|
33
|
+
```bash
|
|
34
|
+
ls -d .planning/spikes/[0-9][0-9][0-9]-* 2>/dev/null | sort | tail -1
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Check `commit_docs` config:
|
|
38
|
+
```bash
|
|
39
|
+
COMMIT_DOCS=$(gsd-sdk query config-get commit_docs 2>/dev/null || echo "true")
|
|
40
|
+
```
|
|
41
|
+
</step>
|
|
42
|
+
|
|
43
|
+
<step name="detect_stack">
|
|
44
|
+
Check for the project's tech stack to inform spike technology choices:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
ls package.json pyproject.toml Cargo.toml go.mod 2>/dev/null
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Use the project's language/framework by default. For greenfield projects with no existing stack, pick whatever gets to a runnable result fastest (Python, Node, Bash, single HTML file).
|
|
51
|
+
|
|
52
|
+
Avoid unless the spike specifically requires it:
|
|
53
|
+
- Complex package management beyond `npm install` or `pip install`
|
|
54
|
+
- Build tools, bundlers, or transpilers
|
|
55
|
+
- Docker, containers, or infrastructure
|
|
56
|
+
- Env files or config systems — hardcode everything
|
|
57
|
+
</step>
|
|
58
|
+
|
|
59
|
+
<step name="decompose">
|
|
60
|
+
**If `QUICK_MODE` is true:** Skip decomposition and alignment. Take the user's idea as a single spike question. Assign it spike number `001` (or next available). Jump to `build_spikes`.
|
|
61
|
+
|
|
62
|
+
**Otherwise:**
|
|
63
|
+
|
|
64
|
+
Break the idea into 2-5 independent questions that each prove something specific. Frame each as an informal Given/When/Then. Present as a table:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
| # | Spike | Validates (Given/When/Then) | Risk |
|
|
68
|
+
|---|-------|-----------------------------|------|
|
|
69
|
+
| 001 | websocket-streaming | Given a WS connection, when LLM streams tokens, then client receives chunks < 100ms | **High** |
|
|
70
|
+
| 002 | pdf-extraction | Given a multi-page PDF, when parsed with pdfjs, then structured text is extractable | Medium |
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Good spikes answer one specific feasibility question:
|
|
74
|
+
- "Can we parse X format and extract Y?" — script that does it on a sample file
|
|
75
|
+
- "How fast is X approach?" — benchmark with real-ish data
|
|
76
|
+
- "Can we get X and Y to talk to each other?" — thinnest integration
|
|
77
|
+
- "What does X feel like as a UI?" — minimal interactive prototype
|
|
78
|
+
- "Does X API actually support Y?" — script that calls it and shows the response
|
|
79
|
+
|
|
80
|
+
Bad spikes are too broad or don't produce observable output:
|
|
81
|
+
- "Set up the project" — not a question, just busywork
|
|
82
|
+
- "Design the architecture" — planning, not spiking
|
|
83
|
+
- "Build the backend" — too broad, no specific question
|
|
84
|
+
|
|
85
|
+
Order by risk — the spike most likely to kill the idea runs first.
|
|
86
|
+
</step>
|
|
87
|
+
|
|
88
|
+
<step name="align">
|
|
89
|
+
**If `QUICK_MODE` is true:** Skip.
|
|
90
|
+
|
|
91
|
+
Present the ordered spike list and ask which to build:
|
|
92
|
+
|
|
93
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
94
|
+
║ CHECKPOINT: Decision Required ║
|
|
95
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
96
|
+
|
|
97
|
+
{spike table from decompose step}
|
|
98
|
+
|
|
99
|
+
──────────────────────────────────────────────────────────────
|
|
100
|
+
→ Build all in this order, or adjust the list?
|
|
101
|
+
──────────────────────────────────────────────────────────────
|
|
102
|
+
|
|
103
|
+
The user may reorder, merge, split, or skip spikes. Wait for alignment.
|
|
104
|
+
</step>
|
|
105
|
+
|
|
106
|
+
<step name="create_manifest">
|
|
107
|
+
Create or update `.planning/spikes/MANIFEST.md`:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# Spike Manifest
|
|
111
|
+
|
|
112
|
+
## Idea
|
|
113
|
+
[One paragraph describing the overall idea being explored]
|
|
114
|
+
|
|
115
|
+
## Spikes
|
|
116
|
+
|
|
117
|
+
| # | Name | Validates | Verdict | Tags |
|
|
118
|
+
|---|------|-----------|---------|------|
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
If MANIFEST.md already exists, append new spikes to the existing table.
|
|
122
|
+
</step>
|
|
123
|
+
|
|
124
|
+
<step name="build_spikes">
|
|
125
|
+
Build each spike sequentially, highest-risk first.
|
|
126
|
+
|
|
127
|
+
### For Each Spike:
|
|
128
|
+
|
|
129
|
+
**a.** Find next available number by checking existing `.planning/spikes/NNN-*/` directories.
|
|
130
|
+
Format: three-digit zero-padded + hyphenated descriptive name.
|
|
131
|
+
|
|
132
|
+
**b.** Create the spike directory: `.planning/spikes/NNN-descriptive-name/`
|
|
133
|
+
|
|
134
|
+
**c.** Build the minimum code that answers the spike's question. Every line must serve the question — nothing incidental. If auth isn't the question, hardcode a token. If the database isn't the question, use a JSON file. Strip everything that doesn't directly answer "does X work?"
|
|
135
|
+
|
|
136
|
+
**d.** Write `README.md` with YAML frontmatter:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
---
|
|
140
|
+
spike: NNN
|
|
141
|
+
name: descriptive-name
|
|
142
|
+
validates: "Given [precondition], when [action], then [expected outcome]"
|
|
143
|
+
verdict: PENDING
|
|
144
|
+
related: []
|
|
145
|
+
tags: [tag1, tag2]
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
# Spike NNN: Descriptive Name
|
|
149
|
+
|
|
150
|
+
## What This Validates
|
|
151
|
+
[The specific feasibility question, framed as Given/When/Then]
|
|
152
|
+
|
|
153
|
+
## How to Run
|
|
154
|
+
[Single command or short sequence to run the spike]
|
|
155
|
+
|
|
156
|
+
## What to Expect
|
|
157
|
+
[Concrete observable outcomes: "When you click X, you should see Y within Z seconds"]
|
|
158
|
+
|
|
159
|
+
## Results
|
|
160
|
+
[Filled in after running — verdict, evidence, surprises]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**e.** Auto-link related spikes: read existing spike READMEs and infer relationships from tags, names, and descriptions. Write the `related` field silently.
|
|
164
|
+
|
|
165
|
+
**f.** Run and verify:
|
|
166
|
+
- If self-verifiable: run it, check output, update README verdict and Results section
|
|
167
|
+
- If needs human judgment: run it, present instructions using a checkpoint box:
|
|
168
|
+
|
|
169
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
170
|
+
║ CHECKPOINT: Verification Required ║
|
|
171
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
172
|
+
|
|
173
|
+
**Spike {NNN}: {name}**
|
|
174
|
+
|
|
175
|
+
**How to run:** {command}
|
|
176
|
+
**What to expect:** {concrete outcomes}
|
|
177
|
+
|
|
178
|
+
──────────────────────────────────────────────────────────────
|
|
179
|
+
→ Does this match what you expected? Describe what you see.
|
|
180
|
+
──────────────────────────────────────────────────────────────
|
|
181
|
+
|
|
182
|
+
**g.** Update verdict to VALIDATED / INVALIDATED / PARTIAL. Update Results section with evidence.
|
|
183
|
+
|
|
184
|
+
**h.** Update `.planning/spikes/MANIFEST.md` with the spike's row.
|
|
185
|
+
|
|
186
|
+
**i.** Commit (if `COMMIT_DOCS` is true):
|
|
187
|
+
```bash
|
|
188
|
+
gsd-sdk query commit "docs(spike-NNN): [VERDICT] — [key finding in one sentence]" .planning/spikes/NNN-descriptive-name/ .planning/spikes/MANIFEST.md
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**j.** Report before moving to next spike:
|
|
192
|
+
```
|
|
193
|
+
◆ Spike NNN: {name}
|
|
194
|
+
Verdict: {VALIDATED ✓ / INVALIDATED ✗ / PARTIAL ⚠}
|
|
195
|
+
Finding: {one sentence}
|
|
196
|
+
Impact: {effect on remaining spikes, if any}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**k.** If a spike invalidates a core assumption: stop and present:
|
|
200
|
+
|
|
201
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
202
|
+
║ CHECKPOINT: Decision Required ║
|
|
203
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
204
|
+
|
|
205
|
+
Core assumption invalidated by Spike {NNN}.
|
|
206
|
+
|
|
207
|
+
{what was invalidated and why}
|
|
208
|
+
|
|
209
|
+
──────────────────────────────────────────────────────────────
|
|
210
|
+
→ Continue with remaining spikes / Pivot approach / Abandon
|
|
211
|
+
──────────────────────────────────────────────────────────────
|
|
212
|
+
|
|
213
|
+
Only proceed if the user says to.
|
|
214
|
+
</step>
|
|
215
|
+
|
|
216
|
+
<step name="report">
|
|
217
|
+
After all spikes complete, present the consolidated report:
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
221
|
+
GSD ► SPIKE COMPLETE ✓
|
|
222
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
223
|
+
|
|
224
|
+
## Verdicts
|
|
225
|
+
|
|
226
|
+
| # | Name | Verdict |
|
|
227
|
+
|---|------|---------|
|
|
228
|
+
| 001 | {name} | ✓ VALIDATED |
|
|
229
|
+
| 002 | {name} | ✗ INVALIDATED |
|
|
230
|
+
|
|
231
|
+
## Key Discoveries
|
|
232
|
+
{surprises, gotchas, things that weren't expected}
|
|
233
|
+
|
|
234
|
+
## Feasibility Assessment
|
|
235
|
+
{overall, is the idea viable?}
|
|
236
|
+
|
|
237
|
+
## Signal for the Build
|
|
238
|
+
{what the real implementation should use, avoid, or watch out for}
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
───────────────────────────────────────────────────────────────
|
|
242
|
+
|
|
243
|
+
## ▶ Next Up
|
|
244
|
+
|
|
245
|
+
**Package findings** — wrap spike knowledge into a reusable skill
|
|
246
|
+
|
|
247
|
+
`/gsd-spike-wrap-up`
|
|
248
|
+
|
|
249
|
+
───────────────────────────────────────────────────────────────
|
|
250
|
+
|
|
251
|
+
**Also available:**
|
|
252
|
+
- `/gsd-plan-phase` — start planning the real implementation
|
|
253
|
+
- `/gsd-explore` — continue exploring the idea
|
|
254
|
+
- `/gsd-add-phase` — add a phase to the roadmap based on findings
|
|
255
|
+
|
|
256
|
+
───────────────────────────────────────────────────────────────
|
|
257
|
+
</step>
|
|
258
|
+
|
|
259
|
+
</process>
|
|
260
|
+
|
|
261
|
+
<success_criteria>
|
|
262
|
+
- [ ] `.planning/spikes/` created (auto-creates if needed, no project init required)
|
|
263
|
+
- [ ] Each spike answers one specific question with observable evidence
|
|
264
|
+
- [ ] Each spike README has complete frontmatter, run instructions, and results
|
|
265
|
+
- [ ] User verified each spike (self-verified or human checkpoint)
|
|
266
|
+
- [ ] MANIFEST.md is current
|
|
267
|
+
- [ ] Commits use `docs(spike-NNN): [VERDICT]` format
|
|
268
|
+
- [ ] Consolidated report presented with next-step routing
|
|
269
|
+
- [ ] If core assumption invalidated, execution stopped and user consulted
|
|
270
|
+
</success_criteria>
|
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
<purpose>
|
|
2
|
-
Display comprehensive project statistics including phases, plans, requirements, git metrics, and timeline.
|
|
3
|
-
</purpose>
|
|
4
|
-
|
|
5
|
-
<required_reading>
|
|
6
|
-
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
-
</required_reading>
|
|
8
|
-
|
|
9
|
-
<process>
|
|
10
|
-
|
|
11
|
-
<step name="gather_stats">
|
|
12
|
-
Gather project statistics:
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
|
|
16
|
-
if [[ "$STATS" == @file:* ]]; then STATS=$(cat "${STATS#@file:}"); fi
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Extract fields from JSON: `milestone_version`, `milestone_name`, `phases`, `phases_completed`, `phases_total`, `total_plans`, `total_summaries`, `percent`, `plan_percent`, `requirements_total`, `requirements_complete`, `git_commits`, `git_first_commit_date`, `last_activity`.
|
|
20
|
-
</step>
|
|
21
|
-
|
|
22
|
-
<step name="present_stats">
|
|
23
|
-
Present to the user with this format:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
# 📊 Project Statistics — {milestone_version} {milestone_name}
|
|
27
|
-
|
|
28
|
-
## Progress
|
|
29
|
-
[████████░░] X/Y phases (Z%)
|
|
30
|
-
|
|
31
|
-
## Plans
|
|
32
|
-
X/Y plans complete (Z%)
|
|
33
|
-
|
|
34
|
-
## Phases
|
|
35
|
-
| Phase | Name | Plans | Completed | Status |
|
|
36
|
-
|-------|------|-------|-----------|--------|
|
|
37
|
-
| ... | ... | ... | ... | ... |
|
|
38
|
-
|
|
39
|
-
## Requirements
|
|
40
|
-
✅ X/Y requirements complete
|
|
41
|
-
|
|
42
|
-
## Git
|
|
43
|
-
- **Commits:** N
|
|
44
|
-
- **Started:** YYYY-MM-DD
|
|
45
|
-
- **Last activity:** YYYY-MM-DD
|
|
46
|
-
|
|
47
|
-
## Timeline
|
|
48
|
-
- **Project age:** N days
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
If no `.planning/` directory exists, inform the user to run `/gsd-new-project` first.
|
|
52
|
-
</step>
|
|
53
|
-
|
|
54
|
-
</process>
|
|
55
|
-
|
|
56
|
-
<success_criteria>
|
|
57
|
-
- [ ] Statistics gathered from project state
|
|
58
|
-
- [ ] Results formatted clearly
|
|
59
|
-
- [ ] Displayed to user
|
|
60
|
-
</success_criteria>
|
|
1
|
+
<purpose>
|
|
2
|
+
Display comprehensive project statistics including phases, plans, requirements, git metrics, and timeline.
|
|
3
|
+
</purpose>
|
|
4
|
+
|
|
5
|
+
<required_reading>
|
|
6
|
+
Read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
|
+
</required_reading>
|
|
8
|
+
|
|
9
|
+
<process>
|
|
10
|
+
|
|
11
|
+
<step name="gather_stats">
|
|
12
|
+
Gather project statistics:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
STATS=$(gsd-sdk query stats.json)
|
|
16
|
+
if [[ "$STATS" == @file:* ]]; then STATS=$(cat "${STATS#@file:}"); fi
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Extract fields from JSON: `milestone_version`, `milestone_name`, `phases`, `phases_completed`, `phases_total`, `total_plans`, `total_summaries`, `percent`, `plan_percent`, `requirements_total`, `requirements_complete`, `git_commits`, `git_first_commit_date`, `last_activity`.
|
|
20
|
+
</step>
|
|
21
|
+
|
|
22
|
+
<step name="present_stats">
|
|
23
|
+
Present to the user with this format:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
# 📊 Project Statistics — {milestone_version} {milestone_name}
|
|
27
|
+
|
|
28
|
+
## Progress
|
|
29
|
+
[████████░░] X/Y phases (Z%)
|
|
30
|
+
|
|
31
|
+
## Plans
|
|
32
|
+
X/Y plans complete (Z%)
|
|
33
|
+
|
|
34
|
+
## Phases
|
|
35
|
+
| Phase | Name | Plans | Completed | Status |
|
|
36
|
+
|-------|------|-------|-----------|--------|
|
|
37
|
+
| ... | ... | ... | ... | ... |
|
|
38
|
+
|
|
39
|
+
## Requirements
|
|
40
|
+
✅ X/Y requirements complete
|
|
41
|
+
|
|
42
|
+
## Git
|
|
43
|
+
- **Commits:** N
|
|
44
|
+
- **Started:** YYYY-MM-DD
|
|
45
|
+
- **Last activity:** YYYY-MM-DD
|
|
46
|
+
|
|
47
|
+
## Timeline
|
|
48
|
+
- **Project age:** N days
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
If no `.planning/` directory exists, inform the user to run `/gsd-new-project` first.
|
|
52
|
+
</step>
|
|
53
|
+
|
|
54
|
+
</process>
|
|
55
|
+
|
|
56
|
+
<success_criteria>
|
|
57
|
+
- [ ] Statistics gathered from project state
|
|
58
|
+
- [ ] Results formatted clearly
|
|
59
|
+
- [ ] Displayed to user
|
|
60
|
+
</success_criteria>
|