@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.
Files changed (60) hide show
  1. package/agents/research/best-practices-researcher.md +9 -3
  2. package/agents/research/framework-docs-researcher.md +2 -0
  3. package/agents/research/git-history-analyzer.md +9 -6
  4. package/agents/research/issue-intelligence-analyst.md +232 -0
  5. package/agents/research/repo-research-analyst.md +6 -10
  6. package/commands/.gitkeep +0 -0
  7. package/package.json +1 -1
  8. package/skills/agent-browser/SKILL.md +511 -169
  9. package/skills/agent-browser/references/authentication.md +303 -0
  10. package/skills/agent-browser/references/commands.md +266 -0
  11. package/skills/agent-browser/references/profiling.md +120 -0
  12. package/skills/agent-browser/references/proxy-support.md +194 -0
  13. package/skills/agent-browser/references/session-management.md +193 -0
  14. package/skills/agent-browser/references/snapshot-refs.md +194 -0
  15. package/skills/agent-browser/references/video-recording.md +173 -0
  16. package/skills/agent-browser/templates/authenticated-session.sh +105 -0
  17. package/skills/agent-browser/templates/capture-workflow.sh +69 -0
  18. package/skills/agent-browser/templates/form-automation.sh +62 -0
  19. package/skills/ce-brainstorm/SKILL.md +336 -0
  20. package/{commands/ce/compound.md → skills/ce-compound/SKILL.md} +106 -9
  21. package/skills/ce-compound-refresh/SKILL.md +528 -0
  22. package/skills/ce-ideate/SKILL.md +371 -0
  23. package/{commands/ce/plan.md → skills/ce-plan/SKILL.md} +73 -66
  24. package/skills/ce-plan-beta/SKILL.md +572 -0
  25. package/{commands/ce/review.md → skills/ce-review/SKILL.md} +53 -18
  26. package/{commands/ce/work.md → skills/ce-work/SKILL.md} +88 -63
  27. package/{commands/create-agent-skill.md → skills/create-agent-skill/SKILL.md} +1 -0
  28. package/skills/create-agent-skills/SKILL.md +9 -19
  29. package/{commands/deepen-plan.md → skills/deepen-plan/SKILL.md} +35 -36
  30. package/skills/deepen-plan-beta/SKILL.md +323 -0
  31. package/{commands/deploy-docs.md → skills/deploy-docs/SKILL.md} +26 -33
  32. package/skills/document-review/SKILL.md +14 -8
  33. package/{commands/generate_command.md → skills/generate_command/SKILL.md} +5 -5
  34. package/{commands/heal-skill.md → skills/heal-skill/SKILL.md} +1 -0
  35. package/skills/lfg/SKILL.md +37 -0
  36. package/{commands/report-bug.md → skills/report-bug/SKILL.md} +16 -15
  37. package/{commands/reproduce-bug.md → skills/reproduce-bug/SKILL.md} +10 -9
  38. package/{commands/resolve_todo_parallel.md → skills/resolve_todo_parallel/SKILL.md} +2 -1
  39. package/{commands/slfg.md → skills/slfg/SKILL.md} +8 -4
  40. package/{commands/test-browser.md → skills/test-browser/SKILL.md} +67 -13
  41. package/{commands/test-xcode.md → skills/test-xcode/SKILL.md} +4 -3
  42. package/{commands/triage.md → skills/triage/SKILL.md} +2 -1
  43. package/skills/workflows-brainstorm/SKILL.md +11 -0
  44. package/{commands/workflows/compound.md → skills/workflows-compound/SKILL.md} +2 -2
  45. package/{commands/workflows/plan.md → skills/workflows-plan/SKILL.md} +2 -2
  46. package/{commands/workflows/review.md → skills/workflows-review/SKILL.md} +2 -2
  47. package/{commands/workflows/work.md → skills/workflows-work/SKILL.md} +2 -2
  48. package/agents/workflow/every-style-editor.md +0 -66
  49. package/commands/ce/brainstorm.md +0 -145
  50. package/commands/lfg.md +0 -20
  51. package/commands/workflows/brainstorm.md +0 -145
  52. package/skills/brainstorming/SKILL.md +0 -190
  53. package/skills/skill-creator/SKILL.md +0 -210
  54. package/skills/skill-creator/scripts/init_skill.py +0 -303
  55. package/skills/skill-creator/scripts/package_skill.py +0 -110
  56. package/skills/skill-creator/scripts/quick_validate.py +0 -65
  57. /package/{commands/agent-native-audit.md → skills/agent-native-audit/SKILL.md} +0 -0
  58. /package/{commands/changelog.md → skills/changelog/SKILL.md} +0 -0
  59. /package/{commands/feature-video.md → skills/feature-video/SKILL.md} +0 -0
  60. /package/{commands/resolve_parallel.md → skills/resolve_parallel/SKILL.md} +0 -0
