Turns a breakdown Plan into a tasks.md file with one entry per Jira work item. Supports resuming a partly-drafted task list.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bitwarden-delivery-tools:decomposing-into-tasks [<breakdown-path | jira-key | slug>][<breakdown-path | jira-key | slug>]breakdownThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Assist a Bitwarden engineer in turning a breakdown Plan into a separate `tasks.md` file, containing a numbered list where each entry is a future Jira story.
Assist a Bitwarden engineer in turning a breakdown Plan into a separate tasks.md file, containing a numbered list where each entry is a future Jira story.
Once a breakdown has been found, do NOT write to tasks.md unless both hold:
N/A — <reason>, and the concrete file/module list is in place. All Clarifications Log items have a resolution. If not, prompt the user to verify the plan and only proceed with their permission.Create a task for each phase as you start it (TaskCreate), mark it in progress, and complete it before moving on. Use AskUserQuestion for any ambiguities discovered during decomposition; do not fill in the blanks or make assumptions yourself. See references/process-flow.dot for the full phase + decision graph.
Once the breakdown file is known, derive the Tasks file path: tasks.md in the same folder as the breakdown. Check whether it exists:
tasks.md does not exist. This is a fresh decomposition. Create tasks.md from the template at tech-breakdowns/templates/tasks.md and continue.tasks.md exists. This is a resumption. Continue with the existing tasks.md.Surface the resolved paths to the user once before moving on: "Working against breakdown <path>, Tasks file at <path>/tasks.md (<new | resuming>)."
Walk the Plan from multiple dimensions to gather full context before decomposing:
tasks.md (if resuming from a previous iteration).Identify the units of change that would land independently, in reviewable, testable chunks of work. Each unit becomes one row.
If, when constructing a task, you encounter ambiguity in individual task scope - whether splitting or merging may be desirable - present 2 or 3 options with tradeoffs via AskUserQuestion. Do not pick unilaterally; task-boundary calls are the user's. If there are no questions, do not prompt the user.
When decomposing into tasks, make sure that the solution is MECE:
If you encounter gaps that the tasks will not fill, or duplicative work between tasks, attempt to resolve the gap by reframing the task split. If that cannot be done, use AskUserQuestion to present the problem and ask user input.
Row count check. Once a full task decomposition is done, count the rows. If 10 or more, surface to the user: "Tasks section has N rows — past the 10-task heuristic. Have you considered splitting along a natural seam (sequential phase, independently shippable subset, interface boundary)?" Soft prompt, not a block. Tightly coupled work that genuinely cannot split is allowed. This may result in Plan decomposition.
Final pass before tasks.md is reviewer-ready. Run it yourself against the saved file; no subagent.
tasks.md contains no TBD, TODO, "decide later", "figure out during implementation", "various", "as needed", "handle edge cases" without a named set, "wire up existing service" without naming the service, "update tests" without naming the test files. Rewrite anything that matches into a concrete row, or fold it into the row whose code it tests.tasks.md that implements it. Any What/Why item with no Task row is a coverage gap; surface it before continuing.Blocked by: Task N and Depends on: Task N must point to a real Task N in tasks.md.PM-XXXXX) must be Jira keys, not prose. If the breakdown only describes the dependency narratively, ask the user for the Jira key.If you find issues, fix them inline in tasks.md or surface them to the user if there is any clarification needed.
When self-review is complete, notify the user that tasks.md is ready for review. Report the path explicitly: "Tasks file ready at <breakdown-folder>/tasks.md — N rows."
Do not edit the breakdown document. The breakdown and tasks.md are siblings: the breakdown contains the overall execution plan, and tasks.md contains the decomposition.
tasks.md is a flat markdown file.
The template at tech-breakdowns/templates/tasks.md contains a sample format. Use that format for all tasks.
See examples/task-breakdown.md for worked examples.
If the change only applies to one layer of the application (e.g. only clients, one specific client, or only server), prefix the title with the layer in brackets (e.g. [Server] or [Extension]).
Default to "Blocked by" when in doubt. Use "Depends on" only when the parallel-execution claim is real and the interface is stable enough to code against.
npx claudepluginhub bitwarden/ai-plugins --plugin bitwarden-delivery-toolsBreaks plans, specs, or PRDs into independently-grabbable task files organized as tracer-bullet vertical slices. Useful when starting a new feature or refactor.
Break down features and requirements into actionable, implementable tasks with clear scope and acceptance criteria. Use when planning implementation, organizing complex work, or creating task lists. Trigger phrases: "break down tasks", "create work plan", "organize implementation", "plan development". This skill works best when preceded by `requirements-elicitation` skill use.