Decompose a breakdown Plan into a tasks.md document with one entry per future Jira work item. Also handles resumption against a partly-drafted task list. Triggers: "decompose into tasks", "draft the tasks section", "break this into stories", "split into Jira tickets", "fill in the tasks table", "continue task decomposition".
npx skills add https://github.com/bitwarden/ai-plugins --skill decomposing-into-tasks
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.
<HARD-GATE>
Orientation within a breakdown is required. Ask the user which breakdown to work against. They can give a path, a Jira key, or a team/slug — use Glob under tech-breakdowns/ to resolve to a real breakdown.md. If the user already named it earlier in the conversation, confirm the resolved path with AskUserQuestion before proceeding.
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.</HARD-GATE>
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.
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
Generates creative domain name ideas for your project and checks availability across multiple TLDs (.com, .io, .dev, .ai, etc.). Saves hours of brainstorming and manual checking.
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls.
Creative research ideation and exploration. Use for open-ended brainstorming sessions, exploring interdisciplinary connections, challenging assumptions, or identifying research gaps. Best for early-stage research planning when you do not have specific observations yet. For formulating testable hypotheses from data use hypothesis-generation.
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
Take bitwarden/decomposing-into-tasks from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.