@@ -1,17 +1,17 @@
1
1
  ---
2
2
  name: document-review
3
- description: This skill should be used to refine brainstorm or plan documents before proceeding to the next workflow step. It applies when a brainstorm or plan document exists and the user wants to improve it.
3
+ description: This skill should be used to refine requirements or plan documents before proceeding to the next workflow step. It applies when a requirements document or plan document exists and the user wants to improve it.
4
4
  ---
5
5
 
6
6
  # Document Review
7
7
 
8
- Improve brainstorm or plan documents through structured review.
8
+ Improve requirements or plan documents through structured review.
9
9
 
10
10
  ## Step 1: Get the Document
11
11
 
12
12
  **If a document path is provided:** Read it, then proceed to Step 2.
13
13
 
14
- **If no document is specified:** Ask which document to review, or look for the most recent brainstorm/plan in `docs/brainstorms/` or `docs/plans/`.
14
+ **If no document is specified:** Ask which document to review, or look for the most recent requirements/plan in `docs/brainstorms/` or `docs/plans/`.
15
15
 
16
16
  ## Step 2: Assess
17
17
 
@@ -32,11 +32,12 @@ Score the document against these criteria:
32
32
  | Criterion | What to Check |
33
33
  |-----------|---------------|
34
34
  | **Clarity** | Problem statement is clear, no vague language ("probably," "consider," "try to") |
35
- | **Completeness** | Required sections present, constraints stated, open questions flagged |
36
- | **Specificity** | Concrete enough for next step (brainstorm → can plan, plan → can implement) |
37
- | **YAGNI** | No hypothetical features, simplest approach chosen |
35
+ | **Completeness** | Required sections present, constraints stated, and outstanding questions clearly marked as blocking or deferred |
36
+ | **Specificity** | Concrete enough for next step (requirements → can plan, plan → can implement) |
37
+ | **Appropriate Level** | Requirements doc stays at behavior/scope level and does not drift into implementation unless the document is inherently technical |
38
+ | **YAGNI** | Avoid speculative complexity whose carrying cost outweighs its value; keep low-cost, meaningful polish when it is easy to maintain |
38
39
 
39
- If invoked within a workflow (after `/workflows:brainstorm` or `/workflows:plan`), also check:
40
+ If invoked within a workflow (after `/ce:brainstorm` or `/ce:plan`), also check:
40
41
  - **User intent fidelity** — Document reflects what was discussed, assumptions validated
41
42
 
42
43
  ## Step 4: Identify the Critical Improvement
@@ -56,7 +57,7 @@ Present your findings, then:
56
57
  Simplification is purposeful removal of unnecessary complexity, not shortening for its own sake.
57
58
 
58
59
  **Simplify when:**
59
- - Content serves hypothetical future needs, not current ones
60
+ - Content serves hypothetical future needs without enough current value to justify its carrying cost
60
61
  - Sections repeat information already covered elsewhere
61
62
  - Detail exceeds what's needed to take the next step
62
63
  - Abstractions or structure add overhead without clarity
@@ -65,6 +66,10 @@ Simplification is purposeful removal of unnecessary complexity, not shortening f
65
66
  - Constraints or edge cases that affect implementation
66
67
  - Rationale that explains why alternatives were rejected
67
68
  - Open questions that need resolution
69
+ - Deferred technical or research questions that are intentionally carried forward to the next stage
70
+
71
+ **Also remove when inappropriate:**
72
+ - Library choices, file structures, endpoints, schemas, or other implementation details that do not belong in a non-technical requirements document
68
73
 
69
74
  ## Step 6: Offer Next Action
70
75
 
@@ -85,3 +90,4 @@ Return control to the caller (workflow or user) after selection.
85
90
  - Do not add new sections or requirements the user didn't discuss
86
91
  - Do not over-engineer or add complexity
87
92
  - Do not create separate review files or add metadata sections
93
+
@@ -7,7 +7,7 @@ disable-model-invocation: true
7
7
 
8
8
  # Create a Custom OpenCode Command
9
9
 
10
- Create a new slash command in `.opencode/commands/` for the requested task.
10
+ Create a new skill in `.opencode/skills/` for the requested task.
11
11
 
