@fro.bot/systematic 1.12.0 → 1.14.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.
- package/README.md +19 -5
- package/agents/design/design-implementation-reviewer.md +19 -1
- package/agents/design/design-iterator.md +31 -1
- package/agents/design/figma-design-sync.md +192 -0
- package/agents/research/best-practices-researcher.md +17 -1
- package/agents/research/framework-docs-researcher.md +19 -2
- package/agents/research/git-history-analyzer.md +60 -0
- package/agents/research/learnings-researcher.md +266 -0
- package/agents/research/repo-research-analyst.md +136 -0
- package/agents/review/agent-native-reviewer.md +263 -0
- package/agents/review/architecture-strategist.md +19 -2
- package/agents/review/code-simplicity-reviewer.md +18 -2
- package/agents/review/data-integrity-guardian.md +87 -0
- package/agents/review/data-migration-expert.md +114 -0
- package/agents/review/deployment-verification-agent.md +176 -0
- package/agents/review/dhh-rails-reviewer.md +68 -0
- package/agents/review/kieran-rails-reviewer.md +117 -0
- package/agents/review/kieran-typescript-reviewer.md +126 -0
- package/agents/review/pattern-recognition-specialist.md +19 -3
- package/agents/review/performance-oracle.md +31 -2
- package/agents/review/security-sentinel.md +25 -2
- package/agents/workflow/bug-reproduction-validator.md +18 -1
- package/agents/workflow/lint.md +19 -0
- package/agents/workflow/pr-comment-resolver.md +86 -0
- package/agents/workflow/spec-flow-analyzer.md +24 -1
- package/commands/agent-native-audit.md +1 -1
- package/commands/deepen-plan.md +20 -50
- package/commands/lfg.md +5 -9
- package/commands/workflows/brainstorm.md +17 -8
- package/commands/workflows/compound.md +95 -60
- package/commands/workflows/plan.md +22 -24
- package/commands/workflows/review.md +43 -32
- package/commands/workflows/work.md +91 -19
- package/dist/cli.js +1 -1
- package/dist/{index-0ftaxvrt.js → index-bky4p9gw.js} +6 -6
- package/dist/index.js +1 -1
- package/dist/lib/manifest.d.ts +14 -0
- package/package.json +1 -1
|
@@ -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:
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 (
|
|
184
|
+
- **cora-test-reviewer**: Review test quality (Rails projects with comprehensive test coverage)
|
|
185
185
|
|
|
186
|
-
Run reviewers in parallel with
|
|
186
|
+
Run reviewers in parallel with task tool:
|
|
187
187
|
|
|
188
188
|
```
|
|
189
|
-
|
|
190
|
-
|
|
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
|
|
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
|
-
|
|
218
|
+
🤖 Generated with [OpenCode](https://opencode.ai)
|
|
219
219
|
|
|
220
|
-
|
|
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
|
-
|
|
282
|
+
[](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
|
|
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
|
|
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
|
|
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
|
@@ -322,11 +322,11 @@ import fs3 from "fs";
|
|
|
322
322
|
var CONVERTER_VERSION = 2;
|
|
323
323
|
var cache = new Map;
|
|
324
324
|
var TOOL_MAPPINGS = [
|
|
325
|
-
[/\bTask\s+tool\b/gi, "
|
|
326
|
-
[/\bTask\s+([\w-]+)\s*:/g, "
|
|
327
|
-
[/\bTask\s+([\w-]+)\s*\(/g, "
|
|
328
|
-
[/\bTask\s*\(/g, "
|
|
329
|
-
[/\bTask\b(?=\s+to\s+\w)/g, "
|
|
325
|
+
[/\bTask\s+tool\b/gi, "task tool"],
|
|
326
|
+
[/\bTask\s+([\w-]+)\s*:/g, "task $1:"],
|
|
327
|
+
[/\bTask\s+([\w-]+)\s*\(/g, "task $1("],
|
|
328
|
+
[/\bTask\s*\(/g, "task("],
|
|
329
|
+
[/\bTask\b(?=\s+to\s+\w)/g, "task"],
|
|
330
330
|
[/\bTodoWrite\b/g, "todowrite"],
|
|
331
331
|
[/\bAskUserQuestion\b/g, "question"],
|
|
332
332
|
[/\bWebSearch\b/g, "google_search"],
|
|
@@ -349,7 +349,7 @@ var PATH_REPLACEMENTS = [
|
|
|
349
349
|
[/compound-engineering:/g, "systematic:"]
|
|
350
350
|
];
|
|
351
351
|
var TOOL_NAME_MAP = {
|
|
352
|
-
task: "
|
|
352
|
+
task: "task",
|
|
353
353
|
todowrite: "todowrite",
|
|
354
354
|
askuserquestion: "question",
|
|
355
355
|
websearch: "google_search",
|
package/dist/index.js
CHANGED
package/dist/lib/manifest.d.ts
CHANGED
|
@@ -3,12 +3,26 @@ export interface ManifestSource {
|
|
|
3
3
|
branch: string;
|
|
4
4
|
url: string;
|
|
5
5
|
}
|
|
6
|
+
export interface ManifestRewrite {
|
|
7
|
+
field: string;
|
|
8
|
+
reason: string;
|
|
9
|
+
original?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface ManualOverride {
|
|
12
|
+
field: string;
|
|
13
|
+
reason: string;
|
|
14
|
+
original?: string;
|
|
15
|
+
overridden_at: string;
|
|
16
|
+
}
|
|
6
17
|
export interface ManifestDefinition {
|
|
7
18
|
source: string;
|
|
8
19
|
upstream_path: string;
|
|
9
20
|
upstream_commit: string;
|
|
10
21
|
synced_at: string;
|
|
11
22
|
notes: string;
|
|
23
|
+
upstream_content_hash?: string;
|
|
24
|
+
rewrites?: ManifestRewrite[];
|
|
25
|
+
manual_overrides?: ManualOverride[];
|
|
12
26
|
}
|
|
13
27
|
export interface SyncManifest {
|
|
14
28
|
$schema?: string;
|