@fro.bot/systematic 2.3.3 → 2.4.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 (72) hide show
  1. package/README.md +12 -13
  2. package/agents/design/design-implementation-reviewer.md +2 -19
  3. package/agents/design/design-iterator.md +2 -31
  4. package/agents/design/figma-design-sync.md +2 -22
  5. package/agents/docs/ankane-readme-writer.md +2 -19
  6. package/agents/document-review/adversarial-document-reviewer.md +3 -2
  7. package/agents/document-review/coherence-reviewer.md +5 -7
  8. package/agents/document-review/design-lens-reviewer.md +3 -4
  9. package/agents/document-review/feasibility-reviewer.md +3 -4
  10. package/agents/document-review/product-lens-reviewer.md +25 -6
  11. package/agents/document-review/scope-guardian-reviewer.md +3 -4
  12. package/agents/document-review/security-lens-reviewer.md +3 -4
  13. package/agents/research/best-practices-researcher.md +4 -21
  14. package/agents/research/framework-docs-researcher.md +2 -19
  15. package/agents/research/git-history-analyzer.md +2 -19
  16. package/agents/research/issue-intelligence-analyst.md +2 -24
  17. package/agents/research/learnings-researcher.md +7 -28
  18. package/agents/research/repo-research-analyst.md +3 -32
  19. package/agents/research/slack-researcher.md +128 -0
  20. package/agents/review/agent-native-reviewer.md +109 -195
  21. package/agents/review/architecture-strategist.md +3 -19
  22. package/agents/review/cli-agent-readiness-reviewer.md +1 -27
  23. package/agents/review/code-simplicity-reviewer.md +5 -19
  24. package/agents/review/data-integrity-guardian.md +3 -19
  25. package/agents/review/data-migration-expert.md +3 -19
  26. package/agents/review/deployment-verification-agent.md +3 -19
  27. package/agents/review/pattern-recognition-specialist.md +4 -20
  28. package/agents/review/performance-oracle.md +3 -31
  29. package/agents/review/project-standards-reviewer.md +5 -5
  30. package/agents/review/schema-drift-detector.md +3 -19
  31. package/agents/review/security-sentinel.md +3 -25
  32. package/agents/review/testing-reviewer.md +3 -3
  33. package/agents/workflow/lint.md +1 -2
  34. package/agents/workflow/pr-comment-resolver.md +54 -22
  35. package/agents/workflow/spec-flow-analyzer.md +2 -25
  36. package/package.json +1 -1
  37. package/skills/agent-native-architecture/SKILL.md +28 -27
  38. package/skills/agent-native-architecture/references/agent-execution-patterns.md +3 -3
  39. package/skills/agent-native-architecture/references/agent-native-testing.md +1 -1
  40. package/skills/agent-native-architecture/references/mobile-patterns.md +1 -1
  41. package/skills/andrew-kane-gem-writer/SKILL.md +5 -5
  42. package/skills/ce-brainstorm/SKILL.md +43 -181
  43. package/skills/ce-compound/SKILL.md +143 -89
  44. package/skills/ce-compound-refresh/SKILL.md +48 -5
  45. package/skills/ce-ideate/SKILL.md +27 -242
  46. package/skills/ce-plan/SKILL.md +165 -81
  47. package/skills/ce-review/SKILL.md +348 -125
  48. package/skills/ce-review/references/findings-schema.json +5 -0
  49. package/skills/ce-review/references/persona-catalog.md +2 -2
  50. package/skills/ce-review/references/resolve-base.sh +5 -2
  51. package/skills/ce-review/references/subagent-template.md +25 -3
  52. package/skills/ce-work/SKILL.md +95 -242
  53. package/skills/ce-work-beta/SKILL.md +154 -301
  54. package/skills/dhh-rails-style/SKILL.md +13 -12
  55. package/skills/document-review/SKILL.md +56 -109
  56. package/skills/document-review/references/findings-schema.json +0 -23
  57. package/skills/document-review/references/subagent-template.md +13 -18
  58. package/skills/dspy-ruby/SKILL.md +8 -8
  59. package/skills/every-style-editor/SKILL.md +3 -2
  60. package/skills/frontend-design/SKILL.md +2 -3
  61. package/skills/git-commit/SKILL.md +1 -1
  62. package/skills/git-commit-push-pr/SKILL.md +81 -265
  63. package/skills/git-worktree/SKILL.md +20 -21
  64. package/skills/lfg/SKILL.md +10 -17
  65. package/skills/onboarding/SKILL.md +2 -2
  66. package/skills/onboarding/scripts/inventory.mjs +31 -7
  67. package/skills/proof/SKILL.md +134 -28
  68. package/skills/resolve-pr-feedback/SKILL.md +7 -2
  69. package/skills/setup/SKILL.md +1 -1
  70. package/skills/test-browser/SKILL.md +10 -11
  71. package/skills/test-xcode/SKILL.md +6 -3
  72. package/dist/lib/manifest.d.ts +0 -39
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ce:ideate
3
- description: Generate and critically evaluate grounded improvement ideas for the current project. Use when asking what to improve, requesting idea generation, exploring surprising improvements, or wanting the AI to proactively suggest strong project directions before brainstorming one in depth. Triggers on phrases like 'what should I improve', 'give me ideas', 'ideate on this project', 'surprise me with improvements', 'what would you change', or any request for AI-generated project improvement suggestions rather than refining the user's own idea.
4
- argument-hint: '[optional: feature, focus area, or constraint]'
3
+ description: "Generate and critically evaluate grounded improvement ideas for the current project. Use when asking what to improve, requesting idea generation, exploring surprising improvements, or wanting the AI to proactively suggest strong project directions before brainstorming one in depth. Triggers on phrases like 'what should I improve', 'give me ideas', 'ideate on this project', 'surprise me with improvements', 'what would you change', or any request for AI-generated project improvement suggestions rather than refining the user's own idea."
4
+ argument-hint: "[feature, focus area, or constraint]"
5
5
  ---