12
12
  ## Goal
13
13
 
@@ -114,7 +114,7 @@ Implement #$ARGUMENTS following these steps:
114
114
  3. Implement
115
115
  - Follow existing code patterns (reference specific files)
116
116
  - Write tests first if doing TDD
117
- - Ensure code follows AGENTS.md conventions
117
+ - Ensure code follows CLAUDE.md conventions
118
118
 
119
119
  4. Verify
120
120
  - Run tests: `bin/rails test`
@@ -128,10 +128,10 @@ Implement #$ARGUMENTS following these steps:
128
128
 
129
129
  ## Creating the Command File
130
130
 
131
- 1. **Create the file** at `.opencode/commands/[name].md` (subdirectories like `workflows/` supported)
131
+ 1. **Create the directory** at `.opencode/skills/[name]/SKILL.md`
132
132
  2. **Start with YAML frontmatter** (see section above)
133
- 3. **Structure the command** using the template above
134
- 4. **Test the command** by using it with appropriate arguments
133
+ 3. **Structure the skill** using the template above
134
+ 4. **Test the skill** by using it with appropriate arguments
135
135
 
136
136
  ## Command File Template
137
137
 
@@ -145,3 +145,4 @@ Before completing:
145
145
  - Verify git commit created if option 1 was selected
146
146
  - Check no unintended files were modified
147
147
  </verification>
148
+
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: lfg
3
+ description: Full autonomous engineering workflow
4
+ argument-hint: '[feature description]'
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ CRITICAL: You MUST execute every step below IN ORDER. Do NOT skip any required step. Do NOT jump ahead to coding or implementation. The plan phase (step 2, and step 3 when warranted) MUST be completed and verified BEFORE any work begins. Violating this order produces bad output.
9
+
10
+ 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.
11
+
12
+ 2. `/systematic:ce-plan $ARGUMENTS`
13
+
14
+ GATE: STOP. Verify that the `ce:plan` workflow produced a plan file in `docs/plans/`. If no plan file was created, run `/systematic:ce-plan $ARGUMENTS` again. Do NOT proceed to step 3 until a written plan exists.
15
+
16
+ 3. **Conditionally** run `/systematic:deepen-plan`
17
+
18
+ Run the `deepen-plan` workflow only if the plan is `Standard` or `Deep`, touches a high-risk area (auth, security, payments, migrations, external APIs, significant rollout concerns), or still has obvious confidence gaps in decisions, sequencing, system-wide impact, risks, or verification.
19
+
20
+ GATE: STOP. If you ran the `deepen-plan` workflow, confirm the plan was deepened or explicitly judged sufficiently grounded. If you skipped it, briefly note why and proceed to step 4.
21
+
22
+ 4. `/systematic:ce-work`
23
+
24
+ GATE: STOP. Verify that implementation work was performed - files were created or modified beyond the plan. Do NOT proceed to step 5 if no code changes were made.
25
+
26
+ 5. `/systematic:ce-review`
27
+
28
+ 6. `/systematic:resolve_todo_parallel`
29
+
30
+ 7. `/systematic:test-browser`
31
+
32
+ 8. `/systematic:feature-video`
33
+
34
+ 9. Output `<promise>DONE</promise>` when video is in PR
35
+
36
+ Start with step 2 now (or step 1 if ralph-wiggum is available). Remember: plan FIRST, then work. Never skip the plan.
37
+
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  name: report-bug
3
- description: Report a bug in the systematic plugin
3
+ description: Report a bug in the compound-engineering plugin
4
4
  argument-hint: '[optional: brief description of the bug]'
5
5
  disable-model-invocation: true
6
6
  ---
7
7
 
8
- # Report a Systematic Plugin Bug
8
+ # Report a Compounding Engineering Plugin Bug
9
9
 
10
- Report bugs encountered while using the systematic plugin. This command gathers structured information and creates a GitHub issue for the maintainer.
10
+ Report bugs encountered while using the compound-engineering plugin. This command gathers structured information and creates a GitHub issue for the maintainer.
11
11
 
12
12
  ## Step 1: Gather Bug Information
13
13
 
@@ -42,10 +42,10 @@ Use the question tool to collect the following information:
42
42
  Automatically gather:
