Start a new change
Five commands, one minute, end-to-end.
The flow
Section titled “The flow”idea "add CSV export to reports page"# captured as [k3m1]
idea list# [k3m1] add CSV export to reports page
wt create csv-export --from-idea k3m1# new worktree, branch, and fab change folder
cd ../<repo>.worktrees/csv-exportrk riff --skill /fab-fffThat’s it. The agent is now driving the pipeline; you watch in the dashboard.
What just happened, in detail
Section titled “What just happened, in detail”idea "..."appends an item tofab/backlog.mdwith a generated ID[k3m1].wt create csv-export --from-idea k3m1:- Creates a git worktree at
../<repo>.worktrees/csv-export/ - Creates a git branch
<YYMMDD>-<XXXX>-csv-export - Runs the per-worktree init script (default:
fab change new --slug csv-export --from-idea k3m1) - The init script creates
fab/changes/<YYMMDD>-<XXXX>-csv-export/intake.mdseeded from the backlog item
- Creates a git worktree at
rk riff --skill /fab-fff:- Spawns a Claude Code agent in a new tmux pane
- Sends
/fab-fffas the first input - Agent runs the full pipeline autonomously
Without wt (single-repo, no worktrees)
Section titled “Without wt (single-repo, no worktrees)”idea "add CSV export to reports page"fab change new --slug csv-export --from-idea k3m1git checkout -b $(fab resolve --folder)# then: /fab-fff in your agentWorkable, but you lose the parallelism. The toolkit assumes worktrees as the default unit of work.
Without rk (no dashboard)
Section titled “Without rk (no dashboard)”# in the worktree:claude # or codex, cursor — any agentYou lose the cross-session view, but the pipeline runs identically. rk is convenience, not contract.
Without idea (one-off change)
Section titled “Without idea (one-off change)”wt create csv-exportcd ../<repo>.worktrees/csv-exportfab change new --slug csv-export# then: /fab-new "add CSV export to reports page" (or just /fab-fff)fab change new without --from-idea produces an empty intake; the slash command’s first prompt fills it in.