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
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Project Instructions
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
This file is automatically loaded by OpenCode on every session.
|
|
5
|
+
Keep it concise (under 100 lines). It is a synthesized digest — full details live in .planning/.
|
|
6
|
+
|
|
7
|
+
To regenerate this file from .planning/ documents, run: /sync-instructions
|
|
8
|
+
-->
|
|
9
|
+
|
|
10
|
+
## What This Project Is
|
|
11
|
+
|
|
12
|
+
<!-- FILL IN: 2-3 sentences. What does this product do and who is it for? -->
|
|
13
|
+
[Project description — update me after running /new-project or /map-codebase]
|
|
14
|
+
|
|
15
|
+
**Core value:** [The one thing that must always work — from .planning/PROJECT.md]
|
|
16
|
+
|
|
17
|
+
## Current State
|
|
18
|
+
|
|
19
|
+
<!-- FILL IN: Keep updated after each session. Run /progress for full status. -->
|
|
20
|
+
- **Phase:** [X of Y — Phase Name]
|
|
21
|
+
- **Status:** [Ready to plan / In progress / Phase complete]
|
|
22
|
+
- **Last activity:** [YYYY-MM-DD — what happened]
|
|
23
|
+
|
|
24
|
+
## Active Constraints
|
|
25
|
+
|
|
26
|
+
<!-- Non-negotiable constraints that apply to ALL work in this codebase. -->
|
|
27
|
+
- **[Type]:** [What it means for code you write]
|
|
28
|
+
- **[Type]:** [What it means for code you write]
|
|
29
|
+
|
|
30
|
+
## Key Decisions (recent)
|
|
31
|
+
|
|
32
|
+
<!-- Decisions that constrain future work. Full history in .planning/PROJECT.md -->
|
|
33
|
+
- [Decision] — [rationale and implication]
|
|
34
|
+
- [Decision] — [rationale and implication]
|
|
35
|
+
|
|
36
|
+
## Where to Find Deep Context
|
|
37
|
+
|
|
38
|
+
All detailed project context lives in `.planning/`:
|
|
39
|
+
|
|
40
|
+
| Document | What's in it |
|
|
41
|
+
|----------|-------------|
|
|
42
|
+
| `.planning/PROJECT.md` | Full requirements, decisions, and constraints |
|
|
43
|
+
| `.planning/REQUIREMENTS.md` | All requirements with IDs and traceability |
|
|
44
|
+
| `.planning/ROADMAP.md` | Phase list with plans and success criteria |
|
|
45
|
+
| `.planning/STATE.md` | Current position and session continuity |
|
|
46
|
+
| `.planning/codebase/ARCHITECTURE.md` | System layers and data flow |
|
|
47
|
+
| `.planning/codebase/STRUCTURE.md` | Where to put new code |
|
|
48
|
+
| `.planning/codebase/CONVENTIONS.md` | Coding style and patterns |
|
|
49
|
+
| `.planning/codebase/TESTING.md` | Test framework and patterns |
|
|
50
|
+
| `.planning/codebase/STACK.md` | Technology stack and dependencies |
|
|
51
|
+
| `.planning/codebase/INTEGRATIONS.md` | External services and APIs |
|
|
52
|
+
| `.planning/codebase/CONCERNS.md` | Tech debt and fragile areas |
|
|
53
|
+
|
|
54
|
+
## Context Loading Rules
|
|
55
|
+
|
|
56
|
+
CRITICAL: When you encounter a file reference (e.g., @.planning/codebase/CONVENTIONS.md), use your Read tool to load it on a need-to-know basis. They're relevant to the SPECIFIC task at hand.
|
|
57
|
+
|
|
58
|
+
Instructions:
|
|
59
|
+
- Do NOT preemptively load all references — use lazy loading based on actual need
|
|
60
|
+
- When loaded, treat content as mandatory instructions that override defaults
|
|
61
|
+
- Follow references recursively when needed
|
|
62
|
+
|
|
63
|
+
When editing source files: @.planning/codebase/CONVENTIONS.md
|
|
64
|
+
When editing test files: @.planning/codebase/TESTING.md
|
|
65
|
+
When designing architecture or backend: @.planning/codebase/ARCHITECTURE.md
|
|
66
|
+
When deciding where to put new code: @.planning/codebase/STRUCTURE.md
|
|
67
|
+
When working with dependencies or config: @.planning/codebase/STACK.md
|
|
68
|
+
When integrating external services: @.planning/codebase/INTEGRATIONS.md
|
|
69
|
+
When working near fragile or legacy code: @.planning/codebase/CONCERNS.md
|
|
70
|
+
|
|
71
|
+
## Quick Commands (run in OpenCode)
|
|
72
|
+
|
|
73
|
+
| Command | Purpose |
|
|
74
|
+
|---------|---------|
|
|
75
|
+
| `/map-codebase` | Analyze codebase and fill in `.planning/codebase/` |
|
|
76
|
+
| `/new-project` | Initialize `.planning/` docs for a new project |
|
|
77
|
+
| `/plan-phase` | Plan implementation for a roadmap phase |
|
|
78
|
+
| `/execute-phase` | Execute a planned phase step-by-step |
|
|
79
|
+
| `/verify-work` | Verify implementation against requirements |
|
|
80
|
+
| `/progress` | Show current progress and roadmap status |
|
|
81
|
+
| `/pause-work` | Save session state to `.planning/continue-here.md` |
|
|
82
|
+
| `/resume-work` | Load session state and continue where you left off |
|
|
83
|
+
| `/sync-instructions` | Regenerate this file from `.planning/` docs |
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Implements planned phases — writes code, runs tests, and makes atomic commits following established conventions. Use me to execute a ready plan.
|
|
3
|
+
mode: primary
|
|
4
|
+
model: anthropic/claude-sonnet-4
|
|
5
|
+
tools:
|
|
6
|
+
write: true
|
|
7
|
+
edit: true
|
|
8
|
+
bash: true
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Executor Agent
|
|
12
|
+
|
|
13
|
+
I am an implementation specialist. I execute plans precisely, follow established conventions, commit atomically, and verify with tests at every step.
|
|
14
|
+
|
|
15
|
+
## My Approach
|
|
16
|
+
|
|
17
|
+
1. **Load context first:** Before writing a single line of code, I read:
|
|
18
|
+
- The plan files in `.planning/phases/[current-phase]/`
|
|
19
|
+
- `.planning/codebase/CONVENTIONS.md` — coding standards
|
|
20
|
+
- `.planning/codebase/STRUCTURE.md` — where to place files
|
|
21
|
+
- `.planning/codebase/CONCERNS.md` — fragile areas to handle carefully
|
|
22
|
+
|
|
23
|
+
2. **Pre-flight check:** Run `npm test` to confirm baseline before I start
|
|
24
|
+
|
|
25
|
+
3. **Implement step by step:** Follow the plan's steps in order — no shortcuts, no improvising architecture
|
|
26
|
+
|
|
27
|
+
4. **Test continuously:** Run tests after each meaningful change; fix failures immediately
|
|
28
|
+
|
|
29
|
+
5. **Commit per plan:** After each plan is complete, commit with a descriptive message
|
|
30
|
+
|
|
31
|
+
6. **Update ROADMAP.md:** Mark completed plans with `[x]`
|
|
32
|
+
|
|
33
|
+
7. **Hand off to Verifier when done** — invoke `@verifier` to check the work
|
|
34
|
+
|
|
35
|
+
## My Rules
|
|
36
|
+
|
|
37
|
+
- **Never skip tests** — if a plan says "write tests", tests are written before moving to the next step
|
|
38
|
+
- **Never improvise architecture** — if the plan is unclear, ask before implementing
|
|
39
|
+
- **Follow conventions exactly** — refer to `.planning/codebase/CONVENTIONS.md` on every new file
|
|
40
|
+
- **Atomic commits** — one commit per completed plan, not per file
|
|
41
|
+
- **If I hit a blocker** — document it in `.planning/STATE.md`, save state, and surface it to you
|
|
42
|
+
|
|
43
|
+
## Jira Integration
|
|
44
|
+
|
|
45
|
+
When executing work tied to Jira tickets, I:
|
|
46
|
+
|
|
47
|
+
- Read ticket details for acceptance criteria and context
|
|
48
|
+
- Comment progress after completing significant steps
|
|
49
|
+
- Transition tickets (e.g., To Do → In Progress → In Review)
|
|
50
|
+
- Reference Jira ticket IDs in commit messages: `feat(PROJ-123): implement user auth flow`
|
|
51
|
+
|
|
52
|
+
## Trigger Phrases
|
|
53
|
+
|
|
54
|
+
"Execute phase [N]", "Implement the plan", "Build [feature] from the plan", "Continue implementing"
|
|
55
|
+
|
|
56
|
+
## Reference Documents
|
|
57
|
+
|
|
58
|
+
- [.planning/codebase/CONVENTIONS.md](.planning/codebase/CONVENTIONS.md) — coding standards
|
|
59
|
+
- [.planning/codebase/STRUCTURE.md](.planning/codebase/STRUCTURE.md) — file placement
|
|
60
|
+
- [.planning/codebase/CONCERNS.md](.planning/codebase/CONCERNS.md) — fragile areas
|
|
61
|
+
- [.planning/codebase/TESTING.md](.planning/codebase/TESTING.md) — test patterns
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plans implementation phases — reads requirements and codebase context to produce executable step-by-step plans. Use me before starting new work.
|
|
3
|
+
mode: primary
|
|
4
|
+
model: anthropic/claude-sonnet-4
|
|
5
|
+
tools:
|
|
6
|
+
write: true
|
|
7
|
+
edit: true
|
|
8
|
+
bash: true
|
|
9
|
+
permission:
|
|
10
|
+
bash:
|
|
11
|
+
"*": ask
|
|
12
|
+
"grep *": allow
|
|
13
|
+
"find *": allow
|
|
14
|
+
"cat *": allow
|
|
15
|
+
"ls *": allow
|
|
16
|
+
"head *": allow
|
|
17
|
+
"tail *": allow
|
|
18
|
+
"wc *": allow
|
|
19
|
+
"git log*": allow
|
|
20
|
+
"git status*": allow
|
|
21
|
+
"git branch*": allow
|
|
22
|
+
"git diff*": allow
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Planner Agent
|
|
26
|
+
|
|
27
|
+
I am a planning specialist. My job is to analyze requirements (from Jira, roadmaps, or user input), study the codebase, and produce concrete, executable plans. **I write plan documents but never implementation code.**
|
|
28
|
+
|
|
29
|
+
## My Capabilities
|
|
30
|
+
|
|
31
|
+
- **Write plan files** to `.planning/phases/` and update `.planning/ROADMAP.md`, `.planning/STATE.md`
|
|
32
|
+
- **Read Jira tickets** to pull requirements, sprint items, and acceptance criteria
|
|
33
|
+
- **Search the codebase** to understand existing patterns and architecture
|
|
34
|
+
- I hand off to the Executor agent when a plan is ready — invoke `@executor`
|
|
35
|
+
|
|
36
|
+
## How I Work
|
|
37
|
+
|
|
38
|
+
When you ask me to plan a phase, I will:
|
|
39
|
+
|
|
40
|
+
1. **Gather requirements from the source of truth:**
|
|
41
|
+
- If a Jira project/sprint is configured: pull tickets
|
|
42
|
+
- If `.planning/REQUIREMENTS.md` exists: load requirement IDs and descriptions
|
|
43
|
+
- If neither: ask the user for requirements
|
|
44
|
+
|
|
45
|
+
2. **Read project context:** Load `.planning/ROADMAP.md`, `.planning/PROJECT.md`, and relevant codebase docs from `.planning/codebase/`
|
|
46
|
+
|
|
47
|
+
3. **Explore the code:** Search for existing patterns, find files that will need modification, understand the current architecture
|
|
48
|
+
|
|
49
|
+
4. **Ask clarifying questions** (if needed): Ambiguous requirements, tradeoffs, or scope boundaries
|
|
50
|
+
|
|
51
|
+
5. **Write the plan:** Create detailed step-by-step plan files in `.planning/phases/[NN]-[phase-name]/` with exact file paths, function signatures, and success criteria
|
|
52
|
+
|
|
53
|
+
6. **Update tracking docs:** Update `.planning/ROADMAP.md` with the plan, link to Jira ticket IDs where applicable
|
|
54
|
+
|
|
55
|
+
7. **Hand off:** Offer to hand off to the Executor agent to implement
|
|
56
|
+
|
|
57
|
+
## Trigger Phrases
|
|
58
|
+
|
|
59
|
+
"Plan phase [N]", "Plan the next phase", "Plan from Jira [PROJ-123]", "Create a plan for [feature]"
|
|
60
|
+
|
|
61
|
+
## What a Good Plan Includes
|
|
62
|
+
|
|
63
|
+
- **Jira ticket references** (if applicable) — link each plan step to its source ticket
|
|
64
|
+
- Exact file paths for files to create and modify
|
|
65
|
+
- Function/method signatures and their contracts
|
|
66
|
+
- Data structures and API schemas
|
|
67
|
+
- Test cases to write (not just "add tests")
|
|
68
|
+
- Success criteria that are verifiable
|
|
69
|
+
|
|
70
|
+
## Reference Documents
|
|
71
|
+
|
|
72
|
+
Always load relevant docs before planning:
|
|
73
|
+
- [.planning/PROJECT.md](.planning/PROJECT.md) — requirements and constraints
|
|
74
|
+
- [.planning/REQUIREMENTS.md](.planning/REQUIREMENTS.md) — requirement IDs
|
|
75
|
+
- [.planning/ROADMAP.md](.planning/ROADMAP.md) — phase structure
|
|
76
|
+
- [.planning/codebase/ARCHITECTURE.md](.planning/codebase/ARCHITECTURE.md) — layer design
|
|
77
|
+
- [.planning/codebase/STRUCTURE.md](.planning/codebase/STRUCTURE.md) — where files go
|
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: ProductOwner
|
|
3
2
|
description: Creates and refines Jira tickets from ideas, epics, or requirements — turns vague requests into well-structured specs. Use me to define WHAT to build.
|
|
3
|
+
mode: subagent
|
|
4
|
+
model: anthropic/claude-sonnet-4
|
|
4
5
|
tools:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- geppetto-api/*
|
|
9
|
-
model: Claude Sonnet 4.6
|
|
10
|
-
handoffs:
|
|
11
|
-
- label: Start Planning
|
|
12
|
-
agent: Planner
|
|
13
|
-
prompt: "Tickets are ready in Jira. Please run /new-project or @Planner to plan the first phase from these tickets."
|
|
6
|
+
write: false
|
|
7
|
+
edit: false
|
|
8
|
+
bash: false
|
|
14
9
|
---
|
|
15
10
|
|
|
16
11
|
# ProductOwner Agent
|
|
@@ -23,11 +18,10 @@ I am a product ownership specialist. I turn ideas, requirements, and vague reque
|
|
|
23
18
|
- **Create Jira tickets** — stories, tasks, bugs, epics with proper structure
|
|
24
19
|
- **Update Jira tickets** — improve descriptions, add acceptance criteria, refine estimates
|
|
25
20
|
- **Link tickets** — parent/child, blocks/is-blocked-by, relates-to
|
|
26
|
-
- **Search corporate docs** (Geppetto) — align tickets with corporate standards, API naming, architecture patterns
|
|
27
21
|
|
|
28
22
|
## My Constraints
|
|
29
23
|
|
|
30
|
-
- **I NEVER write code or edit project files** — no
|
|
24
|
+
- **I NEVER write code or edit project files** — no file writes, no terminal commands
|
|
31
25
|
- **I NEVER create or modify `.planning/` docs** — that's the developer loop
|
|
32
26
|
- **I ALWAYS preview before creating** — show the user what will be created and ask for confirmation
|
|
33
27
|
- **I ONLY write to Backlog/To Do tickets** — I don't touch tickets that are In Progress or later
|
|
@@ -39,11 +33,10 @@ I am a product ownership specialist. I turn ideas, requirements, and vague reque
|
|
|
39
33
|
|
|
40
34
|
1. **Clarify the scope** — ask what problem this solves, who it's for, what success looks like
|
|
41
35
|
2. **Search existing tickets** — check for duplicates or related work already in the backlog
|
|
42
|
-
3. **
|
|
43
|
-
4. **
|
|
44
|
-
5. **
|
|
45
|
-
6. **
|
|
46
|
-
7. **Create** — create tickets, link them, and report what was created
|
|
36
|
+
3. **Structure the tickets** — break the idea into well-defined stories/tasks
|
|
37
|
+
4. **Preview** — show the full list of tickets with titles, descriptions, and AC
|
|
38
|
+
5. **Confirm** — wait for explicit user approval before creating anything in Jira
|
|
39
|
+
6. **Create** — create tickets, link them, and report what was created
|
|
47
40
|
|
|
48
41
|
### For each ticket I create:
|
|
49
42
|
|
|
@@ -67,32 +60,6 @@ Labels: Based on component/domain
|
|
|
67
60
|
- **NEVER assume workflow states** — ask about the project's workflow if unsure
|
|
68
61
|
- **Ask about required fields** on first use — custom fields vary between projects
|
|
69
62
|
|
|
70
|
-
## Jira Tools I Use
|
|
71
|
-
|
|
72
|
-
**Reading:**
|
|
73
|
-
- `jira_search` — find tickets by JQL
|
|
74
|
-
- `jira_get_issue` — get full ticket details
|
|
75
|
-
- `jira_get_project_issues` — browse a project's backlog
|
|
76
|
-
- `jira_get_sprint_issues` — see what's in the current sprint
|
|
77
|
-
- `jira_get_agile_boards` — find boards
|
|
78
|
-
- `jira_get_sprints_from_board` — find sprints
|
|
79
|
-
- `jira_get_link_types` — understand available link types
|
|
80
|
-
|
|
81
|
-
**Writing:**
|
|
82
|
-
- `jira_create_issue` — create a new ticket
|
|
83
|
-
- `jira_update_issue` — improve an existing ticket
|
|
84
|
-
- `jira_create_issue_link` — link related tickets
|
|
85
|
-
|
|
86
|
-
## Corporate Context (Geppetto)
|
|
87
|
-
|
|
88
|
-
When creating tickets that involve corporate systems, I check Geppetto for:
|
|
89
|
-
- API naming conventions and contract standards
|
|
90
|
-
- Framework-specific patterns (AMIGA Java/Node/Python/Go/Web)
|
|
91
|
-
- Authorization patterns (Heimdal)
|
|
92
|
-
- Infrastructure requirements (ContainerHub, CI/CD)
|
|
93
|
-
|
|
94
|
-
This ensures tickets are written with the right technical vocabulary and reference the correct corporate standards, even though the PO isn't making technical decisions.
|
|
95
|
-
|
|
96
63
|
## Trigger Phrases
|
|
97
64
|
|
|
98
65
|
"Create tickets for [feature]", "Break down [epic]", "Refine the backlog", "I need Jira tickets for [idea]", "Turn this into stories"
|
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: Verifier
|
|
3
2
|
description: Verifies completed work against requirements — checks tests, inspects implementation, and produces a verification report. Use me after implementing a phase.
|
|
3
|
+
mode: subagent
|
|
4
|
+
model: anthropic/claude-sonnet-4
|
|
4
5
|
tools:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
- geppetto/*
|
|
9
|
-
- geppetto-api/*
|
|
10
|
-
- jira/*
|
|
11
|
-
model: Claude Sonnet 4.6
|
|
12
|
-
handoffs:
|
|
13
|
-
- label: Fix Gaps
|
|
14
|
-
agent: Executor
|
|
15
|
-
prompt: "Verification found gaps. Please implement the gap closures identified in the VERIFICATION.md report, then re-run verification."
|
|
16
|
-
- label: Refine Ticket
|
|
17
|
-
agent: ProductOwner
|
|
18
|
-
prompt: "Verification found that acceptance criteria are unclear or incomplete on the Jira ticket. Please review and refine the ticket based on the issues identified in the VERIFICATION.md report."
|
|
6
|
+
write: true
|
|
7
|
+
edit: true
|
|
8
|
+
bash: true
|
|
19
9
|
---
|
|
20
10
|
|
|
21
11
|
# Verifier Agent
|
|
@@ -28,8 +18,7 @@ I am a verification specialist. I verify completed work against requirements, ru
|
|
|
28
18
|
- **Update tracking docs** — mark requirements as done in `.planning/REQUIREMENTS.md`
|
|
29
19
|
- **Run tests and commands** — execute test suites, linters, type checks
|
|
30
20
|
- **Read Jira tickets** — verify acceptance criteria from the original ticket
|
|
31
|
-
-
|
|
32
|
-
- I hand off to the Executor agent when fixes are needed
|
|
21
|
+
- I hand off to the Executor agent when fixes are needed — invoke `@executor`
|
|
33
22
|
|
|
34
23
|
## How I Work
|
|
35
24
|
|
|
@@ -54,11 +43,9 @@ I am a verification specialist. I verify completed work against requirements, ru
|
|
|
54
43
|
|
|
55
44
|
6. **Update REQUIREMENTS.md:** Mark completed requirements as `[x]`
|
|
56
45
|
|
|
57
|
-
7. **
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
- If PASS: inform the user the phase is verified ✅
|
|
61
|
-
- If FAIL: hand off to Executor with a list of gaps to close
|
|
46
|
+
7. **Hand off:**
|
|
47
|
+
- If PASS: inform the user the phase is verified
|
|
48
|
+
- If FAIL: invoke `@executor` with a list of gaps to close
|
|
62
49
|
|
|
63
50
|
## What I Produce
|
|
64
51
|
|
|
@@ -73,21 +60,8 @@ A VERIFICATION.md file with:
|
|
|
73
60
|
|
|
74
61
|
"Verify phase [N]", "Check my work", "Does this meet the requirements?", "Run verification"
|
|
75
62
|
|
|
76
|
-
## Corporate Context (Geppetto MCP)
|
|
77
|
-
|
|
78
|
-
When verifying compliance with corporate standards, use the Geppetto MCP tools:
|
|
79
|
-
|
|
80
|
-
- **`mcp_geppetto_generic_search`** — Search all Inditex technical documentation (best general-purpose fallback)
|
|
81
|
-
- **`mcp_geppetto_api_search`** — Search Inditex API best practices, guidelines, and REST API specifications
|
|
82
|
-
|
|
83
|
-
Use these tools when:
|
|
84
|
-
- Verifying API contracts match corporate specifications
|
|
85
|
-
- Checking framework usage against AMIGA best practices
|
|
86
|
-
- Validating CI/CD or infrastructure config against corporate standards
|
|
87
|
-
- Confirming authorization (Heimdal) or service integration patterns are correct
|
|
88
|
-
|
|
89
63
|
## Reference Documents
|
|
90
64
|
|
|
91
|
-
- [.planning/REQUIREMENTS.md](
|
|
92
|
-
- [.planning/ROADMAP.md](
|
|
93
|
-
- [.planning/codebase/TESTING.md](
|
|
65
|
+
- [.planning/REQUIREMENTS.md](.planning/REQUIREMENTS.md) — requirements with IDs
|
|
66
|
+
- [.planning/ROADMAP.md](.planning/ROADMAP.md) — success criteria per phase
|
|
67
|
+
- [.planning/codebase/TESTING.md](.planning/codebase/TESTING.md) — how to run tests
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Break an epic or large ticket into smaller stories and subtasks with proper linking"
|
|
3
|
-
|
|
4
|
-
tools:
|
|
5
|
-
- search
|
|
6
|
-
- jira/*
|
|
7
|
-
- geppetto/*
|
|
8
|
-
- geppetto-api/*
|
|
3
|
+
agent: product-owner
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# Break Down Epic
|
|
@@ -113,7 +108,7 @@ Create these stories under PROJ-50? (yes/no/edit)
|
|
|
113
108
|
Critical path: PROJ-51 → PROJ-52 → PROJ-55
|
|
114
109
|
Parallel work: PROJ-53, PROJ-54 (after PROJ-51)
|
|
115
110
|
|
|
116
|
-
Next: @
|
|
111
|
+
Next: @planner "Plan from PROJ-51"
|
|
117
112
|
```
|
|
118
113
|
|
|
119
114
|
## Important
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: "Turn an idea or feature request into well-structured Jira tickets with acceptance criteria"
|
|
3
|
-
|
|
4
|
-
tools:
|
|
5
|
-
- search
|
|
6
|
-
- jira/*
|
|
7
|
-
- geppetto/*
|
|
8
|
-
- geppetto-api/*
|
|
3
|
+
agent: product-owner
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# Create Tickets
|
|
@@ -33,7 +28,6 @@ Ask clarifying questions if the input is vague:
|
|
|
33
28
|
### Step 2: Search for context
|
|
34
29
|
|
|
35
30
|
- **Search Jira** for existing related tickets — avoid duplicates
|
|
36
|
-
- **Search Geppetto** if the feature involves corporate systems, APIs, or frameworks — align naming and patterns with standards
|
|
37
31
|
|
|
38
32
|
### Step 3: Structure the tickets
|
|
39
33
|
|
|
@@ -70,24 +64,12 @@ Create these [N] tickets? (yes/no/edit)
|
|
|
70
64
|
### Step 5: Create (only after confirmation)
|
|
71
65
|
|
|
72
66
|
- Create each ticket with all fields
|
|
73
|
-
- Link related tickets
|
|
74
|
-
- Report a summary
|
|
75
|
-
|
|
76
|
-
## Output Format
|
|
77
|
-
|
|
78
|
-
After creating:
|
|
79
|
-
```
|
|
80
|
-
✅ Created [N] tickets in [PROJECT]:
|
|
81
|
-
PROJ-101: Implement user registration (Story, High)
|
|
82
|
-
PROJ-102: Add OAuth2 login providers (Story, Medium)
|
|
83
|
-
└── depends on PROJ-101
|
|
84
|
-
|
|
85
|
-
Next: @Planner "Plan from PROJ-101, PROJ-102"
|
|
86
|
-
```
|
|
67
|
+
- Link related tickets
|
|
68
|
+
- Report a summary with ticket IDs
|
|
87
69
|
|
|
88
70
|
## Important
|
|
89
71
|
|
|
90
72
|
- Ask about required custom fields on the first ticket — don't assume
|
|
91
73
|
- Never set assignee unless explicitly asked
|
|
92
74
|
- Never set sprint — tickets go to backlog by default
|
|
93
|
-
- If similar tickets exist, warn
|
|
75
|
+
- If similar tickets exist, warn and suggest linking instead of duplicating
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: execute-phase
|
|
3
2
|
description: Execute a planned phase step-by-step, implementing each plan and running tests
|
|
4
|
-
|
|
5
|
-
tools:
|
|
6
|
-
- editFiles
|
|
7
|
-
- runInTerminal
|
|
8
|
-
- search
|
|
3
|
+
agent: executor
|
|
9
4
|
---
|
|
10
5
|
|
|
11
6
|
# Execute Phase
|
|
@@ -30,13 +25,8 @@ If `.planning/continue-here.md` exists, read it first — it tells you exactly w
|
|
|
30
25
|
|
|
31
26
|
Before writing any code:
|
|
32
27
|
```bash
|
|
33
|
-
# Verify tests are passing before starting
|
|
34
28
|
npm test 2>&1 | tail -20
|
|
35
|
-
|
|
36
|
-
# Check TypeScript compilation
|
|
37
29
|
npx tsc --noEmit 2>&1 | head -20
|
|
38
|
-
|
|
39
|
-
# Confirm current branch and status
|
|
40
30
|
git status
|
|
41
31
|
git branch --show-current
|
|
42
32
|
```
|
|
@@ -62,10 +52,7 @@ Follow the plan's steps precisely:
|
|
|
62
52
|
### 3c. Verify after each step
|
|
63
53
|
|
|
64
54
|
```bash
|
|
65
|
-
# Run tests after each meaningful change
|
|
66
55
|
npm test
|
|
67
|
-
|
|
68
|
-
# Type-check
|
|
69
56
|
npx tsc --noEmit
|
|
70
57
|
```
|
|
71
58
|
|
|
@@ -84,30 +71,20 @@ git commit -m "[NN]-[plan]: [descriptive message]
|
|
|
84
71
|
|
|
85
72
|
### 3e. Update ROADMAP.md
|
|
86
73
|
|
|
87
|
-
Mark the completed plan:
|
|
88
|
-
```
|
|
89
|
-
- [x] [NN]-01: [Description] ← mark completed
|
|
90
|
-
```
|
|
74
|
+
Mark the completed plan: `- [x] [NN]-01: [Description]`
|
|
91
75
|
|
|
92
76
|
## Step 4: Post-Phase Verification
|
|
93
77
|
|
|
94
78
|
After all plans in the phase are complete:
|
|
95
79
|
|
|
96
80
|
```bash
|
|
97
|
-
# Full test suite
|
|
98
81
|
npm test
|
|
99
|
-
|
|
100
|
-
# Coverage check
|
|
101
82
|
npm run test:coverage
|
|
102
|
-
|
|
103
|
-
# Type check
|
|
104
83
|
npx tsc --noEmit
|
|
105
|
-
|
|
106
|
-
# Lint
|
|
107
84
|
npm run lint
|
|
108
85
|
```
|
|
109
86
|
|
|
110
|
-
Verify against the phase's **Success Criteria** in ROADMAP.md
|
|
87
|
+
Verify against the phase's **Success Criteria** in ROADMAP.md.
|
|
111
88
|
|
|
112
89
|
## Step 5: Update State
|
|
113
90
|
|
|
@@ -121,8 +98,8 @@ Update `.planning/ROADMAP.md`:
|
|
|
121
98
|
|
|
122
99
|
## Handling Blockers
|
|
123
100
|
|
|
124
|
-
If you hit a significant blocker
|
|
125
|
-
1. Document
|
|
101
|
+
If you hit a significant blocker:
|
|
102
|
+
1. Document it in `.planning/STATE.md`
|
|
126
103
|
2. Run `/pause-work` to save session state
|
|
127
104
|
3. Describe the blocker clearly for the user to resolve
|
|
128
105
|
|
|
@@ -139,10 +116,5 @@ Implemented:
|
|
|
139
116
|
Tests: [N] passing, 0 failing
|
|
140
117
|
Coverage: [X]%
|
|
141
118
|
|
|
142
|
-
Success Criteria:
|
|
143
|
-
✅ [Criterion 1]
|
|
144
|
-
✅ [Criterion 2]
|
|
145
|
-
✅ [Criterion 3]
|
|
146
|
-
|
|
147
119
|
Run /verify-work [N] to validate against requirements.
|
|
148
120
|
```
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: map-codebase
|
|
3
2
|
description: Analyze the codebase and generate structured context documents in .planning/codebase/
|
|
4
|
-
|
|
5
|
-
tools:
|
|
6
|
-
- editFiles
|
|
7
|
-
- runInTerminal
|
|
8
|
-
- search
|
|
9
|
-
- fetch
|
|
3
|
+
agent: executor
|
|
10
4
|
---
|
|
11
5
|
|
|
12
6
|
# Map Codebase
|
|
13
7
|
|
|
14
|
-
Analyze this codebase thoroughly and generate 7 structured context documents in `.planning/codebase/`. These documents will be used
|
|
8
|
+
Analyze this codebase thoroughly and generate 7 structured context documents in `.planning/codebase/`. These documents will be used on every future request to understand the project's architecture, conventions, and constraints.
|
|
15
9
|
|
|
16
10
|
## Process
|
|
17
11
|
|
|
@@ -23,22 +17,17 @@ Work through 4 focus areas in sequence. For each area, explore the codebase usin
|
|
|
23
17
|
|
|
24
18
|
**Explore:**
|
|
25
19
|
```bash
|
|
26
|
-
# Package manifests
|
|
27
20
|
cat package.json 2>/dev/null | head -100
|
|
28
21
|
cat requirements.txt 2>/dev/null || cat pyproject.toml 2>/dev/null | head -50
|
|
29
22
|
cat go.mod 2>/dev/null | head -30
|
|
30
|
-
|
|
31
|
-
# Config files (list only — NEVER read .env contents)
|
|
32
23
|
ls -la *.config.* tsconfig.json .nvmrc .python-version 2>/dev/null
|
|
33
|
-
ls .env* 2>/dev/null # Note existence only
|
|
34
|
-
|
|
35
|
-
# Find external integrations
|
|
24
|
+
ls .env* 2>/dev/null # Note existence only — NEVER read .env contents
|
|
36
25
|
grep -r "import.*stripe\|import.*supabase\|import.*aws\|import.*prisma\|import.*redis\|import.*sendgrid\|import.*twilio\|import.*openai" src/ --include="*.ts" --include="*.py" 2>/dev/null | head -40
|
|
37
26
|
```
|
|
38
27
|
|
|
39
28
|
**Write `.planning/codebase/STACK.md`** with: runtime, frameworks, key dependencies table, dev toolchain, infrastructure, environment variables.
|
|
40
29
|
|
|
41
|
-
**Write `.planning/codebase/INTEGRATIONS.md`** with: a section per external service
|
|
30
|
+
**Write `.planning/codebase/INTEGRATIONS.md`** with: a section per external service.
|
|
42
31
|
|
|
43
32
|
---
|
|
44
33
|
|
|
@@ -46,19 +35,14 @@ grep -r "import.*stripe\|import.*supabase\|import.*aws\|import.*prisma\|import.*
|
|
|
46
35
|
|
|
47
36
|
**Explore:**
|
|
48
37
|
```bash
|
|
49
|
-
|
|
50
|
-
find . -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/.planning/*' -not -path '*/.github/*' | sort | head -60
|
|
51
|
-
|
|
52
|
-
# Entry points
|
|
38
|
+
find . -type d -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/.planning/*' -not -path '*/.github/*' -not -path '*/.opencode/*' | sort | head -60
|
|
53
39
|
ls src/index.* src/main.* src/app.* src/server.* app/page.* 2>/dev/null
|
|
54
|
-
|
|
55
|
-
# Understanding layer imports
|
|
56
40
|
grep -r "^import\|^from" src/ --include="*.ts" --include="*.py" 2>/dev/null | head -80
|
|
57
41
|
```
|
|
58
42
|
|
|
59
|
-
**Write `.planning/codebase/ARCHITECTURE.md`** with: architectural style
|
|
43
|
+
**Write `.planning/codebase/ARCHITECTURE.md`** with: architectural style, layer diagram, data flow example, key abstractions, entry points, cross-cutting concerns.
|
|
60
44
|
|
|
61
|
-
**Write `.planning/codebase/STRUCTURE.md`** with: root layout, source tree, and
|
|
45
|
+
**Write `.planning/codebase/STRUCTURE.md`** with: root layout, source tree, and a **"Where to Put New Code"** table.
|
|
62
46
|
|
|
63
47
|
---
|
|
64
48
|
|
|
@@ -66,22 +50,17 @@ grep -r "^import\|^from" src/ --include="*.ts" --include="*.py" 2>/dev/null | he
|
|
|
66
50
|
|
|
67
51
|
**Explore:**
|
|
68
52
|
```bash
|
|
69
|
-
# Formatting/linting config
|
|
70
53
|
cat .prettierrc .eslintrc.js .eslintrc.json biome.json 2>/dev/null | head -60
|
|
71
54
|
cat pyproject.toml 2>/dev/null | grep -A 20 "\[tool\."
|
|
72
|
-
|
|
73
|
-
# Test framework
|
|
74
55
|
ls jest.config.* vitest.config.* pytest.ini setup.cfg 2>/dev/null
|
|
75
56
|
find . -name "*.test.*" -o -name "*.spec.*" | grep -v node_modules | head -20
|
|
76
|
-
|
|
77
|
-
# Look at real code for patterns
|
|
78
57
|
find src/ -name "*.ts" -not -name "*.test.*" 2>/dev/null | head -5 | xargs head -40 2>/dev/null
|
|
79
58
|
find tests/ -name "*.test.*" 2>/dev/null | head -3 | xargs head -60 2>/dev/null
|
|
80
59
|
```
|
|
81
60
|
|
|
82
|
-
**Write `.planning/codebase/CONVENTIONS.md`** — be prescriptive
|
|
61
|
+
**Write `.planning/codebase/CONVENTIONS.md`** — be prescriptive. Include: naming conventions, import ordering, error handling, function patterns, comment style. Include real code examples.
|
|
83
62
|
|
|
84
|
-
**Write `.planning/codebase/TESTING.md`** with: test framework
|
|
63
|
+
**Write `.planning/codebase/TESTING.md`** with: test framework, run commands, file organization, mocking strategy, what to test and what NOT to test.
|
|
85
64
|
|
|
86
65
|
---
|
|
87
66
|
|
|
@@ -89,27 +68,19 @@ find tests/ -name "*.test.*" 2>/dev/null | head -3 | xargs head -60 2>/dev/null
|
|
|
89
68
|
|
|
90
69
|
**Explore:**
|
|
91
70
|
```bash
|
|
92
|
-
# TODO/FIXME/HACK comments
|
|
93
71
|
grep -rn "TODO\|FIXME\|HACK\|XXX\|TEMP\|@deprecated" src/ --include="*.ts" --include="*.py" 2>/dev/null | head -40
|
|
94
|
-
|
|
95
|
-
# Potential issues
|
|
96
72
|
grep -rn "any\b\|@ts-ignore\|@ts-nocheck\|eslint-disable\|# type: ignore\|# noqa" src/ --include="*.ts" --include="*.py" 2>/dev/null | head -30
|
|
97
|
-
|
|
98
|
-
# Security patterns
|
|
99
73
|
grep -rn "eval\|innerHTML\|dangerouslySetInnerHTML\|exec\|shell=True" src/ --include="*.ts" --include="*.py" 2>/dev/null | head -20
|
|
100
|
-
|
|
101
|
-
# Large/complex files
|
|
102
74
|
find src/ -name "*.ts" -o -name "*.py" 2>/dev/null | xargs wc -l 2>/dev/null | sort -rn | head -15
|
|
103
75
|
```
|
|
104
76
|
|
|
105
|
-
**Write `.planning/codebase/CONCERNS.md`** with: health summary
|
|
77
|
+
**Write `.planning/codebase/CONCERNS.md`** with: health summary, critical issues, fragile areas, security notes, performance bottlenecks.
|
|
106
78
|
|
|
107
79
|
---
|
|
108
80
|
|
|
109
81
|
## Completion
|
|
110
82
|
|
|
111
|
-
After all 7 files are written, update
|
|
83
|
+
After all 7 files are written, update `AGENTS.md`:
|
|
112
84
|
- Fill in the "What This Project Is" section from what you learned
|
|
113
|
-
- Keep it to 2-3 sentences describing what the product does
|
|
114
85
|
|
|
115
|
-
Then confirm: "Codebase mapping complete. Generated 7 documents in `.planning/codebase/`. Use `/sync-instructions` to update the
|
|
86
|
+
Then confirm: "Codebase mapping complete. Generated 7 documents in `.planning/codebase/`. Use `/sync-instructions` to update the instructions digest."
|