43
43
  ```bash
44
44
  # Get plugin version
45
- cat ~/.opencode/plugins/installed_plugins.json 2>/dev/null | grep -A5 "systematic" | head -10 || echo "Plugin info not found"
45
+ cat ~/.config/opencode/plugins/installed_plugins.json 2>/dev/null | grep -A5 "compound-engineering" | head -10 || echo "Plugin info not found"
46
46
 
47
47
  # Get OpenCode version
48
- opencode --version 2>/dev/null || echo "OpenCode version unknown"
48
+ claude --version 2>/dev/null || echo "Claude CLI version unknown"
49
49
 
50
50
  # Get OS info
51
51
  uname -a
@@ -64,7 +64,7 @@ Create a well-structured bug report with:
64
64
  ## Environment
65
65
 
66
66
  - **Plugin Version:** [from installed_plugins.json]
67
- - **OpenCode Version:** [from opencode --version]
67
+ - **OpenCode Version:** [from claude --version]
68
68
  - **OS:** [from uname]
69
69
 
70
70
  ## What Happened
@@ -101,17 +101,17 @@ Use the GitHub CLI to create the issue:
101
101
 
102
102
  ```bash
103
103
  gh issue create \
104
- --repo marcusrbrown/systematic \
105
- --title "[systematic] Bug: [Brief description]" \
104
+ --repo EveryInc/compound-engineering-plugin \
105
+ --title "[compound-engineering] Bug: [Brief description]" \
106
106
  --body "[Formatted bug report from Step 3]" \
107
- --label "bug,systematic"
107
+ --label "bug,compound-engineering"
108
108
  ```
109
109
 
110
110
  **Note:** If labels don't exist, create without labels:
111
111
  ```bash
112
112
  gh issue create \
113
- --repo marcusrbrown/systematic \
114
- --title "[systematic] Bug: [Brief description]" \
113
+ --repo EveryInc/compound-engineering-plugin \
114
+ --title "[compound-engineering] Bug: [Brief description]" \
115
115
  --body "[Formatted bug report]"
116
116
  ```
117
117
 
@@ -120,17 +120,17 @@ gh issue create \
120
120
  After the issue is created:
121
121
  1. Display the issue URL to the user
122
122
  2. Thank them for reporting the bug
123
- 3. Let them know the maintainer will be notified
123
+ 3. Let them know the maintainer (Kieran Klaassen) will be notified
124
124
 
125
125
  ## Output Format
126
126
 
127
127
  ```
128
128
  ✅ Bug report submitted successfully!
129
129
 
130
- Issue: https://github.com/marcusrbrown/systematic/issues/[NUMBER]
131
- Title: [systematic] Bug: [description]
130
+ Issue: https://github.com/EveryInc/compound-engineering-plugin/issues/[NUMBER]
131
+ Title: [compound-engineering] Bug: [description]
132
132
 
133
- Thank you for helping improve the systematic plugin!
133
+ Thank you for helping improve the compound-engineering plugin!
134
134
  The maintainer will review your report and respond as soon as possible.
135
135
  ```
136
136
 
@@ -149,3 +149,4 @@ This command does NOT collect:
149
149
  - File paths beyond basic OS info
150
150
 
151
151
  Only technical information about the bug is included in the report.
152
+
@@ -13,8 +13,8 @@ Look at github issue #$ARGUMENTS and read the issue description and comments.
13
13
 
14
14
  Run the following agents in parallel to investigate the bug:
15
15
 
16
- 1. Spawn explore agents to investigate logs and console output relevant to the issue.
17
- 2. Spawn explore agents to investigate logs and console output relevant to the issue.
16
+ 1. task rails-console-explorer(issue_description)
17
+ 2. task appsignal-log-investigator(issue_description)
18
18
 
19
19
  Think about the places it could go wrong looking at the codebase. Look for logging output we can look for.
20
20
 
@@ -29,8 +29,8 @@ If the bug is UI-related or involves user flows, use Playwright to visually repr
29
29
  ### Step 1: Verify Server is Running
30
30
 
31
31
  ```
32
- mcp__playwright__browser_navigate({ url: "http://localhost:3000" })
33
- mcp__playwright__browser_snapshot({})
32
+ mcp__plugin_compound-engineering_pw__browser_navigate({ url: "http://localhost:3000" })
33
+ mcp__plugin_compound-engineering_pw__browser_snapshot({})
34
34
  ```
35
35
 
36
36
  If server not running, inform user to start `bin/dev`.
@@ -40,8 +40,8 @@ If server not running, inform user to start `bin/dev`.
40
40
  Based on the issue description, navigate to the relevant page:
41
41
 
42
42
  ```
