Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Prompt-first router that recommends the smallest sufficient flow-next workflow. Use when unsure which command to run next, which pre-build stage applies, or whether to skip chart/interview/plan. Triggers on /flow-next:guide with a free-form situation description.
.claude/skills/gmickel-flow-next-guide/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 75% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 70% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 135% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 67% | 0% |
Stateless prompt-first router. Recommends one next workflow from the starting state. Does not create specs, charts, tasks, artifacts, or flowctl state. Chart is an optional discovery route - never a mandatory stage and never a new pipeline stage.
Role: routing coordinator (inline skill - keep plain-text numbered prompt reachable). On portable hosts without plain-text numbered prompt, fall back to a plain-text numbered prompt with a final Other - type your own answer option.
CRITICAL: flowctl is BUNDLED - NOT installed globally. which flowctl will fail (expected). Define once; probe blocks use $FLOWCTL:
bashFLOWCTL="${CODEX_HOME:-$HOME/.codex}/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"
No flowctl mutation. Optional read-only probes ($FLOWCTL brief for cold-session orientation; $FLOWCTL list / $FLOWCTL show, file reads) may ground the recommendation when a handle or path is named. Never run create/write/claim/resolve.
Lead with a natural-language next prompt - the exact words or slash command the user should say/run next. Flags are secondary (automation only). Then:
signal absent (the stage's work is not needed) vs despite unresolved risk (you chose a smaller path; evidence/consent/review contracts still apply later)Skipping a command never skips the evidence, consent, or review contract that command would have provided.
Match the starting state. First clear match wins. Chart only when one oversized idea is still unclear.
| Starting state | Route | Positive signal | Safe skip / narrow | |---|---|---|---| | No written direction - target problem, users, or key metrics are not stated anywhere | /flow-next:strategy | Repeated arguments about what matters; no STRATEGY.md to ground prospect/capture/plan | Skip when STRATEGY.md exists or the effort is small enough that direction is not in question | | Looking for candidate investments across a domain | /flow-next:prospect | Domain search; need ranked candidates | Skip prospect when the idea is already singular. After selection: chart only if the candidate remains singular + oversized + unclear; otherwise capture | | One large idea, unclear boundaries, several consequential unknowns | /flow-next:chart then briefing then capture | Singular effort too big for one capture; unknowns block stating intent | Skip chart (signal absent) when intent and boundaries are already stateable - go capture or author the spec directly. Chart is never mandatory | | A theme or direction rather than one effort ("make X more Y") | /flow-next:prospect, or narrow to a single effort | No nameable end state, so no Outcome and no scope boundary | Chart cannot take this (signal absent for chart): it needs a destination whose route is unknown, not a direction. Narrow first, or prospect when the real ask is which effort to pick | | One meaningful idea whose intent and boundaries can already be stated | /flow-next:capture or author the spec directly | Clear meaningful idea | Skip chart (signal absent). Do not manufacture a chart for clear work | | Existing structured brief with resolved business and technical choices | /flow-next:capture the brief | Structured brief / chart briefing package ready | Skip chart. Narrow or skip interview only after capture read-back proves no material gaps - never pre-declare skip interview | | Tiny, local, low-risk change that fits one implementation context | Direct change + review path appropriate to the repo | One-context fix; low risk | Skip chart and the full spec pipeline (signal absent). Still run the review/consent gates the change would need | | A valid spec with unresolved judgment questions | /flow-next:interview | Spec exists; judgment gaps remain | Do not reopen discovery as chart unless the questions reveal the effort itself is not yet specifiable - only then route backward to chart | | A ready spec whose work is understood | /flow-next:plan | Spec ready / work understood enough to task | Chart is too late. Unshaped oversized freeform ideas are not plan input - route those to chart first | | Planned tasks ready to implement | /flow-next:work, then existing review / QA / ship choices | Tasks exist and are actionable | Stay on work + the repo's review/QA/ship menu. Guide does not invent new ship stages | | Output too dense - a plan, spec, task, or diff needs reviewing at a glance | /flow-next:visual | Structure has to be reconstructed by serial reading (spec + N task files, an unread diff, a wall of prose) | Skip when the text is already short enough to judge directly. The digest is a lens, not a stage - it never advances the pipeline and never replaces reading the file you drill into | | Unsure which of these situations applies | This matrix (this skill) | Ambiguous starting state | Ask at most one plain-text numbered prompt when two routes would materially differ; otherwise recommend one route |
There is no fixed prospect -> chart -> capture conveyor. Each hop re-evaluates the matrix.
Router staleness is a defect, not drift. This table is the router's inventory of what ships. Recommending a skill that no longer exists, or failing to know one that does, is a broken router - the recommendation looks confident and sends the user nowhere. Adding or removing a flow-next skill updates this table in the same change (agent_docs/adding-skills.md).
$ARGUMENTS + conversation (and optional read-only probes).Ask the user via plain text. Render the options below as a numbered list 1. … N., followed by a final option N+1. Other — type your own answer. Print the question, then the numbered list, then stop and wait for the user's next message before continuing. Parse the reply as: a bare number 1–N+1 → that option; the literal text of an option label → that option; free text after Other → custom answer.
plain-text numbered prompt (or the plain-text numbered fallback). Then recommend..flow/ or invoke write-capable flowctl subcommands.When the situation reads as a concrete task, the pull is to just answer it - the fix is one edit away, the question has an obvious response. That pull is the tell that a route exists and you are about to skip naming it. Name the route instead; a guide that does the work has stopped being a router.
Next: <natural-language prompt or slash command to run>
Route: <name>
Signal: <positive signal>
Skip/narrow: <explicit safe skip or narrow condition>
Skip kind: signal absent | despite unresolved risk
Why not the alternatives: <one line>Examples of natural-language next prompts (not required flags):
.flow/, creating charts/specs/tasks, or any flowctl mutationWrite or Edit toolsOther measured skills in the registry, with their headline benchmark lift.