opencodekit 0.21.9 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/AGENTS.md +116 -499
  3. package/dist/template/.opencode/README.md +1 -1
  4. package/dist/template/.opencode/agent/build.md +56 -396
  5. package/dist/template/.opencode/agent/explore.md +15 -16
  6. package/dist/template/.opencode/agent/general.md +2 -2
  7. package/dist/template/.opencode/agent/plan.md +3 -3
  8. package/dist/template/.opencode/agent/review.md +2 -3
  9. package/dist/template/.opencode/agent/scout.md +34 -16
  10. package/dist/template/.opencode/agent/vision.md +0 -1
  11. package/dist/template/.opencode/command/clarify.md +48 -0
  12. package/dist/template/.opencode/command/commit.md +53 -0
  13. package/dist/template/.opencode/command/design.md +4 -4
  14. package/dist/template/.opencode/command/fix.md +56 -0
  15. package/dist/template/.opencode/command/improve-architecture.md +55 -0
  16. package/dist/template/.opencode/command/init.md +88 -68
  17. package/dist/template/.opencode/command/refactor.md +66 -0
  18. package/dist/template/.opencode/command/review-codebase.md +1 -1
  19. package/dist/template/.opencode/command/ship.md +1 -1
  20. package/dist/template/.opencode/command/test.md +66 -0
  21. package/dist/template/.opencode/dcp.jsonc +29 -46
  22. package/dist/template/.opencode/memory/README.md +3 -5
  23. package/dist/template/.opencode/memory/_templates/adr.md +45 -0
  24. package/dist/template/.opencode/memory/project/gotchas.md +1 -1
  25. package/dist/template/.opencode/memory/project/user.md +1 -2
  26. package/dist/template/.opencode/memory/session-context.md +1 -1
  27. package/dist/template/.opencode/opencode.json +10 -332
  28. package/dist/template/.opencode/plugin/README.md +1 -1
  29. package/dist/template/.opencode/plugin/guard.ts +62 -0
  30. package/dist/template/.opencode/plugin/{lib/memory-admin-tools.ts → memory/admin.ts} +4 -4
  31. package/dist/template/.opencode/plugin/{lib → memory}/capture.ts +1 -1
  32. package/dist/template/.opencode/plugin/{lib → memory}/compile.ts +2 -2
  33. package/dist/template/.opencode/plugin/{lib → memory}/context.ts +1 -1
  34. package/dist/template/.opencode/plugin/{lib → memory}/curator.ts +1 -1
  35. package/dist/template/.opencode/plugin/{lib → memory}/db/observations.ts +102 -3
  36. package/dist/template/.opencode/plugin/{lib → memory}/db/schema.ts +43 -1
  37. package/dist/template/.opencode/plugin/{lib → memory}/db/types.ts +22 -0
  38. package/dist/template/.opencode/plugin/{lib/memory-db.ts → memory/db.ts} +1 -1
  39. package/dist/template/.opencode/plugin/{lib → memory}/distill.ts +1 -1
  40. package/dist/template/.opencode/plugin/{lib/memory-helpers.ts → memory/helpers.ts} +5 -1
  41. package/dist/template/.opencode/plugin/{lib/memory-hooks.ts → memory/hooks.ts} +1 -1
  42. package/dist/template/.opencode/plugin/{lib → memory}/index-generator.ts +2 -2
  43. package/dist/template/.opencode/plugin/{lib → memory}/inject.ts +1 -1
  44. package/dist/template/.opencode/plugin/{lib → memory}/lint.ts +2 -2
  45. package/dist/template/.opencode/plugin/memory/tools.ts +322 -0
  46. package/dist/template/.opencode/plugin/{lib → memory}/validate.ts +2 -2
  47. package/dist/template/.opencode/plugin/memory.ts +7 -17
  48. package/dist/template/.opencode/plugin/srcwalk.ts +721 -0
  49. package/dist/template/.opencode/skill/agent-code-quality-gate/SKILL.md +98 -0
  50. package/dist/template/.opencode/skill/behavioral-kernel/SKILL.md +52 -0
  51. package/dist/template/.opencode/skill/browser-testing-with-devtools/SKILL.md +85 -0
  52. package/dist/template/.opencode/skill/code-cleanup/SKILL.md +114 -0
  53. package/dist/template/.opencode/skill/code-navigation/SKILL.md +142 -0
  54. package/dist/template/.opencode/skill/code-review-and-quality/SKILL.md +131 -0
  55. package/dist/template/.opencode/skill/debugging-and-error-recovery/SKILL.md +109 -0
  56. package/dist/template/.opencode/skill/deep-module-design/SKILL.md +207 -0
  57. package/dist/template/.opencode/skill/git-workflow-and-versioning/SKILL.md +77 -0
  58. package/dist/template/.opencode/skill/grill-me/SKILL.md +140 -0
  59. package/dist/template/.opencode/skill/memory-system/SKILL.md +9 -10
  60. package/dist/template/.opencode/skill/planning-and-task-breakdown/SKILL.md +116 -0
  61. package/dist/template/.opencode/skill/shipping-and-launch/SKILL.md +95 -0
  62. package/dist/template/.opencode/skill/source-driven-development/SKILL.md +103 -0
  63. package/dist/template/.opencode/skill/spec-driven-development/SKILL.md +121 -0
  64. package/dist/template/.opencode/skill/srcwalk/SKILL.md +161 -0
  65. package/dist/template/.opencode/skill/ubiquitous-language/SKILL.md +184 -0
  66. package/dist/template/.opencode/tool/context7.ts +1 -1
  67. package/dist/template/.opencode/tool/grepsearch.ts +1 -1
  68. package/package.json +1 -1
  69. package/dist/template/.opencode/AGENT_ALIGNMENT.md +0 -564
  70. package/dist/template/.opencode/agent/painter.md +0 -83
  71. package/dist/template/.opencode/command/compound.md +0 -240
  72. package/dist/template/.opencode/command/curate.md +0 -299
  73. package/dist/template/.opencode/command/handoff.md +0 -149
  74. package/dist/template/.opencode/command/health.md +0 -356
  75. package/dist/template/.opencode/command/init-context.md +0 -297
  76. package/dist/template/.opencode/command/init-user.md +0 -125
  77. package/dist/template/.opencode/command/iterate.md +0 -200
  78. package/dist/template/.opencode/command/lfg.md +0 -173
  79. package/dist/template/.opencode/command/resume.md +0 -78
  80. package/dist/template/.opencode/command/status.md +0 -126
  81. package/dist/template/.opencode/command/ui-slop-check.md +0 -169
  82. package/dist/template/.opencode/plugin/lib/memory-tools.ts +0 -535
  83. package/dist/template/.opencode/skill/agent-evals/SKILL.md +0 -208
  84. package/dist/template/.opencode/skill/anti-ai-slop/SKILL.md +0 -76
  85. package/dist/template/.opencode/skill/augment-context-engine/SKILL.md +0 -122
  86. package/dist/template/.opencode/skill/augment-context-engine/mcp.json +0 -6
  87. package/dist/template/.opencode/skill/brand-asset-protocol/SKILL.md +0 -222
  88. package/dist/template/.opencode/skill/code-search-patterns/SKILL.md +0 -253
  89. package/dist/template/.opencode/skill/code-simplification/SKILL.md +0 -211
  90. package/dist/template/.opencode/skill/context-condensation/SKILL.md +0 -149
  91. package/dist/template/.opencode/skill/context-initialization/SKILL.md +0 -69
  92. package/dist/template/.opencode/skill/context-management/SKILL.md +0 -390
  93. package/dist/template/.opencode/skill/deep-research/SKILL.md +0 -384
  94. package/dist/template/.opencode/skill/design-direction-advisor/SKILL.md +0 -139
  95. package/dist/template/.opencode/skill/dispatching-parallel-agents/SKILL.md +0 -191
  96. package/dist/template/.opencode/skill/executing-plans/SKILL.md +0 -247
  97. package/dist/template/.opencode/skill/figma-go/SKILL.md +0 -65
  98. package/dist/template/.opencode/skill/finishing-a-development-branch/SKILL.md +0 -357
  99. package/dist/template/.opencode/skill/full-output-enforcement/SKILL.md +0 -62
  100. package/dist/template/.opencode/skill/gh-address-comments/SKILL.md +0 -29
  101. package/dist/template/.opencode/skill/gh-address-comments/scripts/fetch_comments.py +0 -237
  102. package/dist/template/.opencode/skill/gh-fix-ci/SKILL.md +0 -38
  103. package/dist/template/.opencode/skill/gh-fix-ci/scripts/inspect_pr_checks.py +0 -509
  104. package/dist/template/.opencode/skill/hi-fi-prototype-html/SKILL.md +0 -253
  105. package/dist/template/.opencode/skill/html-deck-export/SKILL.md +0 -189
  106. package/dist/template/.opencode/skill/index-knowledge/SKILL.md +0 -413
  107. package/dist/template/.opencode/skill/memory-grounding/SKILL.md +0 -68
  108. package/dist/template/.opencode/skill/playwriter/SKILL.md +0 -158
  109. package/dist/template/.opencode/skill/portless/SKILL.md +0 -109
  110. package/dist/template/.opencode/skill/prd/SKILL.md +0 -146
  111. package/dist/template/.opencode/skill/prd-task/SKILL.md +0 -182
  112. package/dist/template/.opencode/skill/prd-task/references/prd-schema.json +0 -124
  113. package/dist/template/.opencode/skill/prompt-leverage/SKILL.md +0 -90
  114. package/dist/template/.opencode/skill/prompt-leverage/references/framework.md +0 -91
  115. package/dist/template/.opencode/skill/prompt-leverage/scripts/augment_prompt.py +0 -157
  116. package/dist/template/.opencode/skill/receiving-code-review/SKILL.md +0 -263
  117. package/dist/template/.opencode/skill/reconcile/SKILL.md +0 -183
  118. package/dist/template/.opencode/skill/reflection-checkpoints/SKILL.md +0 -183
  119. package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +0 -443
  120. package/dist/template/.opencode/skill/requesting-code-review/references/specialist-profiles.md +0 -108
  121. package/dist/template/.opencode/skill/requesting-code-review/review.md +0 -160
  122. package/dist/template/.opencode/skill/rtk-command-compression/SKILL.md +0 -134
  123. package/dist/template/.opencode/skill/screenshot/SKILL.md +0 -48
  124. package/dist/template/.opencode/skill/screenshot/scripts/ensure_macos_permissions.sh +0 -54
  125. package/dist/template/.opencode/skill/screenshot/scripts/macos_display_info.swift +0 -22
  126. package/dist/template/.opencode/skill/screenshot/scripts/macos_permissions.swift +0 -40
  127. package/dist/template/.opencode/skill/screenshot/scripts/macos_window_info.swift +0 -126
  128. package/dist/template/.opencode/skill/screenshot/scripts/take_screenshot.ps1 +0 -163
  129. package/dist/template/.opencode/skill/screenshot/scripts/take_screenshot.py +0 -585
  130. package/dist/template/.opencode/skill/security-threat-model/SKILL.md +0 -36
  131. package/dist/template/.opencode/skill/security-threat-model/references/prompt-template.md +0 -255
  132. package/dist/template/.opencode/skill/security-threat-model/references/security-controls-and-assets.md +0 -32
  133. package/dist/template/.opencode/skill/sharing-skills/SKILL.md +0 -214
  134. package/dist/template/.opencode/skill/skill-creator/SKILL.md +0 -181
  135. package/dist/template/.opencode/skill/skill-installer/SKILL.md +0 -58
  136. package/dist/template/.opencode/skill/skill-installer/scripts/github_utils.py +0 -21
  137. package/dist/template/.opencode/skill/skill-installer/scripts/install-skill-from-github.py +0 -313
  138. package/dist/template/.opencode/skill/skill-installer/scripts/list-skills.py +0 -106
  139. package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +0 -244
  140. package/dist/template/.opencode/skill/swarm-coordination/references/architecture.md +0 -39
  141. package/dist/template/.opencode/skill/swarm-coordination/references/delegation-worker-protocol.md +0 -145
  142. package/dist/template/.opencode/skill/swarm-coordination/references/dependency-graph.md +0 -50
  143. package/dist/template/.opencode/skill/swarm-coordination/references/drift-check.md +0 -90
  144. package/dist/template/.opencode/skill/swarm-coordination/references/integration-beads.md +0 -20
  145. package/dist/template/.opencode/skill/swarm-coordination/references/launch-flow.md +0 -186
  146. package/dist/template/.opencode/skill/swarm-coordination/references/reconciler.md +0 -172
  147. package/dist/template/.opencode/skill/swarm-coordination/references/tier-enforcement.md +0 -78
  148. package/dist/template/.opencode/skill/swarm-coordination/references/tmux-integration.md +0 -134
  149. package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +0 -402
  150. package/dist/template/.opencode/skill/terse-output-mode/SKILL.md +0 -95
  151. package/dist/template/.opencode/skill/think-in-code/SKILL.md +0 -136
  152. package/dist/template/.opencode/skill/ux-quality-gates/SKILL.md +0 -137
  153. package/dist/template/.opencode/skill/v1-run/SKILL.md +0 -175
  154. package/dist/template/.opencode/skill/v1-run/mcp.json +0 -6
  155. package/dist/template/.opencode/skill/verification-gates/SKILL.md +0 -63
  156. package/dist/template/.opencode/skill/visual-analysis/SKILL.md +0 -154
  157. package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +0 -46
  158. package/dist/template/.opencode/skill/workspace-setup/SKILL.md +0 -76
  159. package/dist/template/.opencode/skill/writing-plans/SKILL.md +0 -320
  160. /package/dist/template/.opencode/plugin/{lib → memory}/compact.ts +0 -0
  161. /package/dist/template/.opencode/plugin/{lib → memory}/db/graph.ts +0 -0
  162. /package/dist/template/.opencode/plugin/{lib → memory}/db/maintenance.ts +0 -0
  163. /package/dist/template/.opencode/plugin/{lib → memory}/db/pipeline.ts +0 -0
  164. /package/dist/template/.opencode/plugin/{lib → memory}/notify.ts +0 -0
  165. /package/dist/template/.opencode/plugin/{lib → memory}/operation-log.ts +0 -0