6
6
 
7
7
  # Generate Improvement Ideas
@@ -38,12 +38,8 @@ If no argument is provided, proceed with open-ended ideation.
38
38
  ## Core Principles
39
39
 
40
40
  1. **Ground before ideating** - Scan the actual codebase first. Do not generate abstract product advice detached from the repository.
41
- 2. **Diverge before judging** - Generate the full idea set before evaluating any individual idea.
42
- 3. **Use adversarial filtering** - The quality mechanism is explicit rejection with reasons, not optimistic ranking.
43
- 4. **Preserve the original prompt mechanism** - Generate many ideas, critique the whole list, then explain only the survivors in detail. Do not let extra process obscure this pattern.
44
- 5. **Use agent diversity to improve the candidate pool** - Parallel sub-agents are a support mechanism for richer idea generation and critique, not the core workflow itself.
45
- 6. **Preserve the artifact early** - Write the ideation document before presenting results so work survives interruptions.
46
- 7. **Route action into brainstorming** - Ideation identifies promising directions; `ce:brainstorm` defines the selected one precisely enough for planning.
41
+ 2. **Generate many -> critique all -> explain survivors only** - The quality mechanism is explicit rejection with reasons, not optimistic ranking. Do not let extra process obscure this pattern.
42
+ 3. **Route action into brainstorming** - Ideation identifies promising directions; `ce:brainstorm` defines the selected one precisely enough for planning. Do not skip to planning from ideation output.
47
43
 
48
44
  ## Execution Flow
49
45
 
@@ -66,7 +62,7 @@ If a relevant doc exists, ask whether to:
66
62
  If continuing:
67
63
  - read the document
68
64
  - summarize what has already been explored
69
- - preserve previous idea statuses and session log entries
65
+ - preserve previous idea statuses
70
66
  - update the existing file instead of creating a duplicate
71
67
 
72
68
  #### 0.2 Interpret Focus and Volume
@@ -84,7 +80,7 @@ Do NOT trigger on arguments that merely mention bugs as a focus: `bug in auth`,
84
80
  When combined (e.g., `top 3 bugs in authentication`): detect issue-tracker intent first, volume override second, remainder is the focus hint. The focus narrows which issues matter; the volume override controls survivor count.
85
81
 
86
82
  Default volume:
87
- - each ideation sub-agent generates about 7-8 ideas (yielding 30-40 raw ideas across agents, ~20-30 after dedupe)
83
+ - each ideation sub-agent generates about 8-10 ideas (yielding ~30 raw ideas across agents, ~20-25 after dedupe)
88
84
  - keep the top 5-7 survivors
89
85
 
90
86
  Honor clear overrides such as:
@@ -101,7 +97,7 @@ Before generating ideas, gather codebase context.
101
97
 
102
98
  Run agents in parallel in the **foreground** (do not use background dispatch — the results are needed before proceeding):
103
99
 
104
- 1. **Quick context scan** — dispatch a general-purpose sub-agent with this prompt:
100
+ 1. **Quick context scan** — dispatch a general-purpose sub-agent using the platform's cheapest capable model (e.g., `model: "haiku"` in OpenCode) with this prompt:
105
101
 
106
102
  > 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
