From kanban
Use this skill whenever kanban.json exists in the project root, or when the user mentions tasks, TODO, kanban, priorities, or asks "what should I work on next", "pick a task", "繼續工作", etc. This skill governs task lifecycle (TODO → DOING → DONE/BLOCKED) through the kanban.json file.
How this skill is triggered — by the user, by Claude, or both
Slash command
/kanban:kanban-workflowThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You operate on a `kanban.json` file at the project root. It is the **single source of truth** for tasks. Humans and AI agents both read/write it, so correctness and determinism matter.
You operate on a kanban.json file at the project root. It is the single source of truth for tasks. Humans and AI agents both read/write it, so correctness and determinism matter.
kanban.json. Always go through a /kanban:* slash command. The kanban-guard.sh hook will block direct edits anyway, but don't try.DONE column. DONE is append-only. If work needs to resume, create a new task that references the old id.depends. A task cannot move to DOING if any of its depends are not DONE.--no-verify, disabling kanban-guard.sh, etc.).SessionStart hook surfaces DOING tasks automatically — re-read if you need the full picture)./kanban:next).Use the Read tool. Never assume in-memory state is current — another session, the viewer, or a git pull may have changed it.
TODO ──► DOING ──► DONE
│
└──► BLOCKED ──► TODO
| From | To | Required side effects |
|---|---|---|
| TODO | DOING | set started = now; verify all depends are DONE |
| DOING | DONE | set completed = now |
| DOING | BLOCKED | custom.blocked_reason MUST be non-empty |
| BLOCKED | TODO | clear custom.blocked_reason |
| DONE | * | forbidden |
Every transition also updates meta.updated_at and the task's updated.
When asked for "next task", follow this order:
column == "TODO" with all depends DONE.--category=trading, --priority=P1).priority ascending using meta.priorities order (so P0 before P1).created ascending (oldest first).See references/priority-rules.md and references/dependency-rules.md for detailed logic.
depends, skip it — do NOT move a task to DOING that has non-DONE deps.When you encounter ambiguity you cannot resolve from kanban.json alone:
author: claude-code, ts: now, text: "<question>") and ask the user.custom.blocked_reason.Multiple sessions may touch kanban.json. Minimise window of risk:
assignee field to claim a task you're about to work on.The kanban-autocommit.sh PostToolUse hook commits kanban.json automatically after Bash-driven changes. You do not need to commit kanban.json manually. Do NOT include kanban.json in commits that also contain code changes — keep kanban transitions as standalone commits.
references/schema-spec.md — field meanings and validation rules.references/priority-rules.md — priority tie-breaking and filtering.references/dependency-rules.md — dependency resolution and DAG traversal.Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub kirinchen/claude-workbench --plugin kanban