flow

A Ticket-Flow coordinator that picks up, implements, verifies, merges, and optionally deploys tickets. It can work locally in one session or coordinate multiple tickets through isolated Git worktrees and subagents.

In plain words
What is it for?
Use it to process one ticket, run several ready tickets in parallel or sequence, keep processing until the ready queue is empty, or adopt the current worktree.
Why use it?
It connects the stages of ticket work so status updates, testing, merging, cleanup, and user checkpoints follow one process.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/keefar/ticket-flow/flow
Any agent
npx skills add keefar/ticket-flow --skill flow
Clone the repo
git clone --depth 1 https://github.com/keefar/ticket-flow

Made for: Claude Code, Codex.

Per session 292 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 10,701 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00292 $0.10701
Opus 5 $0.00146 $0.05351
Sonnet 5 $0.00058 $0.02140
Haiku 4.5 $0.00029 $0.01070

Measured 2d ago against content hash d3f8ceeb8002, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

flow scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 6 executable files (check-worktree-base.sh, parse-flow-args.sh, tests/test_check-worktree-base.sh, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/flow/SKILL.md · 402 lines

How it starts

The opening of the file, as written. The whole thing — 402 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/flow — Ticket-Flow orchestrator

Args:

  • <kanban-id> (required — except with --parallel) · <branch-suffix> (optional, forwarded to /pickup) · --parallel (optional — work multiple tickets at once via worktree-isolated subagents; with no id = the whole ready queue, see ## Parallel mode) · --local (optional, the default — kept as explicit flag for symmetry) · --serial (optional — modifier of the subagent machinery, implies --parallel: one subagent at a time, merge + deploy + cleanup per ticket right after it returns; see ## Serial and loop) · --loop (optional — modifier, implies --parallel: after every merge re-query the ready queue and continue until it is empty; takes no ids) · --here (optional, local mode only — forwarded to /ticket-flow:pickup --here: adopt the worktree/branch this session is already in — orca, Conductor, worktrunk, bead-workflow-skills — instead of creating one; rejected with --parallel/--serial/--loop) · --decisions a,b,c / --use-recommendations (optional, mutually exclusive — resolve the spec's ## Decisions section; see step 1.7; --decisions is rejected with --parallel/--serial/--loop).

Decide, don't prompt — clear-cut points get a default (all modes)

At any decision point that is unambiguous or indifferent, decide with a sensible default and proceed — never stop with an AskUserQuestion menu for it. Stop only for genuine ambiguity: a choice where a wrong pick has real, non-obvious consequences and no default is clearly right. This is unconditional default behavior across every mode (--local, --parallel) — not a flag, not a mode.

Three things still stop on purpose — they are neither clear-cut nor indifferent:

  • --local's per-phase checkpoints — the "Ready for /implement? / finish?" review gates in steps 3/4/5. These are the value of --local; they stay. A checkpoint-free local run, if ever wanted, is a separate future flag.
  • --parallel's P5 consolidated checkpoint — merge all / subset / stop. Not in --serial: that modifier exists for unattended runs, so each ticket merges right after its subagent returns and P5 becomes a per-ticket report, not a question — the gates are finish's verification and the merge guard (finish Step 7). Want checkpoints? Use plain --parallel (one consolidated) or --local (per phase).
  • The step-1.7 decision gate — a spec's genuine ## Decisions section is ambiguous by construction; resolved by the user or by --use-recommendations, never auto-decided here.

Read the full file on GitHub · 402 lines

Files

What ships with it

7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 402 lines · 0 tokens per session scan A d3f8ceeb8002

Subscribe to this mod's changes

flow is a skill published in the GitHub repository keefar/ticket-flow (4 stars, last pushed 6d ago), licensed MIT. It adds 292 tokens to every session and 10,701 once invoked, about $0.0015 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

kanvibe-release-deploy

Use this skill whenever releasing or deploying KanVibe desktop from a clean, up-to-date dev checkout: ask only for the target version and release-note approval, then let the AI update package versions, run pnpm run deploy, publish the DMG GitHub release, update the Homebrew cask, create the release PR, and auto-merge…

rookedsysc/kanvibe · 112 tokens

council-router

Route code reviews to appropriate council members. Use when reviewing PRs, architecture decisions, or significant code changes that need expert perspective.

automagik-dev/forge · 31 tokens

issue-triage

Triage Paperclip inbox issues that are stale, blocked, in-review, or assigned-but-not-progressing, and decide a single next action per issue (resume, reassign, unblock, escalate, or close).

paperclipai/paperclip · 48 tokens

taiyi-ultrawork

TaiyiForge ultrawork — 并行切片 + Cursor Task 自动派发契约(对标 OMC ultrawork + spawnagent).

Dong90/oh-my-taiyiforge · 39 tokens

codekanban-cli

Operate CodeKanban workflows, terminal sessions, and web sessions through the installable codekanban-cli command. Use when the user wants to create, inspect, control, watch, or continue CodeKanban AI work from a project path, project ID, or project name without relying on repository-local helper scripts. Prefer…

fy0/CodeKanban · 102 tokens

triage

Work-unit triage for GitHub issues. Groups raw issues, fuses each group with the AGENTS.md northstar, and externalizes each routed unit to a substrate record a collaborator session is pointed at.

jongwony/epistemic-protocols · 45 tokens