103
  > - project shape (language, framework, top-level directory layout)
@@ -127,245 +123,34 @@ Consolidate all results into a short grounding summary. When issue intelligence
127
123
  - **Past learnings** — relevant institutional knowledge from docs/solutions/
128
124
  - **Issue intelligence** (when present) — theme summaries from the issue intelligence agent, preserving theme titles, descriptions, issue counts, and trend directions
129
125
 
130
- Do **not** do external research in v1.
131
-
132
- ### Phase 2: Divergent Ideation
133
-
134
- Follow this mechanism exactly:
135
-
136
- 1. Generate the full candidate list before critiquing any idea.
137
- 2. Each sub-agent targets about 7-8 ideas by default. With 4-6 agents this yields 30-40 raw ideas, which merge and dedupe to roughly 20-30 unique candidates. Adjust the per-agent target when volume overrides apply (e.g., "100 ideas" raises it, "top 3" may lower the survivor count instead).
138
- 3. Push past the safe obvious layer. Each agent's first few ideas tend to be obvious — push past them.
139
- 4. Ground every idea in the Phase 1 scan.
140
- 5. Use this prompting pattern as the backbone:
141
- - first generate many ideas
142
- - then challenge them systematically
143
- - then explain only the survivors in detail
144
- 6. If the platform supports sub-agents, use them to improve diversity in the candidate pool rather than to replace the core mechanism.
145
- 7. Give each ideation sub-agent the same:
146
- - grounding summary
147
- - focus hint
148
- - per-agent volume target (~7-8 ideas by default)
149
- - instruction to generate raw candidates only, not critique
150
- 8. When using sub-agents, assign each one a different ideation frame as a **starting bias, not a constraint**. Prompt each agent to begin from its assigned perspective but follow any promising thread wherever it leads — cross-cutting ideas that span multiple frames are valuable, not out of scope.
151
-
152
- **Frame selection depends on whether issue intelligence is active:**
153
-
154
- **When issue-tracker intent is active and themes were returned:**
155
- - Each theme with `confidence: high` or `confidence: medium` becomes an ideation frame. The frame prompt uses the theme title and description as the starting bias.
156
- - If fewer than 4 cluster-derived frames, pad with default frames in this order: "leverage and compounding effects", "assumption-breaking or reframing", "inversion, removal, or automation of a painful step". These complement issue-grounded themes by pushing beyond the reported problems.
157
- - Cap at 6 total frames. If more than 6 themes qualify, use the top 6 by issue count; note remaining themes in the grounding summary as "minor themes" so sub-agents are still aware of them.
158
-
159
- **When issue-tracker intent is NOT active (default):**
160
- - user or operator pain and friction
161
- - unmet need or missing capability
162
- - inversion, removal, or automation of a painful step
163
- - assumption-breaking or reframing
164
- - leverage and compounding effects
165
- - extreme cases, edge cases, or power-user pressure
166
- 9. Ask each ideation sub-agent to return a standardized structure for each idea so the orchestrator can merge and reason over the outputs consistently. Prefer a compact JSON-like structure with:
167
- - title
168
- - summary
169
- - why_it_matters
170
- - evidence or grounding hooks
171
- - optional local signals such as boldness or focus_fit
172
- 10. Merge and dedupe the sub-agent outputs into one master candidate list.
173
- 11. **Synthesize cross-cutting combinations.** After deduping, scan the merged list for ideas from different frames that together suggest something stronger than either alone. If two or more ideas naturally combine into a higher-leverage proposal, add the combined idea to the list (expect 3-5 additions at most). This synthesis step belongs to the orchestrator because it requires seeing all ideas simultaneously.
174
- 12. Spread ideas across multiple dimensions when justified:
175
- - workflow/DX
176
- - reliability
177
- - extensibility
178
- - missing capabilities
179
- - docs/knowledge compounding
180
- - quality and maintenance
181
- - leverage on future work
182
- 13. If a focus was provided, pass it to every ideation sub-agent and weight the merged list toward it without excluding stronger adjacent ideas.
183
-
184
- The mechanism to preserve is:
185
- - generate many ideas first
186
- - critique the full combined list second
187
- - explain only the survivors in detail
188
-
189
- The sub-agent pattern to preserve is:
190
- - independent ideation with frames as starting biases first
191
- - orchestrator merge, dedupe, and cross-cutting synthesis second
192
- - critique only after the combined and synthesized list exists
193
-
194
- ### Phase 3: Adversarial Filtering
195
-
196
- Review every generated idea critically.
197
-
198
- Prefer a two-layer critique:
199
- 1. Have one or more skeptical sub-agents attack the merged list from distinct angles.
200
- 2. Have the orchestrator synthesize those critiques, apply the rubric consistently, score the survivors, and decide the final ranking.
201
-
202
- Do not let critique agents generate replacement ideas in this phase unless explicitly refining.
203
-
204
- Critique agents may provide local judgments, but final scoring authority belongs to the orchestrator so the ranking stays consistent across different frames and perspectives.
205
-
206
- For each rejected idea, write a one-line reason.
207
-
208
- Use rejection criteria such as:
209
- - too vague
210
- - not actionable
211
- - duplicates a stronger idea
212
- - not grounded in the current codebase
213
- - too expensive relative to likely value
214
- - already covered by existing workflows or docs
215
- - interesting but better handled as a brainstorm variant, not a product improvement
216
-
217
- Use a consistent survivor rubric that weighs:
218
- - groundedness in the current repo
219
- - expected value
220
- - novelty
221
- - pragmatism
222
- - leverage on future work
223
- - implementation burden
224
- - overlap with stronger ideas
225
-
226
- Target output:
227
- - keep 5-7 survivors by default
228
- - if too many survive, run a second stricter pass
229
- - if fewer than 5 survive, report that honestly rather than lowering the bar
230
-
231
- ### Phase 4: Present the Survivors
232
-
233
- Present the surviving ideas to the user before writing the durable artifact.
234
-
235
- This first presentation is a review checkpoint, not the final archived result.
236
-
237
- Present only the surviving ideas in structured form:
238
-
239
- - title
240
- - description
241
- - rationale
242
- - downsides
243
- - confidence score
244
- - estimated complexity
245
-
246
- Then include a brief rejection summary so the user can see what was considered and cut.
247
-
248
- Keep the presentation concise. The durable artifact holds the full record.
249
-
250
- Allow brief follow-up questions and lightweight clarification before writing the artifact.
251
-
252
- Do not write the ideation doc yet unless:
253
- - the user indicates the candidate set is good enough to preserve
254
- - the user asks to refine and continue in a way that should be recorded
255
- - the workflow is about to hand off to `ce:brainstorm`, Proof sharing, or session end
256
-
257
- ### Phase 5: Write the Ideation Artifact
258
-
259
- Write the ideation artifact after the candidate set has been reviewed enough to preserve.
260
-
261
- Always write or update the artifact before:
262
- - handing off to `ce:brainstorm`
263
- - sharing to Proof
264
- - ending the session
265
-
266
- To write the artifact:
267
-
268
- 1. Ensure `docs/ideation/` exists
269
- 2. Choose the file path:
270
- - `docs/ideation/YYYY-MM-DD-<topic>-ideation.md`
271
- - `docs/ideation/YYYY-MM-DD-open-ideation.md` when no focus exists
272
- 3. Write or update the ideation document
273
-
274
- Use this structure and omit clearly irrelevant fields only when necessary:
275
-
276
- ```markdown
277
- ---
278
- date: YYYY-MM-DD
279
- topic: <kebab-case-topic>
280
- focus: <optional focus hint>
281
- ---
282
-
283
- # Ideation: <Title>
284
-
285
- ## Codebase Context
286
- [Grounding summary from Phase 1]
287
-
288
- ## Ranked Ideas
289
-
290
- ### 1. <Idea Title>
291
- **Description:** [Concrete explanation]
292
- **Rationale:** [Why this improves the project]
293
- **Downsides:** [Tradeoffs or costs]
294
- **Confidence:** [0-100%]
295
- **Complexity:** [Low / Medium / High]
296
- **Status:** [Unexplored / Explored]
297
-
298
- ## Rejection Summary
126
+ **Slack context** (opt-in) never auto-dispatch. Route by condition:
299
127
 
300
- | # | Idea | Reason Rejected |
301
- |---|------|-----------------|
302
- | 1 | <Idea> | <Reason rejected> |
128
+ - **Tools available + user asked**: Dispatch `systematic:research:slack-researcher` with the focus hint in parallel with other Phase 1 agents. Include findings in the grounding summary.
129
+ - **Tools available + user didn't ask**: Note in output: "Slack tools detected. Ask me to search Slack for organizational context at any point, or include it in your next prompt."
130
+ - **No tools + user asked**: Note in output: "Slack context was requested but no Slack tools are available. Install and authenticate the Slack plugin to enable organizational context search."
303
131
 
304
- ## Session Log
305
- - YYYY-MM-DD: Initial ideation — <candidate count> generated, <survivor count> survived
306
- ```
307
-
308
- If resuming:
309
- - update the existing file in place
310
- - append to the session log
311
- - preserve explored markers
312
-
313
- ### Phase 6: Refine or Hand Off
314
-
315
- After presenting the results, ask what should happen next.
316
-
317
- Offer these options:
318
- 1. brainstorm a selected idea
319
- 2. refine the ideation
320
- 3. share to Proof
321
- 4. end the session
322
-
323
- #### 6.1 Brainstorm a Selected Idea
324
-
325
- If the user selects an idea:
326
- - write or update the ideation doc first
327
- - mark that idea as `Explored`
328
- - note the brainstorm date in the session log
329
- - invoke `ce:brainstorm` with the selected idea as the seed
330
-
331
- Do **not** skip brainstorming and go straight to planning from ideation output.
332
-
333
- #### 6.2 Refine the Ideation
334
-
335
- Route refinement by intent:
336
-
337
- - `add more ideas` or `explore new angles` -> return to Phase 2
338
- - `re-evaluate` or `raise the bar` -> return to Phase 3
339
- - `dig deeper on idea #N` -> expand only that idea's analysis
340
-
341
- After each refinement:
342
- - update the ideation document before any handoff, sharing, or session end
343
- - append a session log entry
132
+ Do **not** do external research in v1.
344
133
 
