Skip to content

Commands

  • /flow-next:strategy: create or update STRATEGY.md
  • /flow-next:guide: recommend the smallest sufficient next workflow (stateless router)
  • /flow-next:prospect: generate ranked candidate ideas
  • /flow-next:chart: optional decision-map discovery for one oversized unclear idea before capture
  • /flow-next:capture: synthesize conversation into a source-tagged spec
  • /flow-next:interview: refine a spec through structured questions
  • /flow-next:plan: break a spec into dependency-ordered tasks
  • /flow-next:plan-review: cross-model review of plan/spec
  • /flow-next:work: execute tasks with re-anchored worker agents
  • /flow-next:impl-review: cross-model implementation review
  • /flow-next:spec-completion-review: verify combined implementation against spec
  • /flow-next:make-pr: render PR cognitive aid and open PR
  • /flow-next:resolve-pr: resolve PR feedback threads
  • /flow-next:audit: review .flow/memory/ against current code
  • /flow-next:memory-migrate: lift legacy memory into categorized schema
  • /flow-next:prime: assess repo agent-readiness
  • /flow-next:ralph-init: scaffold autonomous loop
  • /flow-next:sync: plan-sync downstream task specs after drift
  • /flow-next:tracker-sync: project a spec to a Linear, GitHub, GitLab, or Jira issue, two-way; semantic judgment in the skill, deterministic provider operations in flowctl tracker (Tracker Sync)

Every command that takes a spec or task id accepts either id scheme. The default form is fn-NN (/flow-next:work fn-1, /flow-next:plan fn-1.2). A spec linked to a tracker is referenced by its tracker key instead — /flow-next:work wor-17, /flow-next:plan wor-17, tasks as wor-17.1, case-insensitive. See Spec & task ids.

SituationCommand path
Unsure which stage fits/flow-next:guide
One large idea, still too unclear to capture/flow-next:chart → briefing → /flow-next:capture → plan → work
Conversation already contains the requirement/flow-next:capture/flow-next:plan/flow-next:work
Team needs product clarification/flow-next:interview --scope=business
Team needs technical clarification/flow-next:interview --scope=technical --strategy --docs
Plan needs adversarial review/flow-next:plan-review
Implementation needs review before PR/flow-next:impl-review
Spec is done and needs final verification/flow-next:spec-completion-review
PR needs reviewer-focused body/flow-next:make-pr
PR review comments need resolution/flow-next:resolve-pr

Most people should not start with flowctl. Slash commands are the product workflow. flowctl is the deterministic state layer those commands call. For the reasoning behind which path fits which shape of work — risk and unknowns, never size — see Pipeline Variations.

flowctl chart is the deterministic store for decision-map discovery. The skill owns grounding, frontier judgment, evidence routes, attended consent, and the terminal CHART_VERDICT. The CLI owns atomic create/claim/resolve/scope/briefing mutations. Full skill: Chart. Full CLI: CLI Reference.

SubcommandPurpose
create --title --outcome [--initial-map-file] [--force-size --reason]Allocate chart id; optional initial map (validated against chart.maxDecisions)
show / listCompact metadata and map body / list with progress
add-decision --title --type [--attendance] [--blocked-by] [--depends-on]Allocate next D-ID
park-question / remove-questionParked Open Questions (stable keys)
wire-decisionAtomically replace blocked_by / depends_on
frontierOpen, unblocked, unclaimed decisions (dependency-ordered)
claim / release-claim [--break-stale --reason]Claims; no silent expiry
attach-asset --asset-fileSafe evidence/prototype asset while decision stays open
resolve --answer-file [--sharpen-file] [--supersedes] [--keep-dependents]Close with answer; optional sharpen/cascade. Sharpen notes_append appends a dated correction to ## Notes in the same transaction; unknown sharpen keys fail the resolve
out-of-scope --reasonClose without ledger answer; write ## Boundaries
abandon --reason / reopen --reasonTerminal stop or reopen (prior briefings/links staled)
briefing --proposal-file [--force]Immutable versioned briefing; --force is draft-only
locate <selector>Local ledger re-entry (chart/D-ID, stored tracker id/URL; no network)
link-spec --briefing --spec --decisionsRecord successful capture handoff in produced_specs[]

JSON envelope: success {success:true, schema_version:1, command, result}; failure {success:false, schema_version:1, command, error:{class,code,message,details}} with class in not_found | conflict | invalid_state | invalid_graph | stale_claim | validation | io.

For tracker integrations and diagnostics, flowctl tracker exposes normalized wire verbs, lifecycle verbs, and the composed sync facade. Chart projection rides the same facade when tracker.charts is on - local mutations never roll back on remote failure. Every tracker command returns the same structured envelope and fixed error-class exit codes.

flowchart LR
  Strategy["strategy/prospect"] --> Guide{"clear enough?"}
  Guide -->|yes| Capture["capture/interview"]
  Guide -->|optional chart| Chart["chart → briefing"]
  Chart --> Capture
  Capture --> Plan["plan"]
  Plan --> PlanReview["plan-review (optional)"]
  PlanReview --> Work["work"]
  Work --> Impl["impl-review (optional)"]
  Impl --> Completion["spec-completion-review"]
  Completion --> PR["make-pr"]
  PR --> Resolve["resolve-pr"]

plan produces both the spec (with R-IDs) and the task breakdown. plan-review reviews both before any code is written. impl-review checks code quality on the resulting diff. spec-completion-review is the final gate that confirms every R-ID has evidence in the combined implementation.