opencodekit 0.18.1 → 0.18.3

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 (131) hide show
  1. package/dist/index.js +161 -38
  2. package/dist/template/.opencode/.version +1 -1
  3. package/dist/template/.opencode/AGENTS.md +39 -9
  4. package/dist/template/.opencode/AGENT_ALIGNMENT.md +6 -6
  5. package/dist/template/.opencode/agent/build.md +7 -103
  6. package/dist/template/.opencode/agent/general.md +0 -52
  7. package/dist/template/.opencode/agent/plan.md +10 -0
  8. package/dist/template/.opencode/agent/runner.md +79 -0
  9. package/dist/template/.opencode/command/create.md +13 -1
  10. package/dist/template/.opencode/command/init-context.md +20 -6
  11. package/dist/template/.opencode/command/init-user.md +18 -16
  12. package/dist/template/.opencode/command/lfg.md +3 -4
  13. package/dist/template/.opencode/command/ship.md +6 -48
  14. package/dist/template/.opencode/command/start.md +20 -3
  15. package/dist/template/.opencode/command/verify.md +12 -17
  16. package/dist/template/.opencode/context/README.md +29 -0
  17. package/dist/template/.opencode/memory/_templates/{STATE.md → state.md} +1 -1
  18. package/dist/template/.opencode/memory.db +0 -0
  19. package/dist/template/.opencode/memory.db-shm +0 -0
  20. package/dist/template/.opencode/memory.db-wal +0 -0
  21. package/dist/template/.opencode/opencode.json +131 -7
  22. package/dist/template/.opencode/package.json +1 -1
  23. package/dist/template/.opencode/plugin/lib/memory-helpers.ts +51 -16
  24. package/dist/template/.opencode/plugin/lib/memory-hooks.ts +1 -1
  25. package/dist/template/.opencode/skill/accessibility-audit/SKILL.md +11 -5
  26. package/dist/template/.opencode/skill/agent-browser/SKILL.md +55 -18
  27. package/dist/template/.opencode/skill/agent-teams/SKILL.md +12 -1
  28. package/dist/template/.opencode/skill/augment-context-engine/SKILL.md +11 -1
  29. package/dist/template/.opencode/skill/beads/SKILL.md +57 -390
  30. package/dist/template/.opencode/skill/beads/references/BEST_PRACTICES.md +27 -0
  31. package/dist/template/.opencode/skill/beads/references/EXAMPLES.md +45 -0
  32. package/dist/template/.opencode/skill/beads/references/FILE_CLAIMING.md +101 -0
  33. package/dist/template/.opencode/skill/beads/references/GIT_SYNC.md +25 -0
  34. package/dist/template/.opencode/skill/beads/references/HIERARCHY.md +71 -0
  35. package/dist/template/.opencode/skill/beads/references/MULTI_AGENT.md +40 -0
  36. package/dist/template/.opencode/skill/beads/references/SESSION_PROTOCOL.md +61 -0
  37. package/dist/template/.opencode/skill/beads/references/TASK_CREATION.md +38 -0
  38. package/dist/template/.opencode/skill/beads/references/TROUBLESHOOTING.md +38 -0
  39. package/dist/template/.opencode/skill/beads-bridge/SKILL.md +10 -10
  40. package/dist/template/.opencode/skill/brainstorming/SKILL.md +13 -0
  41. package/dist/template/.opencode/skill/chrome-devtools/SKILL.md +11 -1
  42. package/dist/template/.opencode/skill/cloudflare/SKILL.md +87 -67
  43. package/dist/template/.opencode/skill/compaction/SKILL.md +11 -3
  44. package/dist/template/.opencode/skill/condition-based-waiting/SKILL.md +11 -25
  45. package/dist/template/.opencode/skill/context-engineering/SKILL.md +13 -2
  46. package/dist/template/.opencode/skill/context-initialization/SKILL.md +11 -1
  47. package/dist/template/.opencode/skill/context-management/SKILL.md +13 -1
  48. package/dist/template/.opencode/skill/core-data-expert/SKILL.md +13 -2
  49. package/dist/template/.opencode/skill/deep-research/SKILL.md +5 -8
  50. package/dist/template/.opencode/skill/defense-in-depth/SKILL.md +13 -0
  51. package/dist/template/.opencode/skill/design-system-audit/SKILL.md +9 -3
  52. package/dist/template/.opencode/skill/development-lifecycle/SKILL.md +51 -0
  53. package/dist/template/.opencode/skill/dispatching-parallel-agents/SKILL.md +19 -30
  54. package/dist/template/.opencode/skill/executing-plans/SKILL.md +36 -0
  55. package/dist/template/.opencode/skill/figma/SKILL.md +11 -1
  56. package/dist/template/.opencode/skill/finishing-a-development-branch/SKILL.md +31 -0
  57. package/dist/template/.opencode/skill/frontend-design/SKILL.md +13 -3
  58. package/dist/template/.opencode/skill/gemini-large-context/SKILL.md +11 -0
  59. package/dist/template/.opencode/skill/index-knowledge/SKILL.md +11 -1
  60. package/dist/template/.opencode/skill/jira/SKILL.md +11 -1
  61. package/dist/template/.opencode/skill/memory-system/SKILL.md +13 -1
  62. package/dist/template/.opencode/skill/mockup-to-code/SKILL.md +9 -3
  63. package/dist/template/.opencode/skill/mqdh/SKILL.md +11 -1
  64. package/dist/template/.opencode/skill/obsidian/SKILL.md +11 -1
  65. package/dist/template/.opencode/skill/opensrc/SKILL.md +18 -6
  66. package/dist/template/.opencode/skill/pdf-extract/SKILL.md +11 -1
  67. package/dist/template/.opencode/skill/playwright/SKILL.md +11 -1
  68. package/dist/template/.opencode/skill/playwriter/SKILL.md +11 -1
  69. package/dist/template/.opencode/skill/polar/SKILL.md +11 -1
  70. package/dist/template/.opencode/skill/prd/SKILL.md +13 -4
  71. package/dist/template/.opencode/skill/prd-task/SKILL.md +13 -3
  72. package/dist/template/.opencode/skill/ralph/SKILL.md +4 -8
  73. package/dist/template/.opencode/skill/react-best-practices/SKILL.md +24 -16
  74. package/dist/template/.opencode/skill/receiving-code-review/SKILL.md +22 -0
  75. package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +30 -2
  76. package/dist/template/.opencode/skill/resend/SKILL.md +11 -1
  77. package/dist/template/.opencode/skill/root-cause-tracing/SKILL.md +12 -23
  78. package/dist/template/.opencode/skill/session-management/SKILL.md +11 -1
  79. package/dist/template/.opencode/skill/sharing-skills/SKILL.md +11 -0
  80. package/dist/template/.opencode/skill/skill-creator/SKILL.md +12 -11
  81. package/dist/template/.opencode/skill/source-code-research/SKILL.md +20 -266
  82. package/dist/template/.opencode/skill/source-code-research/references/analysis-tips.md +43 -0
  83. package/dist/template/.opencode/skill/source-code-research/references/anti-patterns.md +36 -0
  84. package/dist/template/.opencode/skill/source-code-research/references/common-patterns.md +57 -0
  85. package/dist/template/.opencode/skill/source-code-research/references/example-workflow.md +60 -0
  86. package/dist/template/.opencode/skill/source-code-research/references/further-reading.md +5 -0
  87. package/dist/template/.opencode/skill/source-code-research/references/source-structure.md +45 -0
  88. package/dist/template/.opencode/skill/stitch/SKILL.md +11 -1
  89. package/dist/template/.opencode/skill/structured-edit/SKILL.md +13 -0
  90. package/dist/template/.opencode/skill/subagent-driven-development/SKILL.md +13 -14
  91. package/dist/template/.opencode/skill/supabase/SKILL.md +11 -1
  92. package/dist/template/.opencode/skill/supabase-postgres-best-practices/SKILL.md +23 -15
  93. package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +23 -923
  94. package/dist/template/.opencode/skill/swarm-coordination/references/architecture.md +39 -0
  95. package/dist/template/.opencode/skill/swarm-coordination/references/delegation-worker-protocol.md +145 -0
  96. package/dist/template/.opencode/skill/swarm-coordination/references/dependency-graph.md +50 -0
  97. package/dist/template/.opencode/skill/swarm-coordination/references/drift-check.md +90 -0
  98. package/dist/template/.opencode/skill/swarm-coordination/references/integration-beads.md +20 -0
  99. package/dist/template/.opencode/skill/swarm-coordination/references/launch-flow.md +186 -0
  100. package/dist/template/.opencode/skill/swarm-coordination/references/reconciler.md +172 -0
  101. package/dist/template/.opencode/skill/swarm-coordination/references/tier-enforcement.md +78 -0
  102. package/dist/template/.opencode/skill/swarm-coordination/references/tmux-integration.md +134 -0
  103. package/dist/template/.opencode/skill/swift-concurrency/SKILL.md +22 -2
  104. package/dist/template/.opencode/skill/swiftui-expert-skill/SKILL.md +58 -19
  105. package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +25 -25
  106. package/dist/template/.opencode/skill/test-driven-development/SKILL.md +19 -15
  107. package/dist/template/.opencode/skill/testing-anti-patterns/SKILL.md +13 -0
  108. package/dist/template/.opencode/skill/testing-skills-with-subagents/SKILL.md +13 -15
  109. package/dist/template/.opencode/skill/tool-priority/SKILL.md +13 -0
  110. package/dist/template/.opencode/skill/ui-ux-research/SKILL.md +9 -3
  111. package/dist/template/.opencode/skill/using-git-worktrees/SKILL.md +37 -0
  112. package/dist/template/.opencode/skill/using-skills/SKILL.md +13 -0
  113. package/dist/template/.opencode/skill/v0/SKILL.md +11 -1
  114. package/dist/template/.opencode/skill/v1-run/SKILL.md +11 -1
  115. package/dist/template/.opencode/skill/vercel-deploy-claimable/SKILL.md +14 -2
  116. package/dist/template/.opencode/skill/verification-before-completion/SKILL.md +22 -0
  117. package/dist/template/.opencode/skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md +67 -0
  118. package/dist/template/.opencode/skill/visual-analysis/SKILL.md +9 -3
  119. package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +12 -5
  120. package/dist/template/.opencode/skill/writing-plans/SKILL.md +13 -0
  121. package/dist/template/.opencode/skill/writing-skills/SKILL.md +26 -421
  122. package/dist/template/.opencode/skill/writing-skills/references/anti-patterns.md +25 -0
  123. package/dist/template/.opencode/skill/writing-skills/references/claude-search-optimization.md +140 -0
  124. package/dist/template/.opencode/skill/writing-skills/references/discovery-workflow.md +11 -0
  125. package/dist/template/.opencode/skill/writing-skills/references/file-organization.md +32 -0
  126. package/dist/template/.opencode/skill/writing-skills/references/flowcharts-and-examples.md +57 -0
  127. package/dist/template/.opencode/skill/writing-skills/references/rationalization-hardening.md +75 -0
  128. package/dist/template/.opencode/skill/writing-skills/references/testing-skill-types.md +52 -0
  129. package/package.json +15 -4
  130. /package/dist/template/.opencode/memory/_templates/{PROJECT.md → project.md} +0 -0
  131. /package/dist/template/.opencode/memory/_templates/{ROADMAP.md → roadmap.md} +0 -0
