@fro.bot/systematic 1.22.8 → 1.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/research/best-practices-researcher.md +9 -3
- package/agents/research/framework-docs-researcher.md +2 -0
- package/agents/research/git-history-analyzer.md +9 -6
- package/agents/research/issue-intelligence-analyst.md +232 -0
- package/agents/research/repo-research-analyst.md +6 -10
- package/commands/.gitkeep +0 -0
- package/package.json +1 -1
- package/skills/agent-browser/SKILL.md +511 -169
- package/skills/agent-browser/references/authentication.md +303 -0
- package/skills/agent-browser/references/commands.md +266 -0
- package/skills/agent-browser/references/profiling.md +120 -0
- package/skills/agent-browser/references/proxy-support.md +194 -0
- package/skills/agent-browser/references/session-management.md +193 -0
- package/skills/agent-browser/references/snapshot-refs.md +194 -0
- package/skills/agent-browser/references/video-recording.md +173 -0
- package/skills/agent-browser/templates/authenticated-session.sh +105 -0
- package/skills/agent-browser/templates/capture-workflow.sh +69 -0
- package/skills/agent-browser/templates/form-automation.sh +62 -0
- package/skills/ce-brainstorm/SKILL.md +336 -0
- package/{commands/ce/compound.md → skills/ce-compound/SKILL.md} +106 -9
- package/skills/ce-compound-refresh/SKILL.md +528 -0
- package/skills/ce-ideate/SKILL.md +371 -0
- package/{commands/ce/plan.md → skills/ce-plan/SKILL.md} +73 -66
- package/skills/ce-plan-beta/SKILL.md +572 -0
- package/{commands/ce/review.md → skills/ce-review/SKILL.md} +53 -18
- package/{commands/ce/work.md → skills/ce-work/SKILL.md} +88 -63
- package/{commands/create-agent-skill.md → skills/create-agent-skill/SKILL.md} +1 -0
- package/skills/create-agent-skills/SKILL.md +9 -19
- package/{commands/deepen-plan.md → skills/deepen-plan/SKILL.md} +35 -36
- package/skills/deepen-plan-beta/SKILL.md +323 -0
- package/{commands/deploy-docs.md → skills/deploy-docs/SKILL.md} +26 -33
- package/skills/document-review/SKILL.md +14 -8
- package/{commands/generate_command.md → skills/generate_command/SKILL.md} +5 -5
- package/{commands/heal-skill.md → skills/heal-skill/SKILL.md} +1 -0
- package/skills/lfg/SKILL.md +37 -0
- package/{commands/report-bug.md → skills/report-bug/SKILL.md} +16 -15
- package/{commands/reproduce-bug.md → skills/reproduce-bug/SKILL.md} +10 -9
- package/{commands/resolve_todo_parallel.md → skills/resolve_todo_parallel/SKILL.md} +2 -1
- package/{commands/slfg.md → skills/slfg/SKILL.md} +8 -4
- package/{commands/test-browser.md → skills/test-browser/SKILL.md} +67 -13
- package/{commands/test-xcode.md → skills/test-xcode/SKILL.md} +4 -3
- package/{commands/triage.md → skills/triage/SKILL.md} +2 -1
- package/skills/workflows-brainstorm/SKILL.md +11 -0
- package/{commands/workflows/compound.md → skills/workflows-compound/SKILL.md} +2 -2
- package/{commands/workflows/plan.md → skills/workflows-plan/SKILL.md} +2 -2
- package/{commands/workflows/review.md → skills/workflows-review/SKILL.md} +2 -2
- package/{commands/workflows/work.md → skills/workflows-work/SKILL.md} +2 -2
- package/agents/workflow/every-style-editor.md +0 -66
- package/commands/ce/brainstorm.md +0 -145
- package/commands/lfg.md +0 -20
- package/commands/workflows/brainstorm.md +0 -145
- package/skills/brainstorming/SKILL.md +0 -190
- package/skills/skill-creator/SKILL.md +0 -210
- package/skills/skill-creator/scripts/init_skill.py +0 -303
- package/skills/skill-creator/scripts/package_skill.py +0 -110
- package/skills/skill-creator/scripts/quick_validate.py +0 -65
- /package/{commands/agent-native-audit.md → skills/agent-native-audit/SKILL.md} +0 -0
- /package/{commands/changelog.md → skills/changelog/SKILL.md} +0 -0
- /package/{commands/feature-video.md → skills/feature-video/SKILL.md} +0 -0
- /package/{commands/resolve_parallel.md → skills/resolve_parallel/SKILL.md} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ce:review
|
|
3
3
|
description: Perform exhaustive code reviews using multi-agent analysis, ultra-thinking, and worktrees
|
|
4
|
-
argument-hint:
|
|
4
|
+
argument-hint: '[PR number, GitHub URL, branch name, or latest] [--serial]'
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Review Command
|
|
@@ -51,9 +51,10 @@ Ensure that the code is ready for analysis (either in worktree or on current bra
|
|
|
51
51
|
#### Protected Artifacts
|
|
52
52
|
|
|
53
53
|
<protected_artifacts>
|
|
54
|
-
The following paths are
|
|
54
|
+
The following paths are compound-engineering pipeline artifacts and must never be flagged for deletion, removal, or gitignore by any review agent:
|
|
55
55
|
|
|
56
|
-
- `docs/
|
|
56
|
+
- `docs/brainstorms/*-requirements.md` — Requirements documents created by `/systematic:ce-brainstorm`. These are the product-definition artifacts that planning depends on.
|
|
57
|
+
- `docs/plans/*.md` — Plan files created by `/systematic:ce-plan`. These are living documents that track implementation progress (checkboxes are checked off by `/systematic:ce-work`).
|
|
57
58
|
- `docs/solutions/*.md` — Solution documents created during the pipeline.
|
|
58
59
|
|
|
59
60
|
If a review agent flags any file in these directories for cleanup or removal, discard that finding during synthesis. Do not create a todo for it.
|
|
@@ -61,23 +62,56 @@ If a review agent flags any file in these directories for cleanup or removal, di
|
|
|
61
62
|
|
|
62
63
|
#### Load Review Agents
|
|
63
64
|
|
|
64
|
-
Read `
|
|
65
|
+
Read `compound-engineering.local.md` in the project root. If found, use `review_agents` from YAML frontmatter. If the markdown body contains review context, pass it to each agent as additional instructions.
|
|
65
66
|
|
|
66
67
|
If no settings file exists, invoke the `setup` skill to create one. Then read the newly created file and continue.
|
|
67
68
|
|
|
69
|
+
#### Choose Execution Mode
|
|
70
|
+
|
|
71
|
+
<execution_mode>
|
|
72
|
+
|
|
73
|
+
Before launching review agents, check for context constraints:
|
|
74
|
+
|
|
75
|
+
**If `--serial` flag is passed OR conversation is in a long session:**
|
|
76
|
+
|
|
77
|
+
Run agents ONE AT A TIME in sequence. Wait for each agent to complete before starting the next. This uses less context but takes longer.
|
|
78
|
+
|
|
79
|
+
**Default (parallel):**
|
|
80
|
+
|
|
81
|
+
Run all agents simultaneously for speed. If you hit context limits, retry with `--serial` flag.
|
|
82
|
+
|
|
83
|
+
**Auto-detect:** If more than 5 review agents are configured, automatically switch to serial mode and inform the user:
|
|
84
|
+
"Running review agents in serial mode (6+ agents configured). Use --parallel to override."
|
|
85
|
+
|
|
86
|
+
</execution_mode>
|
|
87
|
+
|
|
68
88
|
#### Parallel Agents to review the PR:
|
|
69
89
|
|
|
70
90
|
<parallel_tasks>
|
|
71
91
|
|
|
92
|
+
**Parallel mode (default for ≤5 agents):**
|
|
93
|
+
|
|
72
94
|
Run all configured review agents in parallel using task tool. For each agent in the `review_agents` list:
|
|
73
95
|
|
|
74
96
|
```
|
|
75
|
-
|
|
97
|
+
Task {agent-name}(PR content + review context from settings body)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Serial mode (--serial flag, or auto for 6+ agents):**
|
|
101
|
+
|
|
102
|
+
Run configured review agents ONE AT A TIME. For each agent in the `review_agents` list, wait for it to complete before starting the next:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
For each agent in review_agents:
|
|
106
|
+
1. Task {agent-name}(PR content + review context)
|
|
107
|
+
2. Wait for completion
|
|
108
|
+
3. Collect findings
|
|
109
|
+
4. Proceed to next agent
|
|
76
110
|
```
|
|
77
111
|
|
|
78
|
-
|
|
79
|
-
- task agent-native-reviewer(PR content) - Verify new features are agent-accessible
|
|
80
|
-
- task learnings-researcher(PR content) - Search docs/solutions/ for past issues related to this PR's modules and patterns
|
|
112
|
+
Always run these last regardless of mode:
|
|
113
|
+
- task systematic:review:agent-native-reviewer(PR content) - Verify new features are agent-accessible
|
|
114
|
+
- task systematic:research:learnings-researcher(PR content) - Search docs/solutions/ for past issues related to this PR's modules and patterns
|
|
81
115
|
|
|
82
116
|
</parallel_tasks>
|
|
83
117
|
|
|
@@ -89,9 +123,9 @@ These agents are run ONLY when the PR matches specific criteria. Check the PR fi
|
|
|
89
123
|
|
|
90
124
|
**MIGRATIONS: If PR contains database migrations, schema.rb, or data backfills:**
|
|
91
125
|
|
|
92
|
-
- task schema-drift-detector(PR content) - Detects unrelated schema.rb changes by cross-referencing against included migrations (run FIRST)
|
|
93
|
-
- task data-migration-expert(PR content) - Validates ID mappings match production, checks for swapped values, verifies rollback safety
|
|
94
|
-
- task deployment-verification-agent(PR content) - Creates Go/No-Go deployment checklist with SQL verification queries
|
|
126
|
+
- task systematic:review:schema-drift-detector(PR content) - Detects unrelated schema.rb changes by cross-referencing against included migrations (run FIRST)
|
|
127
|
+
- task systematic:review:data-migration-expert(PR content) - Validates ID mappings match production, checks for swapped values, verifies rollback safety
|
|
128
|
+
- task systematic:review:deployment-verification-agent(PR content) - Creates Go/No-Go deployment checklist with SQL verification queries
|
|
95
129
|
|
|
96
130
|
**When to run:**
|
|
97
131
|
- PR includes files matching `db/migrate/*.rb` or `db/schema.rb`
|
|
@@ -203,7 +237,7 @@ Complete system context map with component interactions
|
|
|
203
237
|
|
|
204
238
|
### 4. Simplification and Minimalism Review
|
|
205
239
|
|
|
206
|
-
Run the task code-simplicity-reviewer() to see if we can simplify the code.
|
|
240
|
+
Run the task systematic:review:code-simplicity-reviewer() to see if we can simplify the code.
|
|
207
241
|
|
|
208
242
|
### 5. Findings Synthesis and Todo Creation Using file-todos Skill
|
|
209
243
|
|
|
@@ -220,7 +254,7 @@ Remove duplicates, prioritize by severity and impact.
|
|
|
220
254
|
|
|
221
255
|
- [ ] Collect findings from all parallel agents
|
|
222
256
|
- [ ] Surface learnings-researcher results: if past solutions are relevant, flag them as "Known Pattern" with links to docs/solutions/ files
|
|
223
|
-
- [ ] Discard any findings that recommend deleting or gitignoring files in `docs/plans
|
|
257
|
+
- [ ] Discard any findings that recommend deleting or gitignoring files in `docs/brainstorms/`, `docs/plans/`, or `docs/solutions/` (see Protected Artifacts above)
|
|
224
258
|
- [ ] Categorize by type: security, performance, architecture, quality, etc.
|
|
225
259
|
- [ ] Assign severity levels: 🔴 CRITICAL (P1), 🟡 IMPORTANT (P2), 🔵 NICE-TO-HAVE (P3)
|
|
226
260
|
- [ ] Remove duplicate or overlapping findings
|
|
@@ -245,9 +279,9 @@ Remove duplicates, prioritize by severity and impact.
|
|
|
245
279
|
|
|
246
280
|
```bash
|
|
247
281
|
# Launch multiple finding-creator agents in parallel
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
282
|
+
Task() - Create todos for first finding
|
|
283
|
+
Task() - Create todos for second finding
|
|
284
|
+
Task() - Create todos for third finding
|
|
251
285
|
etc. for each finding.
|
|
252
286
|
```
|
|
253
287
|
|
|
@@ -485,7 +519,7 @@ After presenting the Summary Report, offer appropriate testing based on project
|
|
|
485
519
|
Spawn a subagent to run browser tests (preserves main context):
|
|
486
520
|
|
|
487
521
|
```
|
|
488
|
-
|
|
522
|
+
Task general-purpose("Run /test-browser for PR #[number]. Test all affected pages, check for console errors, handle failures by creating todos and fixing.")
|
|
489
523
|
```
|
|
490
524
|
|
|
491
525
|
The subagent will:
|
|
@@ -504,7 +538,7 @@ The subagent will:
|
|
|
504
538
|
Spawn a subagent to run Xcode tests (preserves main context):
|
|
505
539
|
|
|
506
540
|
```
|
|
507
|
-
|
|
541
|
+
Task general-purpose("Run /xcode-test for scheme [name]. Build for simulator, install, launch, take screenshots, check for crashes.")
|
|
508
542
|
```
|
|
509
543
|
|
|
510
544
|
The subagent will:
|
|
@@ -523,3 +557,4 @@ The subagent will:
|
|
|
523
557
|
### Important: P1 Findings Block Merge
|
|
524
558
|
|
|
525
559
|
Any **🔴 P1 (CRITICAL)** findings must be addressed before merging the PR. Present these prominently and ensure they're resolved before accepting the PR.
|
|
560
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ce:work
|
|
3
3
|
description: Execute work plans efficiently while maintaining quality and finishing features
|
|
4
|
-
argument-hint:
|
|
4
|
+
argument-hint: '[plan file, specification, or todo file path]'
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Work Plan Execution Command
|
|
@@ -23,6 +23,10 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
23
23
|
1. **Read Plan and Clarify**
|
|
24
24
|
|
|
25
25
|
- Read the work document completely
|
|
26
|
+
- Treat the plan as a decision artifact, not an execution script
|
|
27
|
+
- If the plan includes sections such as `Implementation Units`, `Work Breakdown`, `Requirements Trace`, `Files`, `Test Scenarios`, or `Verification`, use those as the primary source material for execution
|
|
28
|
+
- Check for a `Deferred to Implementation` or `Implementation-Time Unknowns` section — these are questions the planner intentionally left for you to resolve during execution. Note them before starting so they inform your approach rather than surprising you mid-task
|
|
29
|
+
- Check for a `Scope Boundaries` section — these are explicit non-goals. Refer back to them if implementation starts pulling you toward adjacent work
|
|
26
30
|
- Review any references or links provided in the plan
|
|
27
31
|
- If anything is unclear or ambiguous, ask clarifying questions now
|
|
28
32
|
- Get user approval to proceed
|
|
@@ -73,12 +77,35 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
73
77
|
- You plan to switch between branches frequently
|
|
74
78
|
|
|
75
79
|
3. **Create Todo List**
|
|
76
|
-
- Use todowrite to break plan into actionable tasks
|
|
80
|
+
- Use your available task tracking tool (e.g., todowrite, task lists) to break the plan into actionable tasks
|
|
81
|
+
- Derive tasks from the plan's implementation units, dependencies, files, test targets, and verification criteria
|
|
82
|
+
- For each unit, read the `Patterns to follow` field before implementing — these point to specific files or conventions to mirror
|
|
83
|
+
- Use each unit's `Verification` field as the primary "done" signal for that task
|
|
84
|
+
- Do not expect the plan to contain implementation code, micro-step TDD instructions, or exact shell commands
|
|
77
85
|
- Include dependencies between tasks
|
|
78
86
|
- Prioritize based on what needs to be done first
|
|
79
87
|
- Include testing and quality check tasks
|
|
80
88
|
- Keep tasks specific and completable
|
|
81
89
|
|
|
90
|
+
4. **Choose Execution Strategy**
|
|
91
|
+
|
|
92
|
+
After creating the task list, decide how to execute based on the plan's size and dependency structure:
|
|
93
|
+
|
|
94
|
+
| Strategy | When to use |
|
|
95
|
+
|----------|-------------|
|
|
96
|
+
| **Inline** | 1-2 small tasks, or tasks needing user interaction mid-flight |
|
|
97
|
+
| **Serial subagents** | 3+ tasks with dependencies between them. Each subagent gets a fresh context window focused on one unit — prevents context degradation across many tasks |
|
|
98
|
+
| **Parallel subagents** | 3+ tasks where some units have no shared dependencies and touch non-overlapping files. Dispatch independent units simultaneously, run dependent units after their prerequisites complete |
|
|
99
|
+
|
|
100
|
+
**Subagent dispatch** uses your available subagent or task spawning mechanism. For each unit, give the subagent:
|
|
101
|
+
- The full plan file path (for overall context)
|
|
102
|
+
- The specific unit's Goal, Files, Approach, Patterns, Test scenarios, and Verification
|
|
103
|
+
- Any resolved deferred questions relevant to that unit
|
|
104
|
+
|
|
105
|
+
After each subagent completes, update the plan checkboxes and task list before dispatching the next dependent unit.
|
|
106
|
+
|
|
107
|
+
For genuinely large plans needing persistent inter-agent communication (agents challenging each other's approaches, shared coordination across 10+ tasks), see Swarm Mode below which uses Agent Teams.
|
|
108
|
+
|
|
82
109
|
### Phase 2: Execute
|
|
83
110
|
|
|
84
111
|
1. **Task Execution Loop**
|
|
@@ -87,15 +114,14 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
87
114
|
|
|
88
115
|
```
|
|
89
116
|
while (tasks remain):
|
|
90
|
-
- Mark task as
|
|
117
|
+
- Mark task as in-progress
|
|
91
118
|
- Read any referenced files from the plan
|
|
92
119
|
- Look for similar patterns in codebase
|
|
93
120
|
- Implement following existing conventions
|
|
94
121
|
- Write tests for new functionality
|
|
95
122
|
- Run System-Wide Test Check (see below)
|
|
96
123
|
- Run tests after changes
|
|
97
|
-
- Mark task as completed
|
|
98
|
-
- Mark off the corresponding checkbox in the plan file ([ ] → [x])
|
|
124
|
+
- Mark task as completed
|
|
99
125
|
- Evaluate for incremental commit (see below)
|
|
100
126
|
```
|
|
101
127
|
|
|
@@ -113,7 +139,6 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
113
139
|
|
|
114
140
|
**When this matters most:** Any change that touches models with callbacks, error handling with fallback/retry, or functionality exposed through multiple interfaces.
|
|
115
141
|
|
|
116
|
-
**IMPORTANT**: Always update the original plan document by checking off completed items. Use the Edit tool to change `- [ ]` to `- [x]` for each task you finish. This keeps the plan as a living document showing progress and ensures no checkboxes are left unchecked.
|
|
117
142
|
|
|
118
143
|
2. **Incremental Commits**
|
|
119
144
|
|
|
@@ -128,6 +153,8 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
128
153
|
|
|
129
154
|
**Heuristic:** "Can I write a commit message that describes a complete, valuable change? If yes, commit. If the message would be 'WIP' or 'partial X', wait."
|
|
130
155
|
|
|
156
|
+
If the plan has Implementation Units, use them as a starting guide for commit boundaries — but adapt based on what you find during implementation. A unit might need multiple commits if it's larger than expected, or small related units might land together. Use each unit's Goal to inform the commit message.
|
|
157
|
+
|
|
131
158
|
**Commit workflow:**
|
|
132
159
|
```bash
|
|
133
160
|
# 1. Verify tests pass (use project's test command)
|
|
@@ -160,7 +187,15 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
160
187
|
- Add new tests for new functionality
|
|
161
188
|
- **Unit tests with mocks prove logic in isolation. Integration tests with real objects prove the layers work together.** If your change touches callbacks, middleware, or error handling — you need both.
|
|
162
189
|
|
|
163
|
-
5. **
|
|
190
|
+
5. **Simplify as You Go**
|
|
191
|
+
|
|
192
|
+
After completing a cluster of related implementation units (or every 2-3 units), review recently changed files for simplification opportunities — consolidate duplicated patterns, extract shared helpers, and improve code reuse and efficiency. This is especially valuable when using subagents, since each agent works with isolated context and can't see patterns emerging across units.
|
|
193
|
+
|
|
194
|
+
Don't simplify after every single unit — early patterns may look duplicated but diverge intentionally in later units. Wait for a natural phase boundary or when you notice accumulated complexity.
|
|
195
|
+
|
|
196
|
+
If a `/simplify` skill or equivalent is available, use it. Otherwise, review the changed files yourself for reuse and consolidation opportunities.
|
|
197
|
+
|
|
198
|
+
6. **Figma Design Sync** (if applicable)
|
|
164
199
|
|
|
165
200
|
For UI work with Figma designs:
|
|
166
201
|
|
|
@@ -170,7 +205,7 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
170
205
|
- Repeat until implementation matches design
|
|
171
206
|
|
|
172
207
|
6. **Track Progress**
|
|
173
|
-
- Keep
|
|
208
|
+
- Keep the task list updated as you complete tasks
|
|
174
209
|
- Note any blockers or unexpected discoveries
|
|
175
210
|
- Create new tasks if scope expands
|
|
176
211
|
- Keep user informed of major milestones
|
|
@@ -185,23 +220,25 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
185
220
|
# Run full test suite (use project's test command)
|
|
186
221
|
# Examples: bin/rails test, npm test, pytest, go test, etc.
|
|
187
222
|
|
|
188
|
-
# Run linting (per
|
|
223
|
+
# Run linting (per CLAUDE.md)
|
|
189
224
|
# Use linting-agent before pushing to origin
|
|
190
225
|
```
|
|
191
226
|
|
|
192
227
|
2. **Consider Reviewer Agents** (Optional)
|
|
193
228
|
|
|
194
|
-
Use for complex, risky, or large changes. Read agents from `
|
|
229
|
+
Use for complex, risky, or large changes. Read agents from `compound-engineering.local.md` frontmatter (`review_agents`). If no settings file, invoke the `setup` skill to create one.
|
|
195
230
|
|
|
196
231
|
Run configured agents in parallel with task tool. Present findings and address critical issues.
|
|
197
232
|
|
|
198
233
|
3. **Final Validation**
|
|
199
|
-
- All
|
|
234
|
+
- All tasks marked completed
|
|
200
235
|
- All tests pass
|
|
201
236
|
- Linting passes
|
|
202
237
|
- Code follows existing patterns
|
|
203
238
|
- Figma designs match (if applicable)
|
|
204
239
|
- No console errors or warnings
|
|
240
|
+
- If the plan has a `Requirements Trace`, verify each requirement is satisfied by the completed work
|
|
241
|
+
- If any `Deferred to Implementation` questions were noted, confirm they were resolved during execution
|
|
205
242
|
|
|
206
243
|
4. **Prepare Operational Validation Plan** (REQUIRED)
|
|
207
244
|
- Add a `## Post-Deploy Monitoring & Validation` section to the PR description for every change.
|
|
@@ -228,13 +265,28 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
228
265
|
|
|
229
266
|
Brief explanation if needed.
|
|
230
267
|
|
|
231
|
-
🤖 Generated with [
|
|
268
|
+
🤖 Generated with [MODEL] via [HARNESS](HARNESS_URL) + Compound Engineering v[VERSION]
|
|
232
269
|
|
|
233
|
-
Co-Authored-By:
|
|
270
|
+
Co-Authored-By: [MODEL] ([CONTEXT] context, [THINKING]) <noreply@anthropic.com>
|
|
234
271
|
EOF
|
|
235
272
|
)"
|
|
236
273
|
```
|
|
237
274
|
|
|
275
|
+
**Fill in at commit/PR time:**
|
|
276
|
+
|
|
277
|
+
| Placeholder | Value | Example |
|
|
278
|
+
|-------------|-------|---------|
|
|
279
|
+
| Placeholder | Value | Example |
|
|
280
|
+
|-------------|-------|---------|
|
|
281
|
+
| `[MODEL]` | Model name | Claude Opus 4.6, GPT-5.4 |
|
|
282
|
+
| `[CONTEXT]` | Context window (if known) | 200K, 1M |
|
|
283
|
+
| `[THINKING]` | Thinking level (if known) | extended thinking |
|
|
284
|
+
| `[HARNESS]` | Tool running you | OpenCode, Codex, Gemini CLI |
|
|
285
|
+
| `[HARNESS_URL]` | Link to that tool | `https://claude.com/claude-code` |
|
|
286
|
+
| `[VERSION]` | `plugin.json` → `version` | 2.40.0 |
|
|
287
|
+
|
|
288
|
+
Subagents creating commits/PRs are equally responsible for accurate attribution.
|
|
289
|
+
|
|
238
290
|
2. **Capture and Upload Screenshots for UI Changes** (REQUIRED for any UI work)
|
|
239
291
|
|
|
240
292
|
For **any** design changes, new views, or UI modifications, you MUST capture and upload screenshots:
|
|
@@ -308,7 +360,8 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
308
360
|
|
|
309
361
|
---
|
|
310
362
|
|
|
311
|
-
[![
|
|
363
|
+
[![Compound Engineering v[VERSION]](https://img.shields.io/badge/Compound_Engineering-v[VERSION]-6366f1)](https://github.com/EveryInc/compound-engineering-plugin)
|
|
364
|
+
🤖 Generated with [MODEL] ([CONTEXT] context, [THINKING]) via [HARNESS](HARNESS_URL)
|
|
312
365
|
EOF
|
|
313
366
|
)"
|
|
314
367
|
```
|
|
@@ -328,59 +381,30 @@ This command takes a work document (plan, specification, or todo file) and execu
|
|
|
328
381
|
|
|
329
382
|
---
|
|
330
383
|
|
|
331
|
-
## Swarm Mode (Optional)
|
|
332
|
-
|
|
333
|
-
For complex plans with multiple independent workstreams, enable swarm mode for parallel execution with coordinated agents.
|
|
334
|
-
|
|
335
|
-
### When to Use Swarm Mode
|
|
336
|
-
|
|
337
|
-
| Use Swarm Mode when... | Use Standard Mode when... |
|
|
338
|
-
|------------------------|---------------------------|
|
|
339
|
-
| Plan has 5+ independent tasks | Plan is linear/sequential |
|
|
340
|
-
| Multiple specialists needed (review + test + implement) | Single-focus work |
|
|
341
|
-
| Want maximum parallelism | Simpler mental model preferred |
|
|
342
|
-
| Large feature with clear phases | Small feature or bug fix |
|
|
343
|
-
|
|
344
|
-
### Enabling Swarm Mode
|
|
384
|
+
## Swarm Mode with Agent Teams (Optional)
|
|
345
385
|
|
|
346
|
-
|
|
386
|
+
For genuinely large plans where agents need to communicate with each other, challenge approaches, or coordinate across 10+ tasks with persistent specialized roles, use agent team capabilities if available (e.g., Agent Teams in OpenCode, multi-agent workflows in Codex).
|
|
347
387
|
|
|
348
|
-
|
|
388
|
+
**Agent teams are typically experimental and require opt-in.** Do not attempt to use agent teams unless the user explicitly requests swarm mode or agent teams, and the platform supports it.
|
|
349
389
|
|
|
350
|
-
|
|
390
|
+
### When to Use Agent Teams vs Subagents
|
|
351
391
|
|
|
352
|
-
|
|
392
|
+
| Agent Teams | Subagents (standard mode) |
|
|
393
|
+
|-------------|---------------------------|
|
|
394
|
+
| Agents need to discuss and challenge each other's approaches | Each task is independent — only the result matters |
|
|
395
|
+
| Persistent specialized roles (e.g., dedicated tester running continuously) | Workers report back and finish |
|
|
396
|
+
| 10+ tasks with complex cross-cutting coordination | 3-8 tasks with clear dependency chains |
|
|
397
|
+
| User explicitly requests "swarm mode" or "agent teams" | Default for most plans |
|
|
353
398
|
|
|
354
|
-
|
|
399
|
+
Most plans should use subagent dispatch from standard mode. Agent teams add significant token cost and coordination overhead — use them when the inter-agent communication genuinely improves the outcome.
|
|
355
400
|
|
|
356
|
-
|
|
401
|
+
### Agent Teams Workflow
|
|
357
402
|
|
|
358
|
-
1. **Create
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
2. **Spawn Specialized Tasks in Parallel**
|
|
364
|
-
```
|
|
365
|
-
task({
|
|
366
|
-
name: "implementer",
|
|
367
|
-
subagent_type: "general-purpose",
|
|
368
|
-
prompt: "Implement these tasks: [list]. Follow AGENTS.md patterns."
|
|
369
|
-
})
|
|
370
|
-
|
|
371
|
-
task({
|
|
372
|
-
name: "tester",
|
|
373
|
-
subagent_type: "general-purpose",
|
|
374
|
-
prompt: "Write and run tests for: [list]. Verify all pass."
|
|
375
|
-
})
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
3. **Coordinate and Monitor**
|
|
379
|
-
- Main agent monitors task completion
|
|
380
|
-
- Spawn additional workers as phases unblock
|
|
381
|
-
- Handle plan approval if required
|
|
382
|
-
|
|
383
|
-
See the `orchestrating-swarms` skill for detailed swarm patterns and best practices.
|
|
403
|
+
1. **Create team** — use your available team creation mechanism
|
|
404
|
+
2. **Create task list** — parse Implementation Units into tasks with dependency relationships
|
|
405
|
+
3. **Spawn teammates** — assign specialized roles (implementer, tester, reviewer) based on the plan's needs. Give each teammate the plan file path and their specific task assignments
|
|
406
|
+
4. **Coordinate** — the lead monitors task completion, reassigns work if someone gets stuck, and spawns additional workers as phases unblock
|
|
407
|
+
5. **Cleanup** — shut down all teammates, then clean up the team resources
|
|
384
408
|
|
|
385
409
|
---
|
|
386
410
|
|
|
@@ -422,7 +446,7 @@ See the `orchestrating-swarms` skill for detailed swarm patterns and best practi
|
|
|
422
446
|
Before creating PR, verify:
|
|
423
447
|
|
|
424
448
|
- [ ] All clarifying questions asked and answered
|
|
425
|
-
- [ ] All
|
|
449
|
+
- [ ] All tasks marked completed
|
|
426
450
|
- [ ] Tests pass (run project's test command)
|
|
427
451
|
- [ ] Linting passes (use linting-agent)
|
|
428
452
|
- [ ] Code follows existing patterns
|
|
@@ -431,7 +455,7 @@ Before creating PR, verify:
|
|
|
431
455
|
- [ ] Commit messages follow conventional format
|
|
432
456
|
- [ ] PR description includes Post-Deploy Monitoring & Validation section (or explicit no-impact rationale)
|
|
433
457
|
- [ ] PR description includes summary, testing notes, and screenshots
|
|
434
|
-
- [ ] PR description includes
|
|
458
|
+
- [ ] PR description includes Compound Engineered badge with accurate model, harness, and version
|
|
435
459
|
|
|
436
460
|
## When to Use Reviewer Agents
|
|
437
461
|
|
|
@@ -451,6 +475,7 @@ For most features: tests + linting + following patterns is sufficient.
|
|
|
451
475
|
- **Skipping clarifying questions** - Ask now, not after building wrong thing
|
|
452
476
|
- **Ignoring plan references** - The plan has links for a reason
|
|
453
477
|
- **Testing at the end** - Test continuously or suffer later
|
|
454
|
-
- **Forgetting
|
|
478
|
+
- **Forgetting to track progress** - Update task status as you go or lose track of what's done
|
|
455
479
|
- **80% done syndrome** - Finish the feature, don't move on early
|
|
456
480
|
- **Over-reviewing simple changes** - Save reviewer agents for complex work
|
|
481
|
+
|
|
@@ -22,7 +22,7 @@ Custom slash commands have been merged into skills. A file at `.opencode/command
|
|
|
22
22
|
|
|
23
23
|
**Use a skill directory** (`skills/name/SKILL.md`) when:
|
|
24
24
|
- Need supporting reference files, scripts, or templates
|
|
25
|
-
- Background knowledge
|
|
25
|
+
- Background knowledge OpenCode should auto-load
|
|
26
26
|
- Complex enough to benefit from progressive disclosure
|
|
27
27
|
|
|
28
28
|
Both use identical YAML frontmatter and markdown content format.
|
|
@@ -56,18 +56,18 @@ All fields are optional. Only `description` is recommended.
|
|
|
56
56
|
| Field | Required | Description |
|
|
57
57
|
|-------|----------|-------------|
|
|
58
58
|
| `name` | No | Display name. Lowercase letters, numbers, hyphens (max 64 chars). Defaults to directory name. |
|
|
59
|
-
| `description` | Recommended | What it does AND when to use it.
|
|
59
|
+
| `description` | Recommended | What it does AND when to use it. OpenCode uses this for auto-discovery. Max 1024 chars. |
|
|
60
60
|
| `argument-hint` | No | Hint shown during autocomplete. Example: `[issue-number]` |
|
|
61
|
-
| `disable-model-invocation` | No | Set `true` to prevent
|
|
61
|
+
| `disable-model-invocation` | No | Set `true` to prevent OpenCode auto-loading. Use for manual workflows like `/deploy`, `/commit`. Default: `false`. |
|
|
62
62
|
| `user-invocable` | No | Set `false` to hide from `/` menu. Use for background knowledge. Default: `true`. |
|
|
63
|
-
| `allowed-tools` | No | Tools
|
|
63
|
+
| `allowed-tools` | No | Tools OpenCode can use without permission prompts. Example: `Read, Bash(git *)` |
|
|
64
64
|
| `model` | No | Model to use. Options: `haiku`, `sonnet`, `opus`. |
|
|
65
65
|
| `context` | No | Set `fork` to run in isolated subagent context. |
|
|
66
66
|
| `agent` | No | Subagent type when `context: fork`. Options: `Explore`, `Plan`, `general-purpose`, or custom agent name. |
|
|
67
67
|
|
|
68
68
|
### Invocation Control
|
|
69
69
|
|
|
70
|
-
| Frontmatter | User can invoke |
|
|
70
|
+
| Frontmatter | User can invoke | OpenCode can invoke | When loaded |
|
|
71
71
|
|-------------|----------------|-------------------|-------------|
|
|
72
72
|
| (default) | Yes | Yes | Description always in context, full content loads when invoked |
|
|
73
73
|
| `disable-model-invocation: true` | Yes | No | Description not in context, loads only when user invokes |
|
|
@@ -97,22 +97,11 @@ Access individual args: `$ARGUMENTS[0]` or shorthand `$0`, `$1`, `$2`.
|
|
|
97
97
|
|
|
98
98
|
### Dynamic Context Injection
|
|
99
99
|
|
|
100
|
-
|
|
100
|
+
Skills support dynamic context injection: prefix a backtick-wrapped shell command with an exclamation mark, and the preprocessor executes it at load time, replacing the directive with stdout. Write an exclamation mark immediately before the opening backtick of the command you want executed (for example, to inject the current git branch, write the exclamation mark followed by `git branch --show-current` wrapped in backticks).
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
name: pr-summary
|
|
105
|
-
description: Summarize changes in a pull request
|
|
106
|
-
context: fork
|
|
107
|
-
agent: Explore
|
|
108
|
-
---
|
|
109
|
-
|
|
110
|
-
## Context
|
|
111
|
-
- PR diff: !`gh pr diff`
|
|
112
|
-
- Changed files: !`gh pr diff --name-only`
|
|
102
|
+
**Important:** The preprocessor scans the entire SKILL.md as plain text — it does not parse markdown. Directives inside fenced code blocks or inline code spans are still executed. If a skill documents this syntax with literal examples, the preprocessor will attempt to run them, causing load failures. To safely document this feature, describe it in prose (as done here) or place examples in a reference file, which is loaded on-demand by Claude and not preprocessed.
|
|
113
103
|
|
|
114
|
-
|
|
115
|
-
```
|
|
104
|
+
For a concrete example of dynamic context injection in a skill, see [official-spec.md](references/official-spec.md) § "Dynamic Context Injection".
|
|
116
105
|
|
|
117
106
|
### Running in a Subagent
|
|
118
107
|
|
|
@@ -273,3 +262,4 @@ For detailed guidance, see:
|
|
|
273
262
|
|
|
274
263
|
- [Extend Claude with skills - Official Docs](https://code.claude.com/docs/en/skills)
|
|
275
264
|
- [GitHub - anthropics/skills](https://github.com/anthropics/skills)
|
|
265
|
+
|