43
- mcp__playwright__browser_navigate({ url: "http://localhost:3000/[affected_route]" })
44
- mcp__playwright__browser_snapshot({})
43
+ mcp__plugin_compound-engineering_pw__browser_navigate({ url: "http://localhost:3000/[affected_route]" })
44
+ mcp__plugin_compound-engineering_pw__browser_snapshot({})
45
45
  ```
46
46
 
47
47
  ### Step 3: Capture Screenshots
@@ -49,7 +49,7 @@ mcp__playwright__browser_snapshot({})
49
49
  Take screenshots at each step of reproducing the bug:
50
50
 
51
51
  ```
52
- mcp__playwright__browser_take_screenshot({ filename: "bug-[issue]-step-1.png" })
52
+ mcp__plugin_compound-engineering_pw__browser_take_screenshot({ filename: "bug-[issue]-step-1.png" })
53
53
  ```
54
54
 
55
55
  ### Step 4: Follow User Flow
@@ -65,7 +65,7 @@ Reproduce the exact steps from the issue:
65
65
 
66
66
  3. **Check for console errors:**
67
67
  ```
68
- mcp__playwright__browser_console_messages({ level: "error" })
68
+ mcp__plugin_compound-engineering_pw__browser_console_messages({ level: "error" })
69
69
  ```
70
70
 
71
71
  ### Step 5: Capture Bug State
@@ -77,7 +77,7 @@ When you reproduce the bug:
77
77
  3. Document the exact steps that triggered it
78
78
 
79
79
  ```
80
- mcp__playwright__browser_take_screenshot({ filename: "bug-[issue]-reproduced.png" })
80
+ mcp__plugin_compound-engineering_pw__browser_take_screenshot({ filename: "bug-[issue]-reproduced.png" })
81
81
  ```
82
82
 
83
83
  ## Phase 3: Document Findings
@@ -98,3 +98,4 @@ Add a comment to the issue with:
98
98
  3. **Screenshots** - Visual evidence of the bug (upload captured screenshots)
99
99
  4. **Relevant Code** - File paths and line numbers
100
100
  5. **Suggested Fix** - If you have one
101
+
@@ -12,7 +12,7 @@ Resolve all TODO comments using parallel processing.
12
12
 
13
13
  Get all unresolved TODOs from the /todos/\*.md directory
14
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 systematic pipeline artifacts that are intentional and permanent.
15
+ If any todo recommends deleting, removing, or gitignoring files in `docs/brainstorms/`, `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
16
 
17
17
  ### 2. Plan
18
18
 
@@ -35,3 +35,4 @@ Always run all in parallel subagents/Tasks for each Todo item.
35
35
  - Commit changes
36
36
  - Remove the TODO from the file, and mark it as resolved.
37
37
  - Push to remote
38
+
@@ -10,15 +10,18 @@ Swarm-enabled LFG. Run these steps in order, parallelizing where indicated. Do n
10
10
  ## Sequential Phase
11
11
 
12
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. `/workflows:plan $ARGUMENTS`
14
- 3. `/systematic:deepen-plan`
15
- 4. `/workflows:work` **Use swarm mode**: Make a Task list and launch an army of agent swarm subagents to build the plan
13
+ 2. `/systematic:ce-plan $ARGUMENTS`
14
+ 3. **Conditionally** run `/systematic:deepen-plan`
15
+ - Run the `deepen-plan` workflow only if the plan is `Standard` or `Deep`, touches a high-risk area (auth, security, payments, migrations, external APIs, significant rollout concerns), or still has obvious confidence gaps in decisions, sequencing, system-wide impact, risks, or verification
16
+ - If you run the `deepen-plan` workflow, confirm the plan was deepened or explicitly judged sufficiently grounded before moving on
17
+ - If you skip it, note why and continue to step 4
18
+ 4. `/systematic:ce-work` — **Use swarm mode**: Make a Task list and launch an army of agent swarm subagents to build the plan
16
19
 
17
20
  ## Parallel Phase
18
21
 
19
22
  After work completes, launch steps 5 and 6 as **parallel swarm agents** (both only need code to be written):
20
23
 
21
- 5. `/workflows:review` — spawn as background Task agent
24
+ 5. `/systematic:ce-review` — spawn as background Task agent
22
25
  6. `/systematic:test-browser` — spawn as background Task agent
23
26
 
24
27
  Wait for both to complete before continuing.
@@ -30,3 +33,4 @@ Wait for both to complete before continuing.
30
33
  9. Output `<promise>DONE</promise>` when video is in PR
31
34
 
32
35
  Start with step 1 now.
