@fro.bot/systematic 1.22.7 → 1.23.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/package.json +1 -1
- package/skills/agent-browser/SKILL.md +511 -170
- 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/agent-native-audit/SKILL.md +279 -0
- package/skills/ce-brainstorm/SKILL.md +146 -0
- package/skills/ce-compound/SKILL.md +317 -0
- package/skills/ce-plan/SKILL.md +642 -0
- package/skills/ce-review/SKILL.md +559 -0
- package/skills/ce-work/SKILL.md +471 -0
- package/skills/changelog/SKILL.md +139 -0
- package/skills/create-agent-skill/SKILL.md +10 -0
- package/skills/create-agent-skills/SKILL.md +3 -14
- package/skills/deepen-plan/SKILL.md +545 -0
- package/skills/deploy-docs/SKILL.md +113 -0
- package/skills/feature-video/SKILL.md +352 -0
- package/skills/generate_command/SKILL.md +163 -0
- package/skills/heal-skill/SKILL.md +148 -0
- package/skills/lfg/SKILL.md +34 -0
- package/skills/report-bug/SKILL.md +151 -0
- package/skills/reproduce-bug/SKILL.md +101 -0
- package/skills/resolve_parallel/SKILL.md +35 -0
- package/skills/resolve_todo_parallel/SKILL.md +38 -0
- package/skills/slfg/SKILL.md +33 -0
- package/skills/test-browser/SKILL.md +394 -0
- package/skills/test-xcode/SKILL.md +333 -0
- package/skills/triage/SKILL.md +312 -0
- package/skills/workflows-brainstorm/SKILL.md +11 -0
- package/skills/workflows-compound/SKILL.md +10 -0
- package/skills/workflows-plan/SKILL.md +10 -0
- package/skills/workflows-review/SKILL.md +10 -0
- package/skills/workflows-work/SKILL.md +10 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: report-bug
|
|
3
|
+
description: Report a bug in the Systematic plugin
|
|
4
|
+
argument-hint: '[optional: brief description of the bug]'
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Report a Systematic Plugin Bug
|
|
9
|
+
|
|
10
|
+
Report bugs encountered while using the Systematic plugin. This command gathers structured information and creates a GitHub issue for the maintainer.
|
|
11
|
+
|
|
12
|
+
## Step 1: Gather Bug Information
|
|
13
|
+
|
|
14
|
+
Use the question tool to collect the following information:
|
|
15
|
+
|
|
16
|
+
**Question 1: Bug Category**
|
|
17
|
+
- What type of issue are you experiencing?
|
|
18
|
+
- Options: Agent not working, Command not working, Skill not working, MCP server issue, Installation problem, Other
|
|
19
|
+
|
|
20
|
+
**Question 2: Specific Component**
|
|
21
|
+
- Which specific component is affected?
|
|
22
|
+
- Ask for the name of the agent, command, skill, or MCP server
|
|
23
|
+
|
|
24
|
+
**Question 3: What Happened (Actual Behavior)**
|
|
25
|
+
- Ask: "What happened when you used this component?"
|
|
26
|
+
- Get a clear description of the actual behavior
|
|
27
|
+
|
|
28
|
+
**Question 4: What Should Have Happened (Expected Behavior)**
|
|
29
|
+
- Ask: "What did you expect to happen instead?"
|
|
30
|
+
- Get a clear description of expected behavior
|
|
31
|
+
|
|
32
|
+
**Question 5: Steps to Reproduce**
|
|
33
|
+
- Ask: "What steps did you take before the bug occurred?"
|
|
34
|
+
- Get reproduction steps
|
|
35
|
+
|
|
36
|
+
**Question 6: Error Messages**
|
|
37
|
+
- Ask: "Did you see any error messages? If so, please share them."
|
|
38
|
+
- Capture any error output
|
|
39
|
+
|
|
40
|
+
## Step 2: Collect Environment Information
|
|
41
|
+
|
|
42
|
+
Automatically gather:
|
|
43
|
+
```bash
|
|
44
|
+
# Get plugin version
|
|
45
|
+
cat ~/.config/opencode/plugins/installed_plugins.json 2>/dev/null | grep -A5 "systematic" | head -10 || echo "Plugin info not found"
|
|
46
|
+
|
|
47
|
+
# Get OpenCode version
|
|
48
|
+
opencode --version 2>/dev/null || echo "OpenCode CLI version unknown"
|
|
49
|
+
|
|
50
|
+
# Get OS info
|
|
51
|
+
uname -a
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Step 3: Format the Bug Report
|
|
55
|
+
|
|
56
|
+
Create a well-structured bug report with:
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
## Bug Description
|
|
60
|
+
|
|
61
|
+
**Component:** [Type] - [Name]
|
|
62
|
+
**Summary:** [Brief description from argument or collected info]
|
|
63
|
+
|
|
64
|
+
## Environment
|
|
65
|
+
|
|
66
|
+
- **Plugin Version:** [from installed_plugins.json]
|
|
67
|
+
- **OpenCode Version:** [from opencode --version]
|
|
68
|
+
- **OS:** [from uname]
|
|
69
|
+
|
|
70
|
+
## What Happened
|
|
71
|
+
|
|
72
|
+
[Actual behavior description]
|
|
73
|
+
|
|
74
|
+
## Expected Behavior
|
|
75
|
+
|
|
76
|
+
[Expected behavior description]
|
|
77
|
+
|
|
78
|
+
## Steps to Reproduce
|
|
79
|
+
|
|
80
|
+
1. [Step 1]
|
|
81
|
+
2. [Step 2]
|
|
82
|
+
3. [Step 3]
|
|
83
|
+
|
|
84
|
+
## Error Messages
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
[Any error output]
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Additional Context
|
|
91
|
+
|
|
92
|
+
[Any other relevant information]
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
*Reported via `/report-bug` command*
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Step 4: Create GitHub Issue
|
|
99
|
+
|
|
100
|
+
Use the GitHub CLI to create the issue:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
gh issue create \
|
|
104
|
+
--repo marcusrbrown/systematic \
|
|
105
|
+
--title "[systematic] Bug: [Brief description]" \
|
|
106
|
+
--body "[Formatted bug report from Step 3]" \
|
|
107
|
+
--label "bug,systematic"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**Note:** If labels don't exist, create without labels:
|
|
111
|
+
```bash
|
|
112
|
+
gh issue create \
|
|
113
|
+
--repo marcusrbrown/systematic \
|
|
114
|
+
--title "[systematic] Bug: [Brief description]" \
|
|
115
|
+
--body "[Formatted bug report]"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Step 5: Confirm Submission
|
|
119
|
+
|
|
120
|
+
After the issue is created:
|
|
121
|
+
1. Display the issue URL to the user
|
|
122
|
+
2. Thank them for reporting the bug
|
|
123
|
+
3. Let them know the maintainer (Kieran Klaassen) will be notified
|
|
124
|
+
|
|
125
|
+
## Output Format
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
✅ Bug report submitted successfully!
|
|
129
|
+
|
|
130
|
+
Issue: https://github.com/marcusrbrown/systematic/issues/[NUMBER]
|
|
131
|
+
Title: [systematic] Bug: [description]
|
|
132
|
+
|
|
133
|
+
Thank you for helping improve the Systematic plugin!
|
|
134
|
+
The maintainer will review your report and respond as soon as possible.
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Error Handling
|
|
138
|
+
|
|
139
|
+
- If `gh` CLI is not authenticated: Prompt user to run `gh auth login` first
|
|
140
|
+
- If issue creation fails: Display the formatted report so user can manually create the issue
|
|
141
|
+
- If required information is missing: Re-prompt for that specific field
|
|
142
|
+
|
|
143
|
+
## Privacy Notice
|
|
144
|
+
|
|
145
|
+
This command does NOT collect:
|
|
146
|
+
- Personal information
|
|
147
|
+
- API keys or credentials
|
|
148
|
+
- Private code from your projects
|
|
149
|
+
- File paths beyond basic OS info
|
|
150
|
+
|
|
151
|
+
Only technical information about the bug is included in the report.
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reproduce-bug
|
|
3
|
+
description: Reproduce and investigate a bug using logs, console inspection, and browser screenshots
|
|
4
|
+
argument-hint: '[GitHub issue number]'
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Reproduce Bug Command
|
|
9
|
+
|
|
10
|
+
Look at github issue #$ARGUMENTS and read the issue description and comments.
|
|
11
|
+
|
|
12
|
+
## Phase 1: Log Investigation
|
|
13
|
+
|
|
14
|
+
Run the following agents in parallel to investigate the bug:
|
|
15
|
+
|
|
16
|
+
1. task rails-console-explorer(issue_description)
|
|
17
|
+
2. task appsignal-log-investigator(issue_description)
|
|
18
|
+
|
|
19
|
+
Think about the places it could go wrong looking at the codebase. Look for logging output we can look for.
|
|
20
|
+
|
|
21
|
+
Run the agents again to find any logs that could help us reproduce the bug.
|
|
22
|
+
|
|
23
|
+
Keep running these agents until you have a good idea of what is going on.
|
|
24
|
+
|
|
25
|
+
## Phase 2: Visual Reproduction with Playwright
|
|
26
|
+
|
|
27
|
+
If the bug is UI-related or involves user flows, use Playwright to visually reproduce it:
|
|
28
|
+
|
|
29
|
+
### Step 1: Verify Server is Running
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
mcp__plugin_compound-engineering_pw__browser_navigate({ url: "http://localhost:3000" })
|
|
33
|
+
mcp__plugin_compound-engineering_pw__browser_snapshot({})
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
If server not running, inform user to start `bin/dev`.
|
|
37
|
+
|
|
38
|
+
### Step 2: Navigate to Affected Area
|
|
39
|
+
|
|
40
|
+
Based on the issue description, navigate to the relevant page:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
mcp__plugin_compound-engineering_pw__browser_navigate({ url: "http://localhost:3000/[affected_route]" })
|
|
44
|
+
mcp__plugin_compound-engineering_pw__browser_snapshot({})
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Step 3: Capture Screenshots
|
|
48
|
+
|
|
49
|
+
Take screenshots at each step of reproducing the bug:
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
mcp__plugin_compound-engineering_pw__browser_take_screenshot({ filename: "bug-[issue]-step-1.png" })
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Step 4: Follow User Flow
|
|
56
|
+
|
|
57
|
+
Reproduce the exact steps from the issue:
|
|
58
|
+
|
|
59
|
+
1. **Read the issue's reproduction steps**
|
|
60
|
+
2. **Execute each step using Playwright:**
|
|
61
|
+
- `browser_click` for clicking elements
|
|
62
|
+
- `browser_type` for filling forms
|
|
63
|
+
- `browser_snapshot` to see the current state
|
|
64
|
+
- `browser_take_screenshot` to capture evidence
|
|
65
|
+
|
|
66
|
+
3. **Check for console errors:**
|
|
67
|
+
```
|
|
68
|
+
mcp__plugin_compound-engineering_pw__browser_console_messages({ level: "error" })
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Step 5: Capture Bug State
|
|
72
|
+
|
|
73
|
+
When you reproduce the bug:
|
|
74
|
+
|
|
75
|
+
1. Take a screenshot of the bug state
|
|
76
|
+
2. Capture console errors
|
|
77
|
+
3. Document the exact steps that triggered it
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
mcp__plugin_compound-engineering_pw__browser_take_screenshot({ filename: "bug-[issue]-reproduced.png" })
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Phase 3: Document Findings
|
|
84
|
+
|
|
85
|
+
**Reference Collection:**
|
|
86
|
+
|
|
87
|
+
- [ ] Document all research findings with specific file paths (e.g., `app/services/example_service.rb:42`)
|
|
88
|
+
- [ ] Include screenshots showing the bug reproduction
|
|
89
|
+
- [ ] List console errors if any
|
|
90
|
+
- [ ] Document the exact reproduction steps
|
|
91
|
+
|
|
92
|
+
## Phase 4: Report Back
|
|
93
|
+
|
|
94
|
+
Add a comment to the issue with:
|
|
95
|
+
|
|
96
|
+
1. **Findings** - What you discovered about the cause
|
|
97
|
+
2. **Reproduction Steps** - Exact steps to reproduce (verified)
|
|
98
|
+
3. **Screenshots** - Visual evidence of the bug (upload captured screenshots)
|
|
99
|
+
4. **Relevant Code** - File paths and line numbers
|
|
100
|
+
5. **Suggested Fix** - If you have one
|
|
101
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: resolve_parallel
|
|
3
|
+
description: Resolve all TODO comments using parallel processing
|
|
4
|
+
argument-hint: '[optional: specific TODO pattern or file]'
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Resolve all TODO comments using parallel processing.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
### 1. Analyze
|
|
13
|
+
|
|
14
|
+
Gather the things todo from above.
|
|
15
|
+
|
|
16
|
+
### 2. Plan
|
|
17
|
+
|
|
18
|
+
Create a todowrite list of all unresolved items grouped by type.Make sure to look at dependencies that might occur and prioritize the ones needed by others. For example, if you need to change a name, you must wait to do the others. Output a mermaid flow diagram showing how we can do this. Can we do everything in parallel? Do we need to do one first that leads to others in parallel? I'll put the to-dos in the mermaid diagram flow‑wise so the agent knows how to proceed in order.
|
|
19
|
+
|
|
20
|
+
### 3. Implement (PARALLEL)
|
|
21
|
+
|
|
22
|
+
Spawn a pr-comment-resolver agent for each unresolved item in parallel.
|
|
23
|
+
|
|
24
|
+
So if there are 3 comments, it will spawn 3 pr-comment-resolver agents in parallel. liek this
|
|
25
|
+
|
|
26
|
+
1. task pr-comment-resolver(comment1)
|
|
27
|
+
2. task pr-comment-resolver(comment2)
|
|
28
|
+
3. task pr-comment-resolver(comment3)
|
|
29
|
+
|
|
30
|
+
Always run all in parallel subagents/tasks for each Todo item.
|
|
31
|
+
|
|
32
|
+
### 4. Commit & Resolve
|
|
33
|
+
|
|
34
|
+
- Commit changes
|
|
35
|
+
- Push to remote
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: resolve_todo_parallel
|
|
3
|
+
description: Resolve all pending CLI todos using parallel processing
|
|
4
|
+
argument-hint: '[optional: specific todo ID or pattern]'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Resolve all TODO comments using parallel processing.
|
|
8
|
+
|
|
9
|
+
## Workflow
|
|
10
|
+
|
|
11
|
+
### 1. Analyze
|
|
12
|
+
|
|
13
|
+
Get all unresolved TODOs from the /todos/\*.md directory
|
|
14
|
+
|
|
15
|
+
If any todo recommends deleting, removing, or gitignoring files in `docs/plans/` or `docs/solutions/`, skip it and mark it as `wont_fix`. These are compound-engineering pipeline artifacts that are intentional and permanent.
|
|
16
|
+
|
|
17
|
+
### 2. Plan
|
|
18
|
+
|
|
19
|
+
Create a todowrite list of all unresolved items grouped by type.Make sure to look at dependencies that might occur and prioritize the ones needed by others. For example, if you need to change a name, you must wait to do the others. Output a mermaid flow diagram showing how we can do this. Can we do everything in parallel? Do we need to do one first that leads to others in parallel? I'll put the to-dos in the mermaid diagram flow‑wise so the agent knows how to proceed in order.
|
|
20
|
+
|
|
21
|
+
### 3. Implement (PARALLEL)
|
|
22
|
+
|
|
23
|
+
Spawn a pr-comment-resolver agent for each unresolved item in parallel.
|
|
24
|
+
|
|
25
|
+
So if there are 3 comments, it will spawn 3 pr-comment-resolver agents in parallel. liek this
|
|
26
|
+
|
|
27
|
+
1. task pr-comment-resolver(comment1)
|
|
28
|
+
2. task pr-comment-resolver(comment2)
|
|
29
|
+
3. task pr-comment-resolver(comment3)
|
|
30
|
+
|
|
31
|
+
Always run all in parallel subagents/Tasks for each Todo item.
|
|
32
|
+
|
|
33
|
+
### 4. Commit & Resolve
|
|
34
|
+
|
|
35
|
+
- Commit changes
|
|
36
|
+
- Remove the TODO from the file, and mark it as resolved.
|
|
37
|
+
- Push to remote
|
|
38
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: slfg
|
|
3
|
+
description: Full autonomous engineering workflow using swarm mode for parallel execution
|
|
4
|
+
argument-hint: '[feature description]'
|
|
5
|
+
disable-model-invocation: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Swarm-enabled LFG. Run these steps in order, parallelizing where indicated. Do not stop between steps — complete every step through to the end.
|
|
9
|
+
|
|
10
|
+
## Sequential Phase
|
|
11
|
+
|
|
12
|
+
1. **Optional:** If the `ralph-wiggum` skill is available, run `/ralph-wiggum:ralph-loop "finish all slash commands" --completion-promise "DONE"`. If not available or it fails, skip and continue to step 2 immediately.
|
|
13
|
+
2. `/ce:plan $ARGUMENTS`
|
|
14
|
+
3. `/systematic:deepen-plan`
|
|
15
|
+
4. `/ce:work` — **Use swarm mode**: Make a Task list and launch an army of agent swarm subagents to build the plan
|
|
16
|
+
|
|
17
|
+
## Parallel Phase
|
|
18
|
+
|
|
19
|
+
After work completes, launch steps 5 and 6 as **parallel swarm agents** (both only need code to be written):
|
|
20
|
+
|
|
21
|
+
5. `/ce:review` — spawn as background Task agent
|
|
22
|
+
6. `/systematic:test-browser` — spawn as background Task agent
|
|
23
|
+
|
|
24
|
+
Wait for both to complete before continuing.
|
|
25
|
+
|
|
26
|
+
## Finalize Phase
|
|
27
|
+
|
|
28
|
+
7. `/systematic:resolve_todo_parallel` — resolve any findings from the review
|
|
29
|
+
8. `/systematic:feature-video` — record the final walkthrough and add to PR
|
|
30
|
+
9. Output `<promise>DONE</promise>` when video is in PR
|
|
31
|
+
|
|
32
|
+
Start with step 1 now.
|
|
33
|
+
|