@fro.bot/systematic 2.0.2 → 2.0.3

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 (56) hide show
  1. package/agents/design/figma-design-sync.md +1 -1
  2. package/agents/document-review/coherence-reviewer.md +40 -0
  3. package/agents/document-review/design-lens-reviewer.md +46 -0
  4. package/agents/document-review/feasibility-reviewer.md +42 -0
  5. package/agents/document-review/product-lens-reviewer.md +50 -0
  6. package/agents/document-review/scope-guardian-reviewer.md +54 -0
  7. package/agents/document-review/security-lens-reviewer.md +38 -0
  8. package/agents/research/best-practices-researcher.md +2 -1
  9. package/agents/research/git-history-analyzer.md +1 -1
  10. package/agents/research/repo-research-analyst.md +164 -9
  11. package/agents/review/api-contract-reviewer.md +49 -0
  12. package/agents/review/correctness-reviewer.md +49 -0
  13. package/agents/review/data-migrations-reviewer.md +53 -0
  14. package/agents/review/maintainability-reviewer.md +49 -0
  15. package/agents/review/pattern-recognition-specialist.md +2 -1
  16. package/agents/review/performance-reviewer.md +51 -0
  17. package/agents/review/reliability-reviewer.md +49 -0
  18. package/agents/review/schema-drift-detector.md +12 -10
  19. package/agents/review/security-reviewer.md +51 -0
  20. package/agents/review/testing-reviewer.md +48 -0
  21. package/agents/workflow/pr-comment-resolver.md +1 -1
  22. package/agents/workflow/spec-flow-analyzer.md +60 -89
  23. package/package.json +1 -1
  24. package/skills/agent-browser/SKILL.md +69 -48
  25. package/skills/ce-brainstorm/SKILL.md +2 -1
  26. package/skills/ce-compound/SKILL.md +26 -1
  27. package/skills/ce-compound-refresh/SKILL.md +11 -1
  28. package/skills/ce-ideate/SKILL.md +2 -1
  29. package/skills/ce-plan/SKILL.md +424 -414
  30. package/skills/ce-review/SKILL.md +12 -13
  31. package/skills/ce-review-beta/SKILL.md +506 -0
  32. package/skills/ce-review-beta/references/diff-scope.md +31 -0
  33. package/skills/ce-review-beta/references/findings-schema.json +128 -0
  34. package/skills/ce-review-beta/references/persona-catalog.md +50 -0
  35. package/skills/ce-review-beta/references/review-output-template.md +115 -0
  36. package/skills/ce-review-beta/references/subagent-template.md +56 -0
  37. package/skills/ce-work/SKILL.md +14 -6
  38. package/skills/ce-work-beta/SKILL.md +14 -8
  39. package/skills/claude-permissions-optimizer/SKILL.md +15 -14
  40. package/skills/deepen-plan/SKILL.md +348 -483
  41. package/skills/document-review/SKILL.md +160 -52
  42. package/skills/feature-video/SKILL.md +209 -178
  43. package/skills/file-todos/SKILL.md +72 -94
  44. package/skills/frontend-design/SKILL.md +243 -27
  45. package/skills/git-worktree/SKILL.md +37 -28
  46. package/skills/lfg/SKILL.md +7 -7
  47. package/skills/reproduce-bug/SKILL.md +154 -60
  48. package/skills/resolve-pr-parallel/SKILL.md +19 -12
  49. package/skills/resolve-todo-parallel/SKILL.md +9 -6
  50. package/skills/setup/SKILL.md +33 -56
  51. package/skills/slfg/SKILL.md +5 -5
  52. package/skills/test-browser/SKILL.md +69 -145
  53. package/skills/test-xcode/SKILL.md +61 -183
  54. package/skills/triage/SKILL.md +10 -10
  55. package/skills/ce-plan-beta/SKILL.md +0 -571
  56. package/skills/deepen-plan-beta/SKILL.md +0 -323
@@ -1,25 +1,12 @@
1
1
  ---
2
2
  name: agent-browser
3
- description: Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots, or scrape data. Alternative to Playwright MCP - uses Bash commands with ref-based element selection. Triggers on "browse website", "fill form", "click button", "take screenshot", "scrape page", "web automation".
3
+ description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
4
+ allowed-tools: Bash(npx agent-browser:*), Bash(agent-browser:*)
4
5
  ---
5
6
 
6
7
  # Browser Automation with agent-browser
7
8
 