@@ -1,191 +0,0 @@
1
- ---
2
- name: dispatching-parallel-agents
3
- description: Use when facing 3+ independent failures that can be investigated without shared state or dependencies - dispatches multiple Claude agents to investigate and fix independent problems concurrently
4
- version: 1.0.0
5
- tags: [agent-coordination, workflow]
6
- dependencies: []
7
- ---
8
-
9
- # Dispatching Parallel Agents
10
-
11
- > **Replaces** sequential investigation of independent failures — one-by-one debugging when problems don't share state
12
-
13
- ## When to Use
14
-
15
- - 3+ independent failures across different subsystems or test files
16
- - Each investigation can proceed without shared state or coordination
17
-
18
- ## When NOT to Use
19
-
20
- - Failures are related or likely share a root cause
21
- - Work requires sequential understanding of the same code paths
22
-
23
- ## Parallel Dispatch Checklist
24
-
25
- - [ ] Confirm 3+ independent failures or domains
26
- - [ ] Group failures by domain and define clear ownership
27
- - [ ] Write focused prompts with scope, constraints, and expected output
28
- - [ ] Dispatch one agent per domain in parallel
29
- - [ ] Review each agent’s summary and check for conflicts
30
- - [ ] Run full verification after integrating changes
31
-
32
- ## Overview
33
-
34
- When you have multiple unrelated failures (different test files, different subsystems, different bugs), investigating them sequentially wastes time. Each investigation is independent and can happen in parallel.
35
-
36
- **Core principle:** Dispatch one agent per independent problem domain. Let them work concurrently.
37
-
38
- ## The Pattern
39
-
40
- ### 1. Identify Independent Domains
41
-
42
- Group failures by what's broken:
43
-
44
- - File A tests: Tool approval flow
45
- - File B tests: Batch completion behavior
46
- - File C tests: Abort functionality
47
-
48
- Each domain is independent - fixing tool approval doesn't affect abort tests.
49
-
50
- ### 2. Create Focused Agent Tasks
51
-
52
- Each agent gets:
53
-
54
- - **Specific scope:** One test file or subsystem
55
- - **Clear goal:** Make these tests pass
56
- - **Constraints:** Don't change other code
57
- - **Expected output:** Summary of what you found and fixed
58
-
59
- ### 3. Dispatch in Parallel
60
-
61
- ```typescript
62
- // In Claude Code / AI environment
63
- Task("Fix agent-tool-abort.test.ts failures");
64
- Task("Fix batch-completion-behavior.test.ts failures");
65
- Task("Fix tool-approval-race-conditions.test.ts failures");
66
- // All three run concurrently
67
- ```
68
-
69
- ### 4. Review and Integrate
70
-
71
- When agents return:
72
-
73
- - Read each summary
74
- - Verify fixes don't conflict
75
- - Run full test suite
76
- - Integrate all changes
77
-
78
- ## Agent Prompt Structure
79
-
80
- Good agent prompts are:
81
-
82
- 1. **Focused** - One clear problem domain
83
- 2. **Self-contained** - All context needed to understand the problem
84
- 3. **Specific about output** - What should the agent return?
85
- 4. **Structured termination** - Include the Structured Termination Contract from AGENTS.md (Result/Verification/Summary/Blockers format)
86
-
87
- ```markdown
88
- Fix the 3 failing tests in src/agents/agent-tool-abort.test.ts:
89
-
90
- 1. "should abort tool with partial output capture" - expects 'interrupted at' in message
91
- 2. "should handle mixed completed and aborted tools" - fast tool aborted instead of completed
92
- 3. "should properly track pendingToolCount" - expects 3 results but gets 0
93
-
94
- These are timing/race condition issues. Your task:
95
-
96
- 1. Read the test file and understand what each test verifies
97
- 2. Identify root cause - timing issues or actual bugs?
98
- 3. Fix by:
99
- - Replacing arbitrary timeouts with event-based waiting
100
- - Fixing bugs in abort implementation if found
101
- - Adjusting test expectations if testing changed behavior
102
-
103
- Do NOT just increase timeouts - find the real issue.
104
-
105
- [Include Structured Termination Contract here]
106
- ```
107
-
108
- For large investigations (context >500 tokens), use the **Context File Pattern** from AGENTS.md — write context to `.beads/artifacts/<id>/investigation-context.md` and reference by path in the dispatch prompt.
109
-
110
- ## Common Mistakes
111
-
112
- **❌ Too broad:** "Fix all the tests" - agent gets lost
113
- **✅ Specific:** "Fix agent-tool-abort.test.ts" - focused scope
114
-
115
- **❌ No context:** "Fix the race condition" - agent doesn't know where
116
- **✅ Context:** Paste the error messages and test names
117
-
118
- **❌ No constraints:** Agent might refactor everything
119
- **✅ Constraints:** "Do NOT change production code" or "Fix tests only"
120
-
121
- **❌ Vague output:** "Fix it" - you don't know what changed
122
- **✅ Specific:** "Return summary of root cause and changes"
123
-
124
- ## When NOT to Use
125
-
126
- **Related failures:** Fixing one might fix others - investigate together first
127
- **Need full context:** Understanding requires seeing entire system
128
- **Exploratory debugging:** You don't know what's broken yet
129
- **Shared state:** Agents would interfere (editing same files, using same resources)
130
-
131
- ## Real Example from Session
132
-
133
- **Scenario:** 6 test failures across 3 files after major refactoring
134
-
135
- **Failures:**
136
-
137
- - agent-tool-abort.test.ts: 3 failures (timing issues)
138
- - batch-completion-behavior.test.ts: 2 failures (tools not executing)
139
- - tool-approval-race-conditions.test.ts: 1 failure (execution count = 0)
140
-
141
- **Decision:** Independent domains - abort logic separate from batch completion separate from race conditions
142
-
143
- **Dispatch:**
144
-
145
- ```
146
- Agent 1 → Fix agent-tool-abort.test.ts
147
- Agent 2 → Fix batch-completion-behavior.test.ts
148
- Agent 3 → Fix tool-approval-race-conditions.test.ts
149
- ```
150
-
151
- **Results:**
152
-
153
- - Agent 1: Replaced timeouts with event-based waiting
154
- - Agent 2: Fixed event structure bug (threadId in wrong place)
155
- - Agent 3: Added wait for async tool execution to complete
156
-
157
- **Integration:** All fixes independent, no conflicts, full suite green
158
-
159
- **Time saved:** 3 problems solved in parallel vs sequentially
160
-
161
- ## Key Benefits
162
-
163
- 1. **Parallelization** - Multiple investigations happen simultaneously
164
- 2. **Focus** - Each agent has narrow scope, less context to track
165
- 3. **Independence** - Agents don't interfere with each other
166
- 4. **Speed** - 3 problems solved in time of 1
167
-
168
- ## Verification
169
-
170
- After agents return:
171
-
172
- 1. **Review each summary** - Understand what changed
173
- 2. **Check for conflicts** - Did agents edit same code?
174
- 3. **Run full suite** - Verify all fixes work together
175
- 4. **Spot check** - Agents can make systematic errors
176
-
177
- ## Real-World Impact
178
-
179
- From debugging session (2025-10-03):
180
-
181
- - 6 failures across 3 files
182
- - 3 agents dispatched in parallel
183
- - All investigations completed concurrently
184
- - All fixes integrated successfully
185
- - Zero conflicts between agent changes
186
-
187
- ## See Also
188
-
189
- - `agent-teams` — for coordinated parallel work (not just debugging)
190
- - `swarm-coordination` — for large-scale task decomposition
191
- - `executing-plans` — for plan-driven parallel execution
@@ -1,247 +0,0 @@
1
- ---
2
- name: executing-plans
3
- description: Use when a complete implementation plan exists — parses dependency waves, executes independent tasks in parallel via subagents, runs review checkpoints between waves
4
- version: 2.0.0
5
- tags: [workflow, planning, parallel]
6
- dependencies: [writing-plans]
7
- ---
8
-
9
- # Executing Plans
10
-
11
- > **Replaces** sequential task-by-task implementation — detects parallelizable waves and dispatches subagents concurrently within each wave
12
-
13
- ## When to Use
14
-
15
- - A complete implementation plan exists (`.beads/artifacts/<id>/plan.md` or provided directly)
16
- - The plan has a dependency graph with wave assignments from `/plan`
17
-
18
- ## When NOT to Use
19
-
20
- - No plan yet (use `writing-plans` or `prd` first)
21
- - All tasks are tightly sequential with no parallelism opportunity
22
- - Fewer than 3 tasks (just execute directly, overhead not worth it)
23
-
24
- ## Overview
25
-
26
- Load plan → parse dependency waves → execute each wave (parallel within, sequential between) → review after each wave → next wave.
27
-
28
- **Core principle:** Parallel within waves, sequential between waves, review at wave boundaries.
29
-
30
- **Announce at start:** "I'm using the executing-plans skill to implement this plan."
31
-
32
- ## The Process
33
-
34
- ### Step 1: Load and Review Plan
35
-
36
- #### Plan Review Checklist
37
-
38
- - [ ] Read the plan file end-to-end
39
- - [ ] Identify goal, deliverables, risks, and missing pieces
40
- - [ ] If concerns, ask via `question()` and wait for decision
41
- - [ ] If no concerns, proceed to wave parsing
42
-
43
- 1. Read plan file
44
- 2. Review critically — identify any questions or concerns
45
- 3. If concerns: raise them with `question()` tool
46
- 4. If no concerns: proceed
47
-
48
- ### Step 2: Parse Dependency Graph
49
-
50
- Look for the dependency graph section in the plan. The `/plan` command generates this format:
51
-
52
- ```
53
- ## Dependency Graph
54
-
55
- Task A: needs nothing, creates src/models/X.ts
56
- Task B: needs Task A, creates src/api/X.ts
57
- Task C: needs nothing, creates src/utils/Y.ts
58
- Task D: needs Task B + Task C, creates src/routes/Z.ts
59
-
60
- Wave 1: A, C (independent)
61
- Wave 2: B (depends on A)
62
- Wave 3: D (depends on B, C)
63
- ```
64
-
65
- **Extract:**
66
- - Which tasks belong to each wave
67
- - Which files each task modifies (for conflict detection)
68
- - Dependencies between tasks
69
-
70
- **If no dependency graph found:** Fall back to sequential execution (batch of 3 tasks).
71
-
72
- **File conflict check:** Tasks in the same wave MUST NOT modify the same files. If they do, move one to the next wave.
73
-
74
- ### Step 3: Create TodoWrite
75
-
76
- Create todos for all tasks, grouped by wave:
77
-
78
- ```typescript
79
- todowrite({
80
- todos: [
81
- { content: "Wave 1: Task A — [description]", status: "pending", priority: "high" },
82
- { content: "Wave 1: Task C — [description]", status: "pending", priority: "high" },
83
- { content: "Wave 1 review checkpoint", status: "pending", priority: "high" },
84
- { content: "Wave 2: Task B — [description]", status: "pending", priority: "high" },
85
- { content: "Wave 2 review checkpoint", status: "pending", priority: "high" },
86
- // ...
87
- ]
88
- });
89
- ```
90
-
91
- ### Step 4: Execute Wave
92
-
93
- **Before starting a wave:** create a git tag for safe rollback:
94
-
95
- ```bash
96
- git tag wave-${WAVE_NUMBER}-start
97
- ```
98
-
99
- #### Single-task wave (no parallelism needed)
100
-
101
- Execute directly in the current agent context. No subagent overhead.
102
-
103
- #### Multi-task wave (2+ independent tasks)
104
-
105
- Dispatch parallel subagents — one per task:
106
-
107
- ```typescript
108
- // Dispatch all tasks in this wave simultaneously
109
- task({
110
- subagent_type: "general",
111
- description: `Wave ${N}: Task A — ${taskTitle}`,
112
- prompt: `You are implementing Task A from the plan.
113
-
114
- ## Task
115
- ${taskDescription}
116
-
117
- ## Files to modify
118
- ${taskFiles.join('\n')}
119
-
120
- ## Constraints
121
- - ONLY modify files listed above
122
- - Follow each step exactly as written in the task
123
- - Run verification commands specified in the task
124
- - Commit your changes: git add <specific-files> && git commit -m "feat: ${taskTitle}"
125
-
126
- ## Report back
127
- - What you implemented
128
- - Files changed
129
- - Verification results (pass/fail)
130
- - Commit hash
131
- - Any issues or blockers`
132
- });
133
- // ...dispatch other tasks in this wave simultaneously
134
- ```
135
-
136
- **Critical rules for parallel dispatch:**
137
-
138
- | Rule | Why |
139
- | --- | --- |
140
- | Non-overlapping files | Subagents editing same file = merge conflicts |
141
- | Exact file list per subagent | Prevents scope creep into other tasks |
142
- | Each subagent commits independently | Clean git history per task |
143
- | Never `git add .` | Only stage files from this task |
144
-
145
- #### Wave Execution Checklist
146
-
147
- - [ ] Create wave start tag: `git tag wave-${WAVE_NUMBER}-start`
148
- - [ ] Dispatch subagents for all tasks in this wave (parallel)
149
- - [ ] Collect results from all subagents
150
- - [ ] Check for failures — if any task failed, stop and report
151
- - [ ] Run verification gates (typecheck + lint in parallel, then tests)
152
- - [ ] Create wave complete tag: `git tag wave-${WAVE_NUMBER}-complete`
153
- - [ ] Mark wave tasks as completed in TodoWrite
154
-
155
- ### Step 5: Review Wave
156
-
157
- After each wave completes:
158
-
159
- 1. **Synthesize results** from all subagents
160
- 2. **Run verification gates** on the combined changes:
161
- ```bash
162
- # Parallel: typecheck + lint
163
- npm run typecheck & npm run lint & wait
164
- # Sequential: tests
165
- npm test
166
- ```
167
- 3. **Report to user:**
168
- - Tasks completed in this wave
169
- - Verification results
170
- - Wave tag created
171
- - Any issues found
172
- 4. **Wait for feedback** before proceeding to next wave
173
-
174
- ### Step 6: Next Wave
175
-
176
- Based on feedback:
177
- - Apply corrections if needed
178
- - Execute next wave (repeat Steps 4-5)
179
- - Continue until all waves complete
180
-
181
- ### Step 7: Complete Development
182
-
183
- After all waves complete and verified:
184
-
185
- - Announce: "I'm using finishing-a-development-branch skill to complete this work."
186
- - **REQUIRED SUB-SKILL:** Use skill({ name: "finishing-a-development-branch" })
187
- - Follow that skill to verify tests, present options, execute choice
188
-
189
- ## Wave-Level Rollback with Git Tags
190
-
191
- Git tags act as checkpoints between waves. If a wave fails irrecoverably, roll back to the last known-good state.
192
-
193
- ### Tag Protocol
194
-
195
- | When | Command | Purpose |
196
- | ---------------------------- | ------------------------------- | ------------------------- |
197
- | Before starting any wave | `git tag wave-N-start` | Mark rollback point |
198
- | After wave passes all gates | `git tag wave-N-complete` | Seal confirmed-good state |
199
- | On irrecoverable failure | `git reset --hard wave-N-start` | Restore to pre-wave state |
200
- | Listing all wave checkpoints | `git tag --list "wave-*"` | Audit trail of execution |
201
-
202
- ### When to Rollback
203
-
204
- Roll back (with user confirmation) when:
205
- - Verification gates fail twice consecutively in the same wave
206
- - Subagent made destructive changes outside its file scope
207
- - Tests were broken and the cause is unclear
208
-
209
- **Always ask the user before running `git reset --hard`** — it discards uncommitted changes irreversibly.
210
-
211
- ## Sequential Fallback
212
-
213
- If the plan has no dependency graph or waves:
214
-
215
- 1. Group tasks into batches of 3
216
- 2. Execute each batch sequentially (no parallel subagents)
217
- 3. Review between batches
218
- 4. Same wave-tag protocol applies
219
-
220
- This preserves backward compatibility with plans that don't have wave assignments.
221
-
222
- ## When to Stop and Ask for Help
223
-
224
- **STOP executing immediately when:**
225
- - Subagent reports a blocker or failure
226
- - File conflict detected between parallel tasks
227
- - Verification fails twice in the same wave
228
- - Plan has critical gaps preventing starting
229
-
230
- **Ask for clarification rather than guessing.**
231
-
232
- ## Anti-Patterns
233
-
234
- | Anti-Pattern | Why It Fails | Instead |
235
- | --- | --- | --- |
236
- | Dispatching parallel subagents for tasks that share files | Edit conflicts, lost changes, merge chaos | Move conflicting tasks to separate waves |
237
- | Skipping verification between waves | Broken code compounds across waves | Run all gates after each wave before proceeding |
238
- | Giving subagents the full plan instead of their task | Context pollution, scope creep | Extract only the specific task + file list |
239
- | Running all tasks in one wave regardless of dependencies | Later tasks fail because prerequisites aren't ready | Respect the dependency graph strictly |
240
- | Not committing per-task | Can't rollback individual tasks, messy git history | Each subagent commits its own changes |
241
-
242
- ## See Also
243
-
244
- - `writing-plans` — Create detailed, zero-ambiguity implementation plans before execution
245
- - `swarm-coordination` — For 10+ task scenarios with full PARL orchestration
246
- - `subagent-driven-development` — For sequential per-task execution with review between each
247
- - `verification-before-completion` — Run final verification gates before claiming completion
@@ -1,65 +0,0 @@
1
- ---
2
- name: figma-go
3
- description: Use when you need Figma read/write access WITHOUT an API token, via figma-mcp-go plugin bridge. Prefer over figma skill when no API token is available. MUST load when user needs Figma data and has the desktop plugin installed.
4
- mcp:
5
- figma-mcp-go:
6
- command: npx
7
- args: ["-y", "@vkhanhqui/figma-mcp-go@latest"]
8
- version: 1.0.0
9
- tags: [design, mcp, figma]
10
- dependencies: []
11
- ---
12
-
13
- # Figma MCP (figma-mcp-go)
14
-
15
- ## When to Use
16
-
17
- - You need **read/write** access to live Figma documents without API rate limits.
18
- - You want to generate designs or modify existing Figma files via MCP.
19
-
20
- ## When NOT to Use
21
-
22
- - You only need static exports (use existing asset pipeline).
23
- - You don’t have access to Figma Desktop or can’t install plugins.
24
-
25
- ## Prerequisites (one-time setup)
26
-
27
- 1. **Install the Figma plugin**
28
-
29
- - Download `plugin.zip` from: https://github.com/vkhanhqui/figma-mcp-go/releases
30
- - In Figma Desktop: **Plugins → Development → Import plugin from manifest**
31
- - Select `manifest.json` inside `plugin.zip`
32
- - Run the plugin inside any Figma file
33
-
34
- 2. **Ensure MCP server runs via OpenCode**
35
-
36
- - This skill starts the MCP server with:
37
- `npx -y @vkhanhqui/figma-mcp-go@latest`
38
- - No `FIGMA_API_KEY` is required.
39
-
40
- ## Quick Start
41
-
42
- ```bash
43
- skill_mcp(skill_name="figma-go", tool_name="get_metadata", arguments='{}')
44
- ```
45
-
46
- ## Common Tools
47
-
48
- - **Read**: `get_document`, `get_pages`, `get_node`, `get_nodes_info`, `get_design_context`
49
- - **Write**: `create_frame`, `create_text`, `set_text`, `set_fills`, `move_nodes`, `resize_nodes`, `delete_nodes`
50
- - **Export**: `get_screenshot`, `save_screenshots`
51
-
52
- ## Example: Read a Frame
53
-
54
- ```bash
55
- skill_mcp(skill_name="figma-go", tool_name="get_node", arguments='{"node_id":"1234:5678"}')
56
- ```
57
-
58
- ## Notes
59
-
60
- - This MCP uses a **plugin bridge**, so Figma Desktop must be running with the plugin active.
61
- - If tools fail, re-run the plugin inside the open Figma file.
62
- - If you see `Invalid schema for function 'figma-mcp-go_delete_nodes'`, keep the
63
- global `mcp.figma-mcp-go` entry **disabled** in `opencode.json` and use this skill
64
- (via `skill_mcp`) until upstream fixes the schema.
65
- - Full tool list and prompts: https://github.com/vkhanhqui/figma-mcp-go#available-tools