flow-next-interview

Conduct an extremely thorough interview about a task/spec and write refined details back.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "flow-next-interview" with this command: npx skills add gmickel/gmickel-claude-marketplace/gmickel-gmickel-claude-marketplace-flow-next-interview

Flow interview

Conduct an extremely thorough interview about a task/spec and write refined details back.

IMPORTANT: This plugin uses .flow/ for ALL task tracking. Do NOT use markdown TODOs, plan files, TodoWrite, or other tracking methods. All task state must be read and written via flowctl .

CRITICAL: flowctl is BUNDLED — NOT installed globally. which flowctl will fail (expected). Always use:

FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl" $FLOWCTL <command>

Pre-check: Local setup version

If .flow/meta.json exists and has setup_version , compare to plugin version:

SETUP_VER=$(jq -r '.setup_version // empty' .flow/meta.json 2>/dev/null)

Portable: Claude Code uses .claude-plugin, Factory Droid uses .factory-plugin

PLUGIN_JSON="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/.claude-plugin/plugin.json" [[ -f "$PLUGIN_JSON" ]] || PLUGIN_JSON="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/.factory-plugin/plugin.json" PLUGIN_VER=$(jq -r '.version' "$PLUGIN_JSON" 2>/dev/null || echo "unknown") if [[ -n "$SETUP_VER" && "$PLUGIN_VER" != "unknown" ]]; then [[ "$SETUP_VER" = "$PLUGIN_VER" ]] || echo "Plugin updated to v${PLUGIN_VER}. Run /flow-next:setup to refresh local scripts (current: v${SETUP_VER})." fi

Continue regardless (non-blocking).

Role: technical interviewer, spec refiner Goal: extract complete implementation details through deep questioning (40+ questions typical)

Input

Full request: $ARGUMENTS

Accepts:

  • Flow epic ID fn-N-slug (e.g., fn-1-add-oauth ) or legacy fn-N /fn-N-xxx : Fetch with flowctl show , write back with flowctl epic set-plan

  • Flow task ID fn-N-slug.M (e.g., fn-1-add-oauth.2 ) or legacy fn-N.M /fn-N-xxx.M : Fetch with flowctl show , write back with flowctl task set-description/set-acceptance

  • File path (e.g., docs/spec.md ): Read file, interview, rewrite file

  • Empty: Prompt for target

Examples:

  • /flow-next:interview fn-1-add-oauth

  • /flow-next:interview fn-1-add-oauth.3

  • /flow-next:interview fn-1 (legacy formats fn-1, fn-1-xxx still supported)

  • /flow-next:interview docs/oauth-spec.md

If empty, ask: "What should I interview you about? Give me a Flow ID (e.g., fn-1-add-oauth) or file path (e.g., docs/spec.md)"

Setup

FLOWCTL="${DROID_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT}}/scripts/flowctl"

Detect Input Type

Flow epic ID pattern: matches fn-\d+(-[a-z0-9-]+)? (e.g., fn-1-add-oauth, fn-12, fn-2-fix-login-bug)

  • Fetch: $FLOWCTL show <id> --json

  • Read spec: $FLOWCTL cat <id>

Flow task ID pattern: matches fn-\d+(-[a-z0-9-]+)?.\d+ (e.g., fn-1-add-oauth.3, fn-12.5)

  • Fetch: $FLOWCTL show <id> --json

  • Read spec: $FLOWCTL cat <id>

  • Also get epic context: $FLOWCTL cat <epic-id>

File path: anything else with a path-like structure or .md extension

  • Read file contents

  • If file doesn't exist, ask user to provide valid path

Interview Process

CRITICAL REQUIREMENT: You MUST use the AskUserQuestion tool for every question.

  • DO NOT output questions as text

  • DO NOT list questions in your response

  • ONLY ask questions via AskUserQuestion tool calls

  • Group 2-4 related questions per tool call

  • Expect 40+ questions total for complex specs

Anti-pattern (WRONG):

Question 1: What database should we use? Options: a) PostgreSQL b) SQLite c) MongoDB

Correct pattern: Call AskUserQuestion tool with question and options.

Question Categories

Read questions.md for all question categories and interview guidelines.

NOT in scope (defer to /flow-next:plan)

  • Research scouts (codebase analysis)

  • File/line references

  • Task creation (interview refines requirements, plan creates tasks)

  • Task sizing (S/M/L)

  • Dependency ordering

  • Phased implementation details

Write Refined Spec

After interview complete, write everything back — scope depends on input type.

For NEW IDEA (text input, no Flow ID)

Create epic with interview output. DO NOT create tasks — that's /flow-next:plan 's job.

$FLOWCTL epic create --title "..." --json $FLOWCTL epic set-plan <id> --file - --json <<'EOF'

Epic Title

Problem

Clear problem statement

Key Decisions

Decisions made during interview (e.g., "Use OAuth not SAML", "Support mobile + web")

Edge Cases

  • Edge case 1
  • Edge case 2

Open Questions

Unresolved items that need research during planning

Acceptance

  • Criterion 1
  • Criterion 2 EOF

Then suggest: "Run /flow-next:plan fn-N to research best practices and create tasks."

For EXISTING EPIC (fn-N that already has tasks)

First check if tasks exist:

$FLOWCTL tasks --epic <id> --json

If tasks exist: Only update the epic spec (add edge cases, clarify requirements). Do NOT touch task specs — plan already created them.

If no tasks: Update epic spec, then suggest /flow-next:plan .

$FLOWCTL epic set-plan <id> --file - --json <<'EOF'

Epic Title

Problem

Clear problem statement

Key Decisions

Decisions made during interview

Edge Cases

  • Edge case 1
  • Edge case 2

Open Questions

Unresolved items

Acceptance

  • Criterion 1
  • Criterion 2 EOF

For Flow Task ID (fn-N.M)

First check if task has existing spec from planning:

$FLOWCTL cat <id>

If task has substantial planning content (description with file refs, sizing, approach):

  • Do NOT overwrite — planning detail would be lost

  • Only ADD new acceptance criteria discovered in interview:

Read existing acceptance, append new criteria

$FLOWCTL task set-acceptance <id> --file /tmp/acc.md --json

  • Or suggest interviewing the epic instead: /flow-next:interview <epic-id>

If task is minimal (just title, empty or stub description):

  • Update task with interview findings

  • Focus on requirements, not implementation details

$FLOWCTL task set-spec <id> --description /tmp/desc.md --acceptance /tmp/acc.md --json

Description should capture:

  • What needs to be accomplished (not how)

  • Edge cases discovered in interview

  • Constraints and requirements

Do NOT add: file/line refs, sizing, implementation approach — that's plan's job.

For File Path

Rewrite the file with refined spec:

  • Preserve any existing structure/format

  • Add sections for areas covered in interview

  • Include edge cases, acceptance criteria

  • Keep it requirements-focused (what, not how)

This is typically a pre-epic doc. After interview, suggest /flow-next:plan <file> to create epic + tasks.

Completion

Show summary:

  • Number of questions asked

  • Key decisions captured

  • What was written (Flow ID updated / file rewritten)

Suggest next step based on input type:

  • New idea / epic without tasks → /flow-next:plan fn-N

  • Epic with tasks → /flow-next:work fn-N (or more interview on specific tasks)

  • Task → /flow-next:work fn-N.M

  • File → /flow-next:plan <file>

Notes

  • This process should feel thorough - user should feel they've thought through everything

  • Quality over speed - don't rush to finish

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

flow-next-plan-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

browser

No summary provided by upstream source.

Repository SourceNeeds Review
General

flow-next

No summary provided by upstream source.

Repository SourceNeeds Review
General

flow-plan-review

No summary provided by upstream source.

Repository SourceNeeds Review