8
- The CLI uses Chrome/Chromium via CDP directly. Install via `npm i -g agent-browser`, `brew install agent-browser`, or `cargo install agent-browser`. Run `agent-browser install` to download Chrome.
9
-
10
- ## Setup Check
11
-
12
- ```bash
13
- # Check installation
14
- command -v agent-browser >/dev/null 2>&1 && echo "Installed" || echo "NOT INSTALLED - run: npm install -g agent-browser && agent-browser install"
15
- ```
16
-
17
- ### Install if needed
18
-
19
- ```bash
20
- npm install -g agent-browser
21
- agent-browser install # Downloads Chromium
22
- ```
9
+ The CLI uses Chrome/Chromium via CDP directly. Install via `npm i -g agent-browser`, `brew install agent-browser`, or `cargo install agent-browser`. Run `agent-browser install` to download Chrome. Run `agent-browser upgrade` to update to the latest version.
23
10
 
24
11
  ## Core Workflow
25
12
 
@@ -103,6 +90,8 @@ echo "$PASSWORD" | agent-browser auth save myapp --url https://app.example.com/l
103
90
  agent-browser auth login myapp
104
91
  ```
105
92
 
93
+ `auth login` navigates with `load` and then waits for login form selectors to appear before filling/clicking, which is more reliable on delayed SPA login screens.
94
+
106
95
  **Option 5: State file (manual save/load)**
107
96
 
108
97
  ```bash
@@ -160,6 +149,12 @@ agent-browser download @e1 ./file.pdf # Click element to trigger downlo
160
149
  agent-browser wait --download ./output.zip # Wait for any download to complete
161
150
  agent-browser --download-path ./downloads open <url> # Set default download directory
162
151
 
152
+ # Network
153
+ agent-browser network requests # Inspect tracked requests
154
+ agent-browser network route "**/api/*" --abort # Block matching requests
155
+ agent-browser network har start # Start HAR recording
156
+ agent-browser network har stop ./capture.har # Stop and save HAR file
157
+
163
158
  # Viewport & Device Emulation
164
159
  agent-browser set viewport 1920 1080 # Set viewport size (default: 1280x720)
165
160
  agent-browser set viewport 1920 1080 2 # 2x retina (same CSS size, higher res screenshots)
@@ -188,6 +183,24 @@ agent-browser diff url <url1> <url2> --wait-until networkidle # Custom wait str
188
183
  agent-browser diff url <url1> <url2> --selector "#main" # Scope to element
189
184
  ```
190
185
 
186
+ ## Batch Execution
187
+
188
+ Execute multiple commands in a single invocation by piping a JSON array of string arrays to `batch`. This avoids per-command process startup overhead when running multi-step workflows.
189
+
190
+ ```bash
191
+ echo '[
192
+ ["open", "https://example.com"],
193
+ ["snapshot", "-i"],
194
+ ["click", "@e1"],
195
+ ["screenshot", "result.png"]
196
+ ]' | agent-browser batch --json
197
+
198
+ # Stop on first error
199
+ agent-browser batch --bail < commands.json
200
+ ```
201
+
202
+ Use `batch` when you have a known sequence of commands that don't depend on intermediate output. Use separate commands or `&&` chaining when you need to parse output between steps (e.g., snapshot to discover refs, then interact).
203
+
191
204
  ## Common Patterns
192
205
 
193
206
  ### Form Submission
@@ -219,6 +232,8 @@ agent-browser auth show github
219
232
  agent-browser auth delete github
220
233
  ```
221
234
 
235
+ `auth login` waits for username/password/submit selectors before interacting, with a timeout tied to the default action timeout.
236
+
222
237
  ### Authentication with State Persistence
223
238
 
224
239
  ```bash
@@ -258,6 +273,30 @@ agent-browser state clear myapp
258
273
  agent-browser state clean --older-than 7
259
274
  ```
260
275
 
276
+ ### Working with Iframes
277
+
278
+ Iframe content is automatically inlined in snapshots. Refs inside iframes carry frame context, so you can interact with them directly.
279
+
280
+ ```bash
281
+ agent-browser open https://example.com/checkout
282
+ agent-browser snapshot -i
283
+ # @e1 [heading] "Checkout"
284
+ # @e2 [Iframe] "payment-frame"
285
+ # @e3 [input] "Card number"
286
+ # @e4 [input] "Expiry"
287
+ # @e5 [button] "Pay"
288
+
289
+ # Interact directly — no frame switch needed
290
+ agent-browser fill @e3 "4111111111111111"
291
+ agent-browser fill @e4 "12/28"
292
+ agent-browser click @e5
293
+
294
+ # To scope a snapshot to one iframe:
295
+ agent-browser frame @e2
296
+ agent-browser snapshot -i # Only iframe content
297
+ agent-browser frame main # Return to main frame
298
+ ```
299
+
261
300
  ### Data Extraction