@@ -0,0 +1,79 @@
1
+ ---
2
+ description: Lightweight runner for trivial shell, git, and filesystem operations
3
+ mode: subagent
4
+ temperature: 0.0
5
+ permission:
6
+ bash:
7
+ "*": allow
8
+ "git push*": ask
9
+ "git commit*": ask
10
+ "git merge*": ask
11
+ "git reset*": ask
12
+ "rm*": ask
13
+ "sudo*": deny
14
+ write:
15
+ "*": deny
16
+ edit:
17
+ "*": deny
18
+ ---
19
+
20
+ You are OpenCode, the best coding agent on the planet.
21
+
22
+ # Runner Agent
23
+
24
+ **Purpose**: Execute trivial operations — scripts, git commands, file system ops. No code reasoning.
25
+
26
+ ## Identity
27
+
28
+ You are the runner agent. You execute simple, well-defined operations quickly and reliably. You don't write code or make architectural decisions.
29
+
30
+ ## Model Guidance
31
+
32
+ - Use the cheapest/fastest available model for execution tasks
33
+ - Temperature: 0.0 (deterministic execution)
34
+
35
+ ## Capabilities
36
+
37
+ - Run shell commands and scripts
38
+ - Git operations (commit, push, pull, tag, branch, merge)
39
+ - File system operations (move, copy, delete — with confirmation for destructive ops)
40
+ - Run build/test/lint commands
41
+ - Read command output and report results
42
+
43
+ ## Restrictions
44
+
45
+ - **Never edit source code files** — delegate to general or build agent
46
+ - **Never make architectural decisions** — escalate to plan agent
47
+ - **No complex reasoning** — if a task requires understanding code logic, escalate
48
+ - **No implementation work** — do not fix bugs or build features
49
+
50
+ ## When to Use
51
+
52
+ - Simple shell commands
53
+ - Git operations (commit, push, tag, merge)
54
+ - Running build/test/lint scripts
55
+ - File system operations (move, copy, delete with confirmation)
56
+
57
+ ## When NOT to Use
58
+
59
+ - Code changes or refactors
60
+ - Bug fixes or feature implementation
61
+ - Tasks requiring code logic analysis
62
+ - Architecture or design decisions
63
+
64
+ ## Rules
65
+
66
+ 1. Execute exactly what is requested — no improvisation
67
+ 2. Report command output faithfully — never fabricate
68
+ 3. Ask before destructive operations (delete, force push, reset)
69
+ 4. If a command fails, report the error — don't attempt creative fixes
70
+ 5. Stage specific files only — never `git add .`
71
+
72
+ ## Output Format
73
+
74
+ For every operation:
75
+ 1. Show the command being run
76
+ 2. Show the output
77
+ 3. Confirm success or report failure
78
+
79
+ Keep output minimal. No explanations unless something fails.
@@ -127,8 +127,20 @@ Based on research depth choice, spawn agents:
127
127
 
