@jaybeeuu/agent-cortex 1.38.1 → 1.39.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.md +3 -1
- package/CHANGELOG.md +30 -0
- package/README.md +34 -16
- package/agents/README.md +7 -5
- package/agents/ralph-plan/agent.md +1 -1
- package/agents/ralph-plan.agent.md +1 -1
- package/bin/agent-cortex.mjs +13 -5
- package/bin/installers/claude.mjs +129 -15
- package/claude/.claude-plugin/plugin.json +1 -1
- package/claude/agents/ralph-plan.md +1 -1
- package/docs/ideas/extension-manifests.md +75 -0
- package/docs/ideas/record-ideas-as-beads.md +115 -0
- package/docs/ideas/subagent-visibility.md +72 -0
- package/docs/ideas/task-session-context.md +89 -0
- package/docs/research/skill-design-research.md +4 -4
- package/docs/research/skill-improvements-analysis.md +1 -1
- package/docs/skills/skill-anatomy.md +38 -2
- package/docs/technical-direction/migration-execution-labels.md +132 -0
- package/lib/cli.mjs +9 -3
- package/package.json +2 -2
- package/plugin.json +1 -1
- package/pnpm-workspace.yaml +1 -1
- package/skills/engineering/design-an-interface/SKILL.md +78 -58
- package/skills/engineering/grill-with-docs/REFERENCE.md +78 -0
- package/skills/engineering/grill-with-docs/SKILL.md +66 -63
- package/skills/engineering/improve-codebase-architecture/SKILL.md +66 -48
- package/skills/engineering/technical-direction/FORMAT.md +38 -0
- package/skills/engineering/technical-direction/SKILL.md +70 -77
- package/skills/planning/classify-bead/SKILL.md +59 -35
- package/skills/planning/create-task/REFERENCE.md +40 -0
- package/skills/planning/create-task/SKILL.md +70 -66
- package/skills/planning/create-task/scripts/create-chores.ts +6 -1
- package/skills/planning/create-task/scripts/node_modules/.bin/tsc +21 -0
- package/skills/planning/create-task/scripts/node_modules/.bin/tsserver +21 -0
- package/skills/planning/create-task/scripts/node_modules/.bin/tsx +21 -0
- package/skills/planning/prd-to-tasks/REFERENCE.md +66 -0
- package/skills/planning/prd-to-tasks/SKILL.md +86 -170
- package/skills/planning/record-idea/FORMAT.md +44 -0
- package/skills/planning/record-idea/SKILL.md +70 -53
- package/skills/planning/request-refactor-plan/FORMAT.md +45 -0
- package/skills/planning/request-refactor-plan/SKILL.md +57 -46
- package/skills/planning/write-a-prd/FORMAT.md +54 -0
- package/skills/planning/write-a-prd/SKILL.md +49 -48
- package/skills/planning/write-a-ticket/SKILL.md +68 -53
- package/skills/productivity/handoff/SKILL.md +12 -0
- package/skills/productivity/init-beads/SKILL.md +48 -40
- package/skills/productivity/validate-agent-dir/scripts/node_modules/.bin/tsc +21 -0
- package/skills/productivity/validate-agent-dir/scripts/node_modules/.bin/tsserver +21 -0
- package/skills/productivity/validate-agent-dir/scripts/node_modules/.bin/tsx +21 -0
- package/skills/productivity/write-a-skill/SKILL.md +2 -1
- package/skills/review/maintain-agent-docs/SKILL.md +71 -51
- package/skills/workflow/hitl-collab/SKILL.md +86 -17
- package/skills/workflow/ralph/REFERENCE.md +22 -17
- package/skills/workflow/ralph/SKILL.md +88 -74
- package/skills/workflow/run-pipeline-stage/REFERENCE.md +22 -0
- package/skills/workflow/run-pipeline-stage/SKILL.md +91 -93
- package/skills/workflow/run-pipeline-stage/scripts/generate-progress.test.ts +6 -107
- package/skills/workflow/run-pipeline-stage/scripts/node_modules/.bin/tsc +21 -0
- package/skills/workflow/run-pipeline-stage/scripts/node_modules/.bin/tsserver +21 -0
- package/skills/workflow/run-pipeline-stage/scripts/node_modules/.bin/tsx +21 -0
- package/test/claude-installer.test.mjs +248 -0
- package/token-map.README.md +5 -3
|
@@ -1,40 +1,35 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: prd-to-tasks
|
|
3
|
-
description: Break a PRD into phased epics and task beads using tracer-bullet vertical slices. Use when a PRD is approved and you need to create the executable backlog, or when ralph-plan encounters a large workstream.
|
|
3
|
+
description: Break a PRD into phased epics and task beads using tracer-bullet vertical slices. Use when a PRD is approved and you need to create the executable backlog, when the user says "break this into tasks", "phase this PRD", or "create epics from this spec", or when ralph-plan encounters a large workstream.
|
|
4
4
|
argument-hint: "Break down <PRD or epic description> into epics and tasks"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# PRD to Tasks
|
|
8
8
|
|
|
9
|
-
Take
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Designed to be invoked by `ralph-plan` (when the input is a PRD or a large workstream) or
|
|
13
|
-
directly by a user who has a clear spec.
|
|
9
|
+
Take an approved PRD and produce a complete set of epics and task beads, ready for ralph to
|
|
10
|
+
execute. The epic bead is the source of truth — no intermediate plan file.
|
|
14
11
|
|
|
15
12
|
## When to use
|
|
16
13
|
|
|
17
14
|
- A PRD has been written and approved — time to break it into executable chunks.
|
|
18
|
-
- `ralph-plan` receives a PRD as input
|
|
19
|
-
- You have a well-understood feature and want
|
|
20
|
-
- The user says "break this into tasks", "phase this PRD", "create epics from this spec".
|
|
15
|
+
- `ralph-plan` receives a PRD as input or encounters a large workstream.
|
|
16
|
+
- You have a well-understood feature and want the full bead tree created in one pass.
|
|
17
|
+
- The user says "break this into tasks", "phase this PRD", or "create epics from this spec".
|
|
21
18
|
|
|
22
19
|
## When NOT to use
|
|
23
20
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
21
|
+
- A single self-contained task — use `create-task` instead.
|
|
22
|
+
- A feature that is not yet specified — use `write-a-prd` or the `strategy` agent first.
|
|
23
|
+
- A raw idea that needs capturing — use `record-idea`.
|
|
24
|
+
- A bug fix — file it directly with `create-task`.
|
|
28
25
|
|
|
29
26
|
## Philosophy / rationale
|
|
30
27
|
|
|
31
|
-
- **Epics are the source of truth.**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
slices over few thick ones.
|
|
37
|
-
- **One pass, complete output.** This skill produces the entire bead tree. The user or
|
|
28
|
+
- **Epics are the source of truth.** Each epic bead body carries the phase scope, acceptance
|
|
29
|
+
criteria, and dependencies; no plan file means no drift between planned and tracked.
|
|
30
|
+
- **Tracer-bullet vertical slices.** Each task is a thin end-to-end path through every layer
|
|
31
|
+
(schema, API, logic, UI, tests), demoable alone. Prefer many thin slices over few thick ones.
|
|
32
|
+
- **One pass, complete output.** Produce the whole bead tree in one pass; the user or
|
|
38
33
|
ralph-plan reviews once at the end, not piecemeal through intermediaries.
|
|
39
34
|
|
|
40
35
|
## Workflow
|
|
@@ -42,186 +37,107 @@ directly by a user who has a clear spec.
|
|
|
42
37
|
### Phase 1 — Understand the PRD
|
|
43
38
|
|
|
44
39
|
1. Confirm the PRD is in context (conversation, bead description, or file).
|
|
45
|
-
2.
|
|
46
|
-
|
|
47
|
-
3.
|
|
48
|
-
|
|
49
|
-
-
|
|
50
|
-
|
|
51
|
-
- Key data models
|
|
52
|
-
- Authentication / authorisation approach
|
|
53
|
-
- Third-party service boundaries
|
|
54
|
-
Add others relevant to the project — the goal is a shared skeleton every phase
|
|
55
|
-
can reference.
|
|
56
|
-
4. Record these in a holding note — they inform every phase.
|
|
40
|
+
2. Explore the relevant codebase area if you have not already — current architecture and
|
|
41
|
+
integration layers.
|
|
42
|
+
3. Record the durable architectural decisions that apply across all phases, as examples
|
|
43
|
+
not an exhaustive list: route structures or URL patterns, database schema shape, key
|
|
44
|
+
data models, auth approach, third-party service boundaries. This shared skeleton informs
|
|
45
|
+
every phase.
|
|
57
46
|
|
|
58
47
|
### Phase 2 — Draft the phase breakdown
|
|
59
48
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
6.
|
|
66
|
-
|
|
67
|
-
- **User stories covered**: which PRD stories this phase addresses.
|
|
68
|
-
- **What to build**: end-to-end behaviour description (not layer-by-layer).
|
|
69
|
-
- **Acceptance criteria**: verifiable outcomes.
|
|
70
|
-
|
|
71
|
-
7. Present the proposed phases to the user. Ask:
|
|
72
|
-
- Does the granularity feel right?
|
|
73
|
-
- Should any phases be merged or split?
|
|
74
|
-
- Are the dependency relationships correct — can any run in parallel?
|
|
75
|
-
|
|
76
|
-
8. Iterate until the user approves the breakdown.
|
|
49
|
+
4. Break the PRD into phases. Each phase is a **tracer-bullet vertical slice**: thin but
|
|
50
|
+
complete through all integration layers, demoable or verifiable on its own, and
|
|
51
|
+
covering a specific set of user stories.
|
|
52
|
+
5. For each phase define its **title**, **user stories covered**, **what to build**
|
|
53
|
+
(end-to-end behaviour, not layer-by-layer), and **acceptance criteria**.
|
|
54
|
+
6. Present the proposed phases and ask about granularity, merges or splits, and which
|
|
55
|
+
phases can run in parallel. Iterate until the user approves.
|
|
77
56
|
|
|
78
57
|
### Phase 3 — Create epics (one per phase)
|
|
79
58
|
|
|
80
|
-
|
|
59
|
+
7. Create epics in dependency order (blockers first) so you can reference real bead IDs,
|
|
60
|
+
using the epic body template in [REFERENCE.md](./REFERENCE.md):
|
|
81
61
|
|
|
82
62
|
```bash
|
|
83
|
-
bd create "<Phase Title>" --type epic
|
|
84
|
-
--description "<epic body from template below>"
|
|
63
|
+
bd create "<Phase Title>" --type epic --description "<epic body from REFERENCE.md>"
|
|
85
64
|
```
|
|
86
65
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
bd tag <epic-id> priority:p3 # default for feature work; adjust if P4/P5
|
|
90
|
-
```
|
|
91
|
-
If running in the context of ralph-plan or ralph, also tag with:
|
|
92
|
-
```bash
|
|
93
|
-
bd tag <epic-id> workflow:ralph
|
|
94
|
-
```
|
|
66
|
+
8. Tag each epic with a priority (`p3` default; adjust for p4/p5), and `workflow:ralph`
|
|
67
|
+
when running under ralph-plan or ralph.
|
|
95
68
|
|
|
96
69
|
### Phase 4 — Create tasks within each epic
|
|
97
70
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
# Pass title, description (use template below), priority (inherit from epic or adjust),
|
|
105
|
-
# and parent epic ID
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
13. After all tasks are created, tag the parent epic with the aggregate classification:
|
|
109
|
-
- If **any** task is HITL, the epic is HITL:
|
|
110
|
-
```bash
|
|
111
|
-
bd tag <epic-id> implementation-type:hitl
|
|
112
|
-
```
|
|
113
|
-
- If **all** tasks are AFK:
|
|
114
|
-
```bash
|
|
115
|
-
bd tag <epic-id> implementation-type:afk
|
|
116
|
-
```
|
|
71
|
+
9. Break each epic into task-sized vertical slices that are independently grabbable, then
|
|
72
|
+
invoke `create-task` for each — it handles AFK/HITL classification and pipeline
|
|
73
|
+
expansion. Pass the task body template from REFERENCE.md, the priority, and the parent
|
|
74
|
+
epic ID.
|
|
75
|
+
10. Once all tasks exist, tag the epic with the aggregate classification: HITL if any task
|
|
76
|
+
is HITL, otherwise AFK.
|
|
117
77
|
|
|
118
78
|
### Phase 5 — Report
|
|
119
79
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
├── Task 1 (#124) — AFK
|
|
124
|
-
├── Task 2 (#125) — HITL (visual review)
|
|
125
|
-
└── Task 3 (#126) — AFK
|
|
126
|
-
Epic: "Phase 2 Title" (#127)
|
|
127
|
-
├── ...
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
15. If invoked by `ralph-plan`, signal completion so ralph-plan can proceed to the
|
|
131
|
-
agree-with-user step. If invoked directly by a user, summarise the bead tree and
|
|
132
|
-
confirm they're happy before finishing.
|
|
133
|
-
|
|
134
|
-
## Epic body template
|
|
135
|
-
|
|
136
|
-
```markdown
|
|
137
|
-
## Source
|
|
138
|
-
|
|
139
|
-
PRD: <brief reference>
|
|
140
|
-
|
|
141
|
-
## Summary
|
|
142
|
-
|
|
143
|
-
A concise description of this phase. Scope and goal, not implementation details.
|
|
144
|
-
|
|
145
|
-
## What to build
|
|
146
|
-
|
|
147
|
-
End-to-end behaviour for this phase. What a demo would show.
|
|
148
|
-
|
|
149
|
-
## Acceptance criteria
|
|
150
|
-
|
|
151
|
-
- [ ] Criterion 1
|
|
152
|
-
- [ ] Criterion 2
|
|
153
|
-
|
|
154
|
-
## Blocked by
|
|
155
|
-
|
|
156
|
-
- Blocked by #<epic-id> (if any) — or "None — can start immediately"
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
## Task body template (passed to `create-task`)
|
|
160
|
-
|
|
161
|
-
```markdown
|
|
162
|
-
## Epic
|
|
163
|
-
|
|
164
|
-
#<epic-id> — <Epic Title>
|
|
165
|
-
|
|
166
|
-
## What to build
|
|
167
|
-
|
|
168
|
-
This vertical slice: end-to-end behaviour, not layer-by-layer implementation.
|
|
169
|
-
|
|
170
|
-
## Acceptance criteria
|
|
171
|
-
|
|
172
|
-
- [ ] Criterion 1
|
|
173
|
-
- [ ] Criterion 2
|
|
174
|
-
|
|
175
|
-
## Blocked by
|
|
176
|
-
|
|
177
|
-
- Blocked by #<task-id> (if any) — or "None — can start immediately"
|
|
178
|
-
```
|
|
80
|
+
11. Present the full bead tree: each epic with its tasks, classifications, and IDs.
|
|
81
|
+
12. If invoked by `ralph-plan`, signal completion so it can proceed; if invoked directly,
|
|
82
|
+
summarise the tree and confirm the user is happy before finishing.
|
|
179
83
|
|
|
180
84
|
## Red Flags
|
|
181
85
|
|
|
182
|
-
- **Skipping the
|
|
183
|
-
|
|
184
|
-
- **Creating horizontal slices.** "All the database work
|
|
185
|
-
|
|
186
|
-
- **Fat tasks.** If a task would take a full agent session
|
|
187
|
-
|
|
188
|
-
- **Letting
|
|
189
|
-
|
|
86
|
+
- **Skipping the phase approval step.** The breakdown needs human sign-off (Phase 2 step 6)
|
|
87
|
+
before any bead is created.
|
|
88
|
+
- **Creating horizontal slices.** "All the database work, then all the API work" is not a
|
|
89
|
+
tracer bullet — every task must deliver end-to-end value.
|
|
90
|
+
- **Fat tasks.** If a task would take a full agent session, slice thinner. A task is a few
|
|
91
|
+
RED-GREEN cycles, not a week of work.
|
|
92
|
+
- **Letting a plan file drift in.** The epic bead is the plan — a separate file creates
|
|
93
|
+
drift and is ignored by ralph.
|
|
190
94
|
|
|
191
95
|
## Common Rationalizations
|
|
192
96
|
|
|
193
97
|
| Rationalization | Rebuttal |
|
|
194
98
|
|---|---|
|
|
195
|
-
| "I'll create the epics now and the tasks later" |
|
|
196
|
-
| "I'll write a plan file first, then convert" | The epic bead IS the plan.
|
|
197
|
-
| "This phase is too small for acceptance criteria" | If it
|
|
198
|
-
| "I know
|
|
99
|
+
| "I'll create the epics now and the tasks later" | Phases are already approved — create everything in one pass. |
|
|
100
|
+
| "I'll write a plan file first, then convert" | The epic bead IS the plan. A separate file creates drift. |
|
|
101
|
+
| "This phase is too small for acceptance criteria" | If it is too small for criteria, merge it with another phase. Every deliverable needs a definition of done. |
|
|
102
|
+
| "I know the tasks — no need to check with the user" | The phase breakdown still needs approval, and the full tree is presented in Phase 5. |
|
|
199
103
|
|
|
200
104
|
## Cross-skill references
|
|
201
105
|
|
|
202
|
-
- **`create-task`** — invoked
|
|
203
|
-
|
|
204
|
-
- **`write-a-prd`** — use
|
|
205
|
-
- **`
|
|
206
|
-
- **`style-comms`** — invoke before Phase 2 if you need help writing clear phase
|
|
106
|
+
- **`create-task`** — invoked for every task bead; handles classification and pipeline
|
|
107
|
+
expansion.
|
|
108
|
+
- **`write-a-prd`** — use first when the feature is not yet specified.
|
|
109
|
+
- **`style-comms`** — invoke before Phase 2 when you need help writing clear phase
|
|
207
110
|
descriptions.
|
|
208
111
|
|
|
209
|
-
##
|
|
112
|
+
## Examples
|
|
113
|
+
|
|
114
|
+
Input: an approved PRD with a numbered list of user stories.
|
|
115
|
+
Output: a dependency-ordered tree of epic and task beads:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
Epic: "Phase 1 — Auth" (#123) — HITL
|
|
119
|
+
├── Task 1 (#124) — AFK
|
|
120
|
+
├── Task 2 (#125) — HITL (visual review)
|
|
121
|
+
└── Task 3 (#126) — AFK
|
|
122
|
+
Epic: "Phase 2 — Dashboard" (#127) — AFK (blocked by #123)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Phase-gate checklists
|
|
210
126
|
|
|
211
|
-
- [ ] Phase 1
|
|
212
|
-
- [ ] Phase 2
|
|
213
|
-
- [ ] Phase 3
|
|
214
|
-
`
|
|
215
|
-
- [ ] Phase 4
|
|
216
|
-
|
|
217
|
-
- [ ] Phase 5
|
|
127
|
+
- [ ] Phase 1 complete: PRD confirmed, codebase explored, architectural decisions captured.
|
|
128
|
+
- [ ] Phase 2 complete: phases drafted and approved by the user.
|
|
129
|
+
- [ ] Phase 3 complete: epics created in dependency order and tagged (priority, plus
|
|
130
|
+
`workflow:ralph` under ralph-plan/ralph).
|
|
131
|
+
- [ ] Phase 4 complete: tasks created via `create-task`; epics carry the aggregate
|
|
132
|
+
`implementation-type` tag.
|
|
133
|
+
- [ ] Phase 5 complete: full bead tree presented and confirmed.
|
|
218
134
|
|
|
219
135
|
## Verification checklist
|
|
220
136
|
|
|
221
|
-
- [ ] Every phase is a vertical slice
|
|
222
|
-
- [ ] Every task is independently grabbable
|
|
223
|
-
- [ ] All epics are tagged with `workflow:ralph`
|
|
224
|
-
- [ ] All tasks are classified
|
|
225
|
-
- [ ] Parent epics
|
|
226
|
-
- [ ] No intermediate plan file was created — epics are the
|
|
227
|
-
- [ ]
|
|
137
|
+
- [ ] Every phase is a vertical slice covering all layers, not a horizontal layer.
|
|
138
|
+
- [ ] Every task is independently grabbable by a single agent.
|
|
139
|
+
- [ ] All epics are tagged with a priority (and `workflow:ralph` when under ralph).
|
|
140
|
+
- [ ] All tasks are classified AFK/HITL via `create-task`.
|
|
141
|
+
- [ ] Parent epics carry the aggregate `implementation-type` tag.
|
|
142
|
+
- [ ] No intermediate plan file was created — epics are the source of truth.
|
|
143
|
+
- [ ] The full bead tree was presented to the user, or to ralph-plan for its next step.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Idea Record Format
|
|
2
|
+
|
|
3
|
+
`scripts/new-idea.sh` generates this scaffold into `docs/ideas/<slug>.md` (or `docs/ideas/<slug>/<slug>.md` with `--complex`). Fill every section — a record with unfilled sections has not been captured.
|
|
4
|
+
|
|
5
|
+
## Scaffold
|
|
6
|
+
|
|
7
|
+
```md
|
|
8
|
+
# Idea: <title>
|
|
9
|
+
|
|
10
|
+
## Status
|
|
11
|
+
Backlog idea (not implementation-ready)
|
|
12
|
+
|
|
13
|
+
## Created
|
|
14
|
+
<YYYY-MM-DD>
|
|
15
|
+
|
|
16
|
+
## Problem
|
|
17
|
+
<What problem does this idea address?>
|
|
18
|
+
|
|
19
|
+
## Who benefits
|
|
20
|
+
<Who benefits and what improves for them?>
|
|
21
|
+
|
|
22
|
+
## Proposed outcome
|
|
23
|
+
<What the idea would deliver, at a capability level — not implementation detail>
|
|
24
|
+
|
|
25
|
+
## Validity check
|
|
26
|
+
- Evidence we already have: <what supports this idea>
|
|
27
|
+
- Riskiest assumption: <the assumption most likely to be wrong>
|
|
28
|
+
- What would invalidate this idea: <the signal that kills it>
|
|
29
|
+
|
|
30
|
+
## Constraints
|
|
31
|
+
<Hard limits: tech, process, scope, resourcing>
|
|
32
|
+
|
|
33
|
+
## Next validation step
|
|
34
|
+
<The cheapest next thing that would firm up or kill the idea>
|
|
35
|
+
|
|
36
|
+
## Notes
|
|
37
|
+
<Anything worth keeping for future prioritisation or review>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Guidance per section
|
|
41
|
+
|
|
42
|
+
- Keep the record decision-oriented and scannable — it will be read during future prioritisation.
|
|
43
|
+
- `Validity check` is mandatory: evidence grounds the idea, the riskiest assumption marks where it is weakest, and the invalidation signal tells you when to drop it.
|
|
44
|
+
- `Next validation step` should be concrete enough to act on without re-deriving the context.
|
|
@@ -1,62 +1,79 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: record-idea
|
|
3
|
-
description: Capture early-stage
|
|
3
|
+
description: Capture an early-stage idea into a structured backlog record with a short interview and validity check before any implementation planning. Use when the user says "capture this idea", "file this under ideas", or shares an idea that is "not ready to build".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Record Idea
|
|
7
7
|
|
|
8
|
-
Capture
|
|
8
|
+
Capture an idea that is not implementation-ready into `docs/ideas/`, pressure-testing it with a short high-level interview so the backlog stores a direction, not a slogan.
|
|
9
|
+
|
|
10
|
+
## When to use
|
|
11
|
+
|
|
12
|
+
- The user shares a new idea and wants it written down without scoping it yet ("capture this idea", "file this under ideas", "get this out of my head").
|
|
13
|
+
- A discussion surfaces an idea that should not be planned today.
|
|
14
|
+
- Asked to "add this to the ideas backlog" or "record an idea".
|
|
15
|
+
|
|
16
|
+
## When NOT to use
|
|
17
|
+
|
|
18
|
+
- The idea is ready to build and needs a requirements document — run `write-a-prd` instead.
|
|
19
|
+
- The user wants an executable task created now — run `create-task` instead.
|
|
20
|
+
- The idea needs an end-to-end feature plan — run `plan` instead.
|
|
9
21
|
|
|
10
22
|
## Workflow
|
|
11
23
|
|
|
12
|
-
1. **Interview at high level
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
5. **Write the idea
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
##
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
##
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
24
|
+
1. **Interview at a high level, one question at a time.** Ask what problem it solves and who benefits, how it might be done (rough approach only — no implementation detail), what would make it timely (triggers, dependencies, timing signals), and what priority it feels like relative to current work. Keep this short — it is a capture step, not a requirements session.
|
|
25
|
+
|
|
26
|
+
2. **Pressure-test briefly.** Challenge weak points such as scope, feasibility, and opportunity cost. The goal is a validity signal for the backlog, not a polished pitch.
|
|
27
|
+
|
|
28
|
+
3. **Choose the record shape.**
|
|
29
|
+
- Simple idea: a single file `docs/ideas/<idea-name>.md`.
|
|
30
|
+
- Complex idea: a folder `docs/ideas/<idea-name>/<idea-name>.md` with supporting docs alongside.
|
|
31
|
+
|
|
32
|
+
4. **Create the record file.** Run this skill's `scripts/new-idea.sh` helper with {{TOOL:bash}}:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
bash <skill-scripts>/new-idea.sh --title "<idea title>" [--complex]
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Resolve `<skill-scripts>` as the absolute path to this skill's own `scripts/` directory — it sits next to this `SKILL.md`, and the install location varies by harness, so do not hardcode a repo path. The script generates the scaffold, prints the file path, and errors if the file already exists or the title normalises to an empty slug.
|
|
39
|
+
|
|
40
|
+
5. **Fill the scaffold.** Write concise, decision-oriented content from the interview into every section — see `FORMAT.md` for the section list. Leave no `TODO`: the validity check specifically needs evidence, the riskiest assumption, and what would invalidate the idea.
|
|
41
|
+
|
|
42
|
+
6. **Report back.** Return the file path, a 2–3 sentence summary of the recorded idea, and the suggested priority with its likely timing signal.
|
|
43
|
+
|
|
44
|
+
## Red Flags
|
|
45
|
+
|
|
46
|
+
- Drifting into implementation detail during the interview — the record captures a direction, not a design.
|
|
47
|
+
- Skipping the pressure-test because the idea sounds good — weak points are cheapest to find here.
|
|
48
|
+
- Leaving scaffold `TODO`s unfilled — an incomplete validity check is no check at all.
|
|
49
|
+
|
|
50
|
+
## Common Rationalizations
|
|
51
|
+
|
|
52
|
+
| Rationalization | Rebuttal |
|
|
53
|
+
|---|---|
|
|
54
|
+
| "It's just an idea — write it down, don't interview me" | The two-minute interview is what makes the row reusable later; without it you store a slogan, not an idea. |
|
|
55
|
+
| "The user already knows what they want" | Knowing the direction is not the same as pressure-testing it. The validity check exists to catch what enthusiasm hides. |
|
|
56
|
+
|
|
57
|
+
## Philosophy / rationale
|
|
58
|
+
|
|
59
|
+
- **Capture before it becomes plan-shaped.** Scoping too early forces decisions the idea has not earned yet; a backlog note keeps the option open at minimal cost. The validity check is what stops the backlog from filling with confident, doomed ideas.
|
|
60
|
+
|
|
61
|
+
## Cross-skill references
|
|
62
|
+
|
|
63
|
+
- When an idea passes its validity check and becomes implementation-ready, run `write-a-prd` to scope it properly.
|
|
64
|
+
- For a full feature pipeline from idea to task breakdown, run `plan`.
|
|
65
|
+
|
|
66
|
+
## Examples
|
|
67
|
+
|
|
68
|
+
Input: "I keep accidentally committing secrets — capture that idea."
|
|
69
|
+
Output: `docs/ideas/secret-scanning-gate.md` — a filled idea record with a validity check, priority, and next validation step. See `FORMAT.md` for the scaffold sections.
|
|
70
|
+
|
|
71
|
+
## Verification checklist
|
|
72
|
+
|
|
73
|
+
- [ ] Interview covered who benefits, rough approach, timing, and priority.
|
|
74
|
+
- [ ] Idea was pressure-tested; weak points were challenged.
|
|
75
|
+
- [ ] Record file exists at `docs/ideas/<slug>.md` (script printed the path).
|
|
76
|
+
- [ ] Every scaffold section is filled — no `TODO` left in the record.
|
|
77
|
+
- [ ] Validity check records evidence, the riskiest assumption, and what would invalidate the idea.
|
|
78
|
+
- [ ] Record contains no implementation detail.
|
|
79
|
+
- [ ] Report returned the file path, summary, and suggested priority.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Refactor Plan Template
|
|
2
|
+
|
|
3
|
+
Format the `description` passed to `create-task` using the template below. Write the plan in plain English. Keep the Decision Document at the level of decisions — do not include specific file paths or code snippets, which go stale quickly.
|
|
4
|
+
|
|
5
|
+
## Problem Statement
|
|
6
|
+
|
|
7
|
+
The problem that the developer is facing, from the developer's perspective.
|
|
8
|
+
|
|
9
|
+
## Solution
|
|
10
|
+
|
|
11
|
+
The solution to the problem, from the developer's perspective.
|
|
12
|
+
|
|
13
|
+
## Commits
|
|
14
|
+
|
|
15
|
+
A long, detailed implementation plan in plain English, broken into the tiniest commits possible. Each commit should leave the codebase in a working state.
|
|
16
|
+
|
|
17
|
+
## Decision Document
|
|
18
|
+
|
|
19
|
+
A list of implementation decisions that were made. This can include:
|
|
20
|
+
|
|
21
|
+
- The modules that will be built/modified
|
|
22
|
+
- The interfaces of those modules that will be modified
|
|
23
|
+
- Technical clarifications from the developer
|
|
24
|
+
- Architectural decisions
|
|
25
|
+
- Schema changes
|
|
26
|
+
- API contracts
|
|
27
|
+
- Specific interactions
|
|
28
|
+
|
|
29
|
+
Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
|
|
30
|
+
|
|
31
|
+
## Testing Decisions
|
|
32
|
+
|
|
33
|
+
A list of testing decisions that were made. Include:
|
|
34
|
+
|
|
35
|
+
- A description of what makes a good test (only test external behavior, not implementation details)
|
|
36
|
+
- Which modules will be tested
|
|
37
|
+
- Prior art for the tests (i.e. similar types of tests in the codebase)
|
|
38
|
+
|
|
39
|
+
## Out of Scope
|
|
40
|
+
|
|
41
|
+
A description of the things that are out of scope for this refactor.
|
|
42
|
+
|
|
43
|
+
## Further Notes (optional)
|
|
44
|
+
|
|
45
|
+
Any further notes about the refactor.
|