@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.
- package/agents/design/figma-design-sync.md +1 -1
- package/agents/document-review/coherence-reviewer.md +40 -0
- package/agents/document-review/design-lens-reviewer.md +46 -0
- package/agents/document-review/feasibility-reviewer.md +42 -0
- package/agents/document-review/product-lens-reviewer.md +50 -0
- package/agents/document-review/scope-guardian-reviewer.md +54 -0
- package/agents/document-review/security-lens-reviewer.md +38 -0
- package/agents/research/best-practices-researcher.md +2 -1
- package/agents/research/git-history-analyzer.md +1 -1
- package/agents/research/repo-research-analyst.md +164 -9
- package/agents/review/api-contract-reviewer.md +49 -0
- package/agents/review/correctness-reviewer.md +49 -0
- package/agents/review/data-migrations-reviewer.md +53 -0
- package/agents/review/maintainability-reviewer.md +49 -0
- package/agents/review/pattern-recognition-specialist.md +2 -1
- package/agents/review/performance-reviewer.md +51 -0
- package/agents/review/reliability-reviewer.md +49 -0
- package/agents/review/schema-drift-detector.md +12 -10
- package/agents/review/security-reviewer.md +51 -0
- package/agents/review/testing-reviewer.md +48 -0
- package/agents/workflow/pr-comment-resolver.md +1 -1
- package/agents/workflow/spec-flow-analyzer.md +60 -89
- package/package.json +1 -1
- package/skills/agent-browser/SKILL.md +69 -48
- package/skills/ce-brainstorm/SKILL.md +2 -1
- package/skills/ce-compound/SKILL.md +26 -1
- package/skills/ce-compound-refresh/SKILL.md +11 -1
- package/skills/ce-ideate/SKILL.md +2 -1
- package/skills/ce-plan/SKILL.md +424 -414
- package/skills/ce-review/SKILL.md +12 -13
- package/skills/ce-review-beta/SKILL.md +506 -0
- package/skills/ce-review-beta/references/diff-scope.md +31 -0
- package/skills/ce-review-beta/references/findings-schema.json +128 -0
- package/skills/ce-review-beta/references/persona-catalog.md +50 -0
- package/skills/ce-review-beta/references/review-output-template.md +115 -0
- package/skills/ce-review-beta/references/subagent-template.md +56 -0
- package/skills/ce-work/SKILL.md +14 -6
- package/skills/ce-work-beta/SKILL.md +14 -8
- package/skills/claude-permissions-optimizer/SKILL.md +15 -14
- package/skills/deepen-plan/SKILL.md +348 -483
- package/skills/document-review/SKILL.md +160 -52
- package/skills/feature-video/SKILL.md +209 -178
- package/skills/file-todos/SKILL.md +72 -94
- package/skills/frontend-design/SKILL.md +243 -27
- package/skills/git-worktree/SKILL.md +37 -28
- package/skills/lfg/SKILL.md +7 -7
- package/skills/reproduce-bug/SKILL.md +154 -60
- package/skills/resolve-pr-parallel/SKILL.md +19 -12
- package/skills/resolve-todo-parallel/SKILL.md +9 -6
- package/skills/setup/SKILL.md +33 -56
- package/skills/slfg/SKILL.md +5 -5
- package/skills/test-browser/SKILL.md +69 -145
- package/skills/test-xcode/SKILL.md +61 -183
- package/skills/triage/SKILL.md +10 -10
- package/skills/ce-plan-beta/SKILL.md +0 -571
- package/skills/deepen-plan-beta/SKILL.md +0 -323
|
@@ -1,88 +1,191 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: document-review
|
|
3
|
-
description:
|
|
3
|
+
description: Review requirements or plan documents using parallel persona agents that surface role-specific issues. Use 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
|
-
|
|
8
|
+
Review requirements or plan documents through multi-persona analysis. Dispatches specialized reviewer agents in parallel, auto-fixes quality issues, and presents strategic questions for user decision.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Phase 1: Get and Analyze Document
|
|
11
11
|
|
|
12
|
-
**If a document path is provided:** Read it, then proceed
|
|
12
|
+
**If a document path is provided:** Read it, then proceed.
|
|
13
13
|
|
|
14
|
-
**If no document is specified:** Ask which document to review, or
|
|
14
|
+
**If no document is specified:** Ask which document to review, or find the most recent in `docs/brainstorms/` or `docs/plans/` using a file-search/glob tool (e.g., Glob in OpenCode).
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
### Classify Document Type
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
After reading, classify the document:
|
|
19
|
+
- **requirements** -- from `docs/brainstorms/`, focuses on what to build and why
|
|
20
|
+
- **plan** -- from `docs/plans/`, focuses on how to build it with implementation details
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
- What is unnecessary?
|
|
22
|
-
- What decision is being avoided?
|
|
23
|
-
- What assumptions are unstated?
|
|
24
|
-
- Where could scope accidentally expand?
|
|
22
|
+
### Select Conditional Personas
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
Analyze the document content to determine which conditional personas to activate. Check for these signals:
|
|
27
25
|
|
|
28
|
-
|
|
26
|
+
**product-lens** -- activate when the document contains:
|
|
27
|
+
- User-facing features, user stories, or customer-focused language
|
|
28
|
+
- Market claims, competitive positioning, or business justification
|
|
29
|
+
- Scope decisions, prioritization language, or priority tiers with feature assignments
|
|
30
|
+
- Requirements with user/customer/business outcome focus
|
|
29
31
|
|
|
30
|
-
|
|
32
|
+
**design-lens** -- activate when the document contains:
|
|
33
|
+
- UI/UX references, frontend components, or visual design language
|
|
34
|
+
- User flows, wireframes, screen/page/view mentions
|
|
35
|
+
- Interaction descriptions (forms, buttons, navigation, modals)
|
|
36
|
+
- References to responsive behavior or accessibility
|
|
31
37
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
+
**security-lens** -- activate when the document contains:
|
|
39
|
+
- Auth/authorization mentions, login flows, session management
|
|
40
|
+
- API endpoints exposed to external clients
|
|
41
|
+
- Data handling, PII, payments, tokens, credentials, encryption
|
|
42
|
+
- Third-party integrations with trust boundary implications
|
|
39
43
|
|
|
40
|
-
|
|
41
|
-
-
|
|
44
|
+
**scope-guardian** -- activate when the document contains:
|
|
45
|
+
- Multiple priority tiers (P0/P1/P2, must-have/should-have/nice-to-have)
|
|
46
|
+
- Large requirement count (>8 distinct requirements or implementation units)
|
|
47
|
+
- Stretch goals, nice-to-haves, or "future work" sections
|
|
48
|
+
- Scope boundary language that seems misaligned with stated goals
|
|
49
|
+
- Goals that don't clearly connect to requirements
|
|
42
50
|
|
|
43
|
-
##
|
|
51
|
+
## Phase 2: Announce and Dispatch Personas
|
|
44
52
|
|
|
45
|
-
|
|
53
|
+
### Announce the Review Team
|
|
46
54
|
|
|
47
|
-
|
|
55
|
+
Tell the user which personas will review and why. For conditional personas, include the justification:
|
|
48
56
|
|
|
49
|
-
|
|
57
|
+
```
|
|
58
|
+
Reviewing with:
|
|
59
|
+
- coherence-reviewer (always-on)
|
|
60
|
+
- feasibility-reviewer (always-on)
|
|
61
|
+
- scope-guardian-reviewer -- plan has 12 requirements across 3 priority levels
|
|
62
|
+
- security-lens-reviewer -- plan adds API endpoints with auth flow
|
|
63
|
+
```
|
|
50
64
|
|
|
51
|
-
|
|
52
|
-
2. **Ask approval** before substantive changes (restructuring, removing sections, changing meaning)
|
|
53
|
-
3. **Update** the document inline—no separate files, no metadata sections
|
|
65
|
+
### Build Agent List
|
|
54
66
|
|
|
55
|
-
|
|
67
|
+
Always include:
|
|
68
|
+
- `systematic:document-review:coherence-reviewer`
|
|
69
|
+
- `systematic:document-review:feasibility-reviewer`
|
|
56
70
|
|
|
57
|
-
|
|
71
|
+
Add activated conditional personas:
|
|
72
|
+
- `systematic:document-review:product-lens-reviewer`
|
|
73
|
+
- `systematic:document-review:design-lens-reviewer`
|
|
74
|
+
- `systematic:document-review:security-lens-reviewer`
|
|
75
|
+
- `systematic:document-review:scope-guardian-reviewer`
|
|
58
76
|
|
|
59
|
-
|
|
60
|
-
- Content serves hypothetical future needs without enough current value to justify its carrying cost
|
|
61
|
-
- Sections repeat information already covered elsewhere
|
|
62
|
-
- Detail exceeds what's needed to take the next step
|
|
63
|
-
- Abstractions or structure add overhead without clarity
|
|
77
|
+
### Dispatch
|
|
64
78
|
|
|
65
|
-
**
|
|
66
|
-
- Constraints or edge cases that affect implementation
|
|
67
|
-
- Rationale that explains why alternatives were rejected
|
|
68
|
-
- Open questions that need resolution
|
|
69
|
-
- Deferred technical or research questions that are intentionally carried forward to the next stage
|
|
79
|
+
Dispatch all agents in **parallel** using the platform's task/agent tool (e.g., Agent tool in OpenCode, spawn in Codex). Each agent receives the prompt built from the [subagent template](./references/subagent-template.md) with these variables filled:
|
|
70
80
|
|
|
71
|
-
|
|
72
|
-
|
|
81
|
+
| Variable | Value |
|
|
82
|
+
|----------|-------|
|
|
83
|
+
| `{persona_file}` | Full content of the agent's markdown file |
|
|
84
|
+
| `{schema}` | Content of [findings-schema.json](./references/findings-schema.json) |
|
|
85
|
+
| `{document_type}` | "requirements" or "plan" from Phase 1 classification |
|
|
86
|
+
| `{document_path}` | Path to the document |
|
|
87
|
+
| `{document_content}` | Full text of the document |
|
|
73
88
|
|
|
74
|
-
|
|
89
|
+
Pass each agent the **full document** -- do not split into sections.
|
|
75
90
|
|
|
76
|
-
|
|
91
|
+
**Error handling:** If an agent fails or times out, proceed with findings from agents that completed. Note the failed agent in the Coverage section. Do not block the entire review on a single agent failure.
|
|
77
92
|
|
|
78
|
-
|
|
79
|
-
2. **Review complete** - Document is ready
|
|
93
|
+
**Dispatch limit:** Even at maximum (6 agents), use parallel dispatch. These are document reviewers with bounded scope reading a single document -- parallel is safe and fast.
|
|
80
94
|
|
|
81
|
-
|
|
95
|
+
## Phase 3: Synthesize Findings
|
|
82
96
|
|
|
83
|
-
|
|
97
|
+
Process findings from all agents through this pipeline. **Order matters** -- each step depends on the previous.
|
|
84
98
|
|
|
85
|
-
|
|
99
|
+
### 3.1 Validate
|
|
100
|
+
|
|
101
|
+
Check each agent's returned JSON against [findings-schema.json](./references/findings-schema.json):
|
|
102
|
+
- Drop findings missing any required field defined in the schema
|
|
103
|
+
- Drop findings with invalid enum values
|
|
104
|
+
- Note the agent name for any malformed output in the Coverage section
|
|
105
|
+
|
|
106
|
+
### 3.2 Confidence Gate
|
|
107
|
+
|
|
108
|
+
Suppress findings below 0.50 confidence. Store them as residual concerns for potential promotion in step 3.4.
|
|
109
|
+
|
|
110
|
+
### 3.3 Deduplicate
|
|
111
|
+
|
|
112
|
+
Fingerprint each finding using `normalize(section) + normalize(title)`. Normalization: lowercase, strip punctuation, collapse whitespace.
|
|
113
|
+
|
|
114
|
+
When fingerprints match across personas:
|
|
115
|
+
- If the findings recommend **opposing actions** (e.g., one says cut, the other says keep), do not merge -- preserve both for contradiction resolution in 3.5
|
|
116
|
+
- Otherwise merge: keep the highest severity, keep the highest confidence, union all evidence arrays, note all agreeing reviewers (e.g., "coherence, feasibility")
|
|
117
|
+
|
|
118
|
+
### 3.4 Promote Residual Concerns
|
|
119
|
+
|
|
120
|
+
Scan the residual concerns (findings suppressed in 3.2) for:
|
|
121
|
+
- **Cross-persona corroboration**: A residual concern from Persona A overlaps with an above-threshold finding from Persona B. Promote at P2 with confidence 0.55-0.65.
|
|
122
|
+
- **Concrete blocking risks**: A residual concern describes a specific, concrete risk that would block implementation. Promote at P2 with confidence 0.55.
|
|
123
|
+
|
|
124
|
+
### 3.5 Resolve Contradictions
|
|
125
|
+
|
|
126
|
+
When personas disagree on the same section:
|
|
127
|
+
- Create a **combined finding** presenting both perspectives
|
|
128
|
+
- Set `autofix_class: present`
|
|
129
|
+
- Frame as a tradeoff, not a verdict
|
|
130
|
+
|
|
131
|
+
Specific conflict patterns:
|
|
132
|
+
- Coherence says "keep for consistency" + scope-guardian says "cut for simplicity" -> combined finding, let user decide
|
|
133
|
+
- Feasibility says "this is impossible" + product-lens says "this is essential" -> P1 finding framed as a tradeoff
|
|
134
|
+
- Multiple personas flag the same issue -> merge into single finding, note consensus, increase confidence
|
|
135
|
+
|
|
136
|
+
### 3.6 Route by Autofix Class
|
|
137
|
+
|
|
138
|
+
| Autofix Class | Route |
|
|
139
|
+
|---------------|-------|
|
|
140
|
+
| `auto` | Apply automatically -- local deterministic fix (terminology, formatting, cross-references) |
|
|
141
|
+
| `present` | Present to user for judgment |
|
|
142
|
+
|
|
143
|
+
Demote any `auto` finding that lacks a `suggested_fix` to `present` -- the orchestrator cannot apply a fix without concrete replacement text.
|
|
144
|
+
|
|
145
|
+
### 3.7 Sort
|
|
146
|
+
|
|
147
|
+
Sort findings for presentation: P0 -> P1 -> P2 -> P3, then by confidence (descending), then by document order (section position).
|
|
148
|
+
|
|
149
|
+
## Phase 4: Apply and Present
|
|
150
|
+
|
|
151
|
+
### Apply Auto-fixes
|
|
152
|
+
|
|
153
|
+
Apply all `auto` findings to the document in a **single pass**:
|
|
154
|
+
- Edit the document inline using the platform's edit tool
|
|
155
|
+
- Track what was changed for the "Auto-fixes Applied" section
|
|
156
|
+
- Do not ask for approval -- these are unambiguously correct (terminology fixes, formatting, cross-references)
|
|
157
|
+
|
|
158
|
+
### Present Remaining Findings
|
|
159
|
+
|
|
160
|
+
Present all other findings to the user using the format from [review-output-template.md](./references/review-output-template.md):
|
|
161
|
+
- Group by severity (P0 -> P3)
|
|
162
|
+
- Include the Coverage table showing which personas ran
|
|
163
|
+
- Show auto-fixes that were applied
|
|
164
|
+
- Include residual concerns and deferred questions if any
|
|
165
|
+
|
|
166
|
+
Brief summary at the top: "Applied N auto-fixes. M findings to consider (X at P0/P1)."
|
|
167
|
+
|
|
168
|
+
### Protected Artifacts
|
|
169
|
+
|
|
170
|
+
During synthesis, discard any finding that recommends deleting or removing files in:
|
|
171
|
+
- `docs/brainstorms/`
|
|
172
|
+
- `docs/plans/`
|
|
173
|
+
- `docs/solutions/`
|
|
174
|
+
|
|
175
|
+
These are pipeline artifacts and must not be flagged for removal.
|
|
176
|
+
|
|
177
|
+
## Phase 5: Next Action
|
|
178
|
+
|
|
179
|
+
Use the platform's blocking question tool when available (question in OpenCode, request_user_input in Codex, ask_user in Gemini). Otherwise present numbered options and wait for the user's reply.
|
|
180
|
+
|
|
181
|
+
Offer:
|
|
182
|
+
|
|
183
|
+
1. **Refine again** -- another review pass
|
|
184
|
+
2. **Review complete** -- document is ready
|
|
185
|
+
|
|
186
|
+
After 2 refinement passes, recommend completion -- diminishing returns are likely. But if the user wants to continue, allow it.
|
|
187
|
+
|
|
188
|
+
Return "Review complete" as the terminal signal for callers.
|
|
86
189
|
|
|
87
190
|
## What NOT to Do
|
|
88
191
|
|
|
@@ -90,4 +193,9 @@ Return control to the caller (workflow or user) after selection.
|
|
|
90
193
|
- Do not add new sections or requirements the user didn't discuss
|
|
91
194
|
- Do not over-engineer or add complexity
|
|
92
195
|
- Do not create separate review files or add metadata sections
|
|
196
|
+
- Do not modify any of the 4 caller skills (ce-brainstorm, ce-plan, ce-plan-beta, deepen-plan-beta)
|
|
197
|
+
|
|
198
|
+
## Iteration Guidance
|
|
199
|
+
|
|
200
|
+
On subsequent passes, re-dispatch personas and re-synthesize. The auto-fix mechanism and confidence gating prevent the same findings from recurring once fixed. If findings are repetitive across passes, recommend completion.
|
|
93
201
|
|