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.
Files changed (86) hide show
  1. package/bin/install.js +406 -1969
  2. package/get-shit-done/templates/AGENTS.md +83 -0
  3. package/get-shit-done/templates/opencode/agents/executor.md +61 -0
  4. package/get-shit-done/templates/opencode/agents/planner.md +77 -0
  5. package/{.github/copilot-context/agents/product-owner.agent.md → get-shit-done/templates/opencode/agents/product-owner.md} +10 -43
  6. package/{.github/copilot-context/agents/verifier.agent.md → get-shit-done/templates/opencode/agents/verifier.md} +12 -38
  7. package/{.github/copilot-context/prompts/break-down-epic.prompt.md → get-shit-done/templates/opencode/commands/break-down-epic.md} +2 -7
  8. package/{.github/copilot-context/prompts/create-tickets.prompt.md → get-shit-done/templates/opencode/commands/create-tickets.md} +4 -22
  9. package/{.github/copilot-context/prompts/execute-phase.prompt.md → get-shit-done/templates/opencode/commands/execute-phase.md} +5 -33
  10. package/{.github/copilot-context/prompts/map-codebase.prompt.md → get-shit-done/templates/opencode/commands/map-codebase.md} +12 -41
  11. package/{.github/copilot-context/prompts/new-project.prompt.md → get-shit-done/templates/opencode/commands/new-project.md} +17 -33
  12. package/{.github/copilot-context/prompts/pause-work.prompt.md → get-shit-done/templates/opencode/commands/pause-work.md} +6 -19
  13. package/{.github/copilot-context/prompts/plan-phase.prompt.md → get-shit-done/templates/opencode/commands/plan-phase.md} +4 -27
  14. package/{.github/copilot-context/prompts/progress.prompt.md → get-shit-done/templates/opencode/commands/progress.md} +1 -4
  15. package/{.github/copilot-context/prompts/redefine-roadmap.prompt.md → get-shit-done/templates/opencode/commands/redefine-roadmap.md} +8 -21
  16. package/{.github/copilot-context/prompts/refine-backlog.prompt.md → get-shit-done/templates/opencode/commands/refine-backlog.md} +3 -14
  17. package/{.github/copilot-context/prompts/resume-work.prompt.md → get-shit-done/templates/opencode/commands/resume-work.md} +2 -13
  18. package/get-shit-done/templates/opencode/commands/set-profile.md +65 -0
  19. package/{.github/copilot-context/prompts/sync-instructions.prompt.md → get-shit-done/templates/opencode/commands/sync-instructions.md} +9 -13
  20. package/{.github/copilot-context/prompts/sync-jira.prompt.md → get-shit-done/templates/opencode/commands/sync-jira.md} +5 -17
  21. package/{.github/copilot-context/prompts/verify-work.prompt.md → get-shit-done/templates/opencode/commands/verify-work.md} +5 -33
  22. package/get-shit-done/templates/opencode.json +15 -0
  23. package/package.json +7 -17
  24. package/.github/copilot-context/README.md +0 -556
  25. package/.github/copilot-context/agents/executor.agent.md +0 -84
  26. package/.github/copilot-context/agents/planner.agent.md +0 -96
  27. package/.github/copilot-context/hooks/hooks.json +0 -11
  28. package/.github/copilot-context/hooks/inject-context.js +0 -107
  29. package/.github/copilot-context/instructions/architecture.instructions.md +0 -33
  30. package/.github/copilot-context/instructions/concerns.instructions.md +0 -30
  31. package/.github/copilot-context/instructions/conventions.instructions.md +0 -25
  32. package/.github/copilot-context/instructions/integrations.instructions.md +0 -30
  33. package/.github/copilot-context/instructions/stack.instructions.md +0 -30
  34. package/.github/copilot-context/instructions/structure.instructions.md +0 -32
  35. package/.github/copilot-context/instructions/testing.instructions.md +0 -25
  36. package/.github/copilot-context/skills/map-codebase/SKILL.md +0 -49
  37. package/.github/copilot-context/skills/project-history/SKILL.md +0 -46
  38. package/.vscode/settings.json +0 -9
  39. package/agents/gsd-codebase-mapper.md +0 -764
  40. package/agents/gsd-debugger.md +0 -1246
  41. package/agents/gsd-executor.md +0 -469
  42. package/agents/gsd-integration-checker.md +0 -443
  43. package/agents/gsd-phase-researcher.md +0 -546
  44. package/agents/gsd-plan-checker.md +0 -690
  45. package/agents/gsd-planner.md +0 -1275
  46. package/agents/gsd-project-researcher.md +0 -621
  47. package/agents/gsd-research-synthesizer.md +0 -239
  48. package/agents/gsd-roadmapper.md +0 -642
  49. package/agents/gsd-verifier.md +0 -573
  50. package/bin/setup-copilot-context.js +0 -244
  51. package/commands/gsd/add-phase.md +0 -43
  52. package/commands/gsd/add-tests.md +0 -41
  53. package/commands/gsd/add-todo.md +0 -47
  54. package/commands/gsd/audit-milestone.md +0 -36
  55. package/commands/gsd/check-todos.md +0 -45
  56. package/commands/gsd/cleanup.md +0 -18
  57. package/commands/gsd/complete-milestone.md +0 -136
  58. package/commands/gsd/debug.md +0 -167
  59. package/commands/gsd/discuss-phase.md +0 -83
  60. package/commands/gsd/execute-phase.md +0 -41
  61. package/commands/gsd/health.md +0 -22
  62. package/commands/gsd/help.md +0 -22
  63. package/commands/gsd/insert-phase.md +0 -32
  64. package/commands/gsd/join-discord.md +0 -18
  65. package/commands/gsd/list-phase-assumptions.md +0 -46
  66. package/commands/gsd/map-codebase.md +0 -71
  67. package/commands/gsd/new-milestone.md +0 -44
  68. package/commands/gsd/new-project.md +0 -42
  69. package/commands/gsd/new-project.md.bak +0 -1041
  70. package/commands/gsd/pause-work.md +0 -38
  71. package/commands/gsd/plan-milestone-gaps.md +0 -34
  72. package/commands/gsd/plan-phase.md +0 -45
  73. package/commands/gsd/progress.md +0 -24
  74. package/commands/gsd/quick.md +0 -41
  75. package/commands/gsd/reapply-patches.md +0 -110
  76. package/commands/gsd/remove-phase.md +0 -31
  77. package/commands/gsd/research-phase.md +0 -189
  78. package/commands/gsd/resume-work.md +0 -40
  79. package/commands/gsd/set-profile.md +0 -34
  80. package/commands/gsd/settings.md +0 -36
  81. package/commands/gsd/update.md +0 -37
  82. package/commands/gsd/verify-work.md +0 -38
  83. package/hooks/dist/gsd-check-update.js +0 -62
  84. package/hooks/dist/gsd-context-monitor.js +0 -122
  85. package/hooks/dist/gsd-statusline.js +0 -108
  86. 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
