ragarciaruben 1.20.20 → 1.20.21
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/bin/install.js +406 -1969
- package/get-shit-done/templates/AGENTS.md +83 -0
- package/get-shit-done/templates/opencode/agents/executor.md +61 -0
- package/get-shit-done/templates/opencode/agents/planner.md +77 -0
- package/{.github/copilot-context/agents/product-owner.agent.md → get-shit-done/templates/opencode/agents/product-owner.md} +10 -43
- package/{.github/copilot-context/agents/verifier.agent.md → get-shit-done/templates/opencode/agents/verifier.md} +12 -38
- package/{.github/copilot-context/prompts/break-down-epic.prompt.md → get-shit-done/templates/opencode/commands/break-down-epic.md} +2 -7
- package/{.github/copilot-context/prompts/create-tickets.prompt.md → get-shit-done/templates/opencode/commands/create-tickets.md} +4 -22
- package/{.github/copilot-context/prompts/execute-phase.prompt.md → get-shit-done/templates/opencode/commands/execute-phase.md} +5 -33
- package/{.github/copilot-context/prompts/map-codebase.prompt.md → get-shit-done/templates/opencode/commands/map-codebase.md} +12 -41
- package/{.github/copilot-context/prompts/new-project.prompt.md → get-shit-done/templates/opencode/commands/new-project.md} +17 -33
- package/{.github/copilot-context/prompts/pause-work.prompt.md → get-shit-done/templates/opencode/commands/pause-work.md} +6 -19
- package/{.github/copilot-context/prompts/plan-phase.prompt.md → get-shit-done/templates/opencode/commands/plan-phase.md} +4 -27
- package/{.github/copilot-context/prompts/progress.prompt.md → get-shit-done/templates/opencode/commands/progress.md} +1 -4
- package/{.github/copilot-context/prompts/redefine-roadmap.prompt.md → get-shit-done/templates/opencode/commands/redefine-roadmap.md} +8 -21
- package/{.github/copilot-context/prompts/refine-backlog.prompt.md → get-shit-done/templates/opencode/commands/refine-backlog.md} +3 -14
- package/{.github/copilot-context/prompts/resume-work.prompt.md → get-shit-done/templates/opencode/commands/resume-work.md} +2 -13
- package/get-shit-done/templates/opencode/commands/set-profile.md +65 -0
- package/{.github/copilot-context/prompts/sync-instructions.prompt.md → get-shit-done/templates/opencode/commands/sync-instructions.md} +9 -13
- package/{.github/copilot-context/prompts/sync-jira.prompt.md → get-shit-done/templates/opencode/commands/sync-jira.md} +5 -17
- package/{.github/copilot-context/prompts/verify-work.prompt.md → get-shit-done/templates/opencode/commands/verify-work.md} +5 -33
- package/get-shit-done/templates/opencode.json +15 -0
- package/package.json +7 -17
- package/.github/copilot-context/README.md +0 -556
- package/.github/copilot-context/agents/executor.agent.md +0 -84
- package/.github/copilot-context/agents/planner.agent.md +0 -96
- package/.github/copilot-context/hooks/hooks.json +0 -11
- package/.github/copilot-context/hooks/inject-context.js +0 -107
- package/.github/copilot-context/instructions/architecture.instructions.md +0 -33
- package/.github/copilot-context/instructions/concerns.instructions.md +0 -30
- package/.github/copilot-context/instructions/conventions.instructions.md +0 -25
- package/.github/copilot-context/instructions/integrations.instructions.md +0 -30
- package/.github/copilot-context/instructions/stack.instructions.md +0 -30
- package/.github/copilot-context/instructions/structure.instructions.md +0 -32
- package/.github/copilot-context/instructions/testing.instructions.md +0 -25
- package/.github/copilot-context/skills/map-codebase/SKILL.md +0 -49
- package/.github/copilot-context/skills/project-history/SKILL.md +0 -46
- package/.vscode/settings.json +0 -9
- package/agents/gsd-codebase-mapper.md +0 -764
- package/agents/gsd-debugger.md +0 -1246
- package/agents/gsd-executor.md +0 -469
- package/agents/gsd-integration-checker.md +0 -443
- package/agents/gsd-phase-researcher.md +0 -546
- package/agents/gsd-plan-checker.md +0 -690
- package/agents/gsd-planner.md +0 -1275
- package/agents/gsd-project-researcher.md +0 -621
- package/agents/gsd-research-synthesizer.md +0 -239
- package/agents/gsd-roadmapper.md +0 -642
- package/agents/gsd-verifier.md +0 -573
- package/bin/setup-copilot-context.js +0 -244
- package/commands/gsd/add-phase.md +0 -43
- package/commands/gsd/add-tests.md +0 -41
- package/commands/gsd/add-todo.md +0 -47
- package/commands/gsd/audit-milestone.md +0 -36
- package/commands/gsd/check-todos.md +0 -45
- package/commands/gsd/cleanup.md +0 -18
- package/commands/gsd/complete-milestone.md +0 -136
- package/commands/gsd/debug.md +0 -167
- package/commands/gsd/discuss-phase.md +0 -83
- package/commands/gsd/execute-phase.md +0 -41
- package/commands/gsd/health.md +0 -22
- package/commands/gsd/help.md +0 -22
- package/commands/gsd/insert-phase.md +0 -32
- package/commands/gsd/join-discord.md +0 -18
- package/commands/gsd/list-phase-assumptions.md +0 -46
- package/commands/gsd/map-codebase.md +0 -71
- package/commands/gsd/new-milestone.md +0 -44
- package/commands/gsd/new-project.md +0 -42
- package/commands/gsd/new-project.md.bak +0 -1041
- package/commands/gsd/pause-work.md +0 -38
- package/commands/gsd/plan-milestone-gaps.md +0 -34
- package/commands/gsd/plan-phase.md +0 -45
- package/commands/gsd/progress.md +0 -24
- package/commands/gsd/quick.md +0 -41
- package/commands/gsd/reapply-patches.md +0 -110
- package/commands/gsd/remove-phase.md +0 -31
- package/commands/gsd/research-phase.md +0 -189
- package/commands/gsd/resume-work.md +0 -40
- package/commands/gsd/set-profile.md +0 -34
- package/commands/gsd/settings.md +0 -36
- package/commands/gsd/update.md +0 -37
- package/commands/gsd/verify-work.md +0 -38
- package/hooks/dist/gsd-check-update.js +0 -62
- package/hooks/dist/gsd-context-monitor.js +0 -122
- package/hooks/dist/gsd-statusline.js +0 -108
- package/scripts/build-hooks.js +0 -43
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: new-project
|
|
3
2
|
description: Initialize .planning/ documentation for a new or existing project — creates PROJECT.md, REQUIREMENTS.md, ROADMAP.md, and STATE.md
|
|
4
|
-
|
|
5
|
-
tools:
|
|
6
|
-
- editFiles
|
|
7
|
-
- search
|
|
8
|
-
- jira/*
|
|
3
|
+
agent: executor
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# New Project Initialization
|
|
12
7
|
|
|
13
|
-
Initialize the `.planning/` documentation structure for this project. This generates the source-of-truth documents that power all other
|
|
8
|
+
Initialize the `.planning/` documentation structure for this project. This generates the source-of-truth documents that power all other context.
|
|
14
9
|
|
|
15
10
|
## Step 1: Gather Project Context
|
|
16
11
|
|
|
@@ -31,12 +26,8 @@ If the user can't answer some questions, use reasonable defaults and note them a
|
|
|
31
26
|
|
|
32
27
|
If the user chose Jira as the requirements source:
|
|
33
28
|
|
|
34
|
-
1. **Discover the board/sprint:**
|
|
35
|
-
2. **Fetch tickets:** Use the appropriate
|
|
36
|
-
- Project key → `jira_get_project_issues` or `jira_search` with JQL `project = PROJ AND status != Done`
|
|
37
|
-
- Sprint → `jira_get_sprint_issues`
|
|
38
|
-
- JQL query → `jira_search` with the user's query
|
|
39
|
-
- Specific tickets → `jira_get_issue` for each
|
|
29
|
+
1. **Discover the board/sprint:** Find the board, then find active/future sprints
|
|
30
|
+
2. **Fetch tickets:** Use the appropriate method based on what the user provided
|
|
40
31
|
3. **Extract from each ticket:**
|
|
41
32
|
- Title and description → becomes a requirement
|
|
42
33
|
- Acceptance criteria → becomes success criteria
|
|
@@ -47,59 +38,53 @@ If the user chose Jira as the requirements source:
|
|
|
47
38
|
|
|
48
39
|
If Jira is not used, skip to Step 3 using manual requirements from the conversation.
|
|
49
40
|
|
|
50
|
-
## Step
|
|
41
|
+
## Step 3: Create PROJECT.md
|
|
51
42
|
|
|
52
43
|
Write `.planning/PROJECT.md` with:
|
|
53
44
|
- **What This Is:** User's description of the project
|
|
54
45
|
- **Core Value:** Single sentence of what must always work
|
|
55
46
|
- **Requirements > Active:** List of v1 requirements as checkboxes
|
|
56
|
-
- **Requirements > Out of Scope:** Anything explicitly excluded
|
|
47
|
+
- **Requirements > Out of Scope:** Anything explicitly excluded
|
|
57
48
|
- **Context:** Background from the conversation
|
|
58
49
|
- **Constraints:** What the user listed + inferred constraints
|
|
59
50
|
|
|
60
|
-
## Step
|
|
51
|
+
## Step 4: Create REQUIREMENTS.md
|
|
61
52
|
|
|
62
53
|
Extract requirements into `.planning/REQUIREMENTS.md`:
|
|
63
54
|
- Assign IDs: `[CATEGORY]-[NN]` (e.g., AUTH-01, CORE-01, UI-01)
|
|
64
55
|
- **If from Jira:** include the Jira ticket ID alongside the requirement ID (e.g., `AUTH-01 (PROJ-42)`)
|
|
65
56
|
- Group by logical category (Authentication, Core Features, UI, etc.)
|
|
66
57
|
- v2 requirements: anything out of scope for now but likely future
|
|
67
|
-
- Traceability table: map each requirement to its source
|
|
58
|
+
- Traceability table: map each requirement to its source and Phase (TBD until roadmap)
|
|
68
59
|
|
|
69
|
-
## Step
|
|
60
|
+
## Step 5: Create ROADMAP.md
|
|
70
61
|
|
|
71
62
|
Design a logical phase sequence in `.planning/ROADMAP.md`:
|
|
72
63
|
- **If from Jira:** group related tickets into phases (epics → phase groups, stories → plans within a phase)
|
|
73
64
|
- **If manual:** group related requirements into phases
|
|
74
65
|
- Each phase delivers a user-visible increment
|
|
75
66
|
- Earlier phases enable later phases (dependency chain)
|
|
76
|
-
- Phase names should be clear and action-oriented
|
|
77
|
-
- Each phase includes:
|
|
78
|
-
- Goal and dependencies
|
|
79
|
-
- Requirements covered (with Jira ticket IDs if applicable)
|
|
80
|
-
- 2-4 success criteria (from Jira acceptance criteria where available)
|
|
81
|
-
- Source: `Jira: PROJ-42, PROJ-43` or `Manual`
|
|
82
|
-
- Planned plan count (TBD is fine)
|
|
67
|
+
- Phase names should be clear and action-oriented
|
|
68
|
+
- Each phase includes: Goal, dependencies, requirements covered, 2-4 success criteria, source
|
|
83
69
|
- Typically 4-8 phases for a standard project
|
|
84
70
|
- Order by: Jira priority → dependency chain → logical progression
|
|
85
71
|
|
|
86
|
-
## Step
|
|
72
|
+
## Step 6: Create STATE.md
|
|
87
73
|
|
|
88
74
|
Initialize `.planning/STATE.md`:
|
|
89
75
|
- Phase: 1 of [N]
|
|
90
76
|
- Status: Ready to plan
|
|
91
77
|
- Progress: 0%
|
|
92
78
|
- Last activity: today's date + "Project initialized"
|
|
93
|
-
- All metrics at zero
|
|
94
79
|
|
|
95
|
-
## Step
|
|
80
|
+
## Step 7: Update AGENTS.md
|
|
96
81
|
|
|
97
|
-
Update
|
|
82
|
+
Update `AGENTS.md`:
|
|
98
83
|
- Fill in "What This Project Is" with the 2-3 sentence description
|
|
99
84
|
- Fill in "Core value"
|
|
100
85
|
- Set "Phase: 1 of [N] — [Phase Name]"
|
|
101
86
|
- Set "Status: Ready to plan"
|
|
102
|
-
- Fill in "Active Constraints"
|
|
87
|
+
- Fill in "Active Constraints"
|
|
103
88
|
|
|
104
89
|
## Completion
|
|
105
90
|
|
|
@@ -107,13 +92,12 @@ Print a summary:
|
|
|
107
92
|
```
|
|
108
93
|
✅ Project initialized: [Project Name]
|
|
109
94
|
.planning/PROJECT.md — requirements + decisions
|
|
110
|
-
.planning/REQUIREMENTS.md — [N] requirements with IDs
|
|
95
|
+
.planning/REQUIREMENTS.md — [N] requirements with IDs
|
|
111
96
|
.planning/ROADMAP.md — [N] phases
|
|
112
97
|
.planning/STATE.md — ready to plan
|
|
113
|
-
[Jira source: PROJECT / Sprint NAME — N tickets imported]
|
|
114
98
|
|
|
115
99
|
Next steps:
|
|
116
100
|
1. Run /map-codebase (if existing codebase)
|
|
117
|
-
2. Run
|
|
101
|
+
2. Run /plan-phase 1 to plan the first phase
|
|
118
102
|
3. Run /redefine-roadmap if priorities change later
|
|
119
103
|
```
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: pause-work
|
|
3
2
|
description: Save current session state so work can be resumed in a new session — writes .planning/continue-here.md
|
|
4
|
-
|
|
5
|
-
tools:
|
|
6
|
-
- editFiles
|
|
7
|
-
- runInTerminal
|
|
8
|
-
- search
|
|
3
|
+
agent: executor
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# Pause Work
|
|
@@ -17,14 +12,9 @@ Save the current session state to `.planning/continue-here.md` so the next sessi
|
|
|
17
12
|
Gather current state information:
|
|
18
13
|
|
|
19
14
|
```bash
|
|
20
|
-
# Last few commits
|
|
21
15
|
git log --oneline -5
|
|
22
|
-
|
|
23
|
-
# Uncommitted changes
|
|
24
16
|
git status
|
|
25
17
|
git diff --stat HEAD
|
|
26
|
-
|
|
27
|
-
# Test status
|
|
28
18
|
npm test 2>&1 | tail -10
|
|
29
19
|
```
|
|
30
20
|
|
|
@@ -33,9 +23,9 @@ Read `.planning/STATE.md` for project-level context.
|
|
|
33
23
|
## Step 2: Document Current State
|
|
34
24
|
|
|
35
25
|
Think through:
|
|
36
|
-
- What was the last **completed** action?
|
|
26
|
+
- What was the last **completed** action?
|
|
37
27
|
- What work is **in progress** and where exactly did it stop?
|
|
38
|
-
- What **remains** in the current plan?
|
|
28
|
+
- What **remains** in the current plan?
|
|
39
29
|
- What **decisions** were made this session?
|
|
40
30
|
- Are there any **blockers** or watch-outs for the next session?
|
|
41
31
|
- What is the **exact next action** to resume?
|
|
@@ -55,9 +45,7 @@ Write `.planning/continue-here.md`:
|
|
|
55
45
|
|
|
56
46
|
## What Was Just Completed
|
|
57
47
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- ✅ [Completed item 1 — file created / test passing / feature shipped]
|
|
48
|
+
- ✅ [Completed item 1]
|
|
61
49
|
- ✅ [Completed item 2]
|
|
62
50
|
|
|
63
51
|
## What Remains
|
|
@@ -71,16 +59,15 @@ Upcoming plans:
|
|
|
71
59
|
|
|
72
60
|
## Decisions Made This Session
|
|
73
61
|
|
|
74
|
-
- [Decision and rationale — lock these in]
|
|
75
62
|
- [Decision and rationale]
|
|
76
63
|
|
|
77
64
|
## Blockers / Watch-Outs
|
|
78
65
|
|
|
79
|
-
- [Any issue the next session needs to know
|
|
66
|
+
- [Any issue the next session needs to know]
|
|
80
67
|
|
|
81
68
|
## Exact Next Action
|
|
82
69
|
|
|
83
|
-
**Resume by doing:** [Single, concrete action
|
|
70
|
+
**Resume by doing:** [Single, concrete action]
|
|
84
71
|
|
|
85
72
|
---
|
|
86
73
|
*Saved: [timestamp]*
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: plan-phase
|
|
3
2
|
description: Plan implementation for a roadmap phase — produces a detailed, executable step-by-step plan
|
|
4
|
-
|
|
5
|
-
tools:
|
|
6
|
-
- editFiles
|
|
7
|
-
- search
|
|
8
|
-
- runInTerminal
|
|
3
|
+
agent: planner
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# Plan Phase
|
|
@@ -37,10 +32,7 @@ Load relevant codebase docs based on the phase type:
|
|
|
37
32
|
|
|
38
33
|
Before planning, explore the codebase to understand the current state:
|
|
39
34
|
```bash
|
|
40
|
-
# Find existing code related to the phase domain
|
|
41
35
|
grep -rn "[relevant terms]" src/ --include="*.ts" 2>/dev/null | head -30
|
|
42
|
-
|
|
43
|
-
# Check existing file structure for the area
|
|
44
36
|
ls -la src/[relevant-directory]/ 2>/dev/null
|
|
45
37
|
```
|
|
46
38
|
|
|
@@ -91,47 +83,32 @@ status: ready
|
|
|
91
83
|
**Implementation:**
|
|
92
84
|
[Specifics — data structures, algorithms, API contracts, patterns to follow]
|
|
93
85
|
|
|
94
|
-
### 2. [Step name]
|
|
95
|
-
[etc.]
|
|
96
|
-
|
|
97
86
|
### N. Tests
|
|
98
|
-
[Specific test cases to write
|
|
87
|
+
[Specific test cases to write]
|
|
99
88
|
|
|
100
89
|
## Success Criteria
|
|
101
90
|
- [ ] [Observable behavior that proves this plan is complete]
|
|
102
|
-
- [ ] [Observable behavior]
|
|
103
91
|
- [ ] All tests pass (`npm test`)
|
|
104
92
|
- [ ] No TypeScript errors (`tsc --noEmit`)
|
|
105
93
|
```
|
|
106
94
|
|
|
107
|
-
If the phase requires multiple plans, create `[NN]-02-[name].md`,
|
|
95
|
+
If the phase requires multiple plans, create `[NN]-02-[name].md`, etc.
|
|
108
96
|
|
|
109
97
|
## Step 5: Update ROADMAP.md
|
|
110
98
|
|
|
111
|
-
Update the plan list in `.planning/ROADMAP.md` for this phase
|
|
112
|
-
```
|
|
113
|
-
Plans:
|
|
114
|
-
- [ ] [NN]-01: [Brief description]
|
|
115
|
-
- [ ] [NN]-02: [Brief description]
|
|
116
|
-
```
|
|
99
|
+
Update the plan list in `.planning/ROADMAP.md` for this phase.
|
|
117
100
|
|
|
118
101
|
## Step 6: Update STATE.md
|
|
119
102
|
|
|
120
103
|
Update `.planning/STATE.md`:
|
|
121
104
|
- Status: `Ready to execute`
|
|
122
105
|
- Current focus: this phase
|
|
123
|
-
- Note the key decisions made during planning under Accumulated Context
|
|
124
106
|
|
|
125
107
|
## Completion
|
|
126
108
|
|
|
127
|
-
Print a summary:
|
|
128
109
|
```
|
|
129
110
|
✅ Phase [N] planned: [Phase Name]
|
|
130
111
|
[N] plans created in .planning/phases/[NN]-[name]/
|
|
131
112
|
|
|
132
|
-
Plans:
|
|
133
|
-
[NN]-01: [Name] — [brief description]
|
|
134
|
-
[NN]-02: [Name] — [brief description]
|
|
135
|
-
|
|
136
113
|
Ready to execute. Run /execute-phase [N] to start implementation.
|
|
137
114
|
```
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Restructure your project roadmap — reorder, regroup, reprioritize, or rebuild phases from scratch"
|
|
3
|
-
|
|
4
|
-
tools:
|
|
5
|
-
- editFiles
|
|
6
|
-
- search
|
|
7
|
-
- jira/*
|
|
3
|
+
agent: executor
|
|
8
4
|
---
|
|
9
5
|
|
|
10
6
|
# Redefine Roadmap
|
|
@@ -23,7 +19,7 @@ Restructure `.planning/ROADMAP.md` — reorder phases, reprioritize, split/merge
|
|
|
23
19
|
|
|
24
20
|
Ask the user what kind of restructuring they want:
|
|
25
21
|
|
|
26
|
-
1. **Reorder** — "Move phase 3 before phase 2"
|
|
22
|
+
1. **Reorder** — "Move phase 3 before phase 2"
|
|
27
23
|
2. **Split** — "Phase 2 is too big, break it into smaller phases"
|
|
28
24
|
3. **Merge** — "Phases 3 and 4 are related, combine them"
|
|
29
25
|
4. **Rebuild from Jira** — "Forget the current roadmap, rebuild from sprint [X]"
|
|
@@ -34,14 +30,14 @@ Ask the user what kind of restructuring they want:
|
|
|
34
30
|
|
|
35
31
|
### Step 1: Load current state
|
|
36
32
|
|
|
37
|
-
Read
|
|
33
|
+
Read:
|
|
38
34
|
- `.planning/ROADMAP.md` — current phase structure
|
|
39
35
|
- `.planning/STATE.md` — what phase is in progress, what's completed
|
|
40
36
|
- `.planning/REQUIREMENTS.md` — which requirements are mapped to which phases
|
|
41
37
|
|
|
42
38
|
### Step 2: Understand the change
|
|
43
39
|
|
|
44
|
-
|
|
40
|
+
Determine:
|
|
45
41
|
- Which phases are **locked** (completed — never modify these)
|
|
46
42
|
- Which phases are **in progress** (warn before modifying)
|
|
47
43
|
- Which phases are **changeable** (not started)
|
|
@@ -49,12 +45,7 @@ Based on user input, determine:
|
|
|
49
45
|
|
|
50
46
|
### Step 3: If rebuilding from Jira
|
|
51
47
|
|
|
52
|
-
Use Jira tools to fetch the new source of truth
|
|
53
|
-
- `mcp_jira_jira_search` — flexible JQL queries
|
|
54
|
-
- `mcp_jira_jira_get_issue` — individual ticket details
|
|
55
|
-
- `mcp_jira_jira_get_sprint_issues` — sprint-based planning
|
|
56
|
-
|
|
57
|
-
Map tickets to new phases (same logic as `/sync-jira`).
|
|
48
|
+
Use Jira MCP tools to fetch the new source of truth. Map tickets to new phases.
|
|
58
49
|
|
|
59
50
|
### Step 4: Apply changes
|
|
60
51
|
|
|
@@ -65,16 +56,12 @@ Map tickets to new phases (same logic as `/sync-jira`).
|
|
|
65
56
|
|
|
66
57
|
### Step 5: Show diff summary
|
|
67
58
|
|
|
68
|
-
Display
|
|
69
|
-
- **Before:** old phase list with statuses
|
|
70
|
-
- **After:** new phase list
|
|
71
|
-
- **Changes:** what was reordered, split, merged, added, or removed
|
|
72
|
-
- **Warnings:** any completed work that was affected, any in-progress phases that moved
|
|
59
|
+
Display before/after comparison, changes made, and any warnings.
|
|
73
60
|
|
|
74
61
|
## Safety Rules
|
|
75
62
|
|
|
76
|
-
- **NEVER modify completed phases** — they are locked
|
|
63
|
+
- **NEVER modify completed phases** — they are locked
|
|
77
64
|
- **Warn before modifying in-progress phases** — ask for confirmation
|
|
78
|
-
- **Preserve Jira ticket IDs** — maintain traceability
|
|
65
|
+
- **Preserve Jira ticket IDs** — maintain traceability
|
|
79
66
|
- **Back up before major restructuring** — suggest committing current state first
|
|
80
67
|
- Always show the before/after comparison before writing changes
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Review and improve existing Jira tickets — add acceptance criteria, clarify descriptions, fix structure"
|
|
3
|
-
|
|
4
|
-
tools:
|
|
5
|
-
- search
|
|
6
|
-
- jira/*
|
|
7
|
-
- geppetto/*
|
|
8
|
-
- geppetto-api/*
|
|
3
|
+
agent: product-owner
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# Refine Backlog
|
|
@@ -36,13 +31,7 @@ Read the specified tickets from Jira. For each ticket, evaluate:
|
|
|
36
31
|
6. **Links** — Are dependencies and relationships captured?
|
|
37
32
|
7. **Labels/Components** — Are they consistent with the project's conventions?
|
|
38
33
|
|
|
39
|
-
### Step 2:
|
|
40
|
-
|
|
41
|
-
If tickets reference corporate systems, APIs, or frameworks:
|
|
42
|
-
- Search Geppetto for naming conventions, API specs, architecture standards
|
|
43
|
-
- Ensure ticket descriptions use correct corporate terminology
|
|
44
|
-
|
|
45
|
-
### Step 3: Present findings
|
|
34
|
+
### Step 2: Present findings
|
|
46
35
|
|
|
47
36
|
For each ticket that needs improvement, show:
|
|
48
37
|
|
|
@@ -64,7 +53,7 @@ PROJ-102: "User dashboard" ✅ Looks good
|
|
|
64
53
|
Apply changes to [N] tickets? (yes/no/edit)
|
|
65
54
|
```
|
|
66
55
|
|
|
67
|
-
### Step
|
|
56
|
+
### Step 3: Apply (only after confirmation)
|
|
68
57
|
|
|
69
58
|
- Update each approved ticket
|
|
70
59
|
- Report what was changed
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: resume-work
|
|
3
2
|
description: Resume work from a saved session state — reads .planning/continue-here.md and .planning/STATE.md to orient the next session
|
|
4
|
-
|
|
5
|
-
tools:
|
|
6
|
-
- search
|
|
7
|
-
- runInTerminal
|
|
3
|
+
agent: planner
|
|
8
4
|
---
|
|
9
5
|
|
|
10
6
|
# Resume Work
|
|
@@ -23,12 +19,9 @@ If `.planning/continue-here.md` does not exist, fall back to STATE.md and ROADMA
|
|
|
23
19
|
## Step 2: Verify Environment
|
|
24
20
|
|
|
25
21
|
```bash
|
|
26
|
-
# Confirm current git state
|
|
27
22
|
git status
|
|
28
23
|
git log --oneline -3
|
|
29
24
|
git branch --show-current
|
|
30
|
-
|
|
31
|
-
# Quick test health check
|
|
32
25
|
npm test 2>&1 | tail -15
|
|
33
26
|
```
|
|
34
27
|
|
|
@@ -36,8 +29,6 @@ Note any unexpected test failures or uncommitted changes.
|
|
|
36
29
|
|
|
37
30
|
## Step 3: Present Resume Summary
|
|
38
31
|
|
|
39
|
-
Format the context summary clearly:
|
|
40
|
-
|
|
41
32
|
```
|
|
42
33
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
43
34
|
Resuming: [Project Name]
|
|
@@ -50,7 +41,6 @@ Where We Left Off
|
|
|
50
41
|
|
|
51
42
|
Last Completed
|
|
52
43
|
✅ [Last completed item]
|
|
53
|
-
✅ [Item before that]
|
|
54
44
|
|
|
55
45
|
What Remains (current plan)
|
|
56
46
|
◻ [Next task]
|
|
@@ -58,10 +48,9 @@ What Remains (current plan)
|
|
|
58
48
|
|
|
59
49
|
Decisions Locked In
|
|
60
50
|
• [Decision 1]
|
|
61
|
-
• [Decision 2]
|
|
62
51
|
|
|
63
52
|
Watch-Outs
|
|
64
|
-
⚠️ [Any blocker or fragile area
|
|
53
|
+
⚠️ [Any blocker or fragile area]
|
|
65
54
|
|
|
66
55
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
67
56
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Switch the AI model used by all GSD agents (quality / balanced / budget) or set per-agent overrides
|
|
3
|
+
agent: executor
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Set Model Profile
|
|
7
|
+
|
|
8
|
+
Switch the model used by the Planner, Executor, and Verifier agents. This edits the `model:` field in all agent files in `.opencode/agents/` and saves your choice to `.planning/config.json`.
|
|
9
|
+
|
|
10
|
+
## Profile Table
|
|
11
|
+
|
|
12
|
+
| Profile | Planner | Executor | Verifier | Best for |
|
|
13
|
+
|---------|---------|----------|----------|----------|
|
|
14
|
+
| `quality` | anthropic/claude-opus-4 | anthropic/claude-opus-4 | anthropic/claude-sonnet-4 | Critical architecture, max reasoning |
|
|
15
|
+
| `balanced` | anthropic/claude-sonnet-4 | anthropic/claude-sonnet-4 | anthropic/claude-sonnet-4 | Normal development (default) |
|
|
16
|
+
| `budget` | openai/gpt-4.1 | openai/gpt-4.1 | openai/gpt-4.1-mini | High-volume, cost-sensitive work |
|
|
17
|
+
| `gpt` | openai/gpt-4.1 | openai/gpt-4.1 | openai/gpt-4.1 | Prefer OpenAI models throughout |
|
|
18
|
+
|
|
19
|
+
## Steps
|
|
20
|
+
|
|
21
|
+
1. **Read current config** — load `.planning/config.json` and note the current `model_profile` value.
|
|
22
|
+
|
|
23
|
+
2. **Ask the user** which profile they want (quality / balanced / budget / gpt), or if they want a per-agent override.
|
|
24
|
+
|
|
25
|
+
3. **Apply the chosen profile** — update the `model:` field in ALL of the following agent files:
|
|
26
|
+
- `.opencode/agents/planner.md`
|
|
27
|
+
- `.opencode/agents/executor.md`
|
|
28
|
+
- `.opencode/agents/verifier.md`
|
|
29
|
+
|
|
30
|
+
Use this mapping per agent:
|
|
31
|
+
|
|
32
|
+
| Agent file | quality | balanced | budget | gpt |
|
|
33
|
+
|------------|---------|----------|--------|-----|
|
|
34
|
+
| planner.md | anthropic/claude-opus-4 | anthropic/claude-sonnet-4 | openai/gpt-4.1 | openai/gpt-4.1 |
|
|
35
|
+
| executor.md | anthropic/claude-opus-4 | anthropic/claude-sonnet-4 | openai/gpt-4.1 | openai/gpt-4.1 |
|
|
36
|
+
| verifier.md | anthropic/claude-sonnet-4 | anthropic/claude-sonnet-4 | openai/gpt-4.1-mini | openai/gpt-4.1 |
|
|
37
|
+
|
|
38
|
+
The line to change looks like:
|
|
39
|
+
```
|
|
40
|
+
model: anthropic/claude-sonnet-4
|
|
41
|
+
```
|
|
42
|
+
Change only that line in the frontmatter block (between the `---` delimiters).
|
|
43
|
+
|
|
44
|
+
4. **Also update `opencode.json`** — set the top-level `model` field to match the executor's model.
|
|
45
|
+
|
|
46
|
+
5. **Save to config** — update `.planning/config.json`:
|
|
47
|
+
- Set `"model_profile"` to the chosen profile name
|
|
48
|
+
- If they set overrides, add them to `"model_overrides"`
|
|
49
|
+
|
|
50
|
+
6. **Confirm** — report the final state:
|
|
51
|
+
```
|
|
52
|
+
Profile: balanced
|
|
53
|
+
Planner → anthropic/claude-sonnet-4
|
|
54
|
+
Executor → anthropic/claude-sonnet-4
|
|
55
|
+
Verifier → anthropic/claude-sonnet-4
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Available model IDs (OpenCode format: provider/model)
|
|
59
|
+
|
|
60
|
+
- `anthropic/claude-opus-4` — Claude Opus 4 (most capable)
|
|
61
|
+
- `anthropic/claude-sonnet-4` — Claude Sonnet 4 (fast + smart)
|
|
62
|
+
- `openai/gpt-4.1` — GPT-4.1
|
|
63
|
+
- `openai/gpt-4.1-mini` — GPT-4.1 Mini (fastest/cheapest)
|
|
64
|
+
- `openai/o3` — OpenAI o3 (reasoning)
|
|
65
|
+
- `google/gemini-2.5-pro` — Gemini 2.5 Pro
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
mode: agent
|
|
5
|
-
tools:
|
|
6
|
-
- editFiles
|
|
7
|
-
- search
|
|
2
|
+
description: Regenerate AGENTS.md from .planning/ source documents — keeps the always-on context digest up to date
|
|
3
|
+
agent: executor
|
|
8
4
|
---
|
|
9
5
|
|
|
10
6
|
# Sync Instructions
|
|
11
7
|
|
|
12
|
-
Regenerate
|
|
8
|
+
Regenerate `AGENTS.md` from the current state of `.planning/` documents. Run this after significant changes to PROJECT.md, STATE.md, or ROADMAP.md.
|
|
13
9
|
|
|
14
10
|
## Step 1: Read Source Documents
|
|
15
11
|
|
|
@@ -29,12 +25,12 @@ From the documents, extract:
|
|
|
29
25
|
5. **Active constraints** — from PROJECT.md Constraints (pick top 3-4 most impactful)
|
|
30
26
|
6. **Recent key decisions** — from PROJECT.md Key Decisions (last 3-4 entries, most recent first)
|
|
31
27
|
|
|
32
|
-
## Step 3: Rewrite
|
|
28
|
+
## Step 3: Rewrite AGENTS.md
|
|
33
29
|
|
|
34
|
-
Overwrite
|
|
30
|
+
Overwrite `AGENTS.md` with a fresh version. Keep it **under 100 lines**. Use this structure:
|
|
35
31
|
|
|
36
32
|
```markdown
|
|
37
|
-
# Project
|
|
33
|
+
# Project Instructions
|
|
38
34
|
|
|
39
35
|
<!--
|
|
40
36
|
Auto-generated from .planning/ documents.
|
|
@@ -66,7 +62,7 @@ Overwrite `.github/copilot-instructions.md` with a fresh version. Keep it **unde
|
|
|
66
62
|
|
|
67
63
|
[Keep the reference table — update if new documents were added]
|
|
68
64
|
|
|
69
|
-
## Quick Commands (run in
|
|
65
|
+
## Quick Commands (run in OpenCode)
|
|
70
66
|
|
|
71
67
|
[Keep the commands table unchanged]
|
|
72
68
|
```
|
|
@@ -75,12 +71,12 @@ Overwrite `.github/copilot-instructions.md` with a fresh version. Keep it **unde
|
|
|
75
71
|
|
|
76
72
|
Print:
|
|
77
73
|
```
|
|
78
|
-
✅ .
|
|
74
|
+
✅ AGENTS.md updated
|
|
79
75
|
|
|
80
76
|
Synced from:
|
|
81
77
|
.planning/PROJECT.md → description, constraints, decisions
|
|
82
78
|
.planning/STATE.md → current position, last activity
|
|
83
79
|
.planning/ROADMAP.md → phase count
|
|
84
80
|
|
|
85
|
-
The updated instructions will be auto-loaded on your next
|
|
81
|
+
The updated instructions will be auto-loaded on your next OpenCode session.
|
|
86
82
|
```
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Pull Jira tickets and sync them into your .planning/ roadmap as phases"
|
|
3
|
-
|
|
4
|
-
tools:
|
|
5
|
-
- editFiles
|
|
6
|
-
- search
|
|
7
|
-
- jira/*
|
|
3
|
+
agent: executor
|
|
8
4
|
---
|
|
9
5
|
|
|
10
6
|
# Sync Jira to Roadmap
|
|
@@ -16,7 +12,7 @@ Import Jira tickets into `.planning/ROADMAP.md` as actionable phases.
|
|
|
16
12
|
The user should provide ONE of:
|
|
17
13
|
- A **Jira project key** (e.g., `PROJ`) — fetch all open issues
|
|
18
14
|
- A **sprint name or board** — fetch current sprint issues
|
|
19
|
-
- A **JQL query** — custom filter
|
|
15
|
+
- A **JQL query** — custom filter
|
|
20
16
|
- A **list of ticket IDs** (e.g., `PROJ-101, PROJ-102, PROJ-105`)
|
|
21
17
|
|
|
22
18
|
If the user provides none, **ask** which project/sprint to pull from.
|
|
@@ -25,15 +21,7 @@ If the user provides none, **ask** which project/sprint to pull from.
|
|
|
25
21
|
|
|
26
22
|
### Step 1: Fetch tickets from Jira
|
|
27
23
|
|
|
28
|
-
Use the appropriate tool based on user input
|
|
29
|
-
- `mcp_jira_jira_search` with a JQL query for flexible searches
|
|
30
|
-
- `mcp_jira_jira_get_sprint_issues` for a specific sprint
|
|
31
|
-
- `mcp_jira_jira_get_project_issues` for a full project
|
|
32
|
-
- `mcp_jira_jira_get_issue` for individual tickets
|
|
33
|
-
|
|
34
|
-
For discovering boards and sprints:
|
|
35
|
-
- `mcp_jira_jira_get_agile_boards` → find the board
|
|
36
|
-
- `mcp_jira_jira_get_sprints_from_board` → find active/future sprints
|
|
24
|
+
Use the appropriate Jira MCP tool based on user input.
|
|
37
25
|
|
|
38
26
|
### Step 2: Map tickets to phases
|
|
39
27
|
|
|
@@ -68,11 +56,11 @@ Display:
|
|
|
68
56
|
- How many tickets were fetched
|
|
69
57
|
- How they were grouped into phases
|
|
70
58
|
- The updated roadmap structure
|
|
71
|
-
- Any tickets that were skipped
|
|
59
|
+
- Any tickets that were skipped or couldn't be mapped
|
|
72
60
|
|
|
73
61
|
## Important
|
|
74
62
|
|
|
75
63
|
- **Never delete existing phases** — only append or update
|
|
76
|
-
- If a Jira ticket is already represented in the roadmap
|
|
64
|
+
- If a Jira ticket is already represented in the roadmap, **update it** instead of duplicating
|
|
77
65
|
- Preserve manual phases that don't come from Jira
|
|
78
66
|
- Include the Jira ticket ID in every phase/requirement for traceability
|