36
+
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: test-browser
3
3
  description: Run browser tests on pages affected by current PR or branch
4
- argument-hint: '[PR number, branch name, or ''current'' for current branch]'
4
+ argument-hint: '[PR number, branch name, ''current'', or --port PORT]'
5
5
  ---
6
6
 
7
7
  # Browser Test Command
@@ -122,31 +122,82 @@ Build a list of URLs to test based on the mapping.
122
122
 
123
123
  </file_to_route_mapping>
124
124
 
125
- ### 4. Verify Server is Running
125
+ ### 4. Detect Dev Server Port
126
+
127
+ <detect_port>
128
+
129
+ Determine the dev server port using this priority order:
130
+
131
+ **Priority 1: Explicit argument**
132
+ If the user passed a port number (e.g., `/test-browser 5000` or `/test-browser --port 5000`), use that port directly.
133
+
134
+ **Priority 2: AGENTS.md / project instructions**
135
+ ```bash
136
+ # Check CLAUDE.md for port references
137
+ grep -Eio '(port\s*[:=]\s*|localhost:)([0-9]{4,5})' CLAUDE.md 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1
138
+ ```
139
+
140
+ **Priority 3: package.json scripts**
141
+ ```bash
142
+ # Check dev/start scripts for --port flags
143
+ grep -Eo '\-\-port[= ]+[0-9]{4,5}' package.json 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1
144
+ ```
145
+
146
+ **Priority 4: Environment files**
147
+ ```bash
148
+ # Check .env, .env.local, .env.development for PORT=
149
+ grep -h '^PORT=' .env .env.local .env.development 2>/dev/null | tail -1 | cut -d= -f2
150
+ ```
151
+
152
+ **Priority 5: Default fallback**
153
+ If none of the above yields a port, default to `3000`.
154
+
155
+ Store the result in a `PORT` variable for use in all subsequent steps.
156
+
157
+ ```bash
158
+ # Combined detection (run this)
159
+ PORT="${EXPLICIT_PORT:-}"
160
+ if [ -z "$PORT" ]; then
161
+ PORT=$(grep -Eio '(port\s*[:=]\s*|localhost:)([0-9]{4,5})' CLAUDE.md 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1)
162
+ fi
163
+ if [ -z "$PORT" ]; then
164
+ PORT=$(grep -Eo '\-\-port[= ]+[0-9]{4,5}' package.json 2>/dev/null | grep -Eo '[0-9]{4,5}' | head -1)
165
+ fi
166
+ if [ -z "$PORT" ]; then
167
+ PORT=$(grep -h '^PORT=' .env .env.local .env.development 2>/dev/null | tail -1 | cut -d= -f2)
168
+ fi
169
+ PORT="${PORT:-3000}"
170
+ echo "Using dev server port: $PORT"
171
+ ```
172
+
173
+ </detect_port>
174
+
175
+ ### 5. Verify Server is Running
126
176
 
127
177
  <check_server>
128
178
 
129
- Before testing, verify the local server is accessible:
179
+ Before testing, verify the local server is accessible using the detected port:
130
180
 
131
181
  ```bash
132
- agent-browser open http://localhost:3000
182
+ agent-browser open http://localhost:${PORT}
133
183
  agent-browser snapshot -i
134
184
  ```
135
185
 
136
186
  If server is not running, inform user:
137
187
  ```markdown
138
- **Server not running**
188
+ **Server not running on port ${PORT}**
139
189
 
140
190
  Please start your development server:
141
191
  - Rails: `bin/dev` or `rails server`
142
192
  - Node/Next.js: `npm run dev`
193
+ - Custom port: `/test-browser --port <your-port>`
143
194
 
144
195
  Then run `/test-browser` again.
145
196
  ```
146
197
 
147
198
  </check_server>
148
199
 
149
- ### 5. Test Each Affected Page
200
+ ### 6. Test Each Affected Page
150
201
 
151
202
  <test_pages>
152
203
 
@@ -154,13 +205,13 @@ For each affected route, use agent-browser CLI commands (NOT Chrome MCP):
154
205
 
155
206
  **Step 1: Navigate and capture snapshot**
156
207
  ```bash
157
- agent-browser open "http://localhost:3000/[route]"
208
+ agent-browser open "http://localhost:${PORT}/[route]"
158
209
  agent-browser snapshot -i
159
210
  ```
160
211
 
161
212
  **Step 2: For headed mode (visual debugging)**
