@fro.bot/systematic 1.21.3 → 1.22.0
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/research/learnings-researcher.md +1 -1
- package/commands/ce/brainstorm.md +145 -0
- package/commands/ce/compound.md +240 -0
- package/commands/ce/plan.md +636 -0
- package/commands/ce/review.md +525 -0
- package/commands/ce/work.md +456 -0
- package/commands/create-agent-skill.md +1 -3
- package/commands/deepen-plan.md +8 -8
- package/commands/heal-skill.md +1 -3
- package/commands/lfg.md +0 -1
- package/commands/slfg.md +0 -1
- package/commands/test-xcode.md +1 -2
- package/commands/workflows/brainstorm.md +23 -7
- package/commands/workflows/compound.md +5 -235
- package/commands/workflows/plan.md +4 -619
- package/commands/workflows/review.md +5 -524
- package/commands/workflows/work.md +5 -465
- package/package.json +1 -1
- package/skills/brainstorming/SKILL.md +0 -1
- package/skills/compound-docs/SKILL.md +4 -4
- package/skills/create-agent-skills/workflows/add-workflow.md +6 -0
- package/skills/create-agent-skills/workflows/create-new-skill.md +8 -2
- package/skills/create-agent-skills/workflows/get-guidance.md +1 -1
- package/skills/document-review/SKILL.md +0 -1
- package/skills/proof/SKILL.md +185 -0
- package/skills/setup/SKILL.md +10 -4
|
@@ -1,625 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: workflows:plan
|
|
3
|
-
description:
|
|
3
|
+
description: "[DEPRECATED] Use /ce:plan instead — renamed for clarity."
|
|
4
4
|
argument-hint: "[feature description, bug report, or improvement idea]"
|
|
5
|
+
disable-model-invocation: true
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
NOTE: /workflows:plan is deprecated. Please use /ce:plan instead. This alias will be removed in a future version.
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
**Note: The current year is 2026.** Use this when dating plans and searching for recent documentation.
|
|
12
|
-
|
|
13
|
-
Transform feature descriptions, bug reports, or improvement ideas into well-structured markdown files issues that follow project conventions and best practices. This command provides flexible detail levels to match your needs.
|
|
14
|
-
|
|
15
|
-
## Feature Description
|
|
16
|
-
|
|
17
|
-
<feature_description> #$ARGUMENTS </feature_description>
|
|
18
|
-
|
|
19
|
-
**If the feature description above is empty, ask the user:** "What would you like to plan? Please describe the feature, bug fix, or improvement you have in mind."
|
|
20
|
-
|
|
21
|
-
Do not proceed until you have a clear feature description from the user.
|
|
22
|
-
|
|
23
|
-
### 0. Idea Refinement
|
|
24
|
-
|
|
25
|
-
**Check for brainstorm output first:**
|
|
26
|
-
|
|
27
|
-
Before asking questions, look for recent brainstorm documents in `docs/brainstorms/` that match this feature:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
ls -la docs/brainstorms/*.md 2>/dev/null | head -10
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
**Relevance criteria:** A brainstorm is relevant if:
|
|
34
|
-
- The topic (from filename or YAML frontmatter) semantically matches the feature description
|
|
35
|
-
- Created within the last 14 days
|
|
36
|
-
- If multiple candidates match, use the most recent one
|
|
37
|
-
|
|
38
|
-
**If a relevant brainstorm exists:**
|
|
39
|
-
1. Read the brainstorm document **thoroughly** — every section matters
|
|
40
|
-
2. Announce: "Found brainstorm from [date]: [topic]. Using as foundation for planning."
|
|
41
|
-
3. Extract and carry forward **ALL** of the following into the plan:
|
|
42
|
-
- Key decisions and their rationale
|
|
43
|
-
- Chosen approach and why alternatives were rejected
|
|
44
|
-
- Constraints and requirements discovered during brainstorming
|
|
45
|
-
- Open questions (flag these for resolution during planning)
|
|
46
|
-
- Success criteria and scope boundaries
|
|
47
|
-
- Any specific technical choices or patterns discussed
|
|
48
|
-
4. **Skip the idea refinement questions below** — the brainstorm already answered WHAT to build
|
|
49
|
-
5. Use brainstorm content as the **primary input** to research and planning phases
|
|
50
|
-
6. **Critical: The brainstorm is the origin document.** Throughout the plan, reference specific decisions with `(see brainstorm: docs/brainstorms/<filename>)` when carrying forward conclusions. Do not paraphrase decisions in a way that loses their original context — link back to the source.
|
|
51
|
-
7. **Do not omit brainstorm content** — if the brainstorm discussed it, the plan must address it (even if briefly). Scan each brainstorm section before finalizing the plan to verify nothing was dropped.
|
|
52
|
-
|
|
53
|
-
**If multiple brainstorms could match:**
|
|
54
|
-
Use **question tool** to ask which brainstorm to use, or whether to proceed without one.
|
|
55
|
-
|
|
56
|
-
**If no brainstorm found (or not relevant), run idea refinement:**
|
|
57
|
-
|
|
58
|
-
Refine the idea through collaborative dialogue using the **question tool**:
|
|
59
|
-
|
|
60
|
-
- Ask questions one at a time to understand the idea fully
|
|
61
|
-
- Prefer multiple choice questions when natural options exist
|
|
62
|
-
- Focus on understanding: purpose, constraints and success criteria
|
|
63
|
-
- Continue until the idea is clear OR user says "proceed"
|
|
64
|
-
|
|
65
|
-
**Gather signals for research decision.** During refinement, note:
|
|
66
|
-
|
|
67
|
-
- **User's familiarity**: Do they know the codebase patterns? Are they pointing to examples?
|
|
68
|
-
- **User's intent**: Speed vs thoroughness? Exploration vs execution?
|
|
69
|
-
- **Topic risk**: Security, payments, external APIs warrant more caution
|
|
70
|
-
- **Uncertainty level**: Is the approach clear or open-ended?
|
|
71
|
-
|
|
72
|
-
**Skip option:** If the feature description is already detailed, offer:
|
|
73
|
-
"Your description is clear. Should I proceed with research, or would you like to refine it further?"
|
|
74
|
-
|
|
75
|
-
## Main Tasks
|
|
76
|
-
|
|
77
|
-
### 1. Local Research (Always Runs - Parallel)
|
|
78
|
-
|
|
79
|
-
<thinking>
|
|
80
|
-
First, I need to understand the project's conventions, existing patterns, and any documented learnings. This is fast and local - it informs whether external research is needed.
|
|
81
|
-
</thinking>
|
|
82
|
-
|
|
83
|
-
Run these agents **in parallel** to gather local context:
|
|
84
|
-
|
|
85
|
-
- task repo-research-analyst(feature_description)
|
|
86
|
-
- task learnings-researcher(feature_description)
|
|
87
|
-
|
|
88
|
-
**What to look for:**
|
|
89
|
-
- **Repo research:** existing patterns, AGENTS.md guidance, technology familiarity, pattern consistency
|
|
90
|
-
- **Learnings:** documented solutions in `docs/solutions/` that might apply (gotchas, patterns, lessons learned)
|
|
91
|
-
|
|
92
|
-
These findings inform the next step.
|
|
93
|
-
|
|
94
|
-
### 1.5. Research Decision
|
|
95
|
-
|
|
96
|
-
Based on signals from Step 0 and findings from Step 1, decide on external research.
|
|
97
|
-
|
|
98
|
-
**High-risk topics → always research.** Security, payments, external APIs, data privacy. The cost of missing something is too high. This takes precedence over speed signals.
|
|
99
|
-
|
|
100
|
-
**Strong local context → skip external research.** Codebase has good patterns, AGENTS.md has guidance, user knows what they want. External research adds little value.
|
|
101
|
-
|
|
102
|
-
**Uncertainty or unfamiliar territory → research.** User is exploring, codebase has no examples, new technology. External perspective is valuable.
|
|
103
|
-
|
|
104
|
-
**Announce the decision and proceed.** Brief explanation, then continue. User can redirect if needed.
|
|
105
|
-
|
|
106
|
-
Examples:
|
|
107
|
-
- "Your codebase has solid patterns for this. Proceeding without external research."
|
|
108
|
-
- "This involves payment processing, so I'll research current best practices first."
|
|
109
|
-
|
|
110
|
-
### 1.5b. External Research (Conditional)
|
|
111
|
-
|
|
112
|
-
**Only run if Step 1.5 indicates external research is valuable.**
|
|
113
|
-
|
|
114
|
-
Run these agents in parallel:
|
|
115
|
-
|
|
116
|
-
- task best-practices-researcher(feature_description)
|
|
117
|
-
- task framework-docs-researcher(feature_description)
|
|
118
|
-
|
|
119
|
-
### 1.6. Consolidate Research
|
|
120
|
-
|
|
121
|
-
After all research steps complete, consolidate findings:
|
|
122
|
-
|
|
123
|
-
- Document relevant file paths from repo research (e.g., `app/services/example_service.rb:42`)
|
|
124
|
-
- **Include relevant institutional learnings** from `docs/solutions/` (key insights, gotchas to avoid)
|
|
125
|
-
- Note external documentation URLs and best practices (if external research was done)
|
|
126
|
-
- List related issues or PRs discovered
|
|
127
|
-
- Capture AGENTS.md conventions
|
|
128
|
-
|
|
129
|
-
**Optional validation:** Briefly summarize findings and ask if anything looks off or missing before proceeding to planning.
|
|
130
|
-
|
|
131
|
-
### 2. Issue Planning & Structure
|
|
132
|
-
|
|
133
|
-
<thinking>
|
|
134
|
-
Think like a product manager - what would make this issue clear and actionable? Consider multiple perspectives
|
|
135
|
-
</thinking>
|
|
136
|
-
|
|
137
|
-
**Title & Categorization:**
|
|
138
|
-
|
|
139
|
-
- [ ] Draft clear, searchable issue title using conventional format (e.g., `feat: Add user authentication`, `fix: Cart total calculation`)
|
|
140
|
-
- [ ] Determine issue type: enhancement, bug, refactor
|
|
141
|
-
- [ ] Convert title to filename: add today's date prefix, strip prefix colon, kebab-case, add `-plan` suffix
|
|
142
|
-
- Example: `feat: Add User Authentication` → `2026-01-21-feat-add-user-authentication-plan.md`
|
|
143
|
-
- Keep it descriptive (3-5 words after prefix) so plans are findable by context
|
|
144
|
-
|
|
145
|
-
**Stakeholder Analysis:**
|
|
146
|
-
|
|
147
|
-
- [ ] Identify who will be affected by this issue (end users, developers, operations)
|
|
148
|
-
- [ ] Consider implementation complexity and required expertise
|
|
149
|
-
|
|
150
|
-
**Content Planning:**
|
|
151
|
-
|
|
152
|
-
- [ ] Choose appropriate detail level based on issue complexity and audience
|
|
153
|
-
- [ ] List all necessary sections for the chosen template
|
|
154
|
-
- [ ] Gather supporting materials (error logs, screenshots, design mockups)
|
|
155
|
-
- [ ] Prepare code examples or reproduction steps if applicable, name the mock filenames in the lists
|
|
156
|
-
|
|
157
|
-
### 3. SpecFlow Analysis
|
|
158
|
-
|
|
159
|
-
After planning the issue structure, run SpecFlow Analyzer to validate and refine the feature specification:
|
|
160
|
-
|
|
161
|
-
- task systematic:workflow:spec-flow-analyzer(feature_description, research_findings)
|
|
162
|
-
|
|
163
|
-
**SpecFlow Analyzer Output:**
|
|
164
|
-
|
|
165
|
-
- [ ] Review SpecFlow analysis results
|
|
166
|
-
- [ ] Incorporate any identified gaps or edge cases into the issue
|
|
167
|
-
- [ ] Update acceptance criteria based on SpecFlow findings
|
|
168
|
-
|
|
169
|
-
### 4. Choose Implementation Detail Level
|
|
170
|
-
|
|
171
|
-
Select how comprehensive you want the issue to be, simpler is mostly better.
|
|
172
|
-
|
|
173
|
-
#### 📄 MINIMAL (Quick Issue)
|
|
174
|
-
|
|
175
|
-
**Best for:** Simple bugs, small improvements, clear features
|
|
176
|
-
|
|
177
|
-
**Includes:**
|
|
178
|
-
|
|
179
|
-
- Problem statement or feature description
|
|
180
|
-
- Basic acceptance criteria
|
|
181
|
-
- Essential context only
|
|
182
|
-
|
|
183
|
-
**Structure:**
|
|
184
|
-
|
|
185
|
-
````markdown
|
|
186
|
-
---
|
|
187
|
-
title: [Issue Title]
|
|
188
|
-
type: [feat|fix|refactor]
|
|
189
|
-
status: active
|
|
190
|
-
date: YYYY-MM-DD
|
|
191
|
-
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
# [Issue Title]
|
|
195
|
-
|
|
196
|
-
[Brief problem/feature description]
|
|
197
|
-
|
|
198
|
-
## Acceptance Criteria
|
|
199
|
-
|
|
200
|
-
- [ ] Core requirement 1
|
|
201
|
-
- [ ] Core requirement 2
|
|
202
|
-
|
|
203
|
-
## Context
|
|
204
|
-
|
|
205
|
-
[Any critical information]
|
|
206
|
-
|
|
207
|
-
## MVP
|
|
208
|
-
|
|
209
|
-
### test.rb
|
|
210
|
-
|
|
211
|
-
```ruby
|
|
212
|
-
class Test
|
|
213
|
-
def initialize
|
|
214
|
-
@name = "test"
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
## Sources
|
|
220
|
-
|
|
221
|
-
- **Origin brainstorm:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm
|
|
222
|
-
- Related issue: #[issue_number]
|
|
223
|
-
- Documentation: [relevant_docs_url]
|
|
224
|
-
````
|
|
225
|
-
|
|
226
|
-
#### 📋 MORE (Standard Issue)
|
|
227
|
-
|
|
228
|
-
**Best for:** Most features, complex bugs, team collaboration
|
|
229
|
-
|
|
230
|
-
**Includes everything from MINIMAL plus:**
|
|
231
|
-
|
|
232
|
-
- Detailed background and motivation
|
|
233
|
-
- Technical considerations
|
|
234
|
-
- Success metrics
|
|
235
|
-
- Dependencies and risks
|
|
236
|
-
- Basic implementation suggestions
|
|
237
|
-
|
|
238
|
-
**Structure:**
|
|
239
|
-
|
|
240
|
-
```markdown
|
|
241
|
-
---
|
|
242
|
-
title: [Issue Title]
|
|
243
|
-
type: [feat|fix|refactor]
|
|
244
|
-
status: active
|
|
245
|
-
date: YYYY-MM-DD
|
|
246
|
-
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
# [Issue Title]
|
|
250
|
-
|
|
251
|
-
## Overview
|
|
252
|
-
|
|
253
|
-
[Comprehensive description]
|
|
254
|
-
|
|
255
|
-
## Problem Statement / Motivation
|
|
256
|
-
|
|
257
|
-
[Why this matters]
|
|
258
|
-
|
|
259
|
-
## Proposed Solution
|
|
260
|
-
|
|
261
|
-
[High-level approach]
|
|
262
|
-
|
|
263
|
-
## Technical Considerations
|
|
264
|
-
|
|
265
|
-
- Architecture impacts
|
|
266
|
-
- Performance implications
|
|
267
|
-
- Security considerations
|
|
268
|
-
|
|
269
|
-
## System-Wide Impact
|
|
270
|
-
|
|
271
|
-
- **Interaction graph**: [What callbacks/middleware/observers fire when this runs?]
|
|
272
|
-
- **Error propagation**: [How do errors flow across layers? Do retry strategies align?]
|
|
273
|
-
- **State lifecycle risks**: [Can partial failure leave orphaned/inconsistent state?]
|
|
274
|
-
- **API surface parity**: [What other interfaces expose similar functionality and need the same change?]
|
|
275
|
-
- **Integration test scenarios**: [Cross-layer scenarios that unit tests won't catch]
|
|
276
|
-
|
|
277
|
-
## Acceptance Criteria
|
|
278
|
-
|
|
279
|
-
- [ ] Detailed requirement 1
|
|
280
|
-
- [ ] Detailed requirement 2
|
|
281
|
-
- [ ] Testing requirements
|
|
282
|
-
|
|
283
|
-
## Success Metrics
|
|
284
|
-
|
|
285
|
-
[How we measure success]
|
|
286
|
-
|
|
287
|
-
## Dependencies & Risks
|
|
288
|
-
|
|
289
|
-
[What could block or complicate this]
|
|
290
|
-
|
|
291
|
-
## Sources & References
|
|
292
|
-
|
|
293
|
-
- **Origin brainstorm:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm
|
|
294
|
-
- Similar implementations: [file_path:line_number]
|
|
295
|
-
- Best practices: [documentation_url]
|
|
296
|
-
- Related PRs: #[pr_number]
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
#### 📚 A LOT (Comprehensive Issue)
|
|
300
|
-
|
|
301
|
-
**Best for:** Major features, architectural changes, complex integrations
|
|
302
|
-
|
|
303
|
-
**Includes everything from MORE plus:**
|
|
304
|
-
|
|
305
|
-
- Detailed implementation plan with phases
|
|
306
|
-
- Alternative approaches considered
|
|
307
|
-
- Extensive technical specifications
|
|
308
|
-
- Resource requirements and timeline
|
|
309
|
-
- Future considerations and extensibility
|
|
310
|
-
- Risk mitigation strategies
|
|
311
|
-
- Documentation requirements
|
|
312
|
-
|
|
313
|
-
**Structure:**
|
|
314
|
-
|
|
315
|
-
```markdown
|
|
316
|
-
---
|
|
317
|
-
title: [Issue Title]
|
|
318
|
-
type: [feat|fix|refactor]
|
|
319
|
-
status: active
|
|
320
|
-
date: YYYY-MM-DD
|
|
321
|
-
origin: docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md # if originated from brainstorm, otherwise omit
|
|
322
|
-
---
|
|
323
|
-
|
|
324
|
-
# [Issue Title]
|
|
325
|
-
|
|
326
|
-
## Overview
|
|
327
|
-
|
|
328
|
-
[Executive summary]
|
|
329
|
-
|
|
330
|
-
## Problem Statement
|
|
331
|
-
|
|
332
|
-
[Detailed problem analysis]
|
|
333
|
-
|
|
334
|
-
## Proposed Solution
|
|
335
|
-
|
|
336
|
-
[Comprehensive solution design]
|
|
337
|
-
|
|
338
|
-
## Technical Approach
|
|
339
|
-
|
|
340
|
-
### Architecture
|
|
341
|
-
|
|
342
|
-
[Detailed technical design]
|
|
343
|
-
|
|
344
|
-
### Implementation Phases
|
|
345
|
-
|
|
346
|
-
#### Phase 1: [Foundation]
|
|
347
|
-
|
|
348
|
-
- Tasks and deliverables
|
|
349
|
-
- Success criteria
|
|
350
|
-
- Estimated effort
|
|
351
|
-
|
|
352
|
-
#### Phase 2: [Core Implementation]
|
|
353
|
-
|
|
354
|
-
- Tasks and deliverables
|
|
355
|
-
- Success criteria
|
|
356
|
-
- Estimated effort
|
|
357
|
-
|
|
358
|
-
#### Phase 3: [Polish & Optimization]
|
|
359
|
-
|
|
360
|
-
- Tasks and deliverables
|
|
361
|
-
- Success criteria
|
|
362
|
-
- Estimated effort
|
|
363
|
-
|
|
364
|
-
## Alternative Approaches Considered
|
|
365
|
-
|
|
366
|
-
[Other solutions evaluated and why rejected]
|
|
367
|
-
|
|
368
|
-
## System-Wide Impact
|
|
369
|
-
|
|
370
|
-
### Interaction Graph
|
|
371
|
-
|
|
372
|
-
[Map the chain reaction: what callbacks, middleware, observers, and event handlers fire when this code runs? Trace at least two levels deep. Document: "Action X triggers Y, which calls Z, which persists W."]
|
|
373
|
-
|
|
374
|
-
### Error & Failure Propagation
|
|
375
|
-
|
|
376
|
-
[Trace errors from lowest layer up. List specific error classes and where they're handled. Identify retry conflicts, unhandled error types, and silent failure swallowing.]
|
|
377
|
-
|
|
378
|
-
### State Lifecycle Risks
|
|
379
|
-
|
|
380
|
-
[Walk through each step that persists state. Can partial failure orphan rows, duplicate records, or leave caches stale? Document cleanup mechanisms or their absence.]
|
|
381
|
-
|
|
382
|
-
### API Surface Parity
|
|
383
|
-
|
|
384
|
-
[List all interfaces (classes, DSLs, endpoints) that expose equivalent functionality. Note which need updating and which share the code path.]
|
|
385
|
-
|
|
386
|
-
### Integration Test Scenarios
|
|
387
|
-
|
|
388
|
-
[3-5 cross-layer test scenarios that unit tests with mocks would never catch. Include expected behavior for each.]
|
|
389
|
-
|
|
390
|
-
## Acceptance Criteria
|
|
391
|
-
|
|
392
|
-
### Functional Requirements
|
|
393
|
-
|
|
394
|
-
- [ ] Detailed functional criteria
|
|
395
|
-
|
|
396
|
-
### Non-Functional Requirements
|
|
397
|
-
|
|
398
|
-
- [ ] Performance targets
|
|
399
|
-
- [ ] Security requirements
|
|
400
|
-
- [ ] Accessibility standards
|
|
401
|
-
|
|
402
|
-
### Quality Gates
|
|
403
|
-
|
|
404
|
-
- [ ] Test coverage requirements
|
|
405
|
-
- [ ] Documentation completeness
|
|
406
|
-
- [ ] Code review approval
|
|
407
|
-
|
|
408
|
-
## Success Metrics
|
|
409
|
-
|
|
410
|
-
[Detailed KPIs and measurement methods]
|
|
411
|
-
|
|
412
|
-
## Dependencies & Prerequisites
|
|
413
|
-
|
|
414
|
-
[Detailed dependency analysis]
|
|
415
|
-
|
|
416
|
-
## Risk Analysis & Mitigation
|
|
417
|
-
|
|
418
|
-
[Comprehensive risk assessment]
|
|
419
|
-
|
|
420
|
-
## Resource Requirements
|
|
421
|
-
|
|
422
|
-
[Team, time, infrastructure needs]
|
|
423
|
-
|
|
424
|
-
## Future Considerations
|
|
425
|
-
|
|
426
|
-
[Extensibility and long-term vision]
|
|
427
|
-
|
|
428
|
-
## Documentation Plan
|
|
429
|
-
|
|
430
|
-
[What docs need updating]
|
|
431
|
-
|
|
432
|
-
## Sources & References
|
|
433
|
-
|
|
434
|
-
### Origin
|
|
435
|
-
|
|
436
|
-
- **Brainstorm document:** [docs/brainstorms/YYYY-MM-DD-<topic>-brainstorm.md](path) — include if plan originated from a brainstorm. Key decisions carried forward: [list 2-3 major decisions from brainstorm]
|
|
437
|
-
|
|
438
|
-
### Internal References
|
|
439
|
-
|
|
440
|
-
- Architecture decisions: [file_path:line_number]
|
|
441
|
-
- Similar features: [file_path:line_number]
|
|
442
|
-
- Configuration: [file_path:line_number]
|
|
443
|
-
|
|
444
|
-
### External References
|
|
445
|
-
|
|
446
|
-
- Framework documentation: [url]
|
|
447
|
-
- Best practices guide: [url]
|
|
448
|
-
- Industry standards: [url]
|
|
449
|
-
|
|
450
|
-
### Related Work
|
|
451
|
-
|
|
452
|
-
- Previous PRs: #[pr_numbers]
|
|
453
|
-
- Related issues: #[issue_numbers]
|
|
454
|
-
- Design documents: [links]
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
### 5. Issue Creation & Formatting
|
|
458
|
-
|
|
459
|
-
<thinking>
|
|
460
|
-
Apply best practices for clarity and actionability, making the issue easy to scan and understand
|
|
461
|
-
</thinking>
|
|
462
|
-
|
|
463
|
-
**Content Formatting:**
|
|
464
|
-
|
|
465
|
-
- [ ] Use clear, descriptive headings with proper hierarchy (##, ###)
|
|
466
|
-
- [ ] Include code examples in triple backticks with language syntax highlighting
|
|
467
|
-
- [ ] Add screenshots/mockups if UI-related (drag & drop or use image hosting)
|
|
468
|
-
- [ ] Use task lists (- [ ]) for trackable items that can be checked off
|
|
469
|
-
- [ ] Add collapsible sections for lengthy logs or optional details using `<details>` tags
|
|
470
|
-
- [ ] Apply appropriate emoji for visual scanning (🐛 bug, ✨ feature, 📚 docs, ♻️ refactor)
|
|
471
|
-
|
|
472
|
-
**Cross-Referencing:**
|
|
473
|
-
|
|
474
|
-
- [ ] Link to related issues/PRs using #number format
|
|
475
|
-
- [ ] Reference specific commits with SHA hashes when relevant
|
|
476
|
-
- [ ] Link to code using GitHub's permalink feature (press 'y' for permanent link)
|
|
477
|
-
- [ ] Mention relevant team members with @username if needed
|
|
478
|
-
- [ ] Add links to external resources with descriptive text
|
|
479
|
-
|
|
480
|
-
**Code & Examples:**
|
|
481
|
-
|
|
482
|
-
````markdown
|
|
483
|
-
# Good example with syntax highlighting and line references
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
```ruby
|
|
487
|
-
# app/services/user_service.rb:42
|
|
488
|
-
def process_user(user)
|
|
489
|
-
|
|
490
|
-
# Implementation here
|
|
491
|
-
|
|
492
|
-
end
|
|
493
|
-
```
|
|
494
|
-
|
|
495
|
-
# Collapsible error logs
|
|
496
|
-
|
|
497
|
-
<details>
|
|
498
|
-
<summary>Full error stacktrace</summary>
|
|
499
|
-
|
|
500
|
-
`Error details here...`
|
|
501
|
-
|
|
502
|
-
</details>
|
|
503
|
-
````
|
|
504
|
-
|
|
505
|
-
**AI-Era Considerations:**
|
|
506
|
-
|
|
507
|
-
- [ ] Account for accelerated development with AI pair programming
|
|
508
|
-
- [ ] Include prompts or instructions that worked well during research
|
|
509
|
-
- [ ] Note which AI tools were used for initial exploration (Claude, Copilot, etc.)
|
|
510
|
-
- [ ] Emphasize comprehensive testing given rapid implementation
|
|
511
|
-
- [ ] Document any AI-generated code that needs human review
|
|
512
|
-
|
|
513
|
-
### 6. Final Review & Submission
|
|
514
|
-
|
|
515
|
-
**Brainstorm cross-check (if plan originated from a brainstorm):**
|
|
516
|
-
|
|
517
|
-
Before finalizing, re-read the brainstorm document and verify:
|
|
518
|
-
- [ ] Every key decision from the brainstorm is reflected in the plan
|
|
519
|
-
- [ ] The chosen approach matches what was decided in the brainstorm
|
|
520
|
-
- [ ] Constraints and requirements from the brainstorm are captured in acceptance criteria
|
|
521
|
-
- [ ] Open questions from the brainstorm are either resolved or flagged
|
|
522
|
-
- [ ] The `origin:` frontmatter field points to the brainstorm file
|
|
523
|
-
- [ ] The Sources section includes the brainstorm with a summary of carried-forward decisions
|
|
524
|
-
|
|
525
|
-
**Pre-submission Checklist:**
|
|
526
|
-
|
|
527
|
-
- [ ] Title is searchable and descriptive
|
|
528
|
-
- [ ] Labels accurately categorize the issue
|
|
529
|
-
- [ ] All template sections are complete
|
|
530
|
-
- [ ] Links and references are working
|
|
531
|
-
- [ ] Acceptance criteria are measurable
|
|
532
|
-
- [ ] Add names of files in pseudo code examples and todo lists
|
|
533
|
-
- [ ] Add an ERD mermaid diagram if applicable for new model changes
|
|
534
|
-
|
|
535
|
-
## Write Plan File
|
|
536
|
-
|
|
537
|
-
**REQUIRED: Write the plan file to disk before presenting any options.**
|
|
538
|
-
|
|
539
|
-
```bash
|
|
540
|
-
mkdir -p docs/plans/
|
|
541
|
-
```
|
|
542
|
-
|
|
543
|
-
Use the Write tool to save the complete plan to `docs/plans/YYYY-MM-DD-<type>-<descriptive-name>-plan.md`. This step is mandatory and cannot be skipped — even when running as part of LFG/SLFG or other automated pipelines.
|
|
544
|
-
|
|
545
|
-
Confirm: "Plan written to docs/plans/[filename]"
|
|
546
|
-
|
|
547
|
-
**Pipeline mode:** If invoked from an automated workflow (LFG, SLFG, or any `disable-model-invocation` context), skip all question calls. Make decisions automatically and proceed to writing the plan without interactive prompts.
|
|
548
|
-
|
|
549
|
-
## Output Format
|
|
550
|
-
|
|
551
|
-
**Filename:** Use the date and kebab-case filename from Step 2 Title & Categorization.
|
|
552
|
-
|
|
553
|
-
```
|
|
554
|
-
docs/plans/YYYY-MM-DD-<type>-<descriptive-name>-plan.md
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
Examples:
|
|
558
|
-
- ✅ `docs/plans/2026-01-15-feat-user-authentication-flow-plan.md`
|
|
559
|
-
- ✅ `docs/plans/2026-02-03-fix-checkout-race-condition-plan.md`
|
|
560
|
-
- ✅ `docs/plans/2026-03-10-refactor-api-client-extraction-plan.md`
|
|
561
|
-
- ❌ `docs/plans/2026-01-15-feat-thing-plan.md` (not descriptive - what "thing"?)
|
|
562
|
-
- ❌ `docs/plans/2026-01-15-feat-new-feature-plan.md` (too vague - what feature?)
|
|
563
|
-
- ❌ `docs/plans/2026-01-15-feat: user auth-plan.md` (invalid characters - colon and space)
|
|
564
|
-
- ❌ `docs/plans/feat-user-auth-plan.md` (missing date prefix)
|
|
565
|
-
|
|
566
|
-
## Post-Generation Options
|
|
567
|
-
|
|
568
|
-
After writing the plan file, use the **question tool** to present these options:
|
|
569
|
-
|
|
570
|
-
**Question:** "Plan ready at `docs/plans/YYYY-MM-DD-<type>-<name>-plan.md`. What would you like to do next?"
|
|
571
|
-
|
|
572
|
-
**Options:**
|
|
573
|
-
1. **Open plan in editor** - Open the plan file for review
|
|
574
|
-
2. **Run `/deepen-plan`** - Enhance each section with parallel research agents (best practices, performance, UI)
|
|
575
|
-
3. **Run `/technical_review`** - Technical feedback from code-focused reviewers (DHH, Kieran, Simplicity)
|
|
576
|
-
4. **Review and refine** - Improve the document through structured self-review
|
|
577
|
-
5. **Start `/workflows:work`** - Begin implementing this plan locally
|
|
578
|
-
6. **Start `/workflows:work` on remote** - Begin implementing in OpenCode on the web (use `&` to run in background)
|
|
579
|
-
7. **Create Issue** - Create issue in project tracker (GitHub/Linear)
|
|
580
|
-
|
|
581
|
-
Based on selection:
|
|
582
|
-
- **Open plan in editor** → Run `open docs/plans/<plan_filename>.md` to open the file in the user's default editor
|
|
583
|
-
- **`/deepen-plan`** → Call the /deepen-plan command with the plan file path to enhance with research
|
|
584
|
-
- **`/technical_review`** → Call the /technical_review command with the plan file path
|
|
585
|
-
- **Review and refine** → Load `document-review` skill.
|
|
586
|
-
- **`/workflows:work`** → Call the /workflows:work command with the plan file path
|
|
587
|
-
- **`/workflows:work` on remote** → Run `/workflows:work docs/plans/<plan_filename>.md &` to start work in background for OpenCode web
|
|
588
|
-
- **Create Issue** → See "Issue Creation" section below
|
|
589
|
-
- **Other** (automatically provided) → Accept free text for rework or specific changes
|
|
590
|
-
|
|
591
|
-
**Note:** If running `/workflows:plan` with ultrathink enabled, automatically run `/deepen-plan` after plan creation for maximum depth and grounding.
|
|
592
|
-
|
|
593
|
-
Loop back to options after Simplify or Other changes until user selects `/workflows:work` or `/technical_review`.
|
|
594
|
-
|
|
595
|
-
## Issue Creation
|
|
596
|
-
|
|
597
|
-
When user selects "Create Issue", detect their project tracker from AGENTS.md:
|
|
598
|
-
|
|
599
|
-
1. **Check for tracker preference** in user's AGENTS.md (global or project):
|
|
600
|
-
- Look for `project_tracker: github` or `project_tracker: linear`
|
|
601
|
-
- Or look for mentions of "GitHub Issues" or "Linear" in their workflow section
|
|
602
|
-
|
|
603
|
-
2. **If GitHub:**
|
|
604
|
-
|
|
605
|
-
Use the title and type from Step 2 (already in context - no need to re-read the file):
|
|
606
|
-
|
|
607
|
-
```bash
|
|
608
|
-
gh issue create --title "<type>: <title>" --body-file <plan_path>
|
|
609
|
-
```
|
|
610
|
-
|
|
611
|
-
3. **If Linear:**
|
|
612
|
-
|
|
613
|
-
```bash
|
|
614
|
-
linear issue create --title "<title>" --description "$(cat <plan_path>)"
|
|
615
|
-
```
|
|
616
|
-
|
|
617
|
-
4. **If no tracker configured:**
|
|
618
|
-
Ask user: "Which project tracker do you use? (GitHub/Linear/Other)"
|
|
619
|
-
- Suggest adding `project_tracker: github` or `project_tracker: linear` to their AGENTS.md
|
|
620
|
-
|
|
621
|
-
5. **After creation:**
|
|
622
|
-
- Display the issue URL
|
|
623
|
-
- Ask if they want to proceed to `/workflows:work` or `/technical_review`
|
|
624
|
-
|
|
625
|
-
NEVER CODE! Just research and write the plan.
|
|
10
|
+
/ce:plan $ARGUMENTS
|