From claude-tasks
Use when the user wants Claude to actually DO / execute / action / run / work on / pick up / start / tackle a SPECIFIC task that already lives in the claude-tasks queue — e.g. "action the staging task", "do the onboarding brief", "work on the billing one", "pick up X from the queue", "start the migration task". Resolves the phrase to a single brief, moves it to in-progress, executes it end-to-end against its success criteria, and marks it done (or escalates if it hits something only the user can decide). NOT for adding a task (use queue-task / raw-capture) or offloading the current session's loose ends (use handoff).
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-tasks:action-taskThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user names a task; you find it, do it, and close it out. The must-be-consistent
The user names a task; you find it, do it, and close it out. The must-be-consistent
mechanics (frontmatter edits, the file move, the locked commit, the ESCALATED — token)
live in the tested scripts/transition.py — always go through it; never hand-edit
status: or run raw git in the queue (that bypasses the cross-process lock and can
corrupt concurrent writes).
All commands below resolve the queue via $CLAUDE_TASKS_DIR → nearest .tasks/ →
~/tasks, or pass --root <path>.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/transition.py" resolve "<what the user said>"
Ranks actionable briefs (ready / in-progress / parked — never inbox) by relevance; exact id wins outright. Then:
<id> — "), continue.
queue-task). Don't
invent a brief and execute it.Read the resolved file in full, then pull the context it points to (parent/related briefs, linked repos, PRs, docs) so you execute with zero guesswork. The Success criteria are the contract — that list is what "done" means.
autonomy: full, no unmet blockers: → proceed.autonomy: needs-input or an open question in Notes → this brief is waiting on the
user. Surface the specific decision and ask it; do not silently upgrade and charge ahead.autonomy: blocked or listed blockers unmet → name the blocker; offer to action the
blocker first, or do the unblocked part. Don't start the blocked work.python3 "${CLAUDE_PLUGIN_ROOT}/scripts/transition.py" move <id> in-progress --log "started"
(Commits via the shared lock automatically. Pass --no-sync only if you'll batch the
commit yourself with scripts/git_sync.py.)
Execute against the success criteria using the right approach (TDD for code, etc.). Tick
- [ ] → - [x] in the brief as criteria land, so the board shows real progress.
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/transition.py" move <id> done --log "<one-line outcome + evidence>"
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/transition.py" move <id> in-progress --log "ESCALATED — <exact decision/access needed>"
then edit the brief to set autonomy: needs-input, write the precise question under
## Notes / open questions, commit with scripts/git_sync.py, and stop. The
ESCALATED — spelling is exact (an autonomy tracker can grep for it).transition.py move <id> parked --log "<why>".queue-task
rather than scope-creeping the current brief.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 kmmwren/claude-tasks --plugin claude-tasks