128
128
  ## Phase 5: Create Bead
129
129
 
130
+ Extract bead title and description from `$ARGUMENTS` before creating the bead.
131
+
132
+ - If user provided a single line, use it for both title and description.
133
+ - If user provided multiple lines, use first line as title and full text as description.
134
+
130
135
  ```bash
131
- BEAD_ID=$(br create "$DESCRIPTION" --type $BEAD_TYPE --json | jq -r '.id')
136
+ TITLE=$(echo "$ARGUMENTS" | head -n1)
137
+ DESCRIPTION=$(echo "$ARGUMENTS")
138
+
139
+ if [ "$TITLE" = "$DESCRIPTION" ]; then
140
+ DESCRIPTION="$TITLE"
141
+ fi
142
+
143
+ BEAD_ID=$(br create --title "$TITLE" --description "$DESCRIPTION" --type $BEAD_TYPE --json | jq -r '.id')
132
144
  mkdir -p ".beads/artifacts/$BEAD_ID"
133
145
  ```
134
146
 
@@ -8,6 +8,8 @@ agent: build
8
8
 
9
9
  Initialize GSD-style project planning with integrated skill usage.
10
10
 
11
+ `tech-stack.md` is the default baseline project memory file. This command adds the optional planning files (`project.md`, `roadmap.md`, `state.md`) used for richer multi-session project context.
12
+
11
13
  ## Load Skills