345
- #### 6.3 Share to Proof
134
+ ### Phase 2: Divergent Ideation
346
135
 
347
- If requested, share the ideation document using the standard Proof markdown upload pattern already used elsewhere in the plugin.
136
+ Generate the full candidate list before critiquing any idea.
348
137
 
349
- Return to the next-step options after sharing.
138
+ Dispatch 3-4 parallel ideation sub-agents on the inherited model (do not tier down -- creative ideation needs the orchestrator's reasoning level). Omit the `mode` parameter so the user's configured permission settings apply. Each targets ~8-10 ideas (yielding ~30 raw ideas, ~20-25 after dedupe). Adjust per-agent targets when volume overrides apply (e.g., "100 ideas" raises it, "top 3" may lower the survivor count instead).
350
139
 
351
- #### 6.4 End the Session
140
+ Give each sub-agent: the grounding summary, the focus hint, the per-agent volume target, and an instruction to generate raw candidates only (not critique). Each agent's first few ideas tend to be obvious -- push past them. Ground every idea in the Phase 1 scan.
352
141
 
353
- When ending:
354
- - offer to commit only the ideation doc
355
- - do not create a branch
356
- - do not push
357
- - if the user declines, leave the file uncommitted
142
+ Assign each sub-agent a different ideation frame as a **starting bias, not a constraint**. Prompt each to begin from its assigned perspective but follow any promising thread -- cross-cutting ideas that span multiple frames are valuable.
358
143
 
359
- ## Quality Bar
144
+ **Frame selection:**
145
+ - **When issue-tracker intent is active and themes were returned:** Each high/medium-confidence theme becomes a frame. Pad with default frames if fewer than 3 cluster-derived frames. Cap at 4 total.
146
+ - **Default frames (no issue-tracker intent):** (1) user/operator pain and friction, (2) inversion, removal, or automation of a painful step, (3) assumption-breaking or reframing, (4) leverage and compounding effects.
360
147
 
361
- Before finishing, check:
148
+ Ask each sub-agent to return a compact structure per idea: title, summary, why_it_matters, evidence/grounding hooks, optional boldness or focus_fit signal.
362
149
 
363
- - the idea set is grounded in the actual repo
364
- - the candidate list was generated before filtering
365
- - the original many-ideas -> critique -> survivors mechanism was preserved
366
- - if sub-agents were used, they improved diversity without replacing the core workflow
367
- - every rejected idea has a reason
368
- - survivors are materially better than a naive "give me ideas" list
369
- - the artifact was written before any handoff, sharing, or session end
370
- - acting on an idea routes to `ce:brainstorm`, not directly to implementation
150
+ After all sub-agents return:
151
+ 1. Merge and dedupe into one master candidate list.
152
+ 2. Synthesize cross-cutting combinations -- scan for ideas from different frames that combine into something stronger (expect 3-5 additions at most).
153
+ 3. If a focus was provided, weight the merged list toward it without excluding stronger adjacent ideas.
154
+ 4. Spread ideas across multiple dimensions when justified: workflow/DX, reliability, extensibility, missing capabilities, docs/knowledge compounding, quality/maintenance, leverage on future work.
371
155
 
156
+ After merging and synthesis, read `references/post-ideation-workflow.md` for the adversarial filtering rubric, presentation format, artifact template, handoff options, and quality bar. Do not load this file before Phase 2 agent dispatch completes.