262
301
 
263
302
  ```bash
@@ -294,6 +333,8 @@ agent-browser --auto-connect snapshot
294
333
  agent-browser --cdp 9222 snapshot
295
334
  ```
296
335
 
336
+ Auto-connect discovers Chrome via `DevToolsActivePort`, common debugging ports (9222, 9229), and falls back to a direct WebSocket connection if HTTP-based CDP discovery fails.
337
+
297
338
  ### Color Scheme (Dark Mode)
298
339
 
299
340
  ```bash
@@ -596,6 +637,18 @@ Create `agent-browser.json` in the project root for persistent settings:
596
637
 
597
638
  Priority (lowest to highest): `~/.agent-browser/config.json` < `./agent-browser.json` < env vars < CLI flags. Use `--config <path>` or `AGENT_BROWSER_CONFIG` env var for a custom config file (exits with error if missing/invalid). All CLI options map to camelCase keys (e.g., `--executable-path` -> `"executablePath"`). Boolean flags accept `true`/`false` values (e.g., `--headed false` overrides config). Extensions from user and project configs are merged, not replaced.
598
639
 
640
+ ## Deep-Dive Documentation
641
+
642
+ | Reference | When to Use |
643
+ | -------------------------------------------------------------------- | --------------------------------------------------------- |
644
+ | [references/commands.md](references/commands.md) | Full command reference with all options |
645
+ | [references/snapshot-refs.md](references/snapshot-refs.md) | Ref lifecycle, invalidation rules, troubleshooting |
646
+ | [references/session-management.md](references/session-management.md) | Parallel sessions, state persistence, concurrent scraping |
647
+ | [references/authentication.md](references/authentication.md) | Login flows, OAuth, 2FA handling, state reuse |
648
+ | [references/video-recording.md](references/video-recording.md) | Recording workflows for debugging and documentation |
649
+ | [references/profiling.md](references/profiling.md) | Chrome DevTools profiling for performance analysis |
650
+ | [references/proxy-support.md](references/proxy-support.md) | Proxy configuration, geo-testing, rotating proxies |
651
+
599
652
  ## Browser Engine Selection
600
653
 
601
654
  Use `--engine` to choose a local browser engine. The default is `chrome`.
@@ -618,18 +671,6 @@ Supported engines:
618
671
 
619
672
  Lightpanda does not support `--extension`, `--profile`, `--state`, or `--allow-file-access`. Install Lightpanda from https://lightpanda.io/docs/open-source/installation.
620
673
 
621
- ## Deep-Dive Documentation
622
-
623
- | Reference | When to Use |
624
- | -------------------------------------------------------------------- | --------------------------------------------------------- |
625
- | [references/commands.md](references/commands.md) | Full command reference with all options |
626
- | [references/snapshot-refs.md](references/snapshot-refs.md) | Ref lifecycle, invalidation rules, troubleshooting |
627
- | [references/session-management.md](references/session-management.md) | Parallel sessions, state persistence, concurrent scraping |
628
- | [references/authentication.md](references/authentication.md) | Login flows, OAuth, 2FA handling, state reuse |
629
- | [references/video-recording.md](references/video-recording.md) | Recording workflows for debugging and documentation |
630
- | [references/profiling.md](references/profiling.md) | Chrome DevTools profiling for performance analysis |
631
- | [references/proxy-support.md](references/proxy-support.md) | Proxy configuration, geo-testing, rotating proxies |
632
-
633
674
  ## Ready-to-Use Templates
634
675
 
635
676
  | Template | Description |
@@ -644,23 +685,3 @@ Lightpanda does not support `--extension`, `--profile`, `--state`, or `--allow-f
644
685
  ./templates/capture-workflow.sh https://example.com ./output