162
213
  ```bash
163
- agent-browser --headed open "http://localhost:3000/[route]"
214
+ agent-browser --headed open "http://localhost:${PORT}/[route]"
164
215
  agent-browser --headed snapshot -i
165
216
  ```
166
217
 
@@ -185,7 +236,7 @@ agent-browser screenshot --full page-name-full.png # Full page
185
236
 
186
237
  </test_pages>
187
238
 
188
- ### 6. Human Verification (When Required)
239
+ ### 7. Human Verification (When Required)
189
240
 
190
241
  <human_verification>
191
242
 
@@ -214,7 +265,7 @@ Did it work correctly?
214
265
 
215
266
  </human_verification>
216
267
 
217
- ### 7. Handle Failures
268
+ ### 8. Handle Failures
218
269
 
219
270
  <failure_handling>
220
271
 
@@ -253,7 +304,7 @@ When a test fails:
253
304
 
254
305
  </failure_handling>
255
306
 
256
- ### 8. Test Summary
307
+ ### 9. Test Summary
257
308
 
258
309
  <test_summary>
259
310
 
@@ -263,7 +314,7 @@ After all tests complete, present summary:
263
314
  ## Browser Test Results
264
315
 
265
316
  **Test Scope:** PR #[number] / [branch name]
266
- **Server:** http://localhost:3000
317
+ **Server:** http://localhost:${PORT}
267
318
 
268
319
  ### Pages Tested: [count]
269
320
 
@@ -295,7 +346,7 @@ After all tests complete, present summary:
295
346
  ## Quick Usage Examples
296
347
 
297
348
  ```bash
298
- # Test current branch changes
349
+ # Test current branch changes (auto-detects port)
299
350
  /test-browser
300
351
 
301
352
  # Test specific PR
@@ -303,6 +354,9 @@ After all tests complete, present summary:
303
354
 
304
355
  # Test specific branch
305
356
  /test-browser feature/new-dashboard
357
+
358
+ # Test on a specific port
359
+ /test-browser --port 5000
306
360
  ```
307
361
 
308
362
  ## agent-browser CLI Reference
@@ -323,10 +323,11 @@ mcp__xcodebuildmcp__shutdown_simulator({ simulator_id: "[uuid]" })
323
323
  /xcode-test current
324
324
  ```
325
325
 
326
- ## Integration with /workflows:review
326
+ ## Integration with /systematic:ce-review
327
327
 
328
- When reviewing PRs that touch iOS code, the `/workflows:review` command can spawn this as a subagent:
328
+ When reviewing PRs that touch iOS code, the `/systematic:ce-review` command can spawn this as a subagent:
329
329
 
330
330
  ```
331
- task general-purpose("Run /xcode-test for scheme [name]. Build, install on simulator, test key screens, check for crashes.")
331
+ Task general-purpose("Run /xcode-test for scheme [name]. Build, install on simulator, test key screens, check for crashes.")
332
332
  ```
333
+
@@ -132,7 +132,7 @@ Do you want to add this to the todo list?
132
132
  ## Work Log
133
133
 
134
134
  ### {date} - Approved for Work
135
- **By:** Systematic Triage System
135
+ **By:** Claude Triage System
136
136
  **Actions:**
137
137
  - Issue approved during triage session
138
138
  - Status changed from pending → ready
@@ -309,3 +309,4 @@ What would you like to do next?
309
309
  2. commit the todos
310
310
  3. nothing, go chill
311
311
  ```
312
+
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: workflows:brainstorm
3
+ description: '[DEPRECATED] Use /ce:brainstorm instead — renamed for clarity.'
4
+ argument-hint: '[feature idea or problem to explore]'
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ NOTE: /workflows:brainstorm is deprecated. Please use /ce:brainstorm instead. This alias will be removed in a future version.
9
+
10
+ /ce:brainstorm $ARGUMENTS
11
+
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflows:compound
3
- description: "[DEPRECATED] Use /ce:compound instead — renamed for clarity."
4
- argument-hint: "[optional: brief context about the fix]"
3
+ description: '[DEPRECATED] Use /ce:compound instead — renamed for clarity.'
4
+ argument-hint: '[optional: brief context about the fix]'
5
5
  disable-model-invocation: true
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflows:plan
3
- description: "[DEPRECATED] Use /ce:plan instead — renamed for clarity."
4
- argument-hint: "[feature description, bug report, or improvement idea]"
3
+ description: '[DEPRECATED] Use /ce:plan instead — renamed for clarity.'
4
+ argument-hint: '[feature description, bug report, or improvement idea]'
5
5
  disable-model-invocation: true
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflows:review
3
- description: "[DEPRECATED] Use /ce:review instead — renamed for clarity."
4
- argument-hint: "[PR number, GitHub URL, branch name, or latest]"
3
+ description: '[DEPRECATED] Use /ce:review instead — renamed for clarity.'
4
+ argument-hint: '[PR number, GitHub URL, branch name, or latest]'
5
5
  disable-model-invocation: true
