@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
@@ -0,0 +1,371 @@
1
+ ---
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]'
5
+ ---
6
+
7
+ # Generate Improvement Ideas
8
+
9
+ **Note: The current year is 2026.** Use this when dating ideation documents and checking recent ideation artifacts.
10
+
11
+ `ce:ideate` precedes `ce:brainstorm`.
12
+
13
+ - `ce:ideate` answers: "What are the strongest ideas worth exploring?"
14
+ - `ce:brainstorm` answers: "What exactly should one chosen idea mean?"
15
+ - `ce:plan` answers: "How should it be built?"
16
+
17
+ This workflow produces a ranked ideation artifact in `docs/ideation/`. It does **not** produce requirements, plans, or code.
18
+
19
+ ## Interaction Method
20
+
21
+ Use the platform's blocking question tool when available (`AskUserQuestion` in OpenCode, `request_user_input` in Codex, `ask_user` in Gemini). Otherwise, present numbered options in chat and wait for the user's reply before proceeding.
22
+
23
+ Ask one question at a time. Prefer concise single-select choices when natural options exist.
24
+
25
+ ## Focus Hint
26
+
27
+ <focus_hint> #$ARGUMENTS </focus_hint>
28
+
29
+ Interpret any provided argument as optional context. It may be:
30
+
31
+ - a concept such as `DX improvements`
32
+ - a path such as `plugins/compound-engineering/skills/`
33
+ - a constraint such as `low-complexity quick wins`
34
+ - a volume hint such as `top 3`, `100 ideas`, or `raise the bar`
35
+
36
+ If no argument is provided, proceed with open-ended ideation.
37
+
38
+ ## Core Principles
39
+
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.
47
+
48
+ ## Execution Flow
49
+
50
+ ### Phase 0: Resume and Scope
51
+
52
+ #### 0.1 Check for Recent Ideation Work
53
+
54
+ Look in `docs/ideation/` for ideation documents created within the last 30 days.
55
+
56
+ Treat a prior ideation doc as relevant when:
57
+ - the topic matches the requested focus
58
+ - the path or subsystem overlaps the requested focus
59
+ - the request is open-ended and there is an obvious recent open ideation doc
60
+ - the issue-grounded status matches: do not offer to resume a non-issue ideation when the current argument indicates issue-tracker intent, or vice versa — treat these as distinct topics
61
+
62
+ If a relevant doc exists, ask whether to:
63
+ 1. continue from it
64
+ 2. start fresh
65
+
66
+ If continuing:
67
+ - read the document
68
+ - summarize what has already been explored
69
+ - preserve previous idea statuses and session log entries
70
+ - update the existing file instead of creating a duplicate
71
+
72
+ #### 0.2 Interpret Focus and Volume
73
+
74
+ Infer three things from the argument:
75
+
76
+ - **Focus context** - concept, path, constraint, or open-ended
77
+ - **Volume override** - any hint that changes candidate or survivor counts
78
+ - **Issue-tracker intent** - whether the user wants issue/bug data as an input source
79
+
80
+ Issue-tracker intent triggers when the argument's primary intent is about analyzing issue patterns: `bugs`, `github issues`, `open issues`, `issue patterns`, `what users are reporting`, `bug reports`, `issue themes`.
81
+
82
+ Do NOT trigger on arguments that merely mention bugs as a focus: `bug in auth`, `fix the login issue`, `the signup bug` — these are focus hints, not requests to analyze the issue tracker.
83
+
84
+ 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
+
86
+ Default volume:
87
+ - each ideation sub-agent generates about 7-8 ideas (yielding 30-40 raw ideas across agents, ~20-30 after dedupe)
88
+ - keep the top 5-7 survivors
89
+
90
+ Honor clear overrides such as:
91
+ - `top 3`
92
+ - `100 ideas`
93
+ - `go deep`
94
+ - `raise the bar`
95
+
96
+ Use reasonable interpretation rather than formal parsing.
97
+
98
+ ### Phase 1: Codebase Scan
99
+
100
+ Before generating ideas, gather codebase context.
101
+
102
+ Run agents in parallel in the **foreground** (do not use background dispatch — the results are needed before proceeding):
103
+
104
+ 1. **Quick context scan** — dispatch a general-purpose sub-agent with this prompt:
105
+
106
+ > Read the project's AGENTS.md (or AGENTS.md / 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:
107
+ > - project shape (language, framework, top-level directory layout)
108
+ > - notable patterns or conventions
109
+ > - obvious pain points or gaps
110
+ > - likely leverage points for improvement
111
+ >
112
+ > Keep the scan shallow — read only top-level documentation and directory structure. Do not analyze GitHub issues, templates, or contribution guidelines. Do not do deep code search.
113
+ >
114
+ > Focus hint: {focus_hint}
115
+
116
+ 2. **Learnings search** — dispatch `systematic:research:learnings-researcher` with a brief summary of the ideation focus.
117
+
118
+ 3. **Issue intelligence** (conditional) — if issue-tracker intent was detected in Phase 0.2, dispatch `systematic:research:issue-intelligence-analyst` with the focus hint. If a focus hint is present, pass it so the agent can weight its clustering toward that area. Run this in parallel with agents 1 and 2.
119
+
120
+ If the agent returns an error (gh not installed, no remote, auth failure), log a warning to the user ("Issue analysis unavailable: {reason}. Proceeding with standard ideation.") and continue with the existing two-agent grounding.
121
+
122
+ If the agent reports fewer than 5 total issues, note "Insufficient issue signal for theme analysis" and proceed with default ideation frames in Phase 2.
123
+
124
+ Consolidate all results into a short grounding summary. When issue intelligence is present, keep it as a distinct section so ideation sub-agents can distinguish between code-observed and user-reported signals:
125
+
126
+ - **Codebase context** — project shape, notable patterns, obvious pain points, likely leverage points
127
+ - **Past learnings** — relevant institutional knowledge from docs/solutions/
128
+ - **Issue intelligence** (when present) — theme summaries from the issue intelligence agent, preserving theme titles, descriptions, issue counts, and trend directions
129
+
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
299
+
300
+ | # | Idea | Reason Rejected |
301
+ |---|------|-----------------|
302
+ | 1 | <Idea> | <Reason rejected> |
303
+
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
344
+
345
+ #### 6.3 Share to Proof
346
+
347
+ If requested, share the ideation document using the standard Proof markdown upload pattern already used elsewhere in the plugin.
348
+
349
+ Return to the next-step options after sharing.
350
+
351
+ #### 6.4 End the Session
352
+
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
358
+
359
+ ## Quality Bar
360
+
361
+ Before finishing, check:
362
+
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
371
+