Tasks
Track, update, and delegate work items with comments, attachments, and status changes.
Installation
- Make sure Claude is on your device and in your terminal.
Skills load from
~/.claude/skills/when Claude Code starts up — so you need it on your machine first. If you don't have it yet, install it once with the command below, then runclaudein any terminal to verify.One-time setupnpm i -g @anthropic-ai/claude-codeAlready have it? Skip ahead.
- Paste into Claude Code or into your terminal.
This copies the whole skill folder into
~/.claude/skills/tasks-get-bb/— the SKILL.md plus any scripts, reference docs, or templates the skill ships with. Safe default: works for every skill.Faster alternative (instruction-only skills)
Skips the clone and grabs only the SKILL.md file. Don't use this if the skill ships Python scripts, reference markdowns, or asset templates — they won't be downloaded and the skill will fail when it tries to load them.
Quick install (SKILL.md only)Sign up to copy - Restart Claude Code.
Quit and reopen Claude Code (or any other agent that loads from
~/.claude/skills/). New skills are picked up on startup. - Just ask Claude.
Skills auto-activate when your request matches the skill's description — no slash command needed. Trigger phrases live in the skill's own frontmatter; you can read them in the “What this skill does” section above.
Prefer to read the source first? Open on GitHub.
When Claude uses it
Use when asked to work on or track a task in the Tasks plugin, when the prompt mentions a task key such as ABC-12, or when work needs task comments, attachments, delegation tracking, or status updates.
What this skill does
Tasks
Use the bb tasks CLI to understand the assigned task, keep its record useful,
and report the outcome where the work is tracked.
Delegation presets are user-defined; Tasks ships with none. Before dispatching
work, use bb tasks preset list and create a preset if the required one does
not already exist. Dispatch requires an existing preset.
Work a task
-
Find and read the task before acting:
bb tasks show ABC-12The detail includes the description, status, priority, labels, subtasks, comments, attachments, attached worker threads, and the GitHub pull requests those threads produced (from environment metadata, with state open/draft/merged/closed). Use
bb tasks show ABC-12 --jsonwhen the result will drive commands or code.For project-wide discovery,
bb tasks listreturns at most 100 rows by default. Pass--limit 1-500; in JSON, continue withnextCursorvia the same filters/sort and--cursor <value>. A task-list mutation makes an old cursor stale, so restart without it. -
Fetch every relevant attachment before making assumptions about it:
bb tasks attachment get <attachment-id> --out <path> -
Do the work. Post one substantive comment at each meaningful milestone, such as a completed investigation, an implementation ready for validation, or a concrete blocker:
bb tasks comment ABC-12 --body "Implemented the change; focused validation now passes."Add
--notifyonly when the new comment should be delivered to the thread that authored the task's most recent agent reply. This resumes an idle recipient; with no prior agent reply, the comment is recorded without targeting an unrelated thread. In agent context, the new comment keeps the current thread identity and an explicit--author, while delivery still targets the prior latest responder rather than the new comment itself. -
Attach result artifacts that belong with the task, such as reports, screenshots, patches, or generated files.
--fileaccepts images and other files (for example.png,.jpg,.svg,.pdf,.md,.patch, or logs).Task-level attachment — pass the task key so the file sits on the task itself:
bb tasks attachment add ABC-12 --file ./report.md bb tasks attachment add ABC-12 --file ./screenshot.pngComment-level attachment — pass a comment ID so the file sits on that comment (for example a screenshot that belongs with a specific milestone note). Create the comment with
--json, capture.comment.id, then add the attachment:comment_id=$( bb tasks comment ABC-12 \ --body "Screenshot of the failing step." \ --json | jq -r '.comment.id' ) bb tasks attachment add "$comment_id" --file ./screenshot.png bb tasks attachment add "$comment_id" --file ./trace.logA task key attaches at task level; a comment ID attaches to that comment. Do not pass a task key when the file should hang off a comment. Use
--jsonwhen capturing the returned attachment metadata. When creating a task that should start with files, pass repeatable--attach <path>tobb tasks createinstead of attaching afterwards. Remove an attachment by id withbb tasks attachment remove <attachment-id>(row and blob are deleted together); reuse the ids frombb tasks attachment list <key>. Referenced attachments are rejected unless the caller explicitly confirms content cleanup with--remove-references; that flag removes the saved description image reference together with the row and blob.File paths (
--file,--attach,--out,--description-file,--body-file) are read from and written to the invoking machine: inside an agent thread that is the thread's machine, so local paths just work. Outside a thread they target the server's machine; pass--machine <id-or-name>to address files on another enrolled machine. -
When the work is ready for review, update the task:
bb tasks update ABC-12 --status in_reviewChange task hierarchy with
bb tasks update ABC-12 --parent ABC-10, using either a task key or ID for the parent. Promote a subtask to the top level withbb tasks update ABC-12 --no-parent; the two parent flags cannot be combined.If the work cannot proceed, leave the status accurate and comment with the specific blocker, what you tried, and what would unblock it. Do not mark a blocked task complete.
-
Delegated threads are attached automatically. If this thread was not delegated from Tasks, attach it yourself so the task shows the active work:
bb tasks attach ABC-12
Link tasks in responses
When your answer refers the user to a task — including a task you just created — emit this leaf directive on its own line instead of writing the key as plain text:
::task{key="ABC-12"}
key is required. Optionally add title="…" as a display fallback shown
while the card loads and when the key no longer resolves. The rendered card
shows the live status, title, and priority, opens the task in the thread
side panel, and links to the full Tasks app. Emit one directive per line;
each renders its own card.
Invariants
- Valid task statuses are
backlog,todo,in_progress,in_review,done, andcanceled. - Use
in_reviewwhen implementation is complete but still needs human or agent review. Usedoneonly when the task's completion criteria are met. - Write one comment per meaningful milestone. Combine related facts into a useful update; never spam progress pings, command-by-command narration, or repeated status messages.
- Comments should say what changed or was learned, what validation ran, and any remaining risk or blocker.
- Prefer stable task keys such as
ABC-12for task commands. Use--jsonfor machine-readable output and human output for quick inspection.
Related skills
Word Document Editor
anthropics
Create, edit, and format Word documents with tables, images, and tracked changes.
Skill Template
anthropics
A template for creating and configuring new Claude skills.
Kanban TUI
Zaloog
Manage tasks, boards, and workflows in your terminal with a CLI kanban tool.
Superpowers
obra
Jesse Vincent's full Claude Code methodology — TDD, brainstorming, git worktrees, all auto-triggering.