12
14
 
13
15
  ```typescript
@@ -35,10 +37,10 @@ ls .opencode/memory/project/ 2>/dev/null && HAS_CONTEXT=true || HAS_CONTEXT=fals
35
37
  cat .opencode/memory/project/project.md 2>/dev/null | head -20
36
38
  ```
37
39
 
38
- **If context exists:**
40
+ **If planning context exists:**
39
41
 
40
42
  ```
41
- Existing planning context found:
43
+ Existing optional planning context found:
42
44
  - project.md: [exists/size]
43
45
  - roadmap.md: [exists/size]
44
46
  - state.md: [exists/size]
@@ -64,7 +66,7 @@ Task({
64
66
  subagent_type: "explore",
65
67
  description: "Analyze tech stack",
66
68
  prompt:
67
- "Analyze the codebase technology stack. Write findings to .opencode/memory/project/tech-analysis.md covering: languages, frameworks, dependencies, build tools. Return file path and line count only.",
69
+ "Analyze the codebase technology stack. Write findings to .opencode/memory/project/codebase/tech-analysis.md covering: languages, frameworks, dependencies, build tools. Return file path and line count only.",
68
70
  });
69
71
 
70
72
  // Agent 2: Map architecture
@@ -72,7 +74,7 @@ Task({
72
74
  subagent_type: "explore",
73
75
  description: "Analyze architecture",
74
76
  prompt:
75
- "Analyze the codebase architecture. Write findings to .opencode/memory/project/arch-analysis.md covering: patterns, directory structure, entry points. Return file path and line count only.",
77
+ "Analyze the codebase architecture. Write findings to .opencode/memory/project/codebase/arch-analysis.md covering: patterns, directory structure, entry points. Return file path and line count only.",
76
78
  });
77
79
 
78
80
  // Wait for agents and collect confirmations
@@ -217,7 +219,7 @@ br update <bead-id> --status closed --reason="Context files created"
217
219
 
218
220
  ## Output
219
221
 
220
- Creates in `.opencode/memory/project/`:
222
+ Creates optional planning context in `.opencode/memory/project/`:
221
223
 
222
224
  | File | Purpose | Lines (typical) |
223
225
  | ------------ | ---------------------------------------- | --------------- |
@@ -233,12 +235,23 @@ Additional files in `.opencode/memory/project/codebase/`:
233
235
 
234
236
  ## Success Criteria
235
237
 
236
- - [ ] All required documents created from templates
238
+ - [ ] All `/init-context` planning documents created from templates
237
239
  - [ ] Documents follow template structure
238
240
  - [ ] No secrets leaked in generated files
239
241
  - [ ] Files pass basic validation (readable, non-empty)
240
242
  - [ ] User informed of next steps
241
243
 
244
+ ## Phase 6: Custom Context (Optional)
245
+
246
+ Inform user about `.opencode/context/` for additional project-specific context:
247
+
248
+ ```
249
+ Custom context folder available at .opencode/context/
250
+ - Add .md files with architecture decisions, domain knowledge, team agreements
251
+ - Add file paths to opencode.json → instructions[] for AI prompt injection
252
+ - This folder is preserved during init --force and upgrade
253
+ ```
254
+
242
255
  ## Next Steps
243
256
 
244
257
  After init-context completes:
@@ -246,6 +259,7 @@ After init-context completes:
246
259
  1. **For new projects:** Use `/plan` to create first implementation plan
247
260
  2. **For brownfield:** Review codebase analysis, then `/plan`
248
261
  3. **For existing beads:** Use `/resume` to continue tracked work
262
+ 4. **For custom context:** Add `.md` files to `.opencode/context/` and reference in `opencode.json` instructions
249
263
 
250
264
  ---
251
265
 
@@ -55,25 +55,24 @@ updated: [today]
55
55
 
56
56
  ## Identity
57
57
 
58
- - **Name:** [from answers]
59
- - **Git:** [user.name] <[user.email]>
58
+ - Name: [from answers]
59
+ - Git email: [user.email]
60
60
 
61
61
  ## Communication Preferences
62
62
 
63
- - **Style:** [Terse/Detailed]
64
- - **Tone:** [Professional/Casual]
63
+ - Style: [Terse/Detailed]
64
+ - Tone: [Professional/Casual]
65
65
 
66
66
  ## Workflow Preferences
67
67
 
68
- - **Commits:** [Auto/Ask-first]
69
- - **Beads updates:** [Auto/Ask-first]
68
+ - Git commits: [Auto/Ask-first]
69
+ - Beads updates: [Auto/Ask-first]
70
70
 
71
71
  ## Technical Preferences
72
72
 
73
- - **Languages:** [Preferred languages]
74
- - **Frameworks:** [Preferred frameworks]
73
+ - Languages/frameworks: [Preferred languages/frameworks]
75
74
 
76
- ## Rules to Always Follow
75
+ ## Things to Remember
77
76
 
78
77
  - [Rule 1]
79
78
  - [Rule 2]
@@ -82,15 +81,15 @@ updated: [today]
82
81
 
83
82
  ## Phase 3: Update opencode.json
84
83
 
85
- Ensure user.md is loaded in instructions:
84
+ Ensure `user.md` is loaded in `instructions` (bare paths, no `file://` prefix).
85
+
86
+ `tech-stack.md` is the core project memory file. Other files such as `project.md`, `roadmap.md`, `state.md`, and `gotchas.md` are optional/project-specific and should only be added if they actually exist and you want them injected.
87
+
88
+ Example minimal setup:
86
89
 
