flow-next-plan
A planning skill that turns feature descriptions into structured tasks using the .flow directory and flowctl.
Install
mkdir -p .claude/skills/flow-next-plan && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/2853" && unzip -o skill.zip -d .claude/skills/flow-next-plan && rm skill.zipInstalls to .claude/skills/flow-next-plan
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create structured build plans from feature requests or Flow IDs. Use when planning features or designing implementation. Triggers on /flow-next:plan with text descriptions or Flow IDs (fn-1-add-oauth, fn-1-add-oauth.2, or legacy fn-1, fn-1.2, fn-1-xxx, fn-1-xxx.2).Key capabilities
- →Generate technical specifications from feature requests
- →Create task DAGs within .flow/ directory
- →Validate local setup against plugin version
- →Sequence tasks into PR-sized iterations
- →Integrate with review backends like Codex or RepoPrompt
How it works
It parses feature requests to generate specs and tasks via flowctl, ensuring all tracking remains within the .flow/ directory structure.
Inputs & outputs
When to use flow-next-plan
- →Generate build plans from features
- →Create technical specifications
- →Initialize project tasks in .flow
- →Update project roadmap
About this skill
Flow plan
Turn an idea or an existing spec into a spec with right-sized tasks in .flow/, grounded in repo research. Plan writes no code.
Read working-rules.md first; it holds for every step of this skill.
.flow/ is the only task tracker. Every spec and task is created or changed through flowctl. A markdown TODO list, a TodoWrite call, or a plan file outside .flow/ has broken this.
Preamble
flowctl is bundled, not installed globally (which flowctl fails). Define it once; later blocks here and in steps.md use $FLOWCTL:
FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl"
[ -x "$FLOWCTL" ] || FLOWCTL="<plugin-root>/scripts/flowctl" # <plugin-root> = the directory two levels above this skill's SKILL.md file (the harness gave you that file's absolute path when the skill loaded); substitute it literally
[ -x "$FLOWCTL" ] || FLOWCTL=".flow/bin/flowctl"
Check once for flowctl copies left by an older install layout:
LEFTOVERS=""
for p in .flow/bin/flowctl .flow/bin/flowctl.cmd .flow/bin/flowctl.py \
.flow/bin/flowctl_bootstrap.py .flow/bin/flowctl-help.txt \
.flow/bin/flowctl_tracker .flow/templates/spec.md .flow/usage.md; do
[ -e "$p" ] && LEFTOVERS="${LEFTOVERS}${p}"$'\n' || true
done # || true: an empty LEFTOVERS (the normal case) must read as success
None present: say nothing. Any present: print one line saying nothing reads them and they can be deleted by hand or by /flow-next:setup, then continue. Never ask, stop, or delete here.
No implementation code
The spec states what and why as contracts; each task states how: named files, the repo pattern to follow (file:line), ordering, and non-obvious gotchas. Code in a plan is limited to signatures and interfaces, pointers to existing patterns, a recent or surprising API from docs-scout, and a gotcha from practice-scout. A full function or module body, or a copy-paste block over about 10 lines, has broken this: implementation happens in /flow-next:work with fresh context, and code written here is paid for again there and drifts.
Input
Full request: $ARGUMENTS
Accepts a freeform idea; a spec id fn-N-slug (legacy fn-N, fn-N-xxx); a task id fn-N-slug.M (legacy fn-N.M, fn-N-xxx.M); a tracker handle such as wor-17 that flowctl show resolves (always the existing spec or task, never a new idea; see Step 1); and chained instructions such as "then review with /flow-next:plan-review".
Empty input: ask "What should I plan? Give me the feature or bug in 1-5 sentences." Under autonomy, report NEEDS_HUMAN: no planning input provided and stop.
A ready or captured spec is plan input. An unshaped, oversized idea with several consequential unknowns is not: recommend /flow-next:chart (or /flow-next:flow --explain when unsure) and stop. Plan decomposes understood work; it does not replace discovery.
Options
Autonomy. The literal token mode:autonomous in $ARGUMENTS (strip it) or FLOW_AUTONOMOUS=1 sets AUTONOMOUS=1. Then no question is ever asked: explicit flags win, and anything unset takes its default (depth below, research repo-scout, review the configured backend, none when it is ASK). A genuinely unanswerable ambiguity stops with a one-line NEEDS_HUMAN: <reason>.
Depth. --depth=short ("quick", "minimal"), --depth=standard ("normal"), --depth=deep ("comprehensive", "detailed"). Default SHORT. Depth picks the scout set (Step 1) and the spec sections (Step 4).
Research. Always repo-scout; --research=grep is a no-op and any other value is ignored.
Review. --review=codex ("review with codex", "codex review", "use codex"), --review=rp ("rp chat", "repoprompt review"), --review=host ("host review", "use host": the host-native fresh-context reviewer), --review=export ("export review", "external llm"), --review=none or --no-review ("no review", "skip review").
An option found in the arguments, as a flag or in these words, skips its setup question.
Initialize and capture one preflight snapshot before routing or scouting (also under autonomy). Every later config read uses this literal path:
$FLOWCTL init --json
PLAN_CFG="${TMPDIR:-/tmp}/flow-plan-config-<suffix>.json"
$FLOWCTL preflight --json > "$PLAN_CFG" 2>/dev/null || printf '{"key":null,"value":{}}' > "$PLAN_CFG"
ACTIVE=0
# No pipelines in the probe: capture raw first, rc-checked; parse separately.
RAW="$(jq -er 'if .probes.review_backend.status == "ok" then .probes.review_backend.value.backend else error("review backend probe") end' "${TMPDIR:-/tmp}/flow-plan-config-<suffix>.json" 2>/dev/null)" || ACTIVE=1 # probe error => ACTIVE
if [ "$ACTIVE" = "0" ]; then
REVIEW_BACKEND="$(printf '%s' "$RAW" | tr -d '[:space:]' 2>/dev/null)" || ACTIVE=1 # parse error => ACTIVE
[ "$REVIEW_BACKEND" = "ASK" ] && ACTIVE=1
fi
[ "${AUTONOMOUS:-0}" = "1" ] && ACTIVE=0 # autonomous never asks
if [ "$ACTIVE" = "1" ]; then
echo "SETUP-QUESTIONS GATE ACTIVE — STOP. Read references/setup-questions.md before continuing."
fi
When the sentinel prints, read references/setup-questions.md before any further step. When a backend is configured (rp, codex, copilot, cursor, claude, host, none), ask nothing: flags win, depth defaults, review uses that backend. Show the hint:
(Tip: --depth=short|standard|deep, --review=rp|codex|copilot|cursor|claude|host|none)
Workflow
Read steps.md and follow each step in order. Its optional paths (readiness warning, Route A, tracker-first mint, tracker projection, review, next-steps menu) load their references only when the step's condition holds.
Step 1 launches every scout in the depth-appropriate set, in ONE parallel Task call. A plan whose research skipped a scout in its tier, or ran the set sequentially, has broken this.
Output
- Spec:
.flow/specs/<spec-id>.json+.md; tasks:.flow/tasks/<spec-id>.M.json+.md. - No code changes and no plan files outside
.flow/.
When not to use it
- →Writing actual implementation code
- →Tracking tasks outside of the .flow/ directory
Prerequisites
Limitations
- →Does not write implementation code
- →Tasks must fit within 100k token iteration limits
How it compares
It enforces a strict separation between planning and implementation, preventing drift by forbidding code writing during the planning phase.
Compared to similar skills
flow-next-plan side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| flow-next-plan (this skill) | 1 | 3mo | Review | Intermediate |
| create-plan | 36 | 9mo | Review | Beginner |
| project-planner | 32 | 11mo | Review | Intermediate |
| system-design | 19 | 10mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by gmickel
View all by gmickel →You might also like
create-plan
antinomyhq
Generate detailed implementation plans for complex tasks. Creates comprehensive strategic plans in Markdown format with objectives, step-by-step implementation tasks using checkbox format, verification criteria, risk assessments, and alternative approaches. Use when users need thorough analysis and structured planning before implementation, when breaking down complex features into actionable steps, or when they explicitly ask for a plan, roadmap, or strategy. Strictly planning-focused with no code modifications.
project-planner
adrianpuiu
Comprehensive project planning and documentation generator for software projects. Creates structured requirements documents, system design documents, and task breakdown plans with implementation tracking. Use when starting a new project, defining specifications, creating technical designs, or breaking down complex systems into implementable tasks. Supports user story format, acceptance criteria, component design, API specifications, and hierarchical task decomposition with requirement traceability.
system-design
lagz0ne
Use when designing, architecting, or planning a new system from requirements or ideas - transforms concepts into navigable design catalog using EventStorming methodology, Mermaid diagrams, and progressive elaboration through 5 phases (Requirements, Big Picture, Processes, Data/Flows, Integration)
spec-kit-workflow
jmanhype
Guides specification-driven development workflow. Automatically invoked when discussing new features, specifications, technical planning, or implementation tasks. Ensures proper workflow phases (specify → clarify → plan → checklist → tasks → analyze → implement).
sparc-methodology
ruvnet
SPARC (Specification, Pseudocode, Architecture, Refinement, Completion) comprehensive development methodology with multi-agent orchestration
spec-workflow
TencentCloudBase
Standard software engineering workflow for requirement analysis, technical design, and task planning. Use this skill when developing new features, complex architecture designs, multi-module integrations, or projects involving database/UI design.