dev-flow
Dev Flow — ticket-driven git workflow
Why this exists
Keeping branches, commits, PRs, and the project-management ticket aligned across a team is one of those things that's "obvious" until two people forget it on the same day — and now main has a half-merged feature, no ticket got moved to Done, and the PR was accidentally opened against a stale base branch with 47 unrelated commits dragged along. This skill bakes that alignment into a checklist that runs end-to-end.
The promise: when the user says "let's start work on ticket X" (or "PR this thing"), do the ceremony correctly without being asked twice — pick the right base, name the branch right, sync the tracker, and remember the things that have actually broken in real projects (like gh pr create silently picking a non-main default base).
Step 0 — Load the project's dev-flow config
Before anything else, find the project's config. Look in this order and stop at the first match:
.dev-flow/config.jsonin the repo root- A "Ticket Flow Config" JSON code block inside
CLAUDE.mdorAGENTS.md - Nothing found — the project isn't set up yet, so initialize it before going further. This skill owns its own setup; there's no separate command to hand off to. Read
references/setup-wizard.mdand walk the wizard inline: it auto-detects what it can (git host,ghCLI, existing commit skill, tracker MCP), asks only what it can't, confirms the assembled config, and writes.dev-flow/config.json. Because it's mostly auto-detected and confirms before writing, run it rather than blocking the user — a one-line "no dev-flow config here yet, let me set it up" and then proceed. Two ways in land here: the user explicitly asked to set up / configure the flow, or they asked to start work and there's simply no config yet. Fallback: if the user only wants a one-off and not full setup, ask the minimum questions inline and proceed for this branch without writing a config file.
Schema
All fields optional except tracker.type. Sensible defaults are noted.