87
90
  ```json
88
91
  {
89
- "instructions": [
90
- "file://.opencode/AGENTS.md",
91
- "file://.opencode/memory/project/tech-stack.md",
92
- "file://.opencode/memory/project/user.md"
93
- ]
92
+ "instructions": [".opencode/memory/project/user.md", ".opencode/memory/project/tech-stack.md"]
94
93
  }
95
94
  ```
96
95
 
@@ -100,4 +99,7 @@ Output:
100
99
 
101
100
  1. user.md created at `.opencode/memory/project/user.md`
102
101
  2. Preferences captured
103
- 3. Next step: `/init-context` for GSD planning workflow
102
+ 3. `tech-stack.md` is the only required project memory file by default
103
+ 4. Additional project memory files are optional and can be added later
104
+ 5. Custom context available at `.opencode/context/` (preserved during init --force and upgrade)
105
+ 6. Next step: `/init-context` if the user wants fuller project-planning memory files
@@ -63,11 +63,10 @@ skill({ name: "executing-plans" });
63
63
  // Per-task commits after each task passes verification
64
64
  ```
65
65
 
66
- Run verification after each wave:
66
+ Follow the [Verification Protocol](../skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md):
67
67
 
68
- - `npm run typecheck`
69
- - `npm run lint`
70
- - `vitest` (if tests exist for changed areas)
68
+ - Use **full mode** for final verification
69
+ - Use **incremental mode** between implementation waves
71
70
 
72
71
  Checkpoint only at `checkpoint:human-verify` or `checkpoint:decision` tasks.
73
72
 
@@ -193,55 +193,13 @@ After each task completes (verification passed):
193
193
  - Modifying files outside task scope → stop, ask user
194
194
  - Rule 4 deviation encountered → stop, present options
195
195
 
196
- ## Phase 4: Choose Verification Gates
196
+ ## Phase 4: Verification
197
197
 
198
- Ask user which gates to run:
198
+ Follow the [Verification Protocol](../skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md):
199
199
 
200
- ```typescript
201
- question({
202
- questions: [
203
- {
204
- header: "Verification Gates",
205
- question: "Which verification gates should run?",
206
- options: [
207
- {
208
- label: "All (Recommended)",
209
- description: "build + test + lint + typecheck — full validation",
210
- },
211
- {
212
- label: "Essential only",
213
- description: "build + test — faster, basic validation",
214
- },
215
- {
216
- label: "Test only",
217
- description: "Just run tests",
218
- },
219
- {
220
- label: "Skip gates",
221
- description: "Trust my changes, skip verification",
222
- },
223
- ],
224
- },
225
- ],
226
- });
227
- ```
228
-
229
- ## Phase 5: Run Verification Gates
230
-
231
- Based on selection, run appropriate gates. Detect project type:
232
-
233
- | Project Type | Detect Via | Build | Test | Lint | Typecheck |
234
- | --------------- | ----------------------------- | ---------------- | --------------- | ----------------------------- | ------------------------------------- |
235
- | Node/TypeScript | `package.json` | `npm run build` | `npm test` | `npm run lint` | `npm run typecheck` or `tsc --noEmit` |
236
- | Rust | `Cargo.toml` | `cargo build` | `cargo test` | `cargo clippy -- -D warnings` | (included in build) |
237
- | Python | `pyproject.toml` / `setup.py` | — | `pytest` | `ruff check .` | `mypy .` |
238
- | Go | `go.mod` | `go build ./...` | `go test ./...` | `golangci-lint run` | (included in build) |
239
-
240
- Check `package.json` scripts, `Makefile`, or `justfile` for project-specific commands first.
241
-
242
- Also run PRD `Verify:` commands.
243
-
244
- If any gate fails, fix before proceeding.
200
+ - Use **full mode** (shipping requires all gates)
201
+ - All 4 gates must pass before proceeding to commit/push
202
+ - Also run PRD `Verify:` commands
245
203
 
246
204
  ## Phase 6: Review
247
205
 
@@ -268,7 +226,7 @@ Wait for all 5 agents to return. Synthesize findings.
268
226
 
269
227
  **Auto-fix rule:**
270
228
 
271
- - Critical issues → fix inline, re-run Phase 5 gates, continue
229
+ - Critical issues → fix inline, re-run Phase 4 verification, continue
272
230
  - Important issues → fix inline, continue
273
231
  - Minor issues → add to bead comments, note for `/compound` step
274
232
 
@@ -98,8 +98,25 @@ question({
98
98
 
99
99
  **If feature branch selected:**
100
100
 
101
+ Map bead type to branch prefix:
102
+
103
+ | Bead Type | Branch Prefix |
104
+ | --------- | ------------- |
105
+ | feature | feat |
106
+ | bug | fix |
107
+ | task | task |
108
+ | epic | epic |
109
+
101
110
  ```bash
