Source profileQuality 95/100

gmickel/flow-next/plugins/flow-next/skills/flow-next-capture/SKILL.md

flow-next-capture

Synthesize the current conversation context into a flow-next spec at `.flow/specs/<spec-id>.md` via `flowctl spec create + spec set-plan` — agent-native, source-tagged, with mandatory read-back before write. Triggers on /flow-next:capture, "capture spec", "lock down what we discussed", "make a spec from this conversation", "convert conversation to spec". Optional `mode:autofix` token runs without questions and requires `--yes` to commit. Optional `--rewrite <spec-id>` overwrites an existing spec

Source repository stars
689
Declared platforms
0
Static risk flags
0
Last source update
2026-08-28
Source checked
2026-08-28

Decision brief

What it does: where it fits

A free-form discussion (or a /flow-next:prospect survivor) frequently produces enough material for a complete spec, but stops short of the formal flowctl spec create + spec set-plan heredoc documented in CLAUDE.md. Without an explicit synthesis step, that context decays — the ne…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/gmickel/flow-next --skill "plugins/flow-next/skills/flow-next-capture"
    Safe inspection promptEditorial

    Inspect the Agent Skill "flow-next-capture" from https://github.com/gmickel/flow-next/blob/efe60be268df748bdfbfc546a38751f8cf26c912/plugins/flow-next/skills/flow-next-capture/SKILL.md at commit efe60be268df748bdfbfc546a38751f8cf26c912. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      --override-strategy (Phase 5.0 strategy-contradiction override)

      if [[ "$RAWARGS" == "--override-strategy" ]]; then OVERRIDESTRATEGY=1 RAWARGS="${RAWARGS//--override-strategy/}" fi

      Ask one question at a time via AskUserQuestion (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded). Fall back to numbered options in plain text only if the tool is unreachable or errors. Never…Lead with the recommended option and a one-sentence rationale, followed by a confidence marker — [high] / [judgment-call] / [your-call]. The body carries the recommendation; option labels stay neutral so the user isn't…Plain language, explained answers (same contract as the interview skill, eval-validated): open with one sentence of stakes; everyday words; a needed term of art gets a ≤1-clause plain gloss at first use; no unexplained…
    2. 02

      Workflow

      Execute the phases in workflow.md in order. Each phase's detail — including which branch gate loads which reference — lives there; this index is navigation only:

      Pre-flight — duplicate detection (spec-title overlap + flowctl memory search), compaction relevance check, idempotency (never a silent overwrite), plus the strategy / duplicate-branch / chart-briefing / rewrite gates.Extract conversation evidence — a verbatim Conversation Evidence block FIRST (30 lines of raw user quotes); spec sections refer to evidence by line, not from agent memory.Source-tagged synthesis — draft each section against the canonical template at plugins/flow-next/templates/spec.md (per R17 — cross-link, never re-embed the section list inline), tagging only acceptance criteria and pro…
    3. 03

      Routing boundary (fn-135 / guide matrix)

      Clear meaningful ideas and finished chart briefings route here - to capture (or direct spec authoring). Capture does not manufacture a chart for clear work. When intent and boundaries are already stateable, skip chart (signal absent). After a structured brief lands, narrow or sk…

      Clear meaningful ideas and finished chart briefings route here - to capture (or direct spec authoring). Capture does not manufacture a chart for clear work. When intent and boundaries are already stateable, skip chart (…Read workflow.md for the full phase-by-phase execution. Read phases.md for the source-tag taxonomy and confidence tiers. Path-specific machinery lives in references/.md, loaded only when the gate at its branch point fir…
    4. 04

      Preamble

      CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Define once; subsequent blocks (here and in workflow.md / phases.md) use $FLOWCTL:

      CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Define once; subsequent blocks (here and in workflow.md / phases.md) use $FLOWCTL:Inline skill (no context: fork) — AskUserQuestion must stay reachable across phases. Subagents can't call blocking question tools (Claude Code issues 12890, 34592). Phase 0 (duplicate detection) and Phase 4 (read-back l…
    5. 05

      Mode Detection

      Parse $ARGUMENTS for the literal token mode:autofix and the flags --rewrite , --from-compacted-ok, --yes, --override-strategy. Strip recognized tokens; whatever remains is treated as freeform context (ignored — the conversation is the input, not $ARGUMENTS).

      Parse $ARGUMENTS for the literal token mode:autofix and the flags --rewrite , --from-compacted-ok, --yes, --override-strategy. Strip recognized tokens; whatever remains is treated as freeform context (ignored — the conv…bash RAWARGS="$ARGUMENTS" MODE="interactive" REWRITETARGET="" FROMCOMPACTEDOK=0 COMMITYES=0 OVERRIDESTRATEGY=0

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score95/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars689SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    gmickel/flow-next
    Skill path
    plugins/flow-next/skills/flow-next-capture/SKILL.md
    Commit
    efe60be268df748bdfbfc546a38751f8cf26c912
    License
    MIT
    Collected
    2026-08-28
    Default branch
    main
    View the original SKILL.md

    /flow-next:capture — agent-native conversation → spec

    A free-form discussion (or a /flow-next:prospect survivor) frequently produces enough material for a complete spec, but stops short of the formal flowctl spec create + spec set-plan heredoc documented in CLAUDE.md. Without an explicit synthesis step, that context decays — the next session loses the conversation, the spec never lands, and the user re-explains the same idea to /flow-next:plan.

    This skill IS the synthesis. The host agent (Claude Code / Codex / Droid) extracts the recent user turns, drafts a CLAUDE.md-shaped spec with per-line source tags ([user] / [paraphrase] / [inferred] / [strategy:<track>]), prints the full draft as ordinary markdown then issues a short approval ask (print-then-ask — never embed multi-paragraph drafts in AskUserQuestion bodies), and only then writes the spec via existing flowctl plumbing. There is no Python synthesizer, no codex / copilot subprocess, no fast-model classifier. The host agent is already an LLM and does the work directly.

    flowctl provides thin spec plumbing (spec create, spec set-plan, optional spec set-branch, memory search for duplicate detection) plus the chart handoff callback (chart link-spec) after a successful chart-briefing capture. Capture never writes chart files and never mutates a chart's ready flag; chart never writes .flow/specs.

    Routing boundary (fn-135 / guide matrix)

    Clear meaningful ideas and finished chart briefings route here - to capture (or direct spec authoring). Capture does not manufacture a chart for clear work. When intent and boundaries are already stateable, skip chart (signal absent). After a structured brief lands, narrow or skip interview only once read-back proves no material gaps - never pre-skip interview on hope. Unsure: /flow-next:guide.

    Read workflow.md for the full phase-by-phase execution. Read phases.md for the source-tag taxonomy and confidence tiers. Path-specific machinery lives in references/*.md, loaded only when the gate at its branch point fires — a run that never takes a branch never pays for it.

    Preamble

    CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Define once; subsequent blocks (here and in workflow.md / phases.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"
    

    Inline skill (no context: fork)AskUserQuestion must stay reachable across phases. Subagents can't call blocking question tools (Claude Code issues #12890, #34592). Phase 0 (duplicate detection) and Phase 4 (read-back loop) both require user choice in interactive mode. (sync-codex.sh rewrites this to a plain-text numbered prompt in the Codex mirror.)

    Mode Detection

    Parse $ARGUMENTS for the literal token mode:autofix and the flags --rewrite <spec-id>, --from-compacted-ok, --yes, --override-strategy. Strip recognized tokens; whatever remains is treated as freeform context (ignored — the conversation is the input, not $ARGUMENTS).

    RAW_ARGS="$ARGUMENTS"
    MODE="interactive"
    REWRITE_TARGET=""
    FROM_COMPACTED_OK=0
    COMMIT_YES=0
    OVERRIDE_STRATEGY=0
    
    # Mode token
    if [[ "$RAW_ARGS" == *"mode:autofix"* ]]; then
      MODE="autofix"
      RAW_ARGS="${RAW_ARGS//mode:autofix/}"
    fi
    
    # --rewrite <id>
    if [[ "$RAW_ARGS" =~ --rewrite[[:space:]]+([^[:space:]]+) ]]; then
      REWRITE_TARGET="${BASH_REMATCH[1]}"
      RAW_ARGS="${RAW_ARGS//--rewrite ${REWRITE_TARGET}/}"
    fi
    
    # --from-compacted-ok
    if [[ "$RAW_ARGS" == *"--from-compacted-ok"* ]]; then
      FROM_COMPACTED_OK=1
      RAW_ARGS="${RAW_ARGS//--from-compacted-ok/}"
    fi
    
    # --yes (autofix commit gate)
    if [[ "$RAW_ARGS" == *"--yes"* ]]; then
      COMMIT_YES=1
      RAW_ARGS="${RAW_ARGS//--yes/}"
    fi
    
    # --override-strategy (Phase 5.0 strategy-contradiction override)
    if [[ "$RAW_ARGS" == *"--override-strategy"* ]]; then
      OVERRIDE_STRATEGY=1
      RAW_ARGS="${RAW_ARGS//--override-strategy/}"
    fi
    
    if [ "$MODE" = "autofix" ]; then
      echo "GATE ACTIVE — STOP. Read references/autofix-mode.md before continuing."
    fi   # default branch: bare no-op — NO link, NO read path
    
    ModeWhenBehavior
    Interactive (default)User is at the terminalPhase 0 asks on duplicate detection; Phase 3 asks on must-ask ambiguities; Phase 4 print-then-ask read-back (full draft as ordinary markdown, then short blocking-question tool) — write only on approve
    Autofix (mode:autofix)Batch usage from another skill / scripted invocationNo user questions; every "ask" branch becomes exit 2; Phase 4 Writes the draft once and requires --yes to reach the .flow/ write

    When the sentinel above prints, read references/autofix-mode.md before Phase 0 — it owns the per-phase autofix rules (Phase 0 hard-errors, Phase 3 exits, §4.4 read-back substitute, split / glossary / readiness behavior). On the default interactive path, read nothing.

    Ralph-block (R13) — runs first, before everything else

    /flow-next:capture requires conversation context + user confirmation. Autonomous loops have neither. Hard-error with exit 2 when running under Ralph.

    if [[ -n "${REVIEW_RECEIPT_PATH:-}" || "${FLOW_RALPH:-}" == "1" ]]; then
      echo "Error: /flow-next:capture requires conversation context + 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.

    Interaction Principles (interactive mode only)

    In autofix mode, skip user questions entirely and apply the rules in the autofix reference.

    In interactive mode:

    • Ask one question at a time via AskUserQuestion (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded). Fall back to numbered options in plain text only if the tool is unreachable or errors. Never silently skip the question.
    • Lead with the recommended option and a one-sentence rationale, followed by a confidence marker — [high] / [judgment-call] / [your-call]. The body carries the recommendation; option labels stay neutral so the user isn't anchored on the option text itself. (See phases.md §Confidence tiers.) Exception — the Phase 4 read-back never recommends approve while unverified [inferred] items exist (no self-blessing; workflow.md §4.2).
    • Plain language, explained answers (same contract as the interview skill, eval-validated): open with one sentence of stakes; everyday words; a needed term of art gets a ≤1-clause plain gloss at first use; no unexplained acronyms or tool shorthand (R-ID, [inferred] get translated when user-facing); option descriptions state their consequence ("Choose this if…"). Priorities, not length caps — trim repetition and background, never required content.
    • Prefer multiple choice when natural options exist (Phase 0 duplicate decision; Phase 4 approve/edit/abort).
    • Do not ask the user for facts they already gave you in conversation — Phase 1 extracts evidence first; Phase 3 asks only on the three hard-error must-ask cases plus genuinely missing context that can't be inferred.

    The goal is automated synthesis with human oversight on judgment calls — not a question for every section.

    Forbidden behaviors (R10)

    • Tech-stack mentions the user did not state. "Needs persistence" is fine; "uses PostgreSQL" needs the user to have said PostgreSQL. Defer technology choices to /flow-next:plan (spec-kit convention — capture writes intent, plan writes implementation).
    • Inventing acceptance criteria not in conversation. Every acceptance criterion must be source-tagged; pure [inferred] criteria must surface at Phase 4 read-back so the user can reject them.
    • Code snippets or specific file paths in the spec body. Those belong in /flow-next:plan task specs after research lands. Capture's output is a high-level spec, not an implementation guide.
    • Silent overwrite of an existing spec. Idempotency requires --rewrite <spec-id> (R8). Without it, Phase 0 conflict-detection branches into extend / supersede / proceed-anyway.
    • Auto-splitting a spec that has 8+ acceptance criteria. Phase 4 surfaces the option to split; the user decides. Never auto-action a split.
    • Setting context: fork — blocking-question tools must stay reachable.
    • Calling flowctl spec create before Phase 4 approval. Phase 5 is the only write phase.
    • Writing glossary terms without consent, or in autofix mode. Term-adds require the Phase 4.2 Glossary? approval; autofix prints suggestions only (--yes consents to the spec write, not to vocabulary changes). The gate is husk-aware (glossary list --json total_terms > 0) — seeding an empty glossary is /flow-next:prime's job, never capture's.
    • Marking a spec ready without consent, in autofix, or outside the target-aware readiness predicate. Readiness is the human's gate — capture never infers it.
    • Treating a forced draft chart briefing as final, or admitting a draft/stale briefing silently. Fail closed; the override requires named D-IDs + a risk read-back.
    • Using git add -A from this skill. When committing the new spec, stage only the JSON sidecar (.flow/specs/<id>.json) + .flow/specs/<id>.md (and .flow/meta.json if the next-id counter mutated). Other working-tree changes are not capture's concern.

    Workflow

    Execute the phases in workflow.md in order. Each phase's detail — including which branch gate loads which reference — lives there; this index is navigation only:

    1. Pre-flight — duplicate detection (spec-title overlap + flowctl memory search), compaction relevance check, idempotency (never a silent overwrite), plus the strategy / duplicate-branch / chart-briefing / rewrite gates.
    2. Extract conversation evidence — a verbatim ## Conversation Evidence block FIRST (~30 lines of raw user quotes); spec sections refer to evidence by line, not from agent memory.
    3. Source-tagged synthesis — draft each section against the canonical template at plugins/flow-next/templates/spec.md (per R17 — cross-link, never re-embed the section list inline), tagging only acceptance criteria and prose capture newly authors; route explicit biz-context signals (nine R24 categories) and compute BIZ_SIGNAL_CATEGORIES for Phase 6.
    4. Must-ask cases (R9) — ambiguous title / untestable acceptance / scope-conflict; interactive asks one at a time, autofix exits 2.
    5. Read-back loop (mandatory, even in autofix) — Write the full draft ONCE to a literal path, print it as ordinary markdown, then a SHORT AskUserQuestion; never Recommended: approve while unverified [inferred] items remain.
    6. Write via flowctlspec create → parse idspec set-plan <id> --file <literal draft path> (consumes the §4.1 draft file — no heredoc re-authoring); R-IDs allocate sequentially from R1.
    7. Suggested next stepSpec captured at .flow/specs/<id>.md. plus the mandatory Tracker sync: slot and /flow-next:plan / /flow-next:interview hints; the R25 business-pass suggestion fires at 1 <= BIZ_SIGNAL_CATEGORIES < 3.

    Output rules

    The new spec is the deliverable — it lives in .flow/specs/<spec-id>.md after Phase 5. Standard output also receives:

    • The full draft (Phase 4) — interactive: printed as ordinary markdown then a short approval ask (print-then-ask); autofix: Written to the §4.1 path with summary payload on stdout. Edit cycles reprint the revised draft before each short re-ask.
    • The created spec id + spec path (Phase 5).
    • The next-step footer (Phase 6).

    Autofix mode without --yes produces a draft + the "rerun with --yes" hint and exits 0 — no write happens, no spec is allocated.

    Frequently asked questions

    What to verify before installation and use

    What does the flow-next-capture source document cover?

    A free-form discussion (or a /flow-next:prospect survivor) frequently produces enough material for a complete spec, but stops short of the formal flowctl spec create + spec set-plan heredoc documented in CLAUDE.md. Without an explicit synthesis step, that context decays — the ne…

    How do I install flow-next-capture?

    The source record exposes this install command: npx skills add https://github.com/gmickel/flow-next --skill "plugins/flow-next/skills/flow-next-capture". Inspect the command and pinned source before running it.

    Alternatives

    Compare before choosing

    Computed 99689

    gmickel/flow-next

    flow-next-capture

    Synthesize the current conversation context into a flow-next spec at `.flow/specs/<spec-id>.md` via `flowctl spec create + spec set-plan` — agent-native, source-tagged, with mandatory read-back before write. Triggers on /flow-next:capture, "capture spec", "lock down what we discussed", "make a spec from this conversation", "convert conversation to spec". Optional `mode:autofix` token runs without questions and requires `--yes` to commit. Optional `--rewrite <spec-id>` overwrites an existing spec

    Computed 92689

    gmickel/flow-next

    flow-next-capture

    Synthesize the current conversation into a flow-next spec with read-back gating. Use when asked to capture this as a spec.

    Computed 10029,236

    garrytan/gbrain

    bulk-ingestion

    End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.

    Computed 10025,136

    alirezarezvani/claude-skills

    app-store-optimization

    App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist