Skip to content

Commands

fab v2.20.8 · captured 2026-08-31

-h/--help work on every command; -v/--version at the tool root.

fabFab workflow engine — single binary replacement for kit shell scripts
usage
  • fab [command]
show raw -h output
Usage:
  fab [command]

Available Commands:
  agent         Launch (or --print) the resolved agent session command in the current shell
  batch         Multi-target batch operations
  change        Change lifecycle management
  completion    Generate the autocompletion script for the specified shell
  config        Inspect, modify, and maintain fab configuration
  dispatch      Process manager for CLI-dispatched pipeline stages (headless or tmux-pane worker)
  fab-help      Show fab workflow overview and available commands
  help          Help about any command
  impact        Compute git diff line counts (added/deleted/net) between two refs
  kit-path      Print the resolved kit directory path
  log           Append-only JSON logging to .history.jsonl
  memory-index  Deterministically (re)generate docs/memory index files
  operator      Launch operator in a dedicated tmux tab (singleton)
  pane          Tmux pane operations
  pr-meta       Render the `## Meta` block of a fab-generated PR as final markdown
  preflight     Validate project state and output structured YAML
  resolve       Resolve a change reference to a canonical output
  resolve-agent Resolve a pipeline stage (or agent role) to its {provider, model, effort} agent profile
  score         Compute confidence score from Assumptions table
  setup         Set up and diagnose the fab environment
  shell-init    Emit shell completion script for sourcing (alias for 'completion <shell>')
  skill         Print the fab agent skill bundle (offline, embedded, static)
  status        Manage workflow stages, states, and .status.yaml

Use "fab [command] --help" for more information about a command.
fab agentLaunch (or --print) the resolved agent session command in the current shell
usage
  • fab agent [role] [flags]
flags
flagtypedescriptioncopy
--effortstringreasoning effort for the --provider form (empty: the effort token is dropped)
--modelstringmodel id for the --provider form (empty: the provider command's model token is dropped, so its CLI default applies)
--printprint the fully-resolved command instead of executing it
--providerstringaddress a provider directly (bypasses role resolution); mutually exclusive with the [role] positional
--repostringrepo root to read the config from (default: current repo)
--workersstringset FAB_AGENT_WORKERS for the launched agent session
show raw -h output
Usage:
  fab agent [role] [flags]

Flags:
      --effort string     reasoning effort for the --provider form (empty: the effort token is dropped)
      --model string      model id for the --provider form (empty: the provider command's model token is dropped, so its CLI default applies)
      --print             print the fully-resolved command instead of executing it
      --provider string   address a provider directly (bypasses role resolution); mutually exclusive with the [role] positional
      --repo string       repo root to read the config from (default: current repo)
      --workers string    set FAB_AGENT_WORKERS for the launched agent session
fab batchMulti-target batch operations
usage
  • fab batch [command]
show raw -h output
Usage:
  fab batch [command]

Available Commands:
  archive     Archive multiple completed changes in one pass
  new         Create worktree tabs from backlog items
  switch      Open tmux tabs in worktrees for one or more changes

Use "fab batch [command] --help" for more information about a command.
fab batch archiveArchive multiple completed changes in one pass
usage
  • fab batch archive [change...] [flags]
flags
flagtypedescriptioncopy
--dry-runShow what would be archived without archiving
-q, --quietSuppress per-change progress output (keep the summary footer and all stderr)
-y, --yesArchive all archivable changes without prompting
examples
  # Preview what would be archived, without archiving
  fab batch archive --dry-run

  # Archive all archivable changes without prompting
  fab batch archive --yes

  # Archive two specific changes (4-char ID or folder substring)
  fab batch archive b91h ptwh
show raw -h output
Usage:
  fab batch archive [change...] [flags]

Examples:
  # Preview what would be archived, without archiving
  fab batch archive --dry-run

  # Archive all archivable changes without prompting
  fab batch archive --yes

  # Archive two specific changes (4-char ID or folder substring)
  fab batch archive b91h ptwh

Flags:
      --dry-run   Show what would be archived without archiving
  -q, --quiet     Suppress per-change progress output (keep the summary footer and all stderr)
  -y, --yes       Archive all archivable changes without prompting
fab batch newCreate worktree tabs from backlog items
usage
  • fab batch new [backlog-id...] [flags]
flags
flagtypedescriptioncopy
--allOpen tabs for all pending backlog items
--listShow pending backlog items and their IDs
--workersstringset FAB_AGENT_WORKERS in each launched tab
show raw -h output
Usage:
  fab batch new [backlog-id...] [flags]

Flags:
      --all              Open tabs for all pending backlog items
      --list             Show pending backlog items and their IDs
      --workers string   set FAB_AGENT_WORKERS in each launched tab
fab batch switchOpen tmux tabs in worktrees for one or more changes
usage
  • fab batch switch [change...] [flags]
flags
flagtypedescriptioncopy
--allOpen tabs for all changes
--listShow available changes
-q, --quietSuppress per-change progress output
--workersstringset FAB_AGENT_WORKERS in each launched tab
examples
  # Show available changes
  fab batch switch --list

  # Open tmux tabs in worktrees for two changes
  fab batch switch b91h ptwh

  # Open tabs for all changes
  fab batch switch --all
show raw -h output
Usage:
  fab batch switch [change...] [flags]

Examples:
  # Show available changes
  fab batch switch --list

  # Open tmux tabs in worktrees for two changes
  fab batch switch b91h ptwh

  # Open tabs for all changes
  fab batch switch --all

Flags:
      --all              Open tabs for all changes
      --list             Show available changes
  -q, --quiet            Suppress per-change progress output
      --workers string   set FAB_AGENT_WORKERS in each launched tab
fab changeChange lifecycle management
usage
  • fab change [command]
show raw -h output
Usage:
  fab change [command]

Available Commands:
  archive      Archive a change
  archive-list List archived changes
  list         List changes with stage info
  new          Create a new change directory
  rename       Rename a change folder's slug
  resolve      Resolve a change name
  restore      Restore an archived change
  switch       Switch the active change

Use "fab change [command] --help" for more information about a command.
fab change archiveArchive a change
usage
  • fab change archive <change> [flags]
flags
flagtypedescriptioncopy
--descriptionstringDescription for archive index (optional; defaults to intake title)
show raw -h output
Usage:
  fab change archive <change> [flags]

Flags:
      --description string   Description for archive index (optional; defaults to intake title)
fab change archive-listList archived changes
usage
  • fab change archive-list
show raw -h output
Usage:
  fab change archive-list
fab change listList changes with stage info
usage
  • fab change list [flags]
flags
flagtypedescriptioncopy
--archiveList archived changes
--show-statsAppend true_impact net column
show raw -h output
Usage:
  fab change list [flags]

Flags:
      --archive      List archived changes
      --show-stats   Append true_impact net column
fab change newCreate a new change directory
usage
  • fab change new [flags]
flags
flagtypedescriptioncopy
--change-idstringExplicit 4-char ID (optional)
--log-argsstringDescription for logman (optional)
--slugstringrequiredFolder name suffix (required)
show raw -h output
Usage:
  fab change new [flags]

Flags:
      --change-id string   Explicit 4-char ID (optional)
      --log-args string    Description for logman (optional)
      --slug string        Folder name suffix (required)
fab change renameRename a change folder's slug
usage
  • fab change rename [flags]
flags
flagtypedescriptioncopy
--folderstringrequiredCurrent folder name (required)
--slugstringrequiredNew slug (required)
show raw -h output
Usage:
  fab change rename [flags]

Flags:
      --folder string   Current folder name (required)
      --slug string     New slug (required)
fab change resolveResolve a change name
usage
  • fab change resolve [override]
show raw -h output
Usage:
  fab change resolve [override]
fab change restoreRestore an archived change
usage
  • fab change restore <change> [flags]
flags
flagtypedescriptioncopy
--switchActivate the restored change
show raw -h output
Usage:
  fab change restore <change> [flags]

Flags:
      --switch   Activate the restored change
fab change switchSwitch the active change
usage
  • fab change switch [name] [flags]
flags
flagtypedescriptioncopy
--noneDeactivate the current change
show raw -h output
Usage:
  fab change switch [name] [flags]

Flags:
      --none   Deactivate the current change
fab configInspect, modify, and maintain fab configuration
usage
  • fab config [command]
  • Inspect Commands:
  • explain Explain available config keys
  • show Print the effective (post-cascade) config, optionally with per-field provenance
  • Modify Commands:
  • set Set one config override without rewriting comments
  • unset Remove one override and restore inheritance
  • Lifecycle Commands:
  • init Generate a project config, or a system scaffold with --system
  • upgrade Reconcile fab/project/config.yaml against the current field registry
show raw -h output
Usage:
  fab config [command]

Inspect Commands:
  explain     Explain available config keys
  show        Print the effective (post-cascade) config, optionally with per-field provenance

Modify Commands:
  set         Set one config override without rewriting comments
  unset       Remove one override and restore inheritance

Lifecycle Commands:
  init        Generate a project config, or a system scaffold with --system
  upgrade     Reconcile fab/project/config.yaml against the current field registry

Use "fab config [command] --help" for more information about a command.
fab config explainExplain available config keys
usage
  • fab config explain [key] [flags]
flags
flagtypedescriptioncopy
--jsonEmit the field metadata table as a JSON array (instead of commented YAML)
examples
  fab config explain
  fab config explain agent.workers
  fab config explain providers.codex.interactive_command --json
show raw -h output
Usage:
  fab config explain [key] [flags]

Aliases:
  explain, reference

Examples:
  fab config explain
  fab config explain agent.workers
  fab config explain providers.codex.interactive_command --json

Flags:
      --json   Emit the field metadata table as a JSON array (instead of commented YAML)
fab config initGenerate a project config, or a system scaffold with --system
usage
  • fab config init [--system] [flags]
flags
flagtypedescriptioncopy
--descriptionstringProject description (--project seed)
--forceOverwrite an existing target file (refused by default)
--namestringProject name (--project seed)
--printPrint the exact file init would write to stdout without writing anything (never blocked by an existing file)
--projectGenerate fab/project/config.yaml from the registry (identity fields + fence)
--source-pathstringArraySource path (--project seed; repeatable)
--systemWrite the ~/.fab-kit/config.yaml system-layer scaffold
--test-pathstringArrayTest path pattern (--project seed; repeatable)
examples
  # Write the ~/.fab-kit/config.yaml system-layer scaffold
  fab config init --system

  # Generate fab/project/config.yaml from the field registry
  fab config init --project --name my-app --description "My application"

  # Seed source/test paths (repeatable flags)
  fab config init --project --name my-app --source-path src/ --test-path '**/*_test.go'
show raw -h output
Usage:
  fab config init [--system] [flags]

Examples:
  # Write the ~/.fab-kit/config.yaml system-layer scaffold
  fab config init --system

  # Generate fab/project/config.yaml from the field registry
  fab config init --project --name my-app --description "My application"

  # Seed source/test paths (repeatable flags)
  fab config init --project --name my-app --source-path src/ --test-path '**/*_test.go'

Flags:
      --description string        Project description (--project seed)
      --force                     Overwrite an existing target file (refused by default)
      --name string               Project name (--project seed)
      --print                     Print the exact file init would write to stdout without writing anything (never blocked by an existing file)
      --project                   Generate fab/project/config.yaml from the registry (identity fields + fence)
      --source-path stringArray   Source path (--project seed; repeatable)
      --system                    Write the ~/.fab-kit/config.yaml system-layer scaffold
      --test-path stringArray     Test path pattern (--project seed; repeatable)
fab config setSet one config override without rewriting comments
usage
  • fab config set <key> <value> [flags]
flags
flagtypedescriptioncopy
--systemWrite ~/.fab-kit/config.yaml instead of the project config
examples
  fab config set agent.workers codex
  fab config set dispatch.column_width 42
  fab config set agent.session codex --system
show raw -h output
Usage:
  fab config set <key> <value> [flags]

Examples:
  fab config set agent.workers codex
  fab config set dispatch.column_width 42
  fab config set agent.session codex --system

Flags:
      --system   Write ~/.fab-kit/config.yaml instead of the project config
fab config showPrint the effective (post-cascade) config, optionally with per-field provenance
usage
  • fab config show [key] [flags]
flags
flagtypedescriptioncopy
--originAnnotate each field with its provenance; with a key, list every tier that defines it
examples
  # Print the fully composed effective config (built-in defaults included)
  fab config show

  # Annotate each field with its provenance (environment / system / project / default)
  fab config show --origin

  # Inspect one effective value
  fab config show agent.workers

  # List every tier that defines one key, winner first
  fab config show agent.workers --origin
show raw -h output
Usage:
  fab config show [key] [flags]

Examples:
  # Print the fully composed effective config (built-in defaults included)
  fab config show

  # Annotate each field with its provenance (environment / system / project / default)
  fab config show --origin

  # Inspect one effective value
  fab config show agent.workers

  # List every tier that defines one key, winner first
  fab config show agent.workers --origin

Flags:
      --origin   Annotate each field with its provenance; with a key, list every tier that defines it
fab config unsetRemove one override and restore inheritance
usage
  • fab config unset <key> [flags]
flags
flagtypedescriptioncopy
--systemWrite ~/.fab-kit/config.yaml instead of the project config
examples
  fab config unset agent.workers
  fab config unset agent.session --system
show raw -h output
Usage:
  fab config unset <key> [flags]

Examples:
  fab config unset agent.workers
  fab config unset agent.session --system

Flags:
      --system   Write ~/.fab-kit/config.yaml instead of the project config
fab config upgradeReconcile fab/project/config.yaml against the current field registry
usage
  • fab config upgrade [flags]
flags
flagtypedescriptioncopy
--checkReport what an upgrade would change without writing; exit non-zero when the file has drifted
show raw -h output
Usage:
  fab config upgrade [flags]

Flags:
      --check   Report what an upgrade would change without writing; exit non-zero when the file has drifted
fab dispatchProcess manager for CLI-dispatched pipeline stages (headless or tmux-pane worker)
usage
  • fab dispatch [command]
show raw -h output
Usage:
  fab dispatch [command]

Available Commands:
  clean       Remove dispatch state dirs — named change, all, or orphaned (--orphans)
  deliver     Hand an opened pane worker its prompt, verifying every step
  kill        Kill the dispatch — the process group (headless) or the tmux pane (pane dispatch); idempotent
  logs        Print the dispatch log (combined stdout+stderr)
  open        Spawn a pane-mode stage worker WITHOUT delivering its prompt (pane mode's entry)
  ready       Probe whether an opened pane worker can accept typed input (ready / booting / parked)
  reap        Reclaim a DONE pane worker's tmux pane; a reported no-op for every other dispatch
  restart     Relaunch a non-running dispatch from its persisted prompt using start's dispatch.mode descent ladder
  start       Launch a HEADLESS stage worker (pane mode's entry is `fab dispatch open`)
  status      Report the dispatch state: running / done / failed / failed (no-result) / orphaned
  wait        Block until the dispatch leaves `running`, then report its state

Use "fab dispatch [command] --help" for more information about a command.
fab dispatch cleanRemove dispatch state dirs — named change, all, or orphaned (--orphans)
usage
  • fab dispatch clean [change] [flags]
flags
flagtypedescriptioncopy
--orphansPrune only dirs whose ID no longer resolves to a non-archived change
show raw -h output
Usage:
  fab dispatch clean [change] [flags]

Flags:
      --orphans   Prune only dirs whose ID no longer resolves to a non-archived change
fab dispatch deliverHand an opened pane worker its prompt, verifying every step
usage
  • fab dispatch deliver <change> <stage> [flags]
flags
flagtypedescriptioncopy
--prompt-filestringDeliver a pointer to this prompt file instead of the stage's own {stage}-prompt.md (the rework-cycle continuation path)
examples
  # Initial delivery, after the readiness gate reports ready
  fab dispatch deliver b91h apply

  # Rework-cycle continuation into the same live pane
  fab dispatch deliver b91h apply --prompt-file .fab-dispatch/b91h/apply-continuation.md
show raw -h output
Usage:
  fab dispatch deliver <change> <stage> [flags]

Examples:
  # Initial delivery, after the readiness gate reports ready
  fab dispatch deliver b91h apply

  # Rework-cycle continuation into the same live pane
  fab dispatch deliver b91h apply --prompt-file .fab-dispatch/b91h/apply-continuation.md

Flags:
      --prompt-file string   Deliver a pointer to this prompt file instead of the stage's own {stage}-prompt.md (the rework-cycle continuation path)
fab dispatch killKill the dispatch — the process group (headless) or the tmux pane (pane dispatch); idempotent
usage
  • fab dispatch kill <change> <stage>
show raw -h output
Usage:
  fab dispatch kill <change> <stage>
fab dispatch logsPrint the dispatch log (combined stdout+stderr)
usage
  • fab dispatch logs <change> <stage> [flags]
flags
flagtypedescriptioncopy
--tailintPrint only the last N lines (0 = all)
show raw -h output
Usage:
  fab dispatch logs <change> <stage> [flags]

Flags:
      --tail int   Print only the last N lines (0 = all)
fab dispatch openSpawn a pane-mode stage worker WITHOUT delivering its prompt (pane mode's entry)
usage
  • fab dispatch open <change> <stage> [flags]
flags
flagtypedescriptioncopy
-L, --serverstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket
examples
  # Open the worker, gate it, then deliver its prompt
  fab dispatch open b91h apply < prompt.md
  fab dispatch ready b91h apply
  fab dispatch deliver b91h apply

  # Target a specific tmux socket (works from outside tmux)
  fab dispatch open b91h review --server work < prompt.md
show raw -h output
Usage:
  fab dispatch open <change> <stage> [flags]

Examples:
  # Open the worker, gate it, then deliver its prompt
  fab dispatch open b91h apply < prompt.md
  fab dispatch ready b91h apply
  fab dispatch deliver b91h apply

  # Target a specific tmux socket (works from outside tmux)
  fab dispatch open b91h review --server work < prompt.md

Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket
fab dispatch readyProbe whether an opened pane worker can accept typed input (ready / booting / parked)
usage
  • fab dispatch ready <change> <stage>
examples
  fab dispatch ready b91h apply
show raw -h output
Usage:
  fab dispatch ready <change> <stage>

Examples:
  fab dispatch ready b91h apply
fab dispatch reapReclaim a DONE pane worker's tmux pane; a reported no-op for every other dispatch
usage
  • fab dispatch reap <change> <stage>
show raw -h output
Usage:
  fab dispatch reap <change> <stage>
fab dispatch restartRelaunch a non-running dispatch from its persisted prompt using start's dispatch.mode descent ladder
usage
  • fab dispatch restart <change> <stage> [flags]
flags
flagtypedescriptioncopy
--headlessForce a detached headless worker, overriding dispatch.mode for this launch
--paneForce an interactive tmux worker — a pane split into your own window, or a new window when you are not in one (requires a reachable tmux server)
-L, --serverstringTarget tmux socket label (passed as 'tmux -L <name>'); implies pane mode. Defaults to $TMUX / tmux default socket; ignored in headless mode
--timeouttimeout <secs>Enforce a POSIX timeout <secs> inside the launch wrapper (0 = none); implies --headless
examples
  # Recover an orphaned dispatch (mode re-resolves from config and environment)
  fab dispatch restart b91h apply

  # Force the relaunched worker headless even inside tmux
  fab dispatch restart b91h apply --headless

  # Relaunch into a watchable tmux pane
  fab dispatch restart b91h review --pane
show raw -h output
Usage:
  fab dispatch restart <change> <stage> [flags]

Examples:
  # Recover an orphaned dispatch (mode re-resolves from config and environment)
  fab dispatch restart b91h apply

  # Force the relaunched worker headless even inside tmux
  fab dispatch restart b91h apply --headless

  # Relaunch into a watchable tmux pane
  fab dispatch restart b91h review --pane

Flags:
      --headless                 Force a detached headless worker, overriding dispatch.mode for this launch
      --pane                     Force an interactive tmux worker — a pane split into your own window, or a new window when you are not in one (requires a reachable tmux server)
  -L, --server string            Target tmux socket label (passed as 'tmux -L <name>'); implies pane mode. Defaults to $TMUX / tmux default socket; ignored in headless mode
      --timeout timeout <secs>   Enforce a POSIX timeout <secs> inside the launch wrapper (0 = none); implies --headless
fab dispatch startLaunch a HEADLESS stage worker (pane mode's entry is `fab dispatch open`)
usage
  • fab dispatch start <change> <stage> [flags]
flags
flagtypedescriptioncopy
--headlessForce a detached headless worker, overriding dispatch.mode for this launch
--timeouttimeout <secs>Enforce a POSIX timeout <secs> inside the launch wrapper (0 = none); implies --headless
examples
  # Resolve automatically from dispatch.mode and provider capability
  fab dispatch start b91h apply < prompt.md

  # Force headless for an unattended run that happens to live inside a tmux tab
  fab dispatch start b91h apply --headless < prompt.md

  # Enforce a 30-minute POSIX timeout (implies headless)
  fab dispatch start --timeout 1800 b91h apply < prompt.md
show raw -h output
Usage:
  fab dispatch start <change> <stage> [flags]

Examples:
  # Resolve automatically from dispatch.mode and provider capability
  fab dispatch start b91h apply < prompt.md

  # Force headless for an unattended run that happens to live inside a tmux tab
  fab dispatch start b91h apply --headless < prompt.md

  # Enforce a 30-minute POSIX timeout (implies headless)
  fab dispatch start --timeout 1800 b91h apply < prompt.md

Flags:
      --headless                 Force a detached headless worker, overriding dispatch.mode for this launch
      --timeout timeout <secs>   Enforce a POSIX timeout <secs> inside the launch wrapper (0 = none); implies --headless
fab dispatch statusReport the dispatch state: running / done / failed / failed (no-result) / orphaned
usage
  • fab dispatch status <change> <stage> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab dispatch status <change> <stage> [flags]

Flags:
      --json   Output as JSON
fab dispatch waitBlock until the dispatch leaves `running`, then report its state
usage
  • fab dispatch wait <change> <stage> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
--timeoutintUpper bound in seconds; on expiry print the current state and exit 0 (0 = wait indefinitely)
show raw -h output
Usage:
  fab dispatch wait <change> <stage> [flags]

Flags:
      --json          Output as JSON
      --timeout int   Upper bound in seconds; on expiry print the current state and exit 0 (0 = wait indefinitely)
fab fab-helpShow fab workflow overview and available commands
usage
  • fab fab-help
show raw -h output
Usage:
  fab fab-help
fab impactCompute git diff line counts (added/deleted/net) between two refs
usage
  • fab impact <base> <head>
show raw -h output
Usage:
  fab impact <base> <head>
fab kit-pathPrint the resolved kit directory path
usage
  • fab kit-path
show raw -h output
Usage:
  fab kit-path
fab logAppend-only JSON logging to .history.jsonl
usage
  • fab log [command]
show raw -h output
Usage:
  fab log [command]

Available Commands:
  command     Log a skill invocation
  confidence  Log a confidence score change
  review      Log a review outcome
  transition  Log a stage transition

Use "fab log [command] --help" for more information about a command.
fab log commandLog a skill invocation
usage
  • fab log command <cmd> [change] [args]
show raw -h output
Usage:
  fab log command <cmd> [change] [args]
fab log confidenceLog a confidence score change
usage
  • fab log confidence <change> <score> <delta> <trigger>
show raw -h output
Usage:
  fab log confidence <change> <score> <delta> <trigger>
fab log reviewLog a review outcome
usage
  • fab log review <change> <result> [rework]
show raw -h output
Usage:
  fab log review <change> <result> [rework]
fab log transitionLog a stage transition
usage
  • fab log transition <change> <stage> <action> [from] [reason] [driver]
show raw -h output
Usage:
  fab log transition <change> <stage> <action> [from] [reason] [driver]
fab memory-indexDeterministically (re)generate docs/memory index files
usage
  • fab memory-index [flags]
flags
flagtypedescriptioncopy
--checkdescription:Write nothing; encode index-drift severity in the exit code (0 clean / 1 benign drift / 2 destructive loss). Blocking source findings (malformed frontmatter, a change-id in description:, or a `description:` over 1000 runes) floor the exit at 1 independent of drift
--jsonmalformedWith --check, emit the loss report as JSON on stdout (suppresses human-readable text); includes an additive malformed array (blocking findings) and an additive `warnings` array carrying the advisory kinds — description-length (the 501–1000 nag), narration-density, file-size, unsorted-nonempty, broken-link
--rebuildDESTRUCTIVE: discard the frozen log.md state and re-project every log.md from current git (the pre-freeze behavior, opt-in). Ignored with --check (which never writes)
show raw -h output
Usage:
  fab memory-index [flags]

Flags:
      --check description:   Write nothing; encode index-drift severity in the exit code (0 clean / 1 benign drift / 2 destructive loss). Blocking source findings (malformed frontmatter, a change-id in description:, or a `description:` over 1000 runes) floor the exit at 1 independent of drift
      --json malformed       With --check, emit the loss report as JSON on stdout (suppresses human-readable text); includes an additive malformed array (blocking findings) and an additive `warnings` array carrying the advisory kinds — description-length (the 501–1000 nag), narration-density, file-size, unsorted-nonempty, broken-link
      --rebuild              DESTRUCTIVE: discard the frozen log.md state and re-project every log.md from current git (the pre-freeze behavior, opt-in). Ignored with --check (which never writes)
fab operatorLaunch operator in a dedicated tmux tab (singleton)
usage
  • fab operator [flags]
  • fab operator [command]
flags
flagtypedescriptioncopy
--workersstringset FAB_AGENT_WORKERS in the launched operator tab
show raw -h output
Usage:
  fab operator [flags]
  fab operator [command]

Available Commands:
  autopilot   Manage the operator autopilot queue
  branch-map  Manage the operator state file's branch_map
  enroll      Create (or replace) a monitored entry and record its branch_map pair
  remove      Remove a monitored entry (its branch_map entry is retained)
  state       Print the operator state file (creates the empty skeleton when missing)
  tick-start  Increment tick_count and record last_tick_at in the server-keyed operator state file
  time        Print current time and optionally next-tick time
  update      Mutate per-tick observed fields of a monitored entry
  watch       Manage watches in the operator state file

Flags:
      --workers string   set FAB_AGENT_WORKERS in the launched operator tab

Use "fab operator [command] --help" for more information about a command.
fab operator autopilotManage the operator autopilot queue
usage
  • fab operator autopilot [command]
show raw -h output
Usage:
  fab operator autopilot [command]

Available Commands:
  advance     Complete (or --skip) the current change and promote the next queue entry
  pause       Pause the active autopilot queue
  resume      Resume a paused autopilot queue
  start       Start an autopilot queue (--queue id,id,...)
  stop        Clear the autopilot block entirely

Use "fab operator autopilot [command] --help" for more information about a command.
fab operator autopilot advanceComplete (or --skip) the current change and promote the next queue entry
usage
  • fab operator autopilot advance [flags]
flags
flagtypedescriptioncopy
--skipdrop the current change without recording it as completed
show raw -h output
Usage:
  fab operator autopilot advance [flags]

Flags:
      --skip   drop the current change without recording it as completed
fab operator autopilot pausePause the active autopilot queue
usage
  • fab operator autopilot pause
show raw -h output
Usage:
  fab operator autopilot pause
fab operator autopilot resumeResume a paused autopilot queue
usage
  • fab operator autopilot resume
show raw -h output
Usage:
  fab operator autopilot resume
fab operator autopilot startStart an autopilot queue (--queue id,id,...)
usage
  • fab operator autopilot start [flags]
flags
flagtypedescriptioncopy
--modestringmerge mode: cherry-pick-ladder | merge-auto | stacked-prs (default "cherry-pick-ladder")
--queuestringsrequiredcomma-separated change IDs, in order (required)
show raw -h output
Usage:
  fab operator autopilot start [flags]

Flags:
      --mode string     merge mode: cherry-pick-ladder | merge-auto | stacked-prs (default "cherry-pick-ladder")
      --queue strings   comma-separated change IDs, in order (required)
fab operator autopilot stopClear the autopilot block entirely
usage
  • fab operator autopilot stop
show raw -h output
Usage:
  fab operator autopilot stop
fab operator branch-mapManage the operator state file's branch_map
usage
  • fab operator branch-map [command]
show raw -h output
Usage:
  fab operator branch-map [command]

Available Commands:
  rm          Remove a branch_map entry (or all with --all)

Use "fab operator branch-map [command] --help" for more information about a command.
fab operator branch-map rmRemove a branch_map entry (or all with --all)
usage
  • fab operator branch-map rm [<change-id>] [flags]
flags
flagtypedescriptioncopy
--allclear the entire branch_map
show raw -h output
Usage:
  fab operator branch-map rm [<change-id>] [flags]

Flags:
      --all   clear the entire branch_map
fab operator enrollCreate (or replace) a monitored entry and record its branch_map pair
usage
  • fab operator enroll <change-id> [flags]
flags
flagtypedescriptioncopy
--agentstringlast-known agent state (passed through verbatim)
--branchstringrequiredthe change's branch name (required)
--depends-onstringscomma-separated change IDs this change depends on
--panestringrequiredpane ID the agent runs in (required)
--repostringrequiredabsolute main-worktree root of the agent's repo (required)
--sessionstringrequiredtmux session the agent's window lives in (required)
--spawned-bystringwatch name if spawned by a watch
--stagestringcurrent pipeline stage
--stop-stagestringstage to park at (default: full pipeline)
show raw -h output
Usage:
  fab operator enroll <change-id> [flags]

Flags:
      --agent string         last-known agent state (passed through verbatim)
      --branch string        the change's branch name (required)
      --depends-on strings   comma-separated change IDs this change depends on
      --pane string          pane ID the agent runs in (required)
      --repo string          absolute main-worktree root of the agent's repo (required)
      --session string       tmux session the agent's window lives in (required)
      --spawned-by string    watch name if spawned by a watch
      --stage string         current pipeline stage
      --stop-stage string    stage to park at (default: full pipeline)
fab operator removeRemove a monitored entry (its branch_map entry is retained)
usage
  • fab operator remove <change-id>
show raw -h output
Usage:
  fab operator remove <change-id>
fab operator statePrint the operator state file (creates the empty skeleton when missing)
usage
  • fab operator state [flags]
flags
flagtypedescriptioncopy
--jsonprint the state as JSON instead of YAML
show raw -h output
Usage:
  fab operator state [flags]

Flags:
      --json   print the state as JSON instead of YAML
fab operator tick-startIncrement tick_count and record last_tick_at in the server-keyed operator state file
usage
  • fab operator tick-start
show raw -h output
Usage:
  fab operator tick-start
fab operator timePrint current time and optionally next-tick time
usage
  • fab operator time [flags]
flags
flagtypedescriptioncopy
--intervalstringDuration until next tick (e.g. 3m). If given, outputs next: HH:MM
show raw -h output
Usage:
  fab operator time [flags]

Flags:
      --interval string   Duration until next tick (e.g. 3m). If given, outputs next: HH:MM
fab operator updateMutate per-tick observed fields of a monitored entry
usage
  • fab operator update <change-id> [flags]
flags
flagtypedescriptioncopy
--agentstringlast-known agent state (passed through verbatim)
--stagestringcurrent pipeline stage
--stop-stagestringstage to park at (empty string clears)
show raw -h output
Usage:
  fab operator update <change-id> [flags]

Flags:
      --agent string        last-known agent state (passed through verbatim)
      --stage string        current pipeline stage
      --stop-stage string   stage to park at (empty string clears)
fab operator watchManage watches in the operator state file
usage
  • fab operator watch [command]
show raw -h output
Usage:
  fab operator watch [command]

Available Commands:
  add         Create a watch (enabled, empty known/completed, null bookkeeping)
  checked     Record a watch check: last_checked = now; set --error or clear it when absent
  complete    Move an item from a watch's known list to completed
  rm          Delete a watch
  seen        Append an item to a watch's known list (idempotent; 200-cap, oldest pruned first)
  toggle      Flip (or force with --on/--off) a watch's enabled flag
  update      Mutate a watch's target-repo, stop-stage, instructions, or query

Use "fab operator watch [command] --help" for more information about a command.
fab operator watch addCreate a watch (enabled, empty known/completed, null bookkeeping)
usage
  • fab operator watch add <name> [flags]
flags
flagtypedescriptioncopy
--instructionsstringfree-form spawn instructions
--querystringquery as a JSON object string (stored as the YAML query map)
--sourcestringrequiredwatch source: linear|slack (required)
--stop-stagestringstage a spawned change parks at
--target-repostringrequiredabsolute path of the repo spawned changes land in (required)
show raw -h output
Usage:
  fab operator watch add <name> [flags]

Flags:
      --instructions string   free-form spawn instructions
      --query string          query as a JSON object string (stored as the YAML query map)
      --source string         watch source: linear|slack (required)
      --stop-stage string     stage a spawned change parks at
      --target-repo string    absolute path of the repo spawned changes land in (required)
fab operator watch checkedRecord a watch check: last_checked = now; set --error or clear it when absent
usage
  • fab operator watch checked <name> [flags]
flags
flagtypedescriptioncopy
--errorstringerror message from the check (absent clears last_error)
show raw -h output
Usage:
  fab operator watch checked <name> [flags]

Flags:
      --error string   error message from the check (absent clears last_error)
fab operator watch completeMove an item from a watch's known list to completed
usage
  • fab operator watch complete <name> <item-id>
show raw -h output
Usage:
  fab operator watch complete <name> <item-id>
fab operator watch rmDelete a watch
usage
  • fab operator watch rm <name>
show raw -h output
Usage:
  fab operator watch rm <name>
fab operator watch seenAppend an item to a watch's known list (idempotent; 200-cap, oldest pruned first)
usage
  • fab operator watch seen <name> <item-id>
show raw -h output
Usage:
  fab operator watch seen <name> <item-id>
fab operator watch toggleFlip (or force with --on/--off) a watch's enabled flag
usage
  • fab operator watch toggle <name> [flags]
flags
flagtypedescriptioncopy
--offforce enabled: false
--onforce enabled: true
show raw -h output
Usage:
  fab operator watch toggle <name> [flags]

Flags:
      --off   force enabled: false
      --on    force enabled: true
fab operator watch updateMutate a watch's target-repo, stop-stage, instructions, or query
usage
  • fab operator watch update <name> [flags]
flags
flagtypedescriptioncopy
--instructionsstringfree-form spawn instructions (replaces the stored text)
--querystringquery as a JSON object string (replaces the stored query)
--stop-stagestringstage a spawned change parks at (empty string clears)
--target-repostringabsolute path of the repo spawned changes land in
show raw -h output
Usage:
  fab operator watch update <name> [flags]

Flags:
      --instructions string   free-form spawn instructions (replaces the stored text)
      --query string          query as a JSON object string (replaces the stored query)
      --stop-stage string     stage a spawned change parks at (empty string clears)
      --target-repo string    absolute path of the repo spawned changes land in
fab paneTmux pane operations
usage
  • fab pane [command]
flags
flagtypedescriptioncopy
-L, --serverstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane [command]

Available Commands:
  capture     Capture terminal content from a tmux pane with fab context enrichment
  deliver     Type a prompt into a tmux pane, verifying every step
  kill        Kill a tmux pane
  map         Show tmux pane-to-worktree mapping with fab pipeline state
  open        Spawn a provider's interactive command in a tmux pane (no dispatch record)
  process     Detect the process tree running in a tmux pane
  ready       Probe whether a tmux pane can accept typed input (ready / booting / parked)
  window-name Window-name prefix operations

Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.

Use "fab pane [command] --help" for more information about a command.
fab pane captureCapture terminal content from a tmux pane with fab context enrichment
usage
  • fab pane capture <pane> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON with metadata
-l, --linesintNumber of lines to capture (default 50)
--rawOutput raw captured text only
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane capture <pane> [flags]

Flags:
      --json        Output as JSON with metadata
  -l, --lines int   Number of lines to capture (default 50)
      --raw         Output raw captured text only

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane deliverType a prompt into a tmux pane, verifying every step
usage
  • fab pane deliver <pane> (--prompt-file <path> | --text <string>) [flags]
flags
flagtypedescriptioncopy
--jsonEmit structured JSON output on verified delivery
--prompt-filestringtype the pointer line naming this prompt file (Read <path> and execute it.)
--textstringtype this text literally
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
examples
  fab pane deliver %12 --text "echo hi"
  fab pane deliver %12 --prompt-file .fab-dispatch/b91h/apply-prompt.md
  fab pane deliver %3 --prompt-file prompt.md --server work --json
show raw -h output
Usage:
  fab pane deliver <pane> (--prompt-file <path> | --text <string>) [flags]

Examples:
  fab pane deliver %12 --text "echo hi"
  fab pane deliver %12 --prompt-file .fab-dispatch/b91h/apply-prompt.md
  fab pane deliver %3 --prompt-file prompt.md --server work --json

Flags:
      --json                 Emit structured JSON output on verified delivery
      --prompt-file string   type the pointer line naming this prompt file (Read <path> and execute it.)
      --text string          type this text literally

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane killKill a tmux pane
usage
  • fab pane kill <pane> [flags]
flags
flagtypedescriptioncopy
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
examples
  fab pane kill %12
  fab pane kill %3 --server work
show raw -h output
Usage:
  fab pane kill <pane> [flags]

Examples:
  fab pane kill %12
  fab pane kill %3 --server work

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane mapShow tmux pane-to-worktree mapping with fab pipeline state
usage
  • fab pane map [flags]
flags
flagtypedescriptioncopy
--all-sessionsQuery all tmux sessions
--jsonOutput as JSON array
--sessionstringTarget a specific tmux session by name
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane map [flags]

Flags:
      --all-sessions     Query all tmux sessions
      --json             Output as JSON array
      --session string   Target a specific tmux session by name

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane openSpawn a provider's interactive command in a tmux pane (no dispatch record)
usage
  • fab pane open --provider <name> [flags]
flags
flagtypedescriptioncopy
-c, --cwdstringworking directory for the new pane (default: current directory)
--jsonEmit structured JSON output
--providerstringrequiredprovider whose interactive_command is spawned (required)
--rolestringrole whose {model}/{effort} fills apply (default "default")
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
examples
  fab pane open --provider kimi
  fab pane open --provider claude --role fast -c /path/to/repo
  fab pane open --provider kimi --server work --json
show raw -h output
Usage:
  fab pane open --provider <name> [flags]

Examples:
  fab pane open --provider kimi
  fab pane open --provider claude --role fast -c /path/to/repo
  fab pane open --provider kimi --server work --json

Flags:
  -c, --cwd string        working directory for the new pane (default: current directory)
      --json              Emit structured JSON output
      --provider string   provider whose interactive_command is spawned (required)
      --role string       role whose {model}/{effort} fills apply (default "default")

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane processDetect the process tree running in a tmux pane
usage
  • fab pane process <pane> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane process <pane> [flags]

Flags:
      --json   Output as JSON

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane readyProbe whether a tmux pane can accept typed input (ready / booting / parked)
usage
  • fab pane ready <pane> [flags]
flags
flagtypedescriptioncopy
--jsonEmit structured JSON output
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
examples
  fab pane ready %12
  fab pane ready %3 --server work --json
show raw -h output
Usage:
  fab pane ready <pane> [flags]

Examples:
  fab pane ready %12
  fab pane ready %3 --server work --json

Flags:
      --json   Emit structured JSON output

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane window-nameWindow-name prefix operations
usage
  • fab pane window-name [command]
flags
flagtypedescriptioncopy
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane window-name [command]

Available Commands:
  ensure-prefix  Idempotently prepend <char> to the tmux window name
  replace-prefix Atomically replace a literal prefix <from> with <to> on the tmux window name

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.

Use "fab pane window-name [command] --help" for more information about a command.
fab pane window-name ensure-prefixIdempotently prepend <char> to the tmux window name
usage
  • fab pane window-name ensure-prefix <pane> <char> [flags]
flags
flagtypedescriptioncopy
--jsonEmit structured JSON output
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane window-name ensure-prefix <pane> <char> [flags]

Flags:
      --json   Emit structured JSON output

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pane window-name replace-prefixAtomically replace a literal prefix <from> with <to> on the tmux window name
usage
  • fab pane window-name replace-prefix <pane> <from> <to> [flags]
flags
flagtypedescriptioncopy
--jsonEmit structured JSON output
-L, --serverglobalstringTarget tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
show raw -h output
Usage:
  fab pane window-name replace-prefix <pane> <from> <to> [flags]

Flags:
      --json   Emit structured JSON output

Global Flags:
  -L, --server string   Target tmux socket label (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
fab pr-metaRender the `## Meta` block of a fab-generated PR as final markdown
usage
  • fab pr-meta <change> [flags]
flags
flagtypedescriptioncopy
--issuesstringSpace-joined issue IDs (e.g. "DEV-1 DEV-2") — optional
--typestringResolved PR type (feat|fix|refactor|docs|test|ci|chore) — required
show raw -h output
Usage:
  fab pr-meta <change> [flags]

Flags:
      --issues string   Space-joined issue IDs (e.g. "DEV-1 DEV-2") — optional
      --type string     Resolved PR type (feat|fix|refactor|docs|test|ci|chore) — required
fab preflightValidate project state and output structured YAML
usage
  • fab preflight [change-name]
show raw -h output
Usage:
  fab preflight [change-name]
fab resolveResolve a change reference to a canonical output
usage
  • fab resolve [change] [flags]
flags
flagtypedescriptioncopy
--dirOutput directory path
--folderOutput full folder name
--idOutput 4-char change ID (default)
--or-nonePrint "(none)" and exit 0 when no change resolves (not-found always; ambiguous only without <change>); real errors still fail
--paneOutput tmux pane ID
-L, --serverstringTarget tmux socket label for --pane (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
--statusOutput .status.yaml path
examples
  # 4-char ID of the active change (default output)
  fab resolve

  # Full folder name for a change reference
  fab resolve --folder b91h

  # Path to the change's .status.yaml
  fab resolve --status b91h

  # tmux pane ID, targeting a specific tmux socket
  fab resolve --pane -L work b91h

  # probe form: absence is data — prints "(none)", exit 0
  fab resolve --folder --or-none
show raw -h output
Usage:
  fab resolve [change] [flags]

Examples:
  # 4-char ID of the active change (default output)
  fab resolve

  # Full folder name for a change reference
  fab resolve --folder b91h

  # Path to the change's .status.yaml
  fab resolve --status b91h

  # tmux pane ID, targeting a specific tmux socket
  fab resolve --pane -L work b91h

  # probe form: absence is data — prints "(none)", exit 0
  fab resolve --folder --or-none

Flags:
      --dir             Output directory path
      --folder          Output full folder name
      --id              Output 4-char change ID (default)
      --or-none         Print "(none)" and exit 0 when no change resolves (not-found always; ambiguous only without <change>); real errors still fail
      --pane            Output tmux pane ID
  -L, --server string   Target tmux socket label for --pane (passed as 'tmux -L <name>'). Defaults to $TMUX / tmux default socket.
      --status          Output .status.yaml path
fab resolve-agentResolve a pipeline stage (or agent role) to its {provider, model, effort} agent profile
usage
  • fab resolve-agent <stage|role> [flags]
flags
flagtypedescriptioncopy
--aliasemit the Claude-Code short model alias (opus/sonnet/haiku/fable) on the model= line instead of the full ID (Agent-tool adapter)
--effortstringoverride the resolved effort (valid without --provider — a within-role override)
--modelstringoverride the resolved model (valid without --provider — a within-role override)
--providerstringoverride the resolved provider (re-derives dispatch= from that provider; unoverridden model/effort refill from its per-role fills, then empty)
show raw -h output
Usage:
  fab resolve-agent <stage|role> [flags]

Flags:
      --alias             emit the Claude-Code short model alias (opus/sonnet/haiku/fable) on the model= line instead of the full ID (Agent-tool adapter)
      --effort string     override the resolved effort (valid without --provider — a within-role override)
      --model string      override the resolved model (valid without --provider — a within-role override)
      --provider string   override the resolved provider (re-derives dispatch= from that provider; unoverridden model/effort refill from its per-role fills, then empty)
fab scoreCompute confidence score from Assumptions table
usage
  • fab score <change> [flags]
flags
flagtypedescriptioncopy
--check-gateGate check mode (read-only)
--stagestringStage for scoring (intake; spec retired in 1.10.0) (default "intake")
examples
  # Compute and persist the intake confidence score
  fab score b91h

  # Read-only gate check — exits non-zero below the threshold
  fab score --check-gate --stage intake b91h
show raw -h output
Usage:
  fab score <change> [flags]

Examples:
  # Compute and persist the intake confidence score
  fab score b91h

  # Read-only gate check — exits non-zero below the threshold
  fab score --check-gate --stage intake b91h

Flags:
      --check-gate     Gate check mode (read-only)
      --stage string   Stage for scoring (intake; spec retired in 1.10.0) (default "intake")
fab setupSet up and diagnose the fab environment
usage
  • fab setup [flags]
  • fab setup [command]
flags
flagtypedescriptioncopy
--defaultsAccept every question's default (the current effective value) non-interactively
--projectWrite to fab/project/config.yaml instead of the system tier (~/.fab-kit/config.yaml)
show raw -h output
Usage:
  fab setup [flags]
  fab setup [command]

Available Commands:
  check       Read-only environment doctor — probe providers, config viability, and version skew

Flags:
      --defaults   Accept every question's default (the current effective value) non-interactively
      --project    Write to fab/project/config.yaml instead of the system tier (~/.fab-kit/config.yaml)

Use "fab setup [command] --help" for more information about a command.
fab setup checkRead-only environment doctor — probe providers, config viability, and version skew
usage
  • fab setup check
examples
  fab setup check
  fab setup check || echo 'real problems found'  # CI gate: exit 1 only on failures
show raw -h output
Usage:
  fab setup check

Examples:
  fab setup check
  fab setup check || echo 'real problems found'  # CI gate: exit 1 only on failures
fab shell-initEmit shell completion script for sourcing (alias for 'completion <shell>')
usage
  • fab shell-init <bash|zsh|fish>
show raw -h output
Usage:
  fab shell-init <bash|zsh|fish>
fab skillPrint the fab agent skill bundle (offline, embedded, static)
usage
  • fab skill
show raw -h output
Usage:
  fab skill
fab statusManage workflow stages, states, and .status.yaml
usage
  • fab status [command]
show raw -h output
Usage:
  fab status [command]

Available Commands:
  add-issue            Append issue ID (idempotent)
  add-pr               Append PR URL (idempotent)
  advance              active → ready
  all-stages           List all stage IDs in order
  confidence           Extract confidence fields
  current-stage        Detect active stage
  display-stage        Display stage as stage:state
  fail                 active → failed (review/review-pr only)
  finish               {active,ready} → done (+auto-activate next)
  get-issues           List issue IDs
  get-prs              List PR URLs
  get-summary          Print the per-change log summary
  plan                 Extract plan fields
  progress-line        Single-line visual progress
  progress-map         Extract stage:state pairs
  refresh              Recompute change_type/confidence (intake.md) + plan counts (plan.md) from artifacts
  reset                {done,ready,skipped} → active (+cascade)
  set-acceptance       Update plan field
  set-change-type      Set change_type
  set-confidence       Replace confidence block
  set-confidence-fuzzy Replace confidence block with dimensions
  set-summary          Set the per-change log summary
  skip                 {pending,active} → skipped (+cascade)
  start                {pending,failed} → active
  validate-status-file Validate .status.yaml against schema

Use "fab status [command] --help" for more information about a command.
fab status add-issueAppend issue ID (idempotent)
usage
  • fab status add-issue <change> <id>
show raw -h output
Usage:
  fab status add-issue <change> <id>
fab status add-prAppend PR URL (idempotent)
usage
  • fab status add-pr <change> <url>
show raw -h output
Usage:
  fab status add-pr <change> <url>
fab status advanceactive → ready
usage
  • fab status advance <change> <stage> [driver]
show raw -h output
Usage:
  fab status advance <change> <stage> [driver]
fab status all-stagesList all stage IDs in order
usage
  • fab status all-stages [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status all-stages [flags]

Flags:
      --json   Output as JSON
fab status confidenceExtract confidence fields
usage
  • fab status confidence <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status confidence <change> [flags]

Flags:
      --json   Output as JSON
fab status current-stageDetect active stage
usage
  • fab status current-stage <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status current-stage <change> [flags]

Flags:
      --json   Output as JSON
fab status display-stageDisplay stage as stage:state
usage
  • fab status display-stage <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status display-stage <change> [flags]

Flags:
      --json   Output as JSON
fab status failactive → failed (review/review-pr only)
usage
  • fab status fail <change> <stage> [driver] [rework]
show raw -h output
Usage:
  fab status fail <change> <stage> [driver] [rework]
fab status finish{active,ready} → done (+auto-activate next)
usage
  • fab status finish <change> <stage> [driver]
show raw -h output
Usage:
  fab status finish <change> <stage> [driver]
fab status get-issuesList issue IDs
usage
  • fab status get-issues <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status get-issues <change> [flags]

Flags:
      --json   Output as JSON
fab status get-prsList PR URLs
usage
  • fab status get-prs <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status get-prs <change> [flags]

Flags:
      --json   Output as JSON
fab status get-summaryPrint the per-change log summary
usage
  • fab status get-summary <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status get-summary <change> [flags]

Flags:
      --json   Output as JSON
fab status planExtract plan fields
usage
  • fab status plan <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status plan <change> [flags]

Flags:
      --json   Output as JSON
fab status progress-lineSingle-line visual progress
usage
  • fab status progress-line <change>
show raw -h output
Usage:
  fab status progress-line <change>
fab status progress-mapExtract stage:state pairs
usage
  • fab status progress-map <change> [flags]
flags
flagtypedescriptioncopy
--jsonOutput as JSON
show raw -h output
Usage:
  fab status progress-map <change> [flags]

Flags:
      --json   Output as JSON
fab status refreshRecompute change_type/confidence (intake.md) + plan counts (plan.md) from artifacts
usage
  • fab status refresh [<change>]
show raw -h output
Usage:
  fab status refresh [<change>]
fab status reset{done,ready,skipped} → active (+cascade)
usage
  • fab status reset <change> <stage> [driver] [from] [reason]
show raw -h output
Usage:
  fab status reset <change> <stage> [driver] [from] [reason]
fab status set-acceptanceUpdate plan field
usage
  • fab status set-acceptance <change> <field> <value>
show raw -h output
Usage:
  fab status set-acceptance <change> <field> <value>
fab status set-change-typeSet change_type
usage
  • fab status set-change-type <change> <type>
show raw -h output
Usage:
  fab status set-change-type <change> <type>
fab status set-confidenceReplace confidence block
usage
  • fab status set-confidence <change> <certain> <confident> <tentative> <unresolved> <score> [flags]
flags
flagtypedescriptioncopy
--indicativeDeprecated no-op (retained for script back-compat)
show raw -h output
Usage:
  fab status set-confidence <change> <certain> <confident> <tentative> <unresolved> <score> [flags]

Flags:
      --indicative   Deprecated no-op (retained for script back-compat)
fab status set-confidence-fuzzyReplace confidence block with dimensions
usage
  • fab status set-confidence-fuzzy <change> <certain> <confident> <tentative> <unresolved> <score> <mean_s> <mean_r> <mean_a> <mean_d> [flags]
flags
flagtypedescriptioncopy
--indicativeDeprecated no-op (retained for script back-compat)
show raw -h output
Usage:
  fab status set-confidence-fuzzy <change> <certain> <confident> <tentative> <unresolved> <score> <mean_s> <mean_r> <mean_a> <mean_d> [flags]

Flags:
      --indicative   Deprecated no-op (retained for script back-compat)
fab status set-summarySet the per-change log summary
usage
  • fab status set-summary <change> <text>
show raw -h output
Usage:
  fab status set-summary <change> <text>
fab status skip{pending,active} → skipped (+cascade)
usage
  • fab status skip <change> <stage> [driver]
show raw -h output
Usage:
  fab status skip <change> <stage> [driver]
fab status start{pending,failed} → active
usage
  • fab status start <change> <stage> [driver] [from] [reason]
show raw -h output
Usage:
  fab status start <change> <stage> [driver] [from] [reason]
fab status validate-status-fileValidate .status.yaml against schema
usage
  • fab status validate-status-file <change>
show raw -h output
Usage:
  fab status validate-status-file <change>