102
- git checkout -b feat/$ARGUMENTS-$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
111
+ PREFIX=$(case "$BEAD_TYPE" in
112
+ feature) echo "feat" ;;
113
+ bug) echo "fix" ;;
114
+ task) echo "task" ;;
115
+ epic) echo "epic" ;;
116
+ *) echo "task" ;;
117
+ esac)
118
+ TITLE_SLUG=$(echo "$TITLE" | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
119
+ git checkout -b $PREFIX/$ARGUMENTS-$TITLE_SLUG
103
120
  ```
104
121
 
105
122
  **If worktree selected:**
@@ -110,13 +127,13 @@ skill({ name: "using-git-worktrees" });
110
127
 
111
128
  **If current branch:** Continue without branch creation.
112
129
 
113
- ## Phase 4: Convert PRD to Tasks
130
+ ## Phase 5: Convert PRD to Tasks
114
131
 
115
132
  If `prd.json` doesn't exist yet, use `prd-task` skill to convert PRD markdown → executable JSON.
116
133
 
117
134
  If `prd.json` already exists, show progress (completed/total tasks).
118
135
 
119
- ## Phase 5: Report and Route
136
+ ## Phase 6: Report and Route
120
137
 
121
138
  Output:
122
139
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Verify implementation completeness, correctness, and coherence
3
- argument-hint: "<bead-id> [--quick] [--fix]"
3
+ argument-hint: "<bead-id> [--quick] [--full] [--fix]"
4
4
  agent: review
5
5
  ---
6
6
 
@@ -17,11 +17,12 @@ skill({ name: "verification-before-completion" });
17
17
 
18
18
  ## Parse Arguments
19
19
 
20
- | Argument | Default | Description |
21
- | ----------- | -------- | -------------------------------- |
22
- | `<bead-id>` | required | The bead to verify |
23
- | `--quick` | false | Gates only, skip coherence check |
24
- | `--fix` | false | Auto-fix lint/format issues |
20
+ | Argument | Default | Description |
21
+ | ----------- | -------- | ---------------------------------------------- |
22
+ | `<bead-id>` | required | The bead to verify |
23
+ | `--quick` | false | Gates only, skip coherence check |
24
+ | `--full` | false | Force full verification mode (non-incremental) |
25
+ | `--fix` | false | Auto-fix lint/format issues |
25
26
 
26
27
  ## Determine Input Type
27
28
 
@@ -63,21 +64,15 @@ Extract all requirements/tasks from the PRD and verify each is implemented:
63
64
 
64
65
  ## Phase 3: Correctness
65
66
 
66
- Detect project type and run the appropriate verification gates:
67
+ Follow the [Verification Protocol](../skill/verification-before-completion/references/VERIFICATION_PROTOCOL.md):
67
68
 
68
- | Project Type | Detect Via | Build | Test | Lint | Typecheck |
69
- | --------------- | ----------------------------- | ---------------- | --------------- | ----------------------------- | ------------------------------------- |
70
- | Node/TypeScript | `package.json` | `npm run build` | `npm test` | `npm run lint` | `npm run typecheck` or `tsc --noEmit` |
71
- | Rust | `Cargo.toml` | `cargo build` | `cargo test` | `cargo clippy -- -D warnings` | (included in build) |
72
- | Python | `pyproject.toml` / `setup.py` | — | `pytest` | `ruff check .` | `mypy .` |
73
- | Go | `go.mod` | `go build ./...` | `go test ./...` | `golangci-lint run` | (included in build) |
74
-
75
- Check `package.json` scripts, `Makefile`, or `justfile` for project-specific commands first — prefer those over generic defaults.
69
+ - Use **incremental mode** for `verify` (pre-commit checks)
70
+ - Use **full mode** if `--full` flag is passed
71
+ - Run parallel group first, then sequential group
72
+ - Report results in gate results table format
76
73
 
77
74
  If `--fix` flag provided, run the project's auto-fix command (e.g., `npm run lint:fix`, `ruff check --fix`, `cargo clippy --fix`).
78
75
 
79
- Report gate results (pass/warn/fail for each).
80
-
81
76
  ## Phase 4: Coherence (skip with --quick)
82
77
 
83
78
  Cross-reference artifacts for contradictions:
@@ -0,0 +1,29 @@
1
+ # Project Context
2
+
3
+ Files in this directory are automatically injected into all AI prompts via the `instructions` array in `opencode.json`.
4
+
5
+ ## Purpose
6
+
7
+ Put project-specific context here that you want the AI to always know about:
8
+ - Architecture decisions
9
+ - Business domain knowledge
10
+ - API conventions
11
+ - Team agreements
12
+ - Anything the AI needs as background context
13
+
14
+ ## How it works
15
+
16
+ 1. Add `.md` files to this directory
17
+ 2. Add the file path to `opencode.json` → `instructions[]`:
18
+ ```json
19
+ "instructions": [
20
+ ".opencode/context/your-file.md"
21
+ ]
22
+ ```
23
+ 3. The file content will be injected into every AI prompt
24
+
25
+ ## Important
26
+
27
+ - This directory is **preserved** during `init --force` and `upgrade`
28
+ - Keep files concise — every token counts in the AI context window
29
+ - Use markdown format for best results
@@ -12,7 +12,7 @@ updated: 2024-12-21
12
12
  **Active Bead:** br-xxx - [Title]
13
13
  **Status:** [In Progress / Blocked / Review]
14
14
  **Started:** [Date]
15
- **Phase:** [Phase name from ROADMAP.md]
15
+ **Phase:** [Phase name from roadmap.md]
16
16
 
17
17
  ## Recent Completed Work
18
18
 
Binary file
@@ -1,5 +1,9 @@
1
1
  {
2
2
  "$schema": "https://opencode.ai/config.json",
3
+ "keybinds": {
4
+ "leader": "`",
5
+ "session_parent": "<leader>up"
6
+ },
3
7
  "agent": {
4
8
  "build": {
5
9
  "description": "Primary development agent with full codebase access",
@@ -10,11 +14,11 @@
10
14
  },
11
15
  "explore": {
12
16
  "description": "Fast codebase search specialist",
13
- "model": "opencode/minimax-m2.5-free"
17
+ "model": "github-copilot/claude-haiku-4.5"
14
18
  },
15
19
  "general": {
16
20
  "description": "General-purpose subagent for fast, well-defined tasks; delegates complexity quickly",
17
- "model": "github-copilot/gpt-5.2-codex"
21
+ "model": "github-copilot/gpt-5.3-codex"
18
22
  },
19
23
  "painter": {
20
24
  "description": "Image generation and editing specialist using Gemini 3 Pro Image. Use for creating UI mockups, app icons, hero images, visual assets, and editing/redacting existing images",
@@ -22,19 +26,19 @@
22
26
  },
23
27
  "plan": {
24
28
  "description": "Primary planning agent for architecture and multi-phase execution",
25
- "model": "openai/gpt-5.3-codex"
29
+ "model": "github-copilot/gpt-5.4"
26
30
  },
27
31
  "review": {
28
32
  "description": "Code review, debugging, and security audit specialist",
29
- "model": "openai/gpt-5.3-codex"
33
+ "model": "github-copilot/claude-opus-4.6"
30
34
  },
31
35
  "scout": {
32
36
  "description": "External research specialist for library docs and patterns",
33
- "model": "proxypal/claude-sonnet-4-6"
37
+ "model": "github-copilot/claude-sonnet-4.6"
34
38
  },
35
39
  "vision": {
36
40
  "description": "Visual content specialist for multimodal analysis and UI/UX guidance",
37
- "model": "proxypal/gemini-3.1-pro-high"
41
+ "model": "github-copilot/gemini-3.1-pro-preview"
38
42
  }
39
43
  },
