@fro.bot/systematic 1.11.1 → 1.13.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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflows:review
3
3
  description: Perform exhaustive code reviews using multi-agent analysis, ultra-thinking, and worktrees
4
- argument-hint: "[PR number, GitHub URL, branch name, or latest]"
4
+ argument-hint: '[PR number, GitHub URL, branch name, or latest]'
5
5
  ---
6
6
 
7
7
  # Review Command
@@ -31,7 +31,7 @@ argument-hint: "[PR number, GitHub URL, branch name, or latest]"
31
31
  First, I need to determine the review target type and set up the code for analysis.
32
32
  </thinking>
33
33
 
34
- #### Immediate Actions:
34
+ #### Immediate Actions
35
35
 
36
36
  <task_list>
37
37
 
@@ -48,29 +48,40 @@ Ensure that the code is ready for analysis (either in worktree or on current bra
48
48
 
49
49
  </task_list>
50
50
 
51
- #### Parallel Agents to review the PR:
51
+ #### Protected Artifacts
52
+
53
+ <protected_artifacts>
54
+ The following paths are systematic pipeline artifacts and must never be flagged for deletion, removal, or gitignore by any review agent:
55
+
56
+ - `docs/plans/*.md` — Plan files created by `/workflows:plan`. These are living documents that track implementation progress (checkboxes are checked off by `/workflows:work`).
57
+ - `docs/solutions/*.md` — Solution documents created during the pipeline.
58
+
59
+ 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.
60
+ </protected_artifacts>
61
+
62
+ #### Parallel Agents to review the PR
52
63
 
53
64
  <parallel_tasks>
54
65
 
55
66
  Run ALL or most of these agents at the same time:
56
67
 
57
- 1. Task kieran-rails-reviewer(PR content)
58
- 2. Task dhh-rails-reviewer(PR title)
59
- 3. If turbo is used: Task rails-turbo-expert(PR content)
60
- 4. Task git-history-analyzer(PR content)
61
- 5. Task dependency-detective(PR content)
62
- 6. Task pattern-recognition-specialist(PR content)
63
- 7. Task architecture-strategist(PR content)
64
- 8. Task code-philosopher(PR content)
65
- 9. Task security-sentinel(PR content)
66
- 10. Task performance-oracle(PR content)
67
- 11. Task devops-harmony-analyst(PR content)
68
- 12. Task data-integrity-guardian(PR content)
69
- 13. Task agent-native-reviewer(PR content) - Verify new features are agent-accessible
68
+ 1. task kieran-rails-reviewer(PR content)
69
+ 2. task dhh-rails-reviewer(PR title)
70
+ 3. If turbo is used: task rails-turbo-expert(PR content)
71
+ 4. task git-history-analyzer(PR content)
72
+ 5. task dependency-detective(PR content)
73
+ 6. task pattern-recognition-specialist(PR content)
74
+ 7. task architecture-strategist(PR content)
75
+ 8. task code-philosopher(PR content)
76
+ 9. task security-sentinel(PR content)
77
+ 10. task performance-oracle(PR content)
78
+ 11. task devops-harmony-analyst(PR content)
79
+ 12. task data-integrity-guardian(PR content)
80
+ 13. task agent-native-reviewer(PR content) - Verify new features are agent-accessible
70
81
 
71
82
  </parallel_tasks>
72
83
 
73
- #### Conditional Agents (Run if applicable):
84
+ #### Conditional Agents (Run if applicable)
74
85
 
75
86
  <conditional_agents>
76
87
 
@@ -78,8 +89,8 @@ These agents are run ONLY when the PR matches specific criteria. Check the PR fi
78
89
 
79
90
  **If PR contains database migrations (db/migrate/*.rb files) or data backfills:**
80
91
 
81
- 14. Task data-migration-expert(PR content) - Validates ID mappings match production, checks for swapped values, verifies rollback safety
82
- 15. Task deployment-verification-agent(PR content) - Creates Go/No-Go deployment checklist with SQL verification queries
92
+ 14. task data-migration-expert(PR content) - Validates ID mappings match production, checks for swapped values, verifies rollback safety
93
+ 15. task deployment-verification-agent(PR content) - Creates Go/No-Go deployment checklist with SQL verification queries
83
94
 
84
95
  **When to run migration agents:**
85
96
  - PR includes files matching `db/migrate/*.rb`
@@ -191,7 +202,7 @@ Complete system context map with component interactions
191
202
 
192
203
  ### 4. Simplification and Minimalism Review
193
204
 
194
- Run the Task code-simplicity-reviewer() to see if we can simplify the code.
205
+ Run the task code-simplicity-reviewer() to see if we can simplify the code.
195
206
 
196
207
  ### 5. Findings Synthesis and Todo Creation Using file-todos Skill
197
208
 
@@ -207,6 +218,7 @@ Remove duplicates, prioritize by severity and impact.
207
218
  <synthesis_tasks>
208
219
 
209
220
  - [ ] Collect findings from all parallel agents
221
+ - [ ] Discard any findings that recommend deleting or gitignoring files in `docs/plans/` or `docs/solutions/` (see Protected Artifacts above)
210
222
  - [ ] Categorize by type: security, performance, architecture, quality, etc.
211
223
  - [ ] Assign severity levels: 🔴 CRITICAL (P1), 🟡 IMPORTANT (P2), 🔵 NICE-TO-HAVE (P3)
212
224
  - [ ] Remove duplicate or overlapping findings
@@ -222,18 +234,18 @@ Remove duplicates, prioritize by severity and impact.
222
234
 
223
235
  **Option A: Direct File Creation (Fast)**
224
236
 
225
- - Create todo files directly using Write tool
237
+ - Create todo files directly using write tool
226
238
  - All findings in parallel for speed
227
- - Use standard template from `.claude/skills/file-todos/assets/todo-template.md`
239
+ - Use standard template from `.opencode/skills/file-todos/assets/todo-template.md`
228
240
  - Follow naming convention: `{issue_id}-pending-{priority}-{description}.md`
229
241
 
230
242
  **Option B: Sub-Agents in Parallel (Recommended for Scale)** For large PRs with 15+ findings, use sub-agents to create finding files in parallel:
231
243
 
232
244
  ```bash
233
245
  # Launch multiple finding-creator agents in parallel
234
- Task() - Create todos for first finding
235
- Task() - Create todos for second finding
236
- Task() - Create todos for third finding
246
+ task() - Create todos for first finding
247
+ task() - Create todos for second finding
248
+ task() - Create todos for third finding
237
249
  etc. for each finding.
238
250
  ```
239
251
 
@@ -272,7 +284,7 @@ Sub-agents can:
272
284
 
273
285
  The skill provides:
274
286
 
275
- - Template location: `.claude/skills/file-todos/assets/todo-template.md`
287
+ - Template location: `.opencode/skills/file-todos/assets/todo-template.md`
276
288
  - Naming convention: `{issue_id}-{status}-{priority}-{description}.md`
277
289
  - YAML frontmatter structure: status, priority, issue_id, tags, dependencies
278
290
  - All required sections: Problem Statement, Findings, Solutions, etc.
@@ -292,7 +304,7 @@ Sub-agents can:
292
304
  004-pending-p3-unused-parameter.md
293
305
  ```
294
306
 
295
- 5. Follow template structure from file-todos skill: `.claude/skills/file-todos/assets/todo-template.md`
307
+ 5. Follow template structure from file-todos skill: `.opencode/skills/file-todos/assets/todo-template.md`
296
308
 
297
309
  **Todo File Structure (from template):**
298
310
 
@@ -400,7 +412,7 @@ After creating all todo files, present comprehensive summary:
400
412
  - Update Work Log as you work
401
413
  - Commit todos: `git add todos/ && git commit -m "refactor: add code review findings"`
402
414
 
403
- ### Severity Breakdown:
415
+ ### Severity Breakdown
404
416
 
405
417
  **🔴 P1 (Critical - Blocks Merge):**
406
418
 
@@ -468,12 +480,12 @@ After presenting the Summary Report, offer appropriate testing based on project
468
480
 
469
481
  </offer_testing>
470
482
 
471
- #### If User Accepts Web Testing:
483
+ #### If User Accepts Web Testing
472
484
 
473
485
  Spawn a subagent to run browser tests (preserves main context):
474
486
 
475
487
  ```
476
- Task general-purpose("Run /test-browser for PR #[number]. Test all affected pages, check for console errors, handle failures by creating todos and fixing.")
488
+ task general-purpose("Run /test-browser for PR #[number]. Test all affected pages, check for console errors, handle failures by creating todos and fixing.")
477
489
  ```
478
490
 
479
491
  The subagent will:
@@ -487,12 +499,12 @@ The subagent will:
487
499
 
488
500
  **Standalone:** `/test-browser [PR number]`
489
501
 
490
- #### If User Accepts iOS Testing:
502
+ #### If User Accepts iOS Testing
491
503
 
492
504
  Spawn a subagent to run Xcode tests (preserves main context):
493
505
 
494
506
  ```
495
- Task general-purpose("Run /xcode-test for scheme [name]. Build for simulator, install, launch, take screenshots, check for crashes.")
507
+ task general-purpose("Run /xcode-test for scheme [name]. Build for simulator, install, launch, take screenshots, check for crashes.")
496
508
  ```
497
509
 
498
510
  The subagent will:
@@ -512,3 +524,4 @@ The subagent will:
512
524
 
513
525
  Any **🔴 P1 (CRITICAL)** findings must be addressed before merging the PR. Present these prominently and ensure they're resolved before accepting the PR.
514
526
  ```
527
+
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflows:work
3
3
  description: Execute work plans efficiently while maintaining quality and finishing features
4
- argument-hint: "[plan file, specification, or todo file path]"
4
+ argument-hint: '[plan file, specification, or todo file path]'
5
5
  ---
6
6
 
7
7
  # Work Plan Execution Command
@@ -73,7 +73,7 @@ This command takes a work document (plan, specification, or todo file) and execu
73
73
  - You plan to switch between branches frequently
74
74
 
75
75
  3. **Create Todo List**
76
- - Use TodoWrite to break plan into actionable tasks
76
+ - Use todowrite to break plan into actionable tasks
77
77
  - Include dependencies between tasks
78
78
  - Prioritize based on what needs to be done first
79
79
  - Include testing and quality check tasks
@@ -87,18 +87,18 @@ This command takes a work document (plan, specification, or todo file) and execu
87
87
 
88
88
  ```
89
89
  while (tasks remain):
90
- - Mark task as in_progress in TodoWrite
90
+ - Mark task as in_progress in todowrite
91
91
  - Read any referenced files from the plan
92
92
  - Look for similar patterns in codebase
93
93
  - Implement following existing conventions
94
94
  - Write tests for new functionality
95
95
  - Run tests after changes
96
- - Mark task as completed in TodoWrite
96
+ - Mark task as completed in todowrite
97
97
  - Mark off the corresponding checkbox in the plan file ([ ] → [x])
98
98
  - Evaluate for incremental commit (see below)
99
99
  ```
100
100
 
101
- **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.
101
+ **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.
102
102
 
103
103
  2. **Incremental Commits**
104
104
 
@@ -134,7 +134,7 @@ This command takes a work document (plan, specification, or todo file) and execu
134
134
  - The plan should reference similar code - read those files first
135
135
  - Match naming conventions exactly
136
136
  - Reuse existing components where possible
137
- - Follow project coding standards (see CLAUDE.md)
137
+ - Follow project coding standards (see AGENTS.md)
138
138
  - When in doubt, grep for similar implementations
139
139
 
140
140
  4. **Test Continuously**
@@ -154,7 +154,7 @@ This command takes a work document (plan, specification, or todo file) and execu
154
154
  - Repeat until implementation matches design
155
155
 
156
156
  6. **Track Progress**
157
- - Keep TodoWrite updated as you complete tasks
157
+ - Keep todowrite updated as you complete tasks
158
158
  - Note any blockers or unexpected discoveries
159
159
  - Create new tasks if scope expands
160
160
  - Keep user informed of major milestones
@@ -169,7 +169,7 @@ This command takes a work document (plan, specification, or todo file) and execu
169
169
  # Run full test suite (use project's test command)
170
170
  # Examples: bin/rails test, npm test, pytest, go test, etc.
171
171
 
172
- # Run linting (per CLAUDE.md)
172
+ # Run linting (per AGENTS.md)
173
173
  # Use linting-agent before pushing to origin
174
174
  ```
175
175
 
@@ -181,19 +181,19 @@ This command takes a work document (plan, specification, or todo file) and execu
181
181
  - **kieran-rails-reviewer**: Verify Rails conventions (Rails projects)
182
182
  - **performance-oracle**: Check for performance issues
183
183
  - **security-sentinel**: Scan for security vulnerabilities
184
- - **cora-test-reviewer**: Review test quality (CORA projects)
184
+ - **cora-test-reviewer**: Review test quality (Rails projects with comprehensive test coverage)
185
185
 
186
- Run reviewers in parallel with Task tool:
186
+ Run reviewers in parallel with task tool:
187
187
 
188
188
  ```
189
- Task(code-simplicity-reviewer): "Review changes for simplicity"
190
- Task(kieran-rails-reviewer): "Check Rails conventions"
189
+ task(code-simplicity-reviewer): "Review changes for simplicity"
190
+ task(kieran-rails-reviewer): "Check Rails conventions"
191
191
  ```
192
192
 
193
193
  Present findings to user and address critical issues.
194
194
 
195
195
  3. **Final Validation**
196
- - All TodoWrite tasks marked completed
196
+ - All todowrite tasks marked completed
197
197
  - All tests pass
198
198
  - Linting passes
199
199
  - Code follows existing patterns
@@ -215,9 +215,9 @@ This command takes a work document (plan, specification, or todo file) and execu
215
215
 
216
216
  Brief explanation if needed.
217
217
 
218
- 🤖 Generated with [Claude Code](https://claude.com/claude-code)
218
+ 🤖 Generated with [OpenCode](https://opencode.ai)
219
219
 
220
- Co-Authored-By: Claude <noreply@anthropic.com>
220
+ Co-Authored-By: OpenCode <noreply@opencode.ai>
221
221
  EOF
222
222
  )"
223
223
  ```
@@ -279,7 +279,7 @@ This command takes a work document (plan, specification, or todo file) and execu
279
279
 
280
280
  ---
281
281
 
282
- [![Compound Engineered](https://img.shields.io/badge/Compound-Engineered-6366f1)](https://github.com/EveryInc/compound-engineering-plugin) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
282
+ [![Systematic](https://img.shields.io/badge/Systematic-Engineered-6366f1)](https://github.com/marcusrbrown/systematic) 🤖 Generated with [OpenCode](https://opencode.ai)
283
283
  EOF
284
284
  )"
285
285
  ```
@@ -292,6 +292,78 @@ This command takes a work document (plan, specification, or todo file) and execu
292
292
 
293
293
  ---
294
294
 
295
+ ## Swarm Mode (Optional)
296
+
297
+ > **Note:** Swarm mode coordination primitives (`Teammate` API — team creation, shutdown signals, cleanup) are not yet available in OpenCode. The concepts below are aspirational. For current parallel execution, use the `task` tool with multiple background subagents, or see the `dispatching-parallel-agents` skill.
298
+
299
+ For complex plans with multiple independent workstreams, enable swarm mode for parallel execution with coordinated agents.
300
+
301
+ ### When to Use Swarm Mode
302
+
303
+ | Use Swarm Mode when... | Use Standard Mode when... |
304
+ |------------------------|---------------------------|
305
+ | Plan has 5+ independent tasks | Plan is linear/sequential |
306
+ | Multiple specialists needed (review + test + implement) | Single-focus work |
307
+ | Want maximum parallelism | Simpler mental model preferred |
308
+ | Large feature with clear phases | Small feature or bug fix |
309
+
310
+ ### Enabling Swarm Mode
311
+
312
+ To trigger swarm execution, say:
313
+
314
+ > "Make a Task list and launch an army of agent swarm subagents to build the plan"
315
+
316
+ Or explicitly request: "Use swarm mode for this work"
317
+
318
+ ### Swarm Workflow
319
+
320
+ When swarm mode is enabled, the workflow changes:
321
+
322
+ 1. **Create Team**
323
+ ```
324
+ Teammate({ operation: "spawnTeam", team_name: "work-{timestamp}" })
325
+ ```
326
+
327
+ 2. **Create Task List with Dependencies**
328
+ - Parse plan into TaskCreate items
329
+ - Set up blockedBy relationships for sequential dependencies
330
+ - Independent tasks have no blockers (can run in parallel)
331
+
332
+ 3. **Spawn Specialized Teammates**
333
+ ```
334
+ Task({
335
+ team_name: "work-{timestamp}",
336
+ name: "implementer",
337
+ subagent_type: "general-purpose",
338
+ prompt: "Claim implementation tasks, execute, mark complete",
339
+ run_in_background: true
340
+ })
341
+
342
+ Task({
343
+ team_name: "work-{timestamp}",
344
+ name: "tester",
345
+ subagent_type: "general-purpose",
346
+ prompt: "Claim testing tasks, run tests, mark complete",
347
+ run_in_background: true
348
+ })
349
+ ```
350
+
351
+ 4. **Coordinate and Monitor**
352
+ - Team lead monitors task completion
353
+ - Spawn additional workers as phases unblock
354
+ - Handle plan approval if required
355
+
356
+ 5. **Cleanup**
357
+ ```
358
+ Teammate({ operation: "requestShutdown", target_agent_id: "implementer" })
359
+ Teammate({ operation: "requestShutdown", target_agent_id: "tester" })
360
+ Teammate({ operation: "cleanup" })
361
+ ```
362
+
363
+ See the `orchestrating-swarms` skill for detailed swarm patterns and best practices.
364
+
365
+ ---
366
+
295
367
  ## Key Principles
296
368
 
297
369
  ### Start Fast, Execute Faster
@@ -330,7 +402,7 @@ This command takes a work document (plan, specification, or todo file) and execu
330
402
  Before creating PR, verify:
331
403
 
332
404
  - [ ] All clarifying questions asked and answered
333
- - [ ] All TodoWrite tasks marked completed
405
+ - [ ] All todowrite tasks marked completed
334
406
  - [ ] Tests pass (run project's test command)
335
407
  - [ ] Linting passes (use linting-agent)
336
408
  - [ ] Code follows existing patterns
@@ -338,7 +410,7 @@ Before creating PR, verify:
338
410
  - [ ] Before/after screenshots captured and uploaded (for UI changes)
339
411
  - [ ] Commit messages follow conventional format
340
412
  - [ ] PR description includes summary, testing notes, and screenshots
341
- - [ ] PR description includes Compound Engineered badge
413
+ - [ ] PR description includes Systematic badge
342
414
 
343
415
  ## When to Use Reviewer Agents
344
416
 
@@ -358,6 +430,6 @@ For most features: tests + linting + following patterns is sufficient.
358
430
  - **Skipping clarifying questions** - Ask now, not after building wrong thing
359
431
  - **Ignoring plan references** - The plan has links for a reason
360
432
  - **Testing at the end** - Test continuously or suffer later
361
- - **Forgetting TodoWrite** - Track progress or lose track of what's done
433
+ - **Forgetting todowrite** - Track progress or lose track of what's done
362
434
  - **80% done syndrome** - Finish the feature, don't move on early
363
435
  - **Over-reviewing simple changes** - Save reviewer agents for complex work
package/dist/cli.js CHANGED
@@ -6,12 +6,24 @@ import {
6
6
  findCommandsInDir,
7
7
  findSkillsInDir,
8
8
  getConfigPaths
9
- } from "./index-we4f9de3.js";
9
+ } from "./index-bky4p9gw.js";
10
10
 
11
11
  // src/cli.ts
12
12
  import fs from "fs";
13
13
  import path from "path";
14
- var VERSION = "0.1.0";
14
+ var getPackageVersion = () => {
15
+ try {
16
+ const packageJsonPath = path.resolve(import.meta.dirname, "..", "package.json");
17
+ if (!fs.existsSync(packageJsonPath))
18
+ return "unknown";
19
+ const content = fs.readFileSync(packageJsonPath, "utf8");
20
+ const parsed = JSON.parse(content);
21
+ return parsed.version ?? "unknown";
22
+ } catch {
23
+ return "unknown";
24
+ }
25
+ };
26
+ var VERSION = getPackageVersion();
15
27
  var HELP = `
16
28
  systematic - OpenCode plugin for systematic engineering workflows
17
29