_______________________________________________
/ /|
/ TICKET TAKEAWAY / |
/ ═══════════════ / |
/ ☐ grab ☐ paste ☐ build ☐ ship / |
/_______________________________________________/ |
| | | /spec
___ | ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ | | ───▶
/ \ .--. | │ IDEAS │ │BACKLOG│ │ WIP │ │REVIEW │ | / build
| o o | | | | │ ░░░░ │ │ ░░░░░ │ │ ▓▓▓▓▓ │ │ ████ │ | / ───▶
\ _ / | | | │ ░░ │ │ ░░░ │ │ ▓▓▓ │ │ │ | / /review
||| '----' | └───────┘ └───────┘ └───────┘ └───────┘ |/ ───▶
/ \ |_______________________________________________| /accept
SQLite-backed project board. Double-click. Paste. Build.
A lightweight process for people who work directly with their models to create software. Your kanban board is backed by SQLite and auto-generates markdown files.
Double-click a ticket on the dashboard to copy a prompt, paste it into Claude Code, the prompt will take into account the status and aim to do the next step to keep your feature flowing. Run as many windows as you want — the board is the coordination layer.
Agents can edit PRODUCT_BACKLOG.md directly — the CLI picks up changes via read-before-write sync. No data loss either way.
Two skills gate the process: /spec turns ideas into specced tickets. /review verifies completed work and handles acceptance. Between those gates, you build however you want.
For tasks that don't need your hands on the keyboard — security reviews, docs, compliance — we intend to make this compatible with agent orchestrators like Paperclip.
The board uses a stage-and-state model from Kanban methodology. Stages are the columns (defined by ## Section headings in your markdown). States are the Status: values on tickets — finer detail within a stage. Same column, different next actions. If you've used JIRA or GitHub Projects, it's the same concept: column = lane, status = position within it.
| Stage (Column) | States within it | Meaning |
|---|---|---|
| Ideas | proposed |
Unvetted — just a title or rough notion |
| Backlog | proposed, specified, ready |
Being specced and queued for work |
| WIP | in-progress, blocked, rework |
Actively being built |
| For Review | for-review |
Code complete, awaiting sign-off |
| Done | done, released |
Accepted or shipped |
Side lanes: Bugs (bug, bug-fixed), Icebox (icebox), Won't Do (wont-do) — reachable from any stage.
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ IDEAS │───▶│ BACKLOG │───▶│ WIP │───▶│ REVIEW │───▶│ DONE │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
/spec ready? double-click /review /dashboard
specifies unblocked? & build verifies accept
| Step | What happens | Gate |
|---|---|---|
| 1. Idea | Add a ticket to ## Ideas. Needs only an ID and title. |
— |
| 2. Spec | Run /spec — writes description + acceptance criteria. Moves to Backlog. |
Description + at least one - [ ] criterion |
| 3. Ready | Dependencies met, criteria are actionable. Status → ready. |
Nothing blocking the start of work |
| 4. Build | Double-click the card, paste into Claude Code. Ticket moves to ## WIP. |
Ticket is ready |
| 5. Complete | All criteria addressed. Ticket moves to ## For Review. |
Implementation covers every criterion |
| 6. Review | Run /review — walks through criteria, creates bug sub-tickets if needed. |
All criteria verified |
| 7. Accept | /accept moves ticket to PRODUCT_SPECIFICATION.md. |
Review passed |
Stage change = tickets-cli.py move <project> <id> <section>. State change = tickets-cli.py update <project> <id> --status <status>. Or just edit the markdown — the CLI absorbs direct edits.
Run /spec to walk through all ideas, or /spec {ID} for a specific one. The skill:
- Reads
## Ideas(and anyproposedtickets in Backlog) - Helps you write a description and acceptance criteria for each
- Suggests test cases (non-mandatory — use
/tddlater if you want full specs) - Sets priority and complexity
- Moves the ticket to
## Backlogwith statusspecified
Double-clicking an idea card on the dashboard copies /spec {ID} to your clipboard.
Run /review to walk through all completed work, or /review {ID} for one ticket. The skill:
- Batches related tickets and presents them oldest-first
- Verifies each acceptance criterion (use Chrome DevTools MCP tools to inspect the running app)
- Creates
BUG-sub-tickets from feedback, linked to the parent viaParent:field - Bugs get fixed and verified before the parent can be re-reviewed
- On acceptance:
/acceptmoves the ticket toPRODUCT_SPECIFICATION.md, summarizes development notes, and cleans up working files
Double-clicking the For Review column header copies /review to your clipboard.
Compatible with: Claude Code · Codex CLI · Any AI coding agent that reads markdown
git clone https://github.com/ytubecoder/ticket-takeaway.git ~/projects/ticket-takeaway && python3 ~/projects/ticket-takeaway/install.py --registerThis installs the CLI, generator, and skills, registers your project, and seeds the DB from your existing PRODUCT_BACKLOG.md (if you have one).
Clone https://github.com/ytubecoder/ticket-takeaway to my current project directory and run
python3 install.py --registerin the directory you install in. This will install the Ticket Takeaway dashboard system and register this project. If we have a PRODUCT_BACKLOG.md it will import existing tickets into the SQLite database automatically. If our features are stored elsewhere we should collect all of them and write a PRODUCT_BACKLOG.md
cd ~/projects/ticket-takeaway && git pull && python3 install.pyThe installer copies the latest CLI, generator, and skills. The registry and DB are preserved — only system files are updated. If upgrading from the markdown-only version (v0.1.x), the seed step runs automatically and imports your existing tickets.
- Run
/dashboardto generate and open the board - Add tickets:
python3 ~/.claude/ticket-takeaway/tickets-cli.py add <project> "First feature" - Or just add
### B-01: My FeaturetoPRODUCT_BACKLOG.md— the CLI will pick it up
Full deployment map: INSTALL.md