- mode: agent
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 Copilot context.
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:** Use `jira_get_agile_boards` to find the board, then `jira_get_sprints_from_board` to find active/future sprints
35
- 2. **Fetch tickets:** Use the appropriate tool based on what the user provided:
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 2: Create PROJECT.md
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 (infer 2-3 common exclusions from the project type)
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 3: Create REQUIREMENTS.md
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 (Jira ticket or manual) and Phase (TBD until roadmap)
58
+ - Traceability table: map each requirement to its source and Phase (TBD until roadmap)
68
59
 
69
- ## Step 4: Create ROADMAP.md
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 (e.g., "Authentication & User Management", "Core Feature MVP")
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 5: Create STATE.md
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 6: Update copilot-instructions.md
80
+ ## Step 7: Update AGENTS.md
96
81
 
97
- Update `.github/copilot-instructions.md`:
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" from the constraints list
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 [+ N from Jira]
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 @Planner "Plan phase 1" to plan the first phase
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
- mode: agent
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? (Be concrete — a test passing, a file created, a PR merged)
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? What comes after?
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
- [Concrete description of the last completed action]
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 before touching code]
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 — e.g., "Open `src/services/user.service.ts` and implement the `sendWelcomeEmail()` call at line ~45, then run `npm test` to verify"]
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
- mode: agent
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 — description of each scenario]
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`, `[NN]-03-[name].md`, etc.
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,9 +1,6 @@
1
1
  ---
2
- name: progress
3
2
  description: Show current project progress — phase status, completion percentage, and what's next
4
- mode: ask
5
- tools:
6
- - search
3
+ agent: planner
7
4
  ---
8
5
 
9
6
  # Show Progress
@@ -1,10 +1,6 @@
1
1
  ---
2
2
  description: "Restructure your project roadmap — reorder, regroup, reprioritize, or rebuild phases from scratch"
3
- mode: agent
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", "Priority changed, X is now urgent"
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 these files:
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
- Based on user input, determine:
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 and represent shipped work
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 through restructuring
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
- mode: agent
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: Search corporate context (if applicable)
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 4: Apply (only after confirmation)
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
- mode: ask
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 to be aware of]
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
- name: sync-instructions
3
- description: Regenerate .github/copilot-instructions.md from .planning/ source documents — keeps the always-on context digest up to date
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 `.github/copilot-instructions.md` from the current state of `.planning/` documents. Run this after significant changes to PROJECT.md, STATE.md, or ROADMAP.md.
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 copilot-instructions.md
28
+ ## Step 3: Rewrite AGENTS.md
33
29
 
34
- Overwrite `.github/copilot-instructions.md` with a fresh version. Keep it **under 100 lines**. Use this structure:
30
+ Overwrite `AGENTS.md` with a fresh version. Keep it **under 100 lines**. Use this structure:
35
31
 
36
32
  ```markdown
37
- # Project Copilot Instructions
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 Copilot Chat)
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
- ✅ .github/copilot-instructions.md updated
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 Copilot Chat request.
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
- mode: agent
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 (e.g., `project = PROJ AND sprint in openSprints() AND assignee = currentUser()`)
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 (already in roadmap) or couldn't be mapped
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 (by ticket ID), **update it** instead of duplicating
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