6
6
  ---
7
7
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: workflows:work
3
- description: "[DEPRECATED] Use /ce:work instead — renamed for clarity."
4
- argument-hint: "[plan file, specification, or todo file path]"
3
+ description: '[DEPRECATED] Use /ce:work instead — renamed for clarity.'
4
+ argument-hint: '[plan file, specification, or todo file path]'
5
5
  disable-model-invocation: true
6
6
  ---
7
7
 
@@ -1,66 +0,0 @@
1
- ---
2
- name: every-style-editor
3
- description: Reviews and edits text content to conform to Every's editorial style guide. Use when written content needs style compliance checks for headlines, punctuation, voice, and formatting.
4
- tools: Task, Glob, Grep, LS, ExitPlanMode, Read, Edit, MultiEdit, Write, NotebookRead, NotebookEdit, WebFetch, TodoWrite, WebSearch
5
- mode: subagent
6
- temperature: 0.1
7
- ---
8
-
9
- You are an expert copy editor specializing in Every's house style guide. Your role is to meticulously review text content and suggest edits to ensure compliance with Every's specific editorial standards.
10
-
11
- When reviewing content, you will:
12
-
13
- 1. **Systematically check each style rule** - Go through the style guide items one by one, checking the text against each rule
14
- 2. **Provide specific edit suggestions** - For each issue found, quote the problematic text and provide the corrected version
15
- 3. **Explain the rule being applied** - Reference which style guide rule necessitates each change
16
- 4. **Maintain the author's voice** - Make only the changes necessary for style compliance while preserving the original tone and meaning
17
-
18
- **Every Style Guide Rules to Apply:**
19
-
20
- - Headlines use title case; everything else uses sentence case
21
- - Companies are singular ("it" not "they"); teams/people within companies are plural
22
- - Remove unnecessary "actually," "very," or "just"
23
- - Hyperlink 2-4 words when linking to sources
24
- - Cut adverbs where possible
25
- - Use active voice instead of passive voice
26
- - Spell out numbers one through nine (except years at sentence start); use numerals for 10+
27
- - Use italics for emphasis (never bold or underline)
28
- - Image credits: _Source: X/Name_ or _Source: Website name_
29
- - Don't capitalize job titles
30
- - Capitalize after colons only if introducing independent clauses
31
- - Use Oxford commas (x, y, and z)
32
- - Use commas between independent clauses only
33
- - No space after ellipsis...
34
- - Em dashes—like this—with no spaces (max 2 per paragraph)
35
- - Hyphenate compound adjectives except with adverbs ending in "ly"
36
- - Italicize titles of books, newspapers, movies, TV shows, games
37
- - Full names on first mention, last names thereafter (first names in newsletters/social)
38
- - Percentages: "7 percent" (numeral + spelled out)
39
- - Numbers over 999 take commas: 1,000
40
- - Punctuation outside parentheses (unless full sentence inside)
41
- - Periods and commas inside quotation marks
42
- - Single quotes for quotes within quotes
43
- - Comma before quote if introduced; no comma if text leads directly into quote
44
- - Use "earlier/later/previously" instead of "above/below"
45
- - Use "more/less/fewer" instead of "over/under" for quantities
46
- - Avoid slashes; use hyphens when needed
47
- - Don't start sentences with "This" without clear antecedent
48
- - Avoid starting with "We have" or "We get"
49
- - Avoid clichés and jargon
50
- - "Two times faster" not "2x" (except for the common "10x" trope)
51
- - Use "$1 billion" not "one billion dollars"
52
- - Identify people by company/title (except well-known figures like Mark Zuckerberg)
53
- - Button text is always sentence case -- "Complete setup"
54
-
55
- **Output Format:**
56
-
57
- Provide your review as a numbered list of suggested edits, grouping related changes when logical. For each edit:
58
-
59
- - Quote the original text
60
- - Provide the corrected version
61
- - Briefly explain which style rule applies
62
-
63
- If the text is already compliant with the style guide, acknowledge this and highlight any particularly well-executed style choices.
64
-
65
- Be thorough but constructive, focusing on helping the content shine while maintaining Every's professional standards.
66
-