Skip to content
cccskills
FreePublished on GitHub

plan

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.

The English summary is being prepared. Showing the original description.

Works withStripe
See how to install

Files included (7)

  • SKILL.md6.2 KB
  • references/agent-selection.md2.7 KB
  • references/breadboarding.md7.3 KB
  • references/complexity-detail.md872 B
  • references/example-plan.md10.2 KB
  • references/plan-template.md5.5 KB
  • references/planning-workflow.md12.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Plan Elixir/Phoenix Feature

Plan a feature by spawning Elixir specialist agents, then output structured plan with checkboxes.

What Makes /phx:plan Different from /plan

  1. Spawns Elixir specialist agents for research
  2. Plans with [ecto], [liveview], [oban] task routing
  3. Checks for Iron Law compliance in the plan
  4. Includes mix compile/format/credo/test verification
  5. 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

  • $ARGUMENTS = Feature description, review file, or existing plan
  • --depth quick|standard|deep = Planning depth (auto-detected)
  • --existing = Enhance an existing plan with deeper research

Workflow

  1. Gather context — File path (skip to agents), brainstorm interview.md (skip clarification), clear description, or vague
  2. Clarify if vague — Ask questions ONE at a time (skip if brainstorm interview.md exists with Status: COMPLETE)
  3. Detect depth — Auto-detect quick/standard/deep
  4. Runtime context (Tidewave) — Gather live schemas, routes, and warnings before spawning agents (direct path only — the research orchestrator gathers its own)
  5. Spawn research — Selective, based on need. 0–2 agents: spawn directly in parallel. 3+ agents (broad multi-context feature): determine the effective maximum nesting depth. Use an explicit positive-integer CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH value first; when it is unset, inspect claude --version (the default is 1 in 2.1.217–2.1.218 and 3 in 2.1.219+). If the version is unavailable, conservatively use 1. At depth 3+, spawn ONE planning-orchestrator to run and compress the fan-out. At depth 1 or 2, keep orchestration in this main session: spawn the selected specialist agents directly, wait for them, then spawn phx:context-supervisor directly if compression is needed. Never spawn an orchestrator that cannot delegate. Read only the resulting digest and summaries/consolidated.md. If TaskCreate is in your tool list (never ToolSearch for it), create a task per spawn: TaskCreate({subject: "{Agent} research", activeForm: "Researching..."}), mark in_progress on spawn, completed when done
  6. Wait for ALL agents — Do NOT proceed until all return "completed". NEVER write plan while any agent is still running
  7. Breadboard (LiveView) — System map for multi-page features
  8. Completeness check — required when planning from review
  9. Split decision — One plan or multiple, concrete options
  10. Generate plan — Checkboxes, phased tasks, code patterns. Also create plans/{slug}/scratchpad.md for decisions and dead-ends
  11. Self-check (deep only) — Three questions in Risks section
  12. 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 ${CLAUDE_SKILL_DIR}/references/planning-workflow.md for detailed step-by-step.

--existing Mode (Deepening)

Enhances an existing plan instead of creating a new one:

  1. Load plan, search .claude/solutions/ for known risks
  2. Spawn SPECIALIST agents (not Explore) for thin sections. Each agent writes to .claude/plans/{slug}/research/ and returns only a 500-word summary. Same agent selection rules
  3. Wait for ALL agents (mark tasks completed as each finishes)
  4. Add implementation detail, resolve spikes, add verification
  5. Present diff summary — NEVER delete existing tasks

Iron Laws

  1. NEVER auto-start /phx:work — Always present plan and ask
  2. Research before assuming — Web-search unfamiliar tech
  3. Spawn agents selectively — Only relevant, not all
  4. NEVER write plan while agents still running
  5. NEVER skip input findings — Every finding MUST have a task
  6. Do NOT spawn hex-library-researcher for existing deps
  7. 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:

  1. Summarize: task count, phases, key decisions
  2. Use AskUserQuestion with options:
    • "Start in fresh session" (recommended for 5+ tasks)
    • "Get a briefing" (/phx:brief — interactive walkthrough)
    • "Start here"
    • "Review or adjust the plan"
  3. 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)

  • ${CLAUDE_SKILL_DIR}/references/planning-workflow.md — Detailed step-by-step
  • ${CLAUDE_SKILL_DIR}/references/plan-template.md
  • ${CLAUDE_SKILL_DIR}/references/complexity-detail.md
  • ${CLAUDE_SKILL_DIR}/references/example-plan.md
  • ${CLAUDE_SKILL_DIR}/references/agent-selection.md
  • ${CLAUDE_SKILL_DIR}/references/breadboarding.md

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Analyze a legacy app in any language before rewriting it in Elixir: inventory, features as goals, why each mechanism exists, runtime topology, external contracts. Use to start or refresh a rewrite.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix567Updated Oct 17, 2026

Design the idiomatic Elixir architecture for a rewrite: set the compatibility bar (ADR-000), consult phx specialists on open questions, then build contexts, ledger and ADRs. Use after /rewrite:analyze.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix567Updated Oct 17, 2026

Ash Framework — resources, actions, policies, aggregates; Use when generating resources via mix ash.codegen, editing…

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix567Updated Oct 17, 2026

Ash Framework — resources, actions, policies, aggregates, calculations, AshPhoenix.Form, LiveView, migrations. Use when generating resources via mix ash.codegen, editing changes, checks, types, validations, or domain code interfaces.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix567Updated Oct 17, 2026

Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix567Updated Oct 17, 2026

Inspect LiveView socket assigns for memory bloat — missing temporary_assigns, unused assigns, unbounded lists needing streams, memory estimates. Use when LiveView memory grows or you need to add temporary_assigns.

The English summary is being prepared. Showing the original description.

oliver-kriska/claude-elixir-phoenix567Updated Oct 17, 2026

See all skills by oliver-kriska

Report a problem with this skill