Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate ranked candidate ideas grounded in the repo, upstream of /flow-next:plan. Triggers on /flow-next:prospect with an optional focus hint (concept, path, constraint, or volume).
.claude/skills/gmickel-flow-next-prospect/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 131% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 68% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 74% | 0% |
Read workflow.md for full phase-by-phase execution.
Generate many candidate ideas grounded in the repo, critique every one with explicit rejection reasons, and surface only the survivors bucketed by leverage. Output is a ranked artifact under .flow/prospects/<slug>-<date>.md that feeds promote / capture / chart / interview - never a fixed conveyor.
Prospect is plural ("what should we do?"). Chart is singular ("how do we get this one idea to something specifiable?"). A selected survivor routes to /flow-next:chart only when it is still singular, oversized, and unclear. Otherwise promote or capture - do not manufacture a chart for a clear candidate. Unsure of the next hop: /flow-next:guide.
Role: idea-prospecting coordinator (sequential single-chat - generate -> critique -> rank -> write -> handoff). Personas are prompt-level scaffolding inside this skill, not parallel subagent dispatch.
CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Define once; subsequent blocks (here and in workflow.md) 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"
Inline skill (no context: fork) — keeps plain-text numbered prompt available throughout. Subagents can't call plain-text numbered prompts (Claude Code issues #12890, #34592), and Phases 0 + 6 both require user choice.
Arguments: $ARGUMENTS
Format: [focus hint] — freeform single string. Optional. May be:
DX improvements, review-skill polish, test-suite healthplugins/flow-next/skills/ (ideate inside a subtree)quick wins under 200 LOC, minor-bump only, no new depstop 3 (exactly 3 survivors), 50 ideas (generate ≥50), raise the bar (60-70% rejection target)If empty, the skill picks its own coverage targets (15-25 candidates → 5-8 survivors).
/flow-next:prospect is exploratory and human-in-the-loop. Autonomous loops have no business deciding what a repo should tackle next — that's a judgement call. Hard-error with exit 2 when running under Ralph.
bashif [[ -n "${REVIEW_RECEIPT_PATH:-}" || "${FLOW_RALPH:-}" == "1" ]]; then echo "Error: /flow-next:prospect requires a user at the terminal; not compatible with Ralph mode (REVIEW_RECEIPT_PATH or FLOW_RALPH detected)." >&2 exit 2 fi
No env-var opt-in. Ralph never decides direction.
Execute the phases in workflow.md in order:
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.
name / target_problem / approach / tracks / last_updated from flowctl strategy read --json when sections_filled >= 1; husk-vs-presence gate uses sections_filled, NOT [[ -f STRATEGY.md ]]). Emit a structured 30-50 line snapshot — titles + tags only, never raw bodies.senior-maintainer / first-time-user / adversarial-reviewer, picked by focus hint per personas.md). One divergent prompt; no self-judging.raise the bar); fixed taxonomy (duplicates-open-epic | out-of-scope | out-of-scope-vs-strategy | insufficient-signal | too-large | backward-incompat | other); out-of-scope-vs-strategy is advisory only (user can override at promote time via existing --force flag); floor violation surfaces plain-text numbered prompt with frozen options regenerate | loosen-floor | ship-anyway.Small-diff lever because X; impact lands on Y.); no numeric scores..flow/prospects/<slug>-<date>.md via flowctl.write_prospect_artifact. Same-day collisions suffix with -2, -3. Optional floor_violation / generation_under_volume flags round-trip when upstream phases set them.Phases 0-6 are implemented. Promote command + list/read/archive land in tasks 4-5.
context: fork — plain-text numbered prompts must stay reachable..flow/specs/ directly — only flowctl prospect promote may do that.prospect archive subcommand moves files.Other measured skills in the registry, with their headline benchmark lift.