flow-next-guide
GitHub智能路由助手,根据项目当前状态推荐最小且充分的下一步工作流。通过匹配信号判断策略、前景或图表阶段,提供精确指令与跳过建议,确保流程高效推进。
Trigger Scenarios
Install
npx skills add gmickel/flow-next --skill flow-next-guide -g -y
SKILL.md
Frontmatter
{
"name": "flow-next-guide",
"description": "Recommend the smallest sufficient flow-next workflow from the starting state. Stateless router. Use when unsure which command or stage applies next.",
"allowed-tools": "Read, Bash, Grep, Glob, Task",
"user-invocable": false
}
Guide - smallest-sufficient workflow router
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.
Preamble
CRITICAL: flowctl is BUNDLED - NOT installed globally. which flowctl will fail (expected). Define once; probe blocks use $FLOWCTL:
FLOWCTL="${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.
Output contract (every recommendation)
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:
- Route - named skill/path
- Why (positive signal) - which matrix signal matched
- Safe skip / narrow - when this route may be skipped or narrowed
- Skip kind -
signal absent(the stage's work is not needed) vsdespite 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.
Smallest-sufficient matrix (exact)
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).
Prompt-first behavior
-
Infer starting state from
$ARGUMENTS+ conversation (and optional read-only probes). -
If exactly one matrix row fits, emit one recommendation (natural-language prompt first). Ask the user via plain text. Render the options below as a numbered list
1.…N., followed by a final optionN+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 number1–N+1→ that option; the literal text of an option label → that option; free text afterOther→ custom answer. -
If two routes would materially change cost, consent, or discovery vs build path, ask at most one plain-text numbered prompt via bare
plain-text numbered prompt(or the plain-text numbered fallback). Then recommend. -
Never present chart as required onboarding, a pipeline stage, or the default after prospect.
-
Never mutate
.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.
Recommendation shape (template)
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):
- "Run prospect for DX improvements in the skills tree"
- "Chart this: multi-tenant billing with unknown pricing and migration risks"
- "Capture what we just agreed - intent and boundaries are clear"
- "Interview fn-12 on the open product judgment questions"
- "Plan the ready spec fn-12"
- "Just fix the typo in README and open a small review"
Forbidden
- Writing files under
.flow/, creating charts/specs/tasks, or any flowctl mutation - Using
WriteorEdittools - Presenting chart as mandatory or as a pilot/build-loop stage
- A fixed multi-stage conveyor that always chains prospect -> chart -> capture
- Asking more than one plain-text numbered prompt per invocation
- Leading with flag vocabulary when a natural-language next prompt exists
- Claiming that skipping a command also skips its evidence/consent/review contracts
Version History
- 8baa538 Current 2026-08-20 07:58