645
686
  ```
646
687
 
647
- ## vs Playwright MCP
648
-
649
- | Feature | agent-browser (CLI) | Playwright MCP |
650
- |---------|---------------------|----------------|
651
- | Interface | Bash commands | MCP tools |
652
- | Selection | Refs (@e1) | Refs (e1) |
653
- | Output | Text/JSON | Tool responses |
654
- | Parallel | Sessions | Tabs |
655
- | Best for | Quick automation | Tool integration |
656
-
657
- Use agent-browser when:
658
- - You prefer Bash-based workflows
659
- - You want simpler CLI commands
660
- - You need quick one-off automation
661
-
662
- Use Playwright MCP when:
663
- - You need deep MCP tool integration
664
- - You want tool-based responses
665
- - You're building complex automation
666
-
@@ -83,7 +83,7 @@ Scan the repo before substantive brainstorming. Match depth to scope:
83
83
 
84
84
  **Standard and Deep** — Two passes:
85
85
 
86
- *Constraint Check* — Check project instruction files (`AGENTS.md`) for workflow, product, or scope constraints that affect the brainstorm. If these add nothing, move on.
86
+ *Constraint Check* — Check project instruction files (`AGENTS.md`, and `AGENTS.md` only if retained as compatibility context) for workflow, product, or scope constraints that affect the brainstorm. If these add nothing, move on.
87
87
 
88
88
  *Topic Scan* — Search for relevant terms. Read the most relevant existing artifact if one exists (brainstorm, plan, spec, skill, feature doc). Skim adjacent examples covering similar behavior.
89
89
 
@@ -333,3 +333,4 @@ Planning is blocked by:
333
333
 
334
334
  Resume with `/ce:brainstorm` when ready to resolve these before planning.
335
335
  ```
336
+
@@ -37,6 +37,27 @@ Compact-safe mode exists as a lightweight alternative — see the **Compact-Safe
37
37
  Phase 1 subagents return TEXT DATA to the orchestrator. They must NOT use Write, Edit, or create any files. Only the orchestrator (Phase 2) writes the final documentation file.
38
38
  </critical_requirement>
39
39
 
40
+ ### Phase 0.5: Auto Memory Scan
41
+
42
+ Before launching Phase 1 subagents, check the auto memory directory for notes relevant to the problem being documented.
43
+
44
+ 1. Read MEMORY.md from the auto memory directory (the path is known from the system prompt context)
45
+ 2. If the directory or MEMORY.md does not exist, is empty, or is unreadable, skip this step and proceed to Phase 1 unchanged
46
+ 3. Scan the entries for anything related to the problem being documented -- use semantic judgment, not keyword matching
47
+ 4. If relevant entries are found, prepare a labeled excerpt block:
48
+
49
+ ```
50
+ ## Supplementary notes from auto memory
51
+ Treat as additional context, not primary evidence. Conversation history
52
+ and codebase findings take priority over these notes.
53
+
54
+ [relevant entries here]
55
+ ```
56
+
57
+ 5. Pass this block as additional context to the Context Analyzer and Solution Extractor task prompts in Phase 1. If any memory notes end up in the final documentation (e.g., as part of the investigation steps or root cause analysis), tag them with "(auto memory [claude])" so their origin is clear to future readers.
58
+
59
+ If no relevant entries are found, proceed to Phase 1 without passing memory context.
60
+
40
61
  ### Phase 1: Parallel Research
41
62
 
42
63
  <parallel_tasks>
@@ -46,6 +67,7 @@ Launch these subagents IN PARALLEL. Each returns text data to the orchestrator.
46
67
  #### 1. **Context Analyzer**
47
68
  - Extracts conversation history
48
69
  - Identifies problem type, component, symptoms
70
+ - Incorporates auto memory excerpts (if provided by the orchestrator) as supplementary evidence when identifying problem type, component, and symptoms
49
71
  - Validates against schema
50
72
  - Returns: YAML frontmatter skeleton
51
73
 
@@ -53,6 +75,7 @@ Launch these subagents IN PARALLEL. Each returns text data to the orchestrator.
53
75
  - Analyzes all investigation steps
54
76
  - Identifies root cause
55
77
  - Extracts working solution with code examples
78
+ - Incorporates auto memory excerpts (if provided by the orchestrator) as supplementary evidence -- conversation history and the verified fix take priority; if memory notes contradict the conversation, note the contradiction as cautionary context
56
79
  - Returns: Solution content block
57
80
 
58
81
  #### 3. **Related Docs Finder**
@@ -167,7 +190,7 @@ When context budget is tight, this mode skips parallel subagents entirely. The o
167
190
 
168
191
  The orchestrator (main conversation) performs ALL of the following in one sequential pass:
169
192
 
170
- 1. **Extract from conversation**: Identify the problem, root cause, and solution from conversation history
193
+ 1. **Extract from conversation**: Identify the problem, root cause, and solution from conversation history. Also read MEMORY.md from the auto memory directory if it exists -- use any relevant notes as supplementary context alongside conversation history. Tag any memory-sourced content incorporated into the final doc with "(auto memory [claude])"
171
194
  2. **Classify**: Determine category and filename (same categories as full mode)
172
195
  3. **Write minimal doc**: Create `docs/solutions/[category]/[filename].md` with:
173
196
  - YAML frontmatter (title, category, date, tags)
