Plan Elixir/Phoenix Feature
Plan a feature by researching the relevant Elixir/Phoenix concerns, then
output a structured plan with checkboxes.
What Makes /phx-plan Different from /plan
- Covers relevant concerns through resumable research tracks
- Plans with
[ecto], [liveview], [oban] task routing
- Checks for Iron Law compliance in the plan
- Includes
mix compile/format/credo/test verification
- Understands Phoenix context boundaries
Usage
/phx-plan Add user avatars with S3 upload
/phx-plan .claude/plans/notifications/reviews/notifications-review.md
/phx-plan Implement notifications --depth deep
/phx-plan .claude/plans/auth/plan.md --existing
Arguments
- Text after the skill name = feature description, review file, or existing plan
--depth quick|standard|deep = Planning depth (auto-detected)
--existing = Enhance an existing plan with deeper research
Workflow
- Gather context — File path (skip to research), brainstorm
interview.md (skip clarification), clear description, or vague
- Clarify if vague — Ask questions ONE at a time (skip if
brainstorm interview.md exists with Status: COMPLETE)
- Detect depth — Auto-detect quick/standard/deep
- Create research state — Before research, create
.claude/plans/{slug}/scratchpad.md with a concern-track checklist
- Gather optional runtime context — Only when Tidewave tools are independently
configured and exposed; otherwise inspect source, routes, schemas, and tests
- Research selectively — Cover only relevant concerns. Native generic
subagents may run independent tracks in parallel, but they are optional.
Without them, run every selected track sequentially in this session and
save evidence under
.claude/plans/{slug}/research/
- Finish ALL research tracks — Maintain the scratchpad checklist,
marking each selected track
[x] only after its evidence is captured.
NEVER write the plan while any selected track remains unchecked
- Breadboard (LiveView) — Produce the system map from collected evidence
- Completeness check — MANDATORY when planning from review
- Split decision — One plan or multiple, concrete options
- Generate plan — Checkboxes, phased tasks, code patterns.
Reuse
.claude/plans/{slug}/scratchpad.md for decisions and dead-ends
- Self-check (deep only) — Three questions in Risks section
- Present and ask — STOP, show summary, let user decide
When planning from review: Every finding must appear in the
plan — either as a task OR explicitly deferred by the user.
See references/planning-workflow.md for detailed step-by-step.
--existing Mode (Deepening)
Enhance an existing plan without relying on named agents:
- Load the plan and create or update
.claude/plans/{slug}/scratchpad.md
- Identify thin sections and add a checklist of relevant concern tracks
- Complete every track in this session, sequentially by default; generic workers
are optional only for independent tracks and must write evidence under
.claude/plans/{slug}/research/
- Produce breadboarding and infrastructure notes directly from the gathered
evidence, independent of whether workers were used
- Add implementation detail, resolve spikes, and strengthen verification
- Present a diff summary; never delete or silently rewrite existing tasks
Iron Laws
- NEVER auto-start /phx-work — Always present plan and ask
- Research before assuming — Web-search unfamiliar tech
- Select research tracks narrowly — Only relevant concerns, not all
- NEVER write the plan while selected research tracks remain incomplete
- NEVER skip input findings — Every finding MUST have a task
- Do NOT run a library-selection track for existing dependencies
- Skip research when planning from review/investigation — When
input is a review file or
/phx-investigate output, the findings
ARE the research. Do NOT spawn agents to re-discover what the
review already found. Convert findings directly to plan tasks.
(Confirmed: 56-session analysis showed same findings discovered
3-4x across review→investigate→plan phases, wasting ~96K tokens)
Integration with Workflow
/phx-plan {feature} <-- YOU ARE HERE
|
/phx-plan --existing (optional enhancement)
|
ASK USER -> /phx-work .claude/plans/{feature}/plan.md
|
/phx-review → /phx-compound
Notes
- Plans saved to
.claude/plans/{slug}/plan.md
- Research reports in
.claude/plans/{slug}/research/ can be deleted after
CRITICAL: After Writing the Plan
STOP. Do NOT proceed to implementation.
After writing .claude/plans/{slug}/plan.md:
- Summarize: task count, phases, key decisions
- Ask the user a normal conversational question with these options:
- "Start in fresh session" (recommended for 5+ tasks)
- "Get a briefing" (
/phx-brief — interactive walkthrough)
- "Start here"
- "Review or adjust the plan"
- Wait for user response. Never auto-start work.
When user selects "Start in fresh session", print:
1. Run `/new` to start a fresh session
2. Then run one of:
/phx-work .claude/plans/{slug}/plan.md
/phx-full .claude/plans/{slug}/plan.md (includes review + compound)
This is Iron Law #1. Violating it wastes user context.
References (DO NOT read — for human reference only)
references/planning-workflow.md — Detailed step-by-step
references/plan-template.md
references/complexity-detail.md
references/example-plan.md
references/agent-selection.md
references/breadboarding.md
1---2name: phx-plan-33description: Plan features spanning multiple domains: billing (Stripe), auth (RBAC), real-time (Presence), webhooks, jobs (Oban). Use when designing interconnected systems or converting review findings into tasks.4---5
6# Plan Elixir/Phoenix Feature
7
8Plan a feature by researching the relevant Elixir/Phoenix concerns, then
9output a structured plan with checkboxes.
10
11## What Makes /phx-plan Different from /plan
12
131. Covers relevant concerns through resumable research tracks
142. Plans with `[ecto]`, `[liveview]`, `[oban]` task routing
153. Checks for Iron Law compliance in the plan
164. Includes `mix compile/format/credo/test` verification
175. Understands Phoenix context boundaries
18
19## Usage
20
21```
22/phx-plan Add user avatars with S3 upload
23/phx-plan .claude/plans/notifications/reviews/notifications-review.md
24/phx-plan Implement notifications --depth deep
25/phx-plan .claude/plans/auth/plan.md --existing
26```
27
28## Arguments
29
30- Text after the skill name = feature description, review file, or existing plan
31- `--depth quick|standard|deep` = Planning depth (auto-detected)
32- `--existing` = Enhance an existing plan with deeper research
33
34## Workflow
35
361. **Gather context** — File path (skip to research), brainstorm
37 interview.md (skip clarification), clear description, or vague
382. **Clarify if vague** — Ask questions ONE at a time (skip if
39 brainstorm interview.md exists with Status: COMPLETE)
403. **Detect depth** — Auto-detect quick/standard/deep
414. **Create research state** — Before research, create
42 `.claude/plans/{slug}/scratchpad.md` with a concern-track checklist
435. **Gather optional runtime context** — Only when Tidewave tools are independently
44 configured and exposed; otherwise inspect source, routes, schemas, and tests
456. **Research selectively** — Cover only relevant concerns. Native generic
46 subagents may run independent tracks in parallel, but they are optional.
47 Without them, run every selected track sequentially in this session and
48 save evidence under `.claude/plans/{slug}/research/`
497. **Finish ALL research tracks** — Maintain the scratchpad checklist,
50 marking each selected track `[x]` only after its evidence is captured.
51 NEVER write the plan while any selected track remains unchecked
528. **Breadboard** (LiveView) — Produce the system map from collected evidence
539. **Completeness check** — MANDATORY when planning from review
5410. **Split decision** — One plan or multiple, concrete options
5511. **Generate plan** — Checkboxes, phased tasks, code patterns.
56 Reuse `.claude/plans/{slug}/scratchpad.md` for decisions and dead-ends
5712. **Self-check** (deep only) — Three questions in Risks section
5813. **Present and ask** — STOP, show summary, let user decide
59
60**When planning from review**: Every finding must appear in the
61plan — either as a task OR explicitly deferred by the user.
62
63See `references/planning-workflow.md` for detailed step-by-step.
64
65### --existing Mode (Deepening)
66
67Enhance an existing plan without relying on named agents:
68
691. Load the plan and create or update `.claude/plans/{slug}/scratchpad.md`
702. Identify thin sections and add a checklist of relevant concern tracks
713. Complete every track in this session, sequentially by default; generic workers
72 are optional only for independent tracks and must write evidence under
73 `.claude/plans/{slug}/research/`
744. Produce breadboarding and infrastructure notes directly from the gathered
75 evidence, independent of whether workers were used
765. Add implementation detail, resolve spikes, and strengthen verification
776. Present a diff summary; never delete or silently rewrite existing tasks
78
79## Iron Laws
80
811. **NEVER auto-start /phx-work** — Always present plan and ask
822. **Research before assuming** — Web-search unfamiliar tech
833. **Select research tracks narrowly** — Only relevant concerns, not all
844. **NEVER write the plan while selected research tracks remain incomplete**
855. **NEVER skip input findings** — Every finding MUST have a task
866. **Do NOT run a library-selection track for existing dependencies**
877. **Skip research when planning from review/investigation** — When
88 input is a review file or `/phx-investigate` output, the findings
89 ARE the research. Do NOT spawn agents to re-discover what the
90 review already found. Convert findings directly to plan tasks.
91 (Confirmed: 56-session analysis showed same findings discovered
92 3-4x across review→investigate→plan phases, wasting ~96K tokens)
93
94## Integration with Workflow
95
96```text
97/phx-plan {feature} <-- YOU ARE HERE
98 |
99 /phx-plan --existing (optional enhancement)
100 |
101 ASK USER -> /phx-work .claude/plans/{feature}/plan.md
102 |
103/phx-review → /phx-compound
104```
105
106## Notes
107
108- Plans saved to `.claude/plans/{slug}/plan.md`
109- Research reports in `.claude/plans/{slug}/research/` can be deleted after
110
111## CRITICAL: After Writing the Plan
112
113**STOP. Do NOT proceed to implementation.**
114
115After writing `.claude/plans/{slug}/plan.md`:
116
1171. Summarize: task count, phases, key decisions
1182. Ask the user a normal conversational question with these options:
119 - "Start in fresh session" (recommended for 5+ tasks)
120 - "Get a briefing" (`/phx-brief` — interactive walkthrough)
121 - "Start here"
122 - "Review or adjust the plan"
1233. Wait for user response. Never auto-start work.
124
125**When user selects "Start in fresh session"**, print:
126
127```
1281. Run `/new` to start a fresh session
1292. Then run one of:
130 /phx-work .claude/plans/{slug}/plan.md
131 /phx-full .claude/plans/{slug}/plan.md (includes review + compound)
132```
133
134This is Iron Law #1. Violating it wastes user context.
135
136## References (DO NOT read — for human reference only)
137
138- `references/planning-workflow.md` — Detailed step-by-step
139- `references/plan-template.md`
140- `references/complexity-detail.md`
141- `references/example-plan.md`
142- `references/agent-selection.md`
143- `references/breadboarding.md`