gsd-opencode 1.22.1 → 1.33.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/agents/gsd-advisor-researcher.md +112 -0
- package/agents/gsd-assumptions-analyzer.md +110 -0
- package/agents/gsd-codebase-mapper.md +0 -2
- package/agents/gsd-debugger.md +117 -2
- package/agents/gsd-doc-verifier.md +207 -0
- package/agents/gsd-doc-writer.md +608 -0
- package/agents/gsd-executor.md +45 -4
- package/agents/gsd-integration-checker.md +0 -2
- package/agents/gsd-nyquist-auditor.md +0 -2
- package/agents/gsd-phase-researcher.md +191 -5
- package/agents/gsd-plan-checker.md +152 -5
- package/agents/gsd-planner.md +131 -157
- package/agents/gsd-project-researcher.md +28 -3
- package/agents/gsd-research-synthesizer.md +0 -2
- package/agents/gsd-roadmapper.md +29 -2
- package/agents/gsd-security-auditor.md +129 -0
- package/agents/gsd-ui-auditor.md +485 -0
- package/agents/gsd-ui-checker.md +305 -0
- package/agents/gsd-ui-researcher.md +368 -0
- package/agents/gsd-user-profiler.md +173 -0
- package/agents/gsd-verifier.md +207 -22
- package/commands/gsd/gsd-add-backlog.md +76 -0
- package/commands/gsd/gsd-analyze-dependencies.md +34 -0
- package/commands/gsd/gsd-audit-uat.md +24 -0
- package/commands/gsd/gsd-autonomous.md +45 -0
- package/commands/gsd/gsd-cleanup.md +5 -0
- package/commands/gsd/gsd-debug.md +29 -21
- package/commands/gsd/gsd-discuss-phase.md +15 -36
- package/commands/gsd/gsd-do.md +30 -0
- package/commands/gsd/gsd-docs-update.md +48 -0
- package/commands/gsd/gsd-execute-phase.md +24 -2
- package/commands/gsd/gsd-fast.md +30 -0
- package/commands/gsd/gsd-forensics.md +56 -0
- package/commands/gsd/gsd-help.md +2 -0
- package/commands/gsd/gsd-join-discord.md +2 -1
- package/commands/gsd/gsd-list-workspaces.md +19 -0
- package/commands/gsd/gsd-manager.md +40 -0
- package/commands/gsd/gsd-milestone-summary.md +51 -0
- package/commands/gsd/gsd-new-project.md +4 -0
- package/commands/gsd/gsd-new-workspace.md +44 -0
- package/commands/gsd/gsd-next.md +24 -0
- package/commands/gsd/gsd-note.md +34 -0
- package/commands/gsd/gsd-plan-phase.md +8 -1
- package/commands/gsd/gsd-plant-seed.md +28 -0
- package/commands/gsd/gsd-pr-branch.md +25 -0
- package/commands/gsd/gsd-profile-user.md +46 -0
- package/commands/gsd/gsd-quick.md +7 -3
- package/commands/gsd/gsd-reapply-patches.md +178 -45
- package/commands/gsd/gsd-remove-workspace.md +26 -0
- package/commands/gsd/gsd-research-phase.md +7 -12
- package/commands/gsd/gsd-review-backlog.md +62 -0
- package/commands/gsd/gsd-review.md +38 -0
- package/commands/gsd/gsd-secure-phase.md +35 -0
- package/commands/gsd/gsd-session-report.md +19 -0
- package/commands/gsd/gsd-set-profile.md +24 -23
- package/commands/gsd/gsd-ship.md +23 -0
- package/commands/gsd/gsd-stats.md +18 -0
- package/commands/gsd/gsd-thread.md +127 -0
- package/commands/gsd/gsd-ui-phase.md +34 -0
- package/commands/gsd/gsd-ui-review.md +32 -0
- package/commands/gsd/gsd-workstreams.md +71 -0
- package/get-shit-done/bin/gsd-tools.cjs +450 -90
- package/get-shit-done/bin/lib/commands.cjs +489 -24
- package/get-shit-done/bin/lib/config.cjs +329 -48
- package/get-shit-done/bin/lib/core.cjs +1143 -102
- package/get-shit-done/bin/lib/docs.cjs +267 -0
- package/get-shit-done/bin/lib/frontmatter.cjs +125 -43
- package/get-shit-done/bin/lib/init.cjs +918 -106
- package/get-shit-done/bin/lib/milestone.cjs +65 -33
- package/get-shit-done/bin/lib/model-profiles.cjs +70 -0
- package/get-shit-done/bin/lib/phase.cjs +434 -404
- package/get-shit-done/bin/lib/profile-output.cjs +1048 -0
- package/get-shit-done/bin/lib/profile-pipeline.cjs +539 -0
- package/get-shit-done/bin/lib/roadmap.cjs +156 -101
- package/get-shit-done/bin/lib/schema-detect.cjs +238 -0
- package/get-shit-done/bin/lib/security.cjs +384 -0
- package/get-shit-done/bin/lib/state.cjs +711 -79
- package/get-shit-done/bin/lib/template.cjs +2 -2
- package/get-shit-done/bin/lib/uat.cjs +282 -0
- package/get-shit-done/bin/lib/verify.cjs +254 -42
- package/get-shit-done/bin/lib/workstream.cjs +495 -0
- package/get-shit-done/references/agent-contracts.md +79 -0
- package/get-shit-done/references/artifact-types.md +113 -0
- package/get-shit-done/references/checkpoints.md +12 -10
- package/get-shit-done/references/context-budget.md +49 -0
- package/get-shit-done/references/continuation-format.md +15 -15
- package/get-shit-done/references/decimal-phase-calculation.md +2 -3
- package/get-shit-done/references/domain-probes.md +125 -0
- package/get-shit-done/references/gate-prompts.md +100 -0
- package/get-shit-done/references/git-integration.md +47 -0
- package/get-shit-done/references/model-profile-resolution.md +2 -0
- package/get-shit-done/references/model-profiles.md +62 -16
- package/get-shit-done/references/phase-argument-parsing.md +2 -2
- package/get-shit-done/references/planner-gap-closure.md +62 -0
- package/get-shit-done/references/planner-reviews.md +39 -0
- package/get-shit-done/references/planner-revision.md +87 -0
- package/get-shit-done/references/planning-config.md +18 -1
- package/get-shit-done/references/revision-loop.md +97 -0
- package/get-shit-done/references/ui-brand.md +2 -2
- package/get-shit-done/references/universal-anti-patterns.md +58 -0
- package/get-shit-done/references/user-profiling.md +681 -0
- package/get-shit-done/references/workstream-flag.md +111 -0
- package/get-shit-done/templates/SECURITY.md +61 -0
- package/get-shit-done/templates/UAT.md +21 -3
- package/get-shit-done/templates/UI-SPEC.md +100 -0
- package/get-shit-done/templates/VALIDATION.md +3 -3
- package/get-shit-done/templates/claude-md.md +145 -0
- package/get-shit-done/templates/config.json +14 -3
- package/get-shit-done/templates/context.md +61 -6
- package/get-shit-done/templates/debug-subagent-prompt.md +2 -6
- package/get-shit-done/templates/dev-preferences.md +21 -0
- package/get-shit-done/templates/discussion-log.md +63 -0
- package/get-shit-done/templates/phase-prompt.md +46 -5
- package/get-shit-done/templates/planner-subagent-prompt.md +2 -10
- package/get-shit-done/templates/project.md +2 -0
- package/get-shit-done/templates/state.md +2 -2
- package/get-shit-done/templates/user-profile.md +146 -0
- package/get-shit-done/workflows/add-phase.md +4 -4
- package/get-shit-done/workflows/add-tests.md +4 -4
- package/get-shit-done/workflows/add-todo.md +4 -4
- package/get-shit-done/workflows/analyze-dependencies.md +96 -0
- package/get-shit-done/workflows/audit-milestone.md +20 -16
- package/get-shit-done/workflows/audit-uat.md +109 -0
- package/get-shit-done/workflows/autonomous.md +1036 -0
- package/get-shit-done/workflows/check-todos.md +4 -4
- package/get-shit-done/workflows/cleanup.md +4 -4
- package/get-shit-done/workflows/complete-milestone.md +22 -10
- package/get-shit-done/workflows/diagnose-issues.md +21 -7
- package/get-shit-done/workflows/discovery-phase.md +2 -2
- package/get-shit-done/workflows/discuss-phase-assumptions.md +671 -0
- package/get-shit-done/workflows/discuss-phase-power.md +291 -0
- package/get-shit-done/workflows/discuss-phase.md +558 -47
- package/get-shit-done/workflows/do.md +104 -0
- package/get-shit-done/workflows/docs-update.md +1093 -0
- package/get-shit-done/workflows/execute-phase.md +741 -58
- package/get-shit-done/workflows/execute-plan.md +77 -12
- package/get-shit-done/workflows/fast.md +105 -0
- package/get-shit-done/workflows/forensics.md +265 -0
- package/get-shit-done/workflows/health.md +28 -6
- package/get-shit-done/workflows/help.md +127 -7
- package/get-shit-done/workflows/insert-phase.md +4 -4
- package/get-shit-done/workflows/list-phase-assumptions.md +2 -2
- package/get-shit-done/workflows/list-workspaces.md +56 -0
- package/get-shit-done/workflows/manager.md +363 -0
- package/get-shit-done/workflows/map-codebase.md +83 -44
- package/get-shit-done/workflows/milestone-summary.md +223 -0
- package/get-shit-done/workflows/new-milestone.md +133 -25
- package/get-shit-done/workflows/new-project.md +216 -54
- package/get-shit-done/workflows/new-workspace.md +237 -0
- package/get-shit-done/workflows/next.md +97 -0
- package/get-shit-done/workflows/node-repair.md +92 -0
- package/get-shit-done/workflows/note.md +156 -0
- package/get-shit-done/workflows/pause-work.md +132 -15
- package/get-shit-done/workflows/plan-milestone-gaps.md +6 -7
- package/get-shit-done/workflows/plan-phase.md +513 -62
- package/get-shit-done/workflows/plant-seed.md +169 -0
- package/get-shit-done/workflows/pr-branch.md +129 -0
- package/get-shit-done/workflows/profile-user.md +450 -0
- package/get-shit-done/workflows/progress.md +154 -29
- package/get-shit-done/workflows/quick.md +285 -111
- package/get-shit-done/workflows/remove-phase.md +2 -2
- package/get-shit-done/workflows/remove-workspace.md +90 -0
- package/get-shit-done/workflows/research-phase.md +13 -9
- package/get-shit-done/workflows/resume-project.md +37 -18
- package/get-shit-done/workflows/review.md +281 -0
- package/get-shit-done/workflows/secure-phase.md +154 -0
- package/get-shit-done/workflows/session-report.md +146 -0
- package/get-shit-done/workflows/set-profile.md +2 -2
- package/get-shit-done/workflows/settings.md +91 -11
- package/get-shit-done/workflows/ship.md +237 -0
- package/get-shit-done/workflows/stats.md +60 -0
- package/get-shit-done/workflows/transition.md +150 -23
- package/get-shit-done/workflows/ui-phase.md +292 -0
- package/get-shit-done/workflows/ui-review.md +183 -0
- package/get-shit-done/workflows/update.md +262 -30
- package/get-shit-done/workflows/validate-phase.md +14 -17
- package/get-shit-done/workflows/verify-phase.md +143 -11
- package/get-shit-done/workflows/verify-work.md +141 -39
- package/package.json +1 -1
- package/skills/gsd-audit-milestone/SKILL.md +29 -0
- package/skills/gsd-cleanup/SKILL.md +19 -0
- package/skills/gsd-complete-milestone/SKILL.md +131 -0
- package/skills/gsd-discuss-phase/SKILL.md +54 -0
- package/skills/gsd-execute-phase/SKILL.md +49 -0
- package/skills/gsd-plan-phase/SKILL.md +37 -0
- package/skills/gsd-ui-phase/SKILL.md +24 -0
- package/skills/gsd-ui-review/SKILL.md +24 -0
- package/skills/gsd-verify-work/SKILL.md +30 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Discussion Log Template
|
|
2
|
+
|
|
3
|
+
Template for `.planning/phases/XX-name/{phase_num}-DISCUSSION-LOG.md` — audit trail of discuss-phase Q&A sessions.
|
|
4
|
+
|
|
5
|
+
**Purpose:** Software audit trail for decision-making. Captures all options considered, not just the selected one. Separate from CONTEXT.md which is the implementation artifact consumed by downstream agents.
|
|
6
|
+
|
|
7
|
+
**NOT for LLM consumption.** This file should never be referenced in `<files_to_read>` blocks or agent prompts.
|
|
8
|
+
|
|
9
|
+
## Format
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
# Phase [X]: [Name] - Discussion Log
|
|
13
|
+
|
|
14
|
+
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
|
15
|
+
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
|
16
|
+
|
|
17
|
+
**Date:** [ISO date]
|
|
18
|
+
**Phase:** [phase number]-[phase name]
|
|
19
|
+
**Areas discussed:** [comma-separated list]
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## [Area 1 Name]
|
|
24
|
+
|
|
25
|
+
| Option | Description | Selected |
|
|
26
|
+
|--------|-------------|----------|
|
|
27
|
+
| [Option 1] | [Brief description] | |
|
|
28
|
+
| [Option 2] | [Brief description] | ✓ |
|
|
29
|
+
| [Option 3] | [Brief description] | |
|
|
30
|
+
|
|
31
|
+
**User's choice:** [Selected option or verbatim free-text response]
|
|
32
|
+
**Notes:** [Any clarifications or rationale provided during discussion]
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## [Area 2 Name]
|
|
37
|
+
|
|
38
|
+
...
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## OpenCode's Discretion
|
|
43
|
+
|
|
44
|
+
[Areas delegated to OpenCode's judgment — list what was deferred and why]
|
|
45
|
+
|
|
46
|
+
## Deferred Ideas
|
|
47
|
+
|
|
48
|
+
[Ideas mentioned but not in scope for this phase]
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
*Phase: XX-name*
|
|
53
|
+
*Discussion log generated: [date]*
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Rules
|
|
57
|
+
|
|
58
|
+
- Generated automatically at end of every discuss-phase session
|
|
59
|
+
- Includes ALL options considered, not just the selected one
|
|
60
|
+
- Includes user's freeform notes and clarifications
|
|
61
|
+
- Clearly marked as audit-only, not an implementation artifact
|
|
62
|
+
- Does NOT interfere with CONTEXT.md generation or downstream agent behavior
|
|
63
|
+
- Committed alongside CONTEXT.md in the same git commit
|
|
@@ -63,21 +63,29 @@ Output: [What artifacts will be created]
|
|
|
63
63
|
<task type="auto">
|
|
64
64
|
<name>task 1: [Action-oriented name]</name>
|
|
65
65
|
<files>path/to/file.ext, another/file.ext</files>
|
|
66
|
-
<
|
|
66
|
+
<read_first>path/to/reference.ext, path/to/source-of-truth.ext</read_first>
|
|
67
|
+
<action>[Specific implementation - what to do, how to do it, what to avoid and WHY. Include CONCRETE values: exact identifiers, parameters, expected outputs, file paths, command arguments. Never say "align X with Y" without specifying the exact target state.]</action>
|
|
67
68
|
<verify>[Command or check to prove it worked]</verify>
|
|
69
|
+
<acceptance_criteria>
|
|
70
|
+
- [grep-verifiable condition: "file.ext contains 'exact string'"]
|
|
71
|
+
- [Measurable condition: "output.ext uses 'expected-value', NOT 'wrong-value'"]
|
|
72
|
+
</acceptance_criteria>
|
|
68
73
|
<done>[Measurable acceptance criteria]</done>
|
|
69
74
|
</task>
|
|
70
75
|
|
|
71
76
|
<task type="auto">
|
|
72
77
|
<name>task 2: [Action-oriented name]</name>
|
|
73
78
|
<files>path/to/file.ext</files>
|
|
74
|
-
<
|
|
79
|
+
<read_first>path/to/reference.ext</read_first>
|
|
80
|
+
<action>[Specific implementation with concrete values]</action>
|
|
75
81
|
<verify>[Command or check]</verify>
|
|
82
|
+
<acceptance_criteria>
|
|
83
|
+
- [grep-verifiable condition]
|
|
84
|
+
</acceptance_criteria>
|
|
76
85
|
<done>[Acceptance criteria]</done>
|
|
77
86
|
</task>
|
|
78
87
|
|
|
79
88
|
<!-- For checkpoint task examples and patterns, see @$HOME/.config/opencode/get-shit-done/references/checkpoints.md -->
|
|
80
|
-
<!-- Key rule: OpenCode starts dev server BEFORE human-verify checkpoints. User only visits URLs. -->
|
|
81
89
|
|
|
82
90
|
<task type="checkpoint:decision" gate="blocking">
|
|
83
91
|
<decision>[What needs deciding]</decision>
|
|
@@ -333,7 +341,7 @@ Output: User model, API endpoints, and UI components.
|
|
|
333
341
|
<name>task 2: Create User API endpoints</name>
|
|
334
342
|
<files>src/features/user/api.ts</files>
|
|
335
343
|
<action>GET /users (list), GET /users/:id (single), POST /users (create). Use User type from model.</action>
|
|
336
|
-
<verify>
|
|
344
|
+
<verify>fetch tests pass for all endpoints</verify>
|
|
337
345
|
<done>All CRUD operations work</done>
|
|
338
346
|
</task>
|
|
339
347
|
</tasks>
|
|
@@ -399,7 +407,7 @@ Output: Working dashboard component.
|
|
|
399
407
|
<task type="auto">
|
|
400
408
|
<name>Start dev server</name>
|
|
401
409
|
<action>Run `npm run dev` in background, wait for ready</action>
|
|
402
|
-
<verify>
|
|
410
|
+
<verify>fetch http://localhost:3000 returns 200</verify>
|
|
403
411
|
</task>
|
|
404
412
|
|
|
405
413
|
<task type="checkpoint:human-verify" gate="blocking">
|
|
@@ -456,6 +464,39 @@ files_modified: [...]
|
|
|
456
464
|
</task>
|
|
457
465
|
```
|
|
458
466
|
|
|
467
|
+
**Bad: Missing read_first (executor modifies files it hasn't read)**
|
|
468
|
+
```xml
|
|
469
|
+
<task type="auto">
|
|
470
|
+
<name>Update database config</name>
|
|
471
|
+
<files>src/config/database.ts</files>
|
|
472
|
+
<!-- No read_first! Executor doesn't know current state or conventions -->
|
|
473
|
+
<action>Update the database config to match production settings</action>
|
|
474
|
+
</task>
|
|
475
|
+
```
|
|
476
|
+
|
|
477
|
+
**Bad: Vague acceptance criteria (not verifiable)**
|
|
478
|
+
```xml
|
|
479
|
+
<acceptance_criteria>
|
|
480
|
+
- Config is properly set up
|
|
481
|
+
- Database connection works correctly
|
|
482
|
+
</acceptance_criteria>
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
**Good: Concrete with read_first + verifiable criteria**
|
|
486
|
+
```xml
|
|
487
|
+
<task type="auto">
|
|
488
|
+
<name>Update database config for connection pooling</name>
|
|
489
|
+
<files>src/config/database.ts</files>
|
|
490
|
+
<read_first>src/config/database.ts, .env.example, docker-compose.yml</read_first>
|
|
491
|
+
<action>Add pool configuration: min=2, max=20, idleTimeoutMs=30000. Add SSL config: rejectUnauthorized=true when NODE_ENV=production. Add .env.example entry: DATABASE_POOL_MAX=20.</action>
|
|
492
|
+
<acceptance_criteria>
|
|
493
|
+
- database.ts contains "max: 20" and "idleTimeoutMillis: 30000"
|
|
494
|
+
- database.ts contains SSL conditional on NODE_ENV
|
|
495
|
+
- .env.example contains DATABASE_POOL_MAX
|
|
496
|
+
</acceptance_criteria>
|
|
497
|
+
</task>
|
|
498
|
+
```
|
|
499
|
+
|
|
459
500
|
---
|
|
460
501
|
|
|
461
502
|
## Guidelines
|
|
@@ -70,20 +70,12 @@ Before returning PLANNING COMPLETE:
|
|
|
70
70
|
|
|
71
71
|
**From /gsd-plan-phase (standard mode):**
|
|
72
72
|
```python
|
|
73
|
-
|
|
74
|
-
prompt=filled_template,
|
|
75
|
-
subagent_type="gsd-planner",
|
|
76
|
-
description="Plan Phase {phase}"
|
|
77
|
-
)
|
|
73
|
+
@gsd-planner filled_template
|
|
78
74
|
```
|
|
79
75
|
|
|
80
76
|
**From /gsd-plan-phase --gaps (gap closure mode):**
|
|
81
77
|
```python
|
|
82
|
-
|
|
83
|
-
prompt=filled_template, # with mode: gap_closure
|
|
84
|
-
subagent_type="gsd-planner",
|
|
85
|
-
description="Plan gaps for Phase {phase}"
|
|
86
|
-
)
|
|
78
|
+
@gsd-planner filled_template
|
|
87
79
|
```
|
|
88
80
|
|
|
89
81
|
---
|
|
@@ -127,6 +127,8 @@ Common types: Tech stack, Timeline, Budget, Dependencies, Compatibility, Perform
|
|
|
127
127
|
<evolution>
|
|
128
128
|
|
|
129
129
|
PROJECT.md evolves throughout the project lifecycle.
|
|
130
|
+
These rules are embedded in the generated PROJECT.md (## Evolution section)
|
|
131
|
+
and implemented by workflows/transition.md and workflows/complete-milestone.md.
|
|
130
132
|
|
|
131
133
|
**After each phase transition:**
|
|
132
134
|
1. Requirements invalidated? → Move to Out of Scope with reason
|
|
@@ -73,7 +73,7 @@ Stopped at: [Description of last completed action]
|
|
|
73
73
|
Resume file: [Path to .continue-here*.md if exists, otherwise "None"]
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
<
|
|
76
|
+
<objective>
|
|
77
77
|
|
|
78
78
|
STATE.md is the project's short-term memory spanning all phases and sessions.
|
|
79
79
|
|
|
@@ -85,7 +85,7 @@ STATE.md is the project's short-term memory spanning all phases and sessions.
|
|
|
85
85
|
- Contains digest of accumulated context
|
|
86
86
|
- Enables instant session restoration
|
|
87
87
|
|
|
88
|
-
</
|
|
88
|
+
</objective>
|
|
89
89
|
|
|
90
90
|
<lifecycle>
|
|
91
91
|
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Developer Profile
|
|
2
|
+
|
|
3
|
+
> This profile was generated from session analysis. It contains behavioral directives
|
|
4
|
+
> for OpenCode to follow when working with this developer. HIGH confidence dimensions
|
|
5
|
+
> should be acted on directly. LOW confidence dimensions should be approached with
|
|
6
|
+
> hedging ("Based on your profile, I'll try X -- let me know if that's off").
|
|
7
|
+
|
|
8
|
+
**Generated:** {{generated_at}}
|
|
9
|
+
**Source:** {{data_source}}
|
|
10
|
+
**Projects Analyzed:** {{projects_list}}
|
|
11
|
+
**Messages Analyzed:** {{message_count}}
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Quick Reference
|
|
16
|
+
|
|
17
|
+
{{summary_instructions}}
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Communication Style
|
|
22
|
+
|
|
23
|
+
**Rating:** {{communication_style.rating}} | **Confidence:** {{communication_style.confidence}}
|
|
24
|
+
|
|
25
|
+
**Directive:** {{communication_style.claude_instruction}}
|
|
26
|
+
|
|
27
|
+
{{communication_style.summary}}
|
|
28
|
+
|
|
29
|
+
**Evidence:**
|
|
30
|
+
|
|
31
|
+
{{communication_style.evidence}}
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Decision Speed
|
|
36
|
+
|
|
37
|
+
**Rating:** {{decision_speed.rating}} | **Confidence:** {{decision_speed.confidence}}
|
|
38
|
+
|
|
39
|
+
**Directive:** {{decision_speed.claude_instruction}}
|
|
40
|
+
|
|
41
|
+
{{decision_speed.summary}}
|
|
42
|
+
|
|
43
|
+
**Evidence:**
|
|
44
|
+
|
|
45
|
+
{{decision_speed.evidence}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Explanation Depth
|
|
50
|
+
|
|
51
|
+
**Rating:** {{explanation_depth.rating}} | **Confidence:** {{explanation_depth.confidence}}
|
|
52
|
+
|
|
53
|
+
**Directive:** {{explanation_depth.claude_instruction}}
|
|
54
|
+
|
|
55
|
+
{{explanation_depth.summary}}
|
|
56
|
+
|
|
57
|
+
**Evidence:**
|
|
58
|
+
|
|
59
|
+
{{explanation_depth.evidence}}
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Debugging Approach
|
|
64
|
+
|
|
65
|
+
**Rating:** {{debugging_approach.rating}} | **Confidence:** {{debugging_approach.confidence}}
|
|
66
|
+
|
|
67
|
+
**Directive:** {{debugging_approach.claude_instruction}}
|
|
68
|
+
|
|
69
|
+
{{debugging_approach.summary}}
|
|
70
|
+
|
|
71
|
+
**Evidence:**
|
|
72
|
+
|
|
73
|
+
{{debugging_approach.evidence}}
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## UX Philosophy
|
|
78
|
+
|
|
79
|
+
**Rating:** {{ux_philosophy.rating}} | **Confidence:** {{ux_philosophy.confidence}}
|
|
80
|
+
|
|
81
|
+
**Directive:** {{ux_philosophy.claude_instruction}}
|
|
82
|
+
|
|
83
|
+
{{ux_philosophy.summary}}
|
|
84
|
+
|
|
85
|
+
**Evidence:**
|
|
86
|
+
|
|
87
|
+
{{ux_philosophy.evidence}}
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Vendor Philosophy
|
|
92
|
+
|
|
93
|
+
**Rating:** {{vendor_philosophy.rating}} | **Confidence:** {{vendor_philosophy.confidence}}
|
|
94
|
+
|
|
95
|
+
**Directive:** {{vendor_philosophy.claude_instruction}}
|
|
96
|
+
|
|
97
|
+
{{vendor_philosophy.summary}}
|
|
98
|
+
|
|
99
|
+
**Evidence:**
|
|
100
|
+
|
|
101
|
+
{{vendor_philosophy.evidence}}
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Frustration Triggers
|
|
106
|
+
|
|
107
|
+
**Rating:** {{frustration_triggers.rating}} | **Confidence:** {{frustration_triggers.confidence}}
|
|
108
|
+
|
|
109
|
+
**Directive:** {{frustration_triggers.claude_instruction}}
|
|
110
|
+
|
|
111
|
+
{{frustration_triggers.summary}}
|
|
112
|
+
|
|
113
|
+
**Evidence:**
|
|
114
|
+
|
|
115
|
+
{{frustration_triggers.evidence}}
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Learning Style
|
|
120
|
+
|
|
121
|
+
**Rating:** {{learning_style.rating}} | **Confidence:** {{learning_style.confidence}}
|
|
122
|
+
|
|
123
|
+
**Directive:** {{learning_style.claude_instruction}}
|
|
124
|
+
|
|
125
|
+
{{learning_style.summary}}
|
|
126
|
+
|
|
127
|
+
**Evidence:**
|
|
128
|
+
|
|
129
|
+
{{learning_style.evidence}}
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Profile Metadata
|
|
134
|
+
|
|
135
|
+
| Field | Value |
|
|
136
|
+
|-------|-------|
|
|
137
|
+
| Profile Version | {{profile_version}} |
|
|
138
|
+
| Generated | {{generated_at}} |
|
|
139
|
+
| Source | {{data_source}} |
|
|
140
|
+
| Projects | {{projects_count}} |
|
|
141
|
+
| Messages | {{message_count}} |
|
|
142
|
+
| Dimensions Scored | {{dimensions_scored}}/8 |
|
|
143
|
+
| High Confidence | {{high_confidence_count}} |
|
|
144
|
+
| Medium Confidence | {{medium_confidence_count}} |
|
|
145
|
+
| Low Confidence | {{low_confidence_count}} |
|
|
146
|
+
| Sensitive Content Excluded | {{sensitive_excluded_summary}} |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Add a new integer phase to the end of the current milestone in the roadmap. Automatically calculates next phase number, creates phase directory, and updates roadmap structure.
|
|
3
|
-
</
|
|
3
|
+
</objective>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
@@ -87,9 +87,9 @@ Roadmap updated: .planning/ROADMAP.md
|
|
|
87
87
|
|
|
88
88
|
**Phase {N}: {description}**
|
|
89
89
|
|
|
90
|
-
`/
|
|
90
|
+
`/new` then:
|
|
91
91
|
|
|
92
|
-
|
|
92
|
+
`/gsd-plan-phase {N}`
|
|
93
93
|
|
|
94
94
|
---
|
|
95
95
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Generate unit and E2E tests for a completed phase based on its SUMMARY.md, CONTEXT.md, and implementation. Classifies each changed file into TDD (unit), E2E (browser), or Skip categories, presents a test plan for user approval, then generates tests following RED-GREEN conventions.
|
|
3
3
|
|
|
4
4
|
Users currently hand-craft `/gsd-quick` prompts for test generation after each phase. This workflow standardizes the process with proper classification, quality gates, and gap reporting.
|
|
5
|
-
</
|
|
5
|
+
</objective>
|
|
6
6
|
|
|
7
7
|
<required_reading>
|
|
8
8
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
@@ -146,7 +146,7 @@ find . -type d -name "*test*" -o -name "*spec*" -o -name "*__tests__*" 2>/dev/nu
|
|
|
146
146
|
# Find existing test files for convention matching
|
|
147
147
|
find . -type f \( -name "*.test.*" -o -name "*.spec.*" -o -name "*Tests.fs" -o -name "*Test.fs" \) 2>/dev/null | head -20
|
|
148
148
|
# Check for test runners
|
|
149
|
-
ls package.json *.sln 2>/dev/null
|
|
149
|
+
ls package.json *.sln 2>/dev/null || true
|
|
150
150
|
```
|
|
151
151
|
|
|
152
152
|
Identify:
|
|
@@ -243,7 +243,7 @@ For each approved E2E test:
|
|
|
243
243
|
|
|
244
244
|
1. **Check for existing tests** covering the same scenario:
|
|
245
245
|
```bash
|
|
246
|
-
grep -r "{scenario keyword}" {e2e test directory} 2>/dev/null
|
|
246
|
+
grep -r "{scenario keyword}" {e2e test directory} 2>/dev/null || true
|
|
247
247
|
```
|
|
248
248
|
If found, extend rather than duplicate.
|
|
249
249
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Capture an idea, task, or issue that surfaces during a GSD session as a structured todo for later work. Enables "thought → capture → continue" flow without losing context.
|
|
3
|
-
</
|
|
3
|
+
</objective>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
@@ -20,7 +20,7 @@ Extract from init JSON: `commit_docs`, `date`, `timestamp`, `todo_count`, `todos
|
|
|
20
20
|
|
|
21
21
|
Ensure directories exist:
|
|
22
22
|
```bash
|
|
23
|
-
mkdir -p .planning/todos/pending .planning/todos/
|
|
23
|
+
mkdir -p .planning/todos/pending .planning/todos/completed
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Note existing areas from the todos array for consistency in infer_area step.
|
|
@@ -63,7 +63,7 @@ Use existing area from step 2 if similar match exists.
|
|
|
63
63
|
<step name="check_duplicates">
|
|
64
64
|
```bash
|
|
65
65
|
# Search for key words from title in existing todos
|
|
66
|
-
grep -l -i "[key words from title]" .planning/todos/pending/*.md 2>/dev/null
|
|
66
|
+
grep -l -i "[key words from title]" .planning/todos/pending/*.md 2>/dev/null || true
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
If potential duplicate found:
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<objective>
|
|
2
|
+
Analyze ROADMAP.md phases for dependency relationships before execution. Detect file overlap between phases, semantic API/data-flow dependencies, and suggest `Depends on` entries to prevent merge conflicts during parallel execution by `/gsd-manager`.
|
|
3
|
+
</objective>
|
|
4
|
+
|
|
5
|
+
<process>
|
|
6
|
+
|
|
7
|
+
## 1. Load ROADMAP.md
|
|
8
|
+
|
|
9
|
+
read `.planning/ROADMAP.md`. If it does not exist, error: "No ROADMAP.md found — run `/gsd-new-project` first."
|
|
10
|
+
|
|
11
|
+
Extract all phases. For each phase capture:
|
|
12
|
+
- Phase number and name
|
|
13
|
+
- Scope/Goal description
|
|
14
|
+
- Files listed in `Files` or `files_modified` fields (if present)
|
|
15
|
+
- Existing `Depends on` field value
|
|
16
|
+
|
|
17
|
+
## 2. Infer Likely File Modifications
|
|
18
|
+
|
|
19
|
+
For each phase without explicit `files_modified`, analyze the scope/goal description to infer which files will likely be modified. Use these heuristics:
|
|
20
|
+
|
|
21
|
+
- **Database/schema phases** → migration files, schema definitions, model files
|
|
22
|
+
- **API/backend phases** → route files, controller files, service files, handler files
|
|
23
|
+
- **Frontend/UI phases** → component files, page files, style files
|
|
24
|
+
- **Auth phases** → middleware files, auth route files, session/token files
|
|
25
|
+
- **Config/infra phases** → config files, environment files, CI/CD files
|
|
26
|
+
- **Test phases** → test files, spec files, fixture files
|
|
27
|
+
- **Shared utility phases** → lib/utils files, shared type definitions
|
|
28
|
+
|
|
29
|
+
Group phases by their inferred file domain (database, API, frontend, auth, config, shared).
|
|
30
|
+
|
|
31
|
+
## 3. Detect Dependency Relationships
|
|
32
|
+
|
|
33
|
+
For each pair of phases (A, B), check for dependency signals:
|
|
34
|
+
|
|
35
|
+
### File Overlap Detection
|
|
36
|
+
If phases A and B will both modify files in the same domain or the same specific files, one must run before the other. The phase that *provides* the foundation runs first.
|
|
37
|
+
|
|
38
|
+
### Semantic Dependency Detection
|
|
39
|
+
read each phase's scope/goal for these patterns:
|
|
40
|
+
- Phase B mentions consuming, using, or calling something that Phase A creates/implements
|
|
41
|
+
- Phase B references an "API", "schema", "model", "endpoint", or "interface" that Phase A builds
|
|
42
|
+
- Phase B says "after X is complete", "once X is built", "using the X from Phase N"
|
|
43
|
+
- Phase B extends or modifies code that Phase A establishes
|
|
44
|
+
|
|
45
|
+
### Data Flow Detection
|
|
46
|
+
- Phase A creates data structures, schemas, or types → Phase B consumes or transforms them
|
|
47
|
+
- Phase A seeds/migrates the database → Phase B reads from that database
|
|
48
|
+
- Phase A exposes an API contract → Phase B implements the client for that contract
|
|
49
|
+
|
|
50
|
+
## 4. Build Dependency Table
|
|
51
|
+
|
|
52
|
+
Output a dependency suggestion table:
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
Phase Dependency Analysis
|
|
56
|
+
=========================
|
|
57
|
+
|
|
58
|
+
Phase N: <name>
|
|
59
|
+
Scope: <brief scope>
|
|
60
|
+
Likely touches: <inferred file domains>
|
|
61
|
+
|
|
62
|
+
Suggested dependencies:
|
|
63
|
+
→ Depends on: <Phase M> — reason: <overlap/semantic/data-flow explanation>
|
|
64
|
+
|
|
65
|
+
Current "Depends on": <existing value or "(none)">
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
For phase pairs with no detected dependency, state: "No dependency detected between Phase X and Phase Y."
|
|
69
|
+
|
|
70
|
+
## 5. Summarize Suggested Changes
|
|
71
|
+
|
|
72
|
+
Show a consolidated diff of proposed ROADMAP.md `Depends on` changes:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Suggested ROADMAP.md updates:
|
|
76
|
+
Phase 3: add "Depends on: 1, 2" (file overlap: database schema)
|
|
77
|
+
Phase 5: add "Depends on: 3" (semantic: uses auth API from Phase 3)
|
|
78
|
+
Phase 4: no change needed (independent scope)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## 6. Confirm and Apply
|
|
82
|
+
|
|
83
|
+
Ask the user: "Apply these `Depends on` suggestions to ROADMAP.md? (yes / no / edit)"
|
|
84
|
+
|
|
85
|
+
- **yes** — write all suggested `Depends on` entries to ROADMAP.md. Confirm each write.
|
|
86
|
+
- **no** — Print the suggestions as text only. User updates manually.
|
|
87
|
+
- **edit** — Present each suggestion individually with yes/no/skip per suggestion.
|
|
88
|
+
|
|
89
|
+
When writing to ROADMAP.md:
|
|
90
|
+
- Locate the phase entry and add or update the `Depends on:` field
|
|
91
|
+
- Preserve all other phase content unchanged
|
|
92
|
+
- Do not reorder phases
|
|
93
|
+
|
|
94
|
+
After applying: "ROADMAP.md updated. Run `/gsd-manager` to execute phases in the correct order."
|
|
95
|
+
|
|
96
|
+
</process>
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
<
|
|
1
|
+
<objective>
|
|
2
2
|
Verify milestone achieved its definition of done by aggregating phase verifications, checking cross-phase integration, and assessing requirements coverage. Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
|
|
3
|
-
</
|
|
3
|
+
</objective>
|
|
4
4
|
|
|
5
5
|
<required_reading>
|
|
6
6
|
read all files referenced by the invoking prompt's execution_context before starting.
|
|
7
7
|
</required_reading>
|
|
8
8
|
|
|
9
|
+
<available_agent_types>
|
|
10
|
+
Valid GSD subagent types (use exact names — do not fall back to 'general'):
|
|
11
|
+
- gsd-integration-checker — Checks cross-phase integration
|
|
12
|
+
</available_agent_types>
|
|
13
|
+
|
|
9
14
|
<process>
|
|
10
15
|
|
|
11
16
|
## 0. Initialize Milestone Context
|
|
@@ -13,6 +18,7 @@ read all files referenced by the invoking prompt's execution_context before star
|
|
|
13
18
|
```bash
|
|
14
19
|
INIT=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" init milestone-op)
|
|
15
20
|
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
|
|
21
|
+
AGENT_SKILLS_CHECKER=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" agent-skills gsd-integration-checker 2>/dev/null)
|
|
16
22
|
```
|
|
17
23
|
|
|
18
24
|
Extract from init JSON: `milestone_version`, `milestone_name`, `phase_count`, `completed_phases`, `commit_docs`.
|
|
@@ -61,8 +67,7 @@ With phase context collected:
|
|
|
61
67
|
Extract `MILESTONE_REQ_IDS` from REQUIREMENTS.md traceability table — all REQ-IDs assigned to phases in this milestone.
|
|
62
68
|
|
|
63
69
|
```
|
|
64
|
-
|
|
65
|
-
prompt="Check cross-phase integration and E2E flows.
|
|
70
|
+
@gsd-integration-checker "Check cross-phase integration and E2E flows.
|
|
66
71
|
|
|
67
72
|
Phases: {phase_dirs}
|
|
68
73
|
Phase exports: {from SUMMARYs}
|
|
@@ -73,10 +78,8 @@ Milestone Requirements:
|
|
|
73
78
|
|
|
74
79
|
MUST map each integration finding to affected requirement IDs where applicable.
|
|
75
80
|
|
|
76
|
-
Verify cross-phase wiring and E2E user flows.
|
|
77
|
-
|
|
78
|
-
model="{integration_checker_model}"
|
|
79
|
-
)
|
|
81
|
+
Verify cross-phase wiring and E2E user flows.
|
|
82
|
+
${AGENT_SKILLS_CHECKER}"
|
|
80
83
|
```
|
|
81
84
|
|
|
82
85
|
## 4. Collect Results
|
|
@@ -105,7 +108,8 @@ For each phase's VERIFICATION.md, extract the expanded requirements table:
|
|
|
105
108
|
For each phase's SUMMARY.md, extract `requirements-completed` from YAML frontmatter:
|
|
106
109
|
```bash
|
|
107
110
|
for summary in .planning/phases/*-*/*-SUMMARY.md; do
|
|
108
|
-
|
|
111
|
+
[ -e "$summary" ] || continue
|
|
112
|
+
node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" summary-extract "$summary" --fields requirements_completed --pick requirements_completed
|
|
109
113
|
done
|
|
110
114
|
```
|
|
111
115
|
|
|
@@ -133,7 +137,7 @@ For each REQ-ID, determine status using all three sources:
|
|
|
133
137
|
Skip if `workflow.nyquist_validation` is explicitly `false` (absent = enabled).
|
|
134
138
|
|
|
135
139
|
```bash
|
|
136
|
-
NYQUIST_CONFIG=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config
|
|
140
|
+
NYQUIST_CONFIG=$(node "$HOME/.config/opencode/get-shit-done/bin/gsd-tools.cjs" config-get workflow.nyquist_validation --raw 2>/dev/null)
|
|
137
141
|
```
|
|
138
142
|
|
|
139
143
|
If `false`: skip entirely.
|
|
@@ -221,9 +225,9 @@ All requirements covered. Cross-phase integration verified. E2E flows complete.
|
|
|
221
225
|
|
|
222
226
|
**Complete milestone** — archive and tag
|
|
223
227
|
|
|
224
|
-
/
|
|
228
|
+
/new then:
|
|
225
229
|
|
|
226
|
-
|
|
230
|
+
/gsd-complete-milestone {version}
|
|
227
231
|
|
|
228
232
|
───────────────────────────────────────────────────────────────
|
|
229
233
|
|
|
@@ -266,9 +270,9 @@ Phases needing validation: run `/gsd-validate-phase {N}` for each flagged phase.
|
|
|
266
270
|
|
|
267
271
|
**Plan gap closure** — create phases to complete milestone
|
|
268
272
|
|
|
269
|
-
/
|
|
273
|
+
/new then:
|
|
270
274
|
|
|
271
|
-
|
|
275
|
+
/gsd-plan-milestone-gaps
|
|
272
276
|
|
|
273
277
|
───────────────────────────────────────────────────────────────
|
|
274
278
|
|
|
@@ -308,9 +312,9 @@ All requirements met. No critical blockers. Accumulated tech debt needs review.
|
|
|
308
312
|
|
|
309
313
|
**B. Plan cleanup phase** — address debt before completing
|
|
310
314
|
|
|
311
|
-
/
|
|
315
|
+
/new then:
|
|
312
316
|
|
|
313
|
-
|
|
317
|
+
/gsd-plan-milestone-gaps
|
|
314
318
|
|
|
315
319
|
───────────────────────────────────────────────────────────────
|
|
316
320
|
</offer_next>
|