@@ -249,6 +272,8 @@ In compact-safe mode, only suggest `ce:compound-refresh` if there is an obvious
249
272
  ```
250
273
  ✓ Documentation complete
251
274
 
275
+ Auto memory: 2 relevant entries used as supplementary evidence
276
+
252
277
  Subagent Results:
253
278
  ✓ Context Analyzer: Identified performance_issue in brief_system
254
279
  ✓ Solution Extractor: 3 code fixes
@@ -161,6 +161,7 @@ A learning has several dimensions that can independently go stale. Surface-level
161
161
  - **Recommended solution** — does the fix still match how the code actually works today? A renamed file with a completely different implementation pattern is not just a path update.
162
162
  - **Code examples** — if the learning includes code snippets, do they still reflect the current implementation?
163
163
  - **Related docs** — are cross-referenced learnings and patterns still present and consistent?
164
+ - **Auto memory** — does the auto memory directory contain notes in the same problem domain? Read MEMORY.md from the auto memory directory (the path is known from the system prompt context). If it does not exist or is empty, skip this dimension. A memory note describing a different approach than what the learning recommends is a supplementary drift signal.
164
165
 
165
166
  Match investigation depth to the learning's specificity — a learning referencing exact file paths and code snippets needs more verification than one describing a general principle.
166
167
 
@@ -173,6 +174,13 @@ The critical distinction is whether the drift is **cosmetic** (references moved
173
174
 
174
175
  **The boundary:** if you find yourself rewriting the solution section or changing what the learning recommends, stop — that is Replace, not Update.
175
176
 
177
+ **Memory-sourced drift signals** are supplementary, not primary. A memory note describing a different approach does not alone justify Replace or Archive. Use memory signals to:
178
+ - Corroborate codebase-sourced drift (strengthens the case for Replace)
179
+ - Prompt deeper investigation when codebase evidence is borderline
180
+ - Add context to the evidence report ("(auto memory [claude]) notes suggest approach X may have changed since this learning was written")
181
+
182
+ In autonomous mode, memory-only drift (no codebase corroboration) should result in stale-marking, not action.
183
+
176
184
  ### Judgment Guidelines
177
185
 
178
186
  Three guidelines that are easy to get wrong:
@@ -203,6 +211,8 @@ Use subagents for context isolation when investigating multiple artifacts — no
203
211
  **When spawning any subagent, include this instruction in its task prompt:**
204
212
 
205
213
  > Use dedicated file search and read tools (Glob, Grep, Read) for all investigation. Do NOT use shell commands (ls, find, cat, grep, test, bash) for file operations. This avoids permission prompts and is more reliable.
214
+ >
215
+ > Also read MEMORY.md from the auto memory directory if it exists. Check for notes related to the learning's problem domain. Report any memory-sourced drift signals separately from codebase-sourced evidence, tagged with "(auto memory [claude])" in the evidence section. If MEMORY.md does not exist or is empty, skip this check.
206
216
 
207
217
  There are two subagent roles:
208
218
 
@@ -445,7 +455,7 @@ Marked stale: S
445
455
  Then for EVERY file processed, list:
446
456
  - The file path
447
457
  - The classification (Keep/Update/Replace/Archive/Stale)
448
- - What evidence was found
458
+ - What evidence was found -- tag any memory-sourced findings with "(auto memory [claude])" to distinguish them from codebase-sourced evidence
449
459
  - What action was taken (or recommended)
450
460
 
451
461
  For **Keep** outcomes, list them under a reviewed-without-edits section so the result is visible without creating git churn.
@@ -103,7 +103,7 @@ Run agents in parallel in the **foreground** (do not use background dispatch —
103
103
 
104
104
  1. **Quick context scan** — dispatch a general-purpose sub-agent with this prompt:
105
105
 
106
- > Read the project's AGENTS.md (or README.md if AGENTS.md is absent), then discover the top-level directory layout using the native file-search/glob tool (e.g., `Glob` with pattern `*` or `*/*` in OpenCode). Return a concise summary (under 30 lines) covering:
106
+ > Read the project's AGENTS.md (or AGENTS.md only as compatibility fallback, then README.md if neither exists), then discover the top-level directory layout using the native file-search/glob tool (e.g., `Glob` with pattern `*` or `*/*` in OpenCode). Return a concise summary (under 30 lines) covering:
107
107
  > - project shape (language, framework, top-level directory layout)
108
108
  > - notable patterns or conventions
109
109
  > - obvious pain points or gaps
@@ -368,3 +368,4 @@ Before finishing, check:
368
368
  - survivors are materially better than a naive "give me ideas" list
369
369
  - the artifact was written before any handoff, sharing, or session end
370
370
  - acting on an idea routes to `ce:brainstorm`, not directly to implementation
371
+