opencodekit 0.21.10 → 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 (156) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/template/.opencode/AGENTS.md +116 -487
  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 +0 -1
  6. package/dist/template/.opencode/agent/review.md +0 -1
  7. package/dist/template/.opencode/agent/scout.md +0 -1
  8. package/dist/template/.opencode/agent/vision.md +0 -1
  9. package/dist/template/.opencode/command/clarify.md +48 -0
  10. package/dist/template/.opencode/command/commit.md +53 -0
  11. package/dist/template/.opencode/command/fix.md +56 -0
  12. package/dist/template/.opencode/command/improve-architecture.md +55 -0
  13. package/dist/template/.opencode/command/init.md +88 -68
  14. package/dist/template/.opencode/command/refactor.md +66 -0
  15. package/dist/template/.opencode/command/test.md +66 -0
  16. package/dist/template/.opencode/dcp.jsonc +13 -2
  17. package/dist/template/.opencode/memory/README.md +3 -5
  18. package/dist/template/.opencode/memory/_templates/adr.md +45 -0
  19. package/dist/template/.opencode/memory/project/gotchas.md +1 -1
  20. package/dist/template/.opencode/memory/session-context.md +1 -1
  21. package/dist/template/.opencode/plugin/README.md +1 -1
  22. package/dist/template/.opencode/plugin/guard.ts +62 -0
  23. package/dist/template/.opencode/plugin/{lib/memory-admin-tools.ts → memory/admin.ts} +4 -4
  24. package/dist/template/.opencode/plugin/{lib → memory}/capture.ts +1 -1
  25. package/dist/template/.opencode/plugin/{lib → memory}/compile.ts +2 -2
  26. package/dist/template/.opencode/plugin/{lib → memory}/context.ts +1 -1
  27. package/dist/template/.opencode/plugin/{lib → memory}/curator.ts +1 -1
  28. package/dist/template/.opencode/plugin/{lib → memory}/db/observations.ts +102 -3
  29. package/dist/template/.opencode/plugin/{lib → memory}/db/schema.ts +43 -1
  30. package/dist/template/.opencode/plugin/{lib → memory}/db/types.ts +22 -0
  31. package/dist/template/.opencode/plugin/{lib/memory-db.ts → memory/db.ts} +1 -1
  32. package/dist/template/.opencode/plugin/{lib → memory}/distill.ts +1 -1
  33. package/dist/template/.opencode/plugin/{lib/memory-helpers.ts → memory/helpers.ts} +5 -1
  34. package/dist/template/.opencode/plugin/{lib/memory-hooks.ts → memory/hooks.ts} +1 -1
  35. package/dist/template/.opencode/plugin/{lib → memory}/index-generator.ts +2 -2
  36. package/dist/template/.opencode/plugin/{lib → memory}/inject.ts +1 -1
  37. package/dist/template/.opencode/plugin/{lib → memory}/lint.ts +2 -2
  38. package/dist/template/.opencode/plugin/memory/tools.ts +322 -0
  39. package/dist/template/.opencode/plugin/{lib → memory}/validate.ts +2 -2
  40. package/dist/template/.opencode/plugin/memory.ts +7 -17
  41. package/dist/template/.opencode/plugin/srcwalk.ts +721 -0
  42. package/dist/template/.opencode/skill/agent-code-quality-gate/SKILL.md +98 -0
  43. package/dist/template/.opencode/skill/behavioral-kernel/SKILL.md +52 -0
  44. package/dist/template/.opencode/skill/browser-testing-with-devtools/SKILL.md +85 -0
  45. package/dist/template/.opencode/skill/code-cleanup/SKILL.md +114 -0
  46. package/dist/template/.opencode/skill/code-navigation/SKILL.md +142 -0
  47. package/dist/template/.opencode/skill/code-review-and-quality/SKILL.md +131 -0
  48. package/dist/template/.opencode/skill/debugging-and-error-recovery/SKILL.md +109 -0
  49. package/dist/template/.opencode/skill/deep-module-design/SKILL.md +207 -0
  50. package/dist/template/.opencode/skill/git-workflow-and-versioning/SKILL.md +77 -0
  51. package/dist/template/.opencode/skill/grill-me/SKILL.md +140 -0
  52. package/dist/template/.opencode/skill/memory-system/SKILL.md +9 -10
  53. package/dist/template/.opencode/skill/planning-and-task-breakdown/SKILL.md +116 -0
  54. package/dist/template/.opencode/skill/shipping-and-launch/SKILL.md +95 -0
  55. package/dist/template/.opencode/skill/source-driven-development/SKILL.md +103 -0
  56. package/dist/template/.opencode/skill/spec-driven-development/SKILL.md +121 -0
  57. package/dist/template/.opencode/skill/srcwalk/SKILL.md +161 -0
  58. package/dist/template/.opencode/skill/ubiquitous-language/SKILL.md +184 -0
  59. package/package.json +1 -1
  60. package/dist/template/.opencode/AGENT_ALIGNMENT.md +0 -564
  61. package/dist/template/.opencode/agent/painter.md +0 -83
  62. package/dist/template/.opencode/command/compound.md +0 -240
  63. package/dist/template/.opencode/command/curate.md +0 -299
  64. package/dist/template/.opencode/command/handoff.md +0 -149
  65. package/dist/template/.opencode/command/health.md +0 -356
  66. package/dist/template/.opencode/command/init-context.md +0 -297
  67. package/dist/template/.opencode/command/init-user.md +0 -125
  68. package/dist/template/.opencode/command/iterate.md +0 -200
  69. package/dist/template/.opencode/command/lfg.md +0 -173
  70. package/dist/template/.opencode/command/resume.md +0 -78
  71. package/dist/template/.opencode/command/status.md +0 -126
  72. package/dist/template/.opencode/command/ui-slop-check.md +0 -169
  73. package/dist/template/.opencode/plugin/lib/memory-tools.ts +0 -535
  74. package/dist/template/.opencode/skill/agent-evals/SKILL.md +0 -208
  75. package/dist/template/.opencode/skill/anti-ai-slop/SKILL.md +0 -76
  76. package/dist/template/.opencode/skill/augment-context-engine/SKILL.md +0 -122
  77. package/dist/template/.opencode/skill/augment-context-engine/mcp.json +0 -6
  78. package/dist/template/.opencode/skill/brand-asset-protocol/SKILL.md +0 -222
  79. package/dist/template/.opencode/skill/code-search-patterns/SKILL.md +0 -224
  80. package/dist/template/.opencode/skill/code-simplification/SKILL.md +0 -211
  81. package/dist/template/.opencode/skill/context-condensation/SKILL.md +0 -149
  82. package/dist/template/.opencode/skill/context-initialization/SKILL.md +0 -69
  83. package/dist/template/.opencode/skill/context-management/SKILL.md +0 -390
  84. package/dist/template/.opencode/skill/deep-research/SKILL.md +0 -384
  85. package/dist/template/.opencode/skill/design-direction-advisor/SKILL.md +0 -139
  86. package/dist/template/.opencode/skill/dispatching-parallel-agents/SKILL.md +0 -191
  87. package/dist/template/.opencode/skill/executing-plans/SKILL.md +0 -247
  88. package/dist/template/.opencode/skill/figma-go/SKILL.md +0 -65
  89. package/dist/template/.opencode/skill/finishing-a-development-branch/SKILL.md +0 -357
  90. package/dist/template/.opencode/skill/full-output-enforcement/SKILL.md +0 -62
  91. package/dist/template/.opencode/skill/gh-address-comments/SKILL.md +0 -29
  92. package/dist/template/.opencode/skill/gh-address-comments/scripts/fetch_comments.py +0 -237
  93. package/dist/template/.opencode/skill/gh-fix-ci/SKILL.md +0 -38
  94. package/dist/template/.opencode/skill/gh-fix-ci/scripts/inspect_pr_checks.py +0 -509
  95. package/dist/template/.opencode/skill/hi-fi-prototype-html/SKILL.md +0 -253
  96. package/dist/template/.opencode/skill/html-deck-export/SKILL.md +0 -189
  97. package/dist/template/.opencode/skill/index-knowledge/SKILL.md +0 -413
  98. package/dist/template/.opencode/skill/memory-grounding/SKILL.md +0 -68
  99. package/dist/template/.opencode/skill/playwriter/SKILL.md +0 -158
  100. package/dist/template/.opencode/skill/portless/SKILL.md +0 -109
  101. package/dist/template/.opencode/skill/prd/SKILL.md +0 -146
  102. package/dist/template/.opencode/skill/prd-task/SKILL.md +0 -182
  103. package/dist/template/.opencode/skill/prd-task/references/prd-schema.json +0 -124
  104. package/dist/template/.opencode/skill/prompt-leverage/SKILL.md +0 -90
  105. package/dist/template/.opencode/skill/prompt-leverage/references/framework.md +0 -91
  106. package/dist/template/.opencode/skill/prompt-leverage/scripts/augment_prompt.py +0 -157
  107. package/dist/template/.opencode/skill/receiving-code-review/SKILL.md +0 -263
  108. package/dist/template/.opencode/skill/reconcile/SKILL.md +0 -183
  109. package/dist/template/.opencode/skill/reflection-checkpoints/SKILL.md +0 -183
  110. package/dist/template/.opencode/skill/requesting-code-review/SKILL.md +0 -443
  111. package/dist/template/.opencode/skill/requesting-code-review/references/specialist-profiles.md +0 -108
  112. package/dist/template/.opencode/skill/requesting-code-review/review.md +0 -160
  113. package/dist/template/.opencode/skill/rtk-command-compression/SKILL.md +0 -134
  114. package/dist/template/.opencode/skill/screenshot/SKILL.md +0 -48
  115. package/dist/template/.opencode/skill/screenshot/scripts/ensure_macos_permissions.sh +0 -54
  116. package/dist/template/.opencode/skill/screenshot/scripts/macos_display_info.swift +0 -22
  117. package/dist/template/.opencode/skill/screenshot/scripts/macos_permissions.swift +0 -40
  118. package/dist/template/.opencode/skill/screenshot/scripts/macos_window_info.swift +0 -126
  119. package/dist/template/.opencode/skill/screenshot/scripts/take_screenshot.ps1 +0 -163
  120. package/dist/template/.opencode/skill/screenshot/scripts/take_screenshot.py +0 -585
  121. package/dist/template/.opencode/skill/security-threat-model/SKILL.md +0 -36
  122. package/dist/template/.opencode/skill/security-threat-model/references/prompt-template.md +0 -255
  123. package/dist/template/.opencode/skill/security-threat-model/references/security-controls-and-assets.md +0 -32
  124. package/dist/template/.opencode/skill/sharing-skills/SKILL.md +0 -214
  125. package/dist/template/.opencode/skill/skill-creator/SKILL.md +0 -181
  126. package/dist/template/.opencode/skill/skill-installer/SKILL.md +0 -58
  127. package/dist/template/.opencode/skill/skill-installer/scripts/github_utils.py +0 -21
  128. package/dist/template/.opencode/skill/skill-installer/scripts/install-skill-from-github.py +0 -313
  129. package/dist/template/.opencode/skill/skill-installer/scripts/list-skills.py +0 -106
  130. package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +0 -244
  131. package/dist/template/.opencode/skill/swarm-coordination/references/architecture.md +0 -39
  132. package/dist/template/.opencode/skill/swarm-coordination/references/delegation-worker-protocol.md +0 -145
  133. package/dist/template/.opencode/skill/swarm-coordination/references/dependency-graph.md +0 -50
  134. package/dist/template/.opencode/skill/swarm-coordination/references/drift-check.md +0 -90
  135. package/dist/template/.opencode/skill/swarm-coordination/references/integration-beads.md +0 -20
  136. package/dist/template/.opencode/skill/swarm-coordination/references/launch-flow.md +0 -186
  137. package/dist/template/.opencode/skill/swarm-coordination/references/reconciler.md +0 -172
  138. package/dist/template/.opencode/skill/swarm-coordination/references/tier-enforcement.md +0 -78
  139. package/dist/template/.opencode/skill/swarm-coordination/references/tmux-integration.md +0 -134
  140. package/dist/template/.opencode/skill/systematic-debugging/SKILL.md +0 -402
  141. package/dist/template/.opencode/skill/terse-output-mode/SKILL.md +0 -95
  142. package/dist/template/.opencode/skill/think-in-code/SKILL.md +0 -136
  143. package/dist/template/.opencode/skill/ux-quality-gates/SKILL.md +0 -137
  144. package/dist/template/.opencode/skill/v1-run/SKILL.md +0 -175
  145. package/dist/template/.opencode/skill/v1-run/mcp.json +0 -6
  146. package/dist/template/.opencode/skill/verification-gates/SKILL.md +0 -63
  147. package/dist/template/.opencode/skill/visual-analysis/SKILL.md +0 -154
  148. package/dist/template/.opencode/skill/web-design-guidelines/SKILL.md +0 -46
  149. package/dist/template/.opencode/skill/workspace-setup/SKILL.md +0 -76
  150. package/dist/template/.opencode/skill/writing-plans/SKILL.md +0 -320
  151. /package/dist/template/.opencode/plugin/{lib → memory}/compact.ts +0 -0
  152. /package/dist/template/.opencode/plugin/{lib → memory}/db/graph.ts +0 -0
  153. /package/dist/template/.opencode/plugin/{lib → memory}/db/maintenance.ts +0 -0
  154. /package/dist/template/.opencode/plugin/{lib → memory}/db/pipeline.ts +0 -0
  155. /package/dist/template/.opencode/plugin/{lib → memory}/notify.ts +0 -0
  156. /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