40
44
  "autoupdate": false,
@@ -387,6 +391,47 @@
387
391
  }
388
392
  }
389
393
  },
394
+ "gpt-5.4": {
395
+ "modalities": {
396
+ "input": [
397
+ "text",
398
+ "image"
399
+ ],
400
+ "output": [
401
+ "text"
402
+ ]
403
+ },
404
+ "attachment": true,
405
+ "limit": {
406
+ "context": 400000,
407
+ "output": 128000
408
+ },
409
+ "options": {
410
+ "reasoningEffort": "medium",
411
+ "reasoningSummary": "auto",
412
+ "textVerbosity": "medium"
413
+ },
414
+ "reasoning": true,
415
+ "temperature": true,
416
+ "tool_call": true,
417
+ "variants": {
418
+ "high": {
419
+ "include": [
420
+ "reasoning.encrypted_content"
421
+ ],
422
+ "reasoningEffort": "high",
423
+ "reasoningSummary": "auto"
424
+ },
425
+ "low": {
426
+ "reasoningEffort": "low",
427
+ "reasoningSummary": "auto"
428
+ },
429
+ "medium": {
430
+ "reasoningEffort": "medium",
431
+ "reasoningSummary": "auto"
432
+ }
433
+ }
434
+ },
390
435
  "gpt-5.2-codex": {
391
436
  "attachment": true,
392
437
  "limit": {
@@ -423,6 +468,44 @@
423
468
  "textVerbosity": "medium"
424
469
  }
425
470
  }
471
+ },
472
+ "gpt-5.3-codex": {
473
+ "name": "Gpt 5 3 Codex",
474
+ "attachment": true,
475
+ "limit": {
476
+ "context": 400000,
477
+ "output": 128000
478
+ },
479
+ "options": {
480
+ "reasoningEffort": "medium",
481
+ "reasoningSummary": "auto",
482
+ "textVerbosity": "medium"
483
+ },
484
+ "reasoning": true,
485
+ "temperature": true,
486
+ "tool_call": true,
487
+ "variants": {
488
+ "fast": {
489
+ "disabled": true
490
+ },
491
+ "high": {
492
+ "include": [
493
+ "reasoning.encrypted_content"
494
+ ],
495
+ "reasoningEffort": "high",
496
+ "reasoningSummary": "auto",
497
+ "textVerbosity": "medium"
498
+ },
499
+ "low": {
500
+ "reasoningEffort": "low",
501
+ "reasoningSummary": "auto"
502
+ },
503
+ "medium": {
504
+ "reasoningEffort": "medium",
505
+ "reasoningSummary": "auto",
506
+ "textVerbosity": "medium"
507
+ }
508
+ }
426
509
  }
427
510
  },
428
511
  "options": {
@@ -533,6 +616,47 @@
533
616
  }
534
617
  }
535
618
  },
619
+ "gpt-5.4": {
620
+ "modalities": {
621
+ "input": [
622
+ "text",
623
+ "image"
624
+ ],
625
+ "output": [
626
+ "text"
627
+ ]
628
+ },
629
+ "attachment": true,
630
+ "limit": {
631
+ "context": 400000,
632
+ "output": 128000
633
+ },
634
+ "options": {
635
+ "reasoningEffort": "medium",
636
+ "reasoningSummary": "auto",
637
+ "textVerbosity": "medium"
638
+ },
639
+ "reasoning": true,
640
+ "temperature": true,
641
+ "tool_call": true,
642
+ "variants": {
643
+ "high": {
644
+ "include": [
645
+ "reasoning.encrypted_content"
646
+ ],
647
+ "reasoningEffort": "high",
648
+ "reasoningSummary": "auto"
649
+ },
650
+ "low": {
651
+ "reasoningEffort": "low",
652
+ "reasoningSummary": "auto"
653
+ },
654
+ "medium": {
655
+ "reasoningEffort": "medium",
656
+ "reasoningSummary": "auto"
657
+ }
658
+ }
659
+ },
536
660
  "gpt-5.2-codex": {
537
661
  "variants": {
538
662
  "fast": {
@@ -1553,4 +1677,4 @@
1553
1677
  ".DS_Store"
1554
1678
  ]
1555
1679
  }
1556
- }
1680
+ }