Develops the implementation Plan section of a Bitwarden tech breakdown: technical architecture, per-layer impact, in-flight collision scan, cross-team mapping, and self-review. Supports resumption.
How this skill is triggered — by the user, by Claude, or both
Slash command
/bitwarden-delivery-tools:developing-breakdown-plan [<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 developing the HOW a change will be built, anchored to the already-defined Specification section of the breakdown document. The skill iterates on a technical architecture with the user, walks the change against every part of our technical stack to surface impact, scans for in-flight work that could collide, identifies and characterizes every cross-team impact, and...
Assist a Bitwarden engineer in developing the HOW a change will be built, anchored to the already-defined Specification section of the breakdown document. The skill iterates on a technical architecture with the user, walks the change against every part of our technical stack to surface impact, scans for in-flight work that could collide, identifies and characterizes every cross-team impact, and runs a final self-review pass against the breakdown template.
Prompt the user to switch to their workspace root: the folder containing their local clone of `tech-breakdowns/` alongside the other Bitwarden repos (`server/`, `clients/`, `sdk-internal/`, `ios/`, `android/`, etc.). The skill relies on traversing those siblings to scan in-flight work and resolve cross-team impact.Orientation within a breakdown is required. If $breakdown was provided at invocation, treat it as the breakdown identifier (path, Jira key, or slug) and resolve it via Glob under tech-breakdowns/ to a real breakdown.md, then confirm the resolved path with AskUserQuestion before proceeding. Otherwise, ask the user which breakdown to work against — they can give a path, a Jira key, or a slug — and resolve the same way. If the user already named it earlier in the conversation, confirm the resolved path with AskUserQuestion before proceeding.
Once a breakdown is found, do NOT continue to develop the Plan if either condition holds:
grep -F -- "$NAME". Never splice them into a shell-evaluated command string.When you identify decision points in the implementation plan - where the direction of the work could diverge, or there is ambiguity in precedent in the codebase, capture the question in the Clarifications Log and use AskUserQuestion to get clarification from the user - do not fill in the blanks or make assumptions yourself.
Work each question one at a time. For each:
Resolved, with owner and date.Ask the user up front: starting a new Plan, or continuing one? If continuing, work through Resuming a Plan first, then Developing the Plan. If starting new, go straight to Developing the Plan.
Create a task for each section as you start it (TaskCreate), mark it in progress, and complete it before moving on. If resuming, re-read the breakdown document to reload context, then use AskUserQuestion to confirm which activity to pick up at before continuing. See references/process-flow.dot for the full decision graph.
Read the breakdown in full and verify both gates pass:
Open items exist, instruct the user to resolve them so that they are not encoded into the Plan without clarity.If both gates pass, triage which activities (below) are complete and which remain. Continue with the next unfinished one.
Work through these activities. Order is sequential — each depends on the previous — and the self-review at the end is explicitly the last step.
Skill(architecting-solutions) first to apply the architectural lens.Skill(bitwarden-security-context) for planning any cryptographic work.Walk every per-layer area the change touches, starting with ## Data model changes and working through ## Client / UI behavior changes in the breakdown template. Use the checklist in each section of the breakdown to ensure that all potential impacts on each layer are addressed.
Be specific, and address the checklist items in each of the sections. Plan is where the concrete file and module list emerges, and downstream activities need an accurate list to act on. Captured in Plan.
Now that the Plan has produced a concrete file and module list, scan three sources for work that could collide:
tech-breakdowns/, excluding **/complete/**. Grep (with -F --) for the affected file paths and module names across the tree.gh pr list -R bitwarden/<repo> --state open --json number,title,headRefName,files. Look for PRs touching the same files.git log --since="3 months ago" --pretty=format:"%h %an %ad %s" --date=short -- <path>. Recently merged work that indicates churn in the affected areas.For each collision found:
Current State if it's a code-level overlap, or the Cross-team engagement section's Coordination notes if it's another team's in-flight design work.Walk every cross-team impact this breakdown creates. For each impact, do three things:
A. Confirm the impact crosses an ownership boundary. The trigger is CODEOWNERS: at least one affected file belongs to a team other than the driving team. If no file crosses, it's internal.
B. Characterize the impact across two inputs. Don't skip either; if unknown, name it as unknown so the assessment is conditional.
In-flight breakdowns in the owning team's folder of tech-breakdowns/, excluding **/complete/**. Run from inside tech-breakdowns/:
grep -rliF -- "<repo-name>" "<owning-team>/" --include="*.md" --exclude-dir=complete
grep -rliF -- "<file-or-module-name>" "<owning-team>/" --include="*.md" --exclude-dir=complete
Read candidate breakdowns' Tasks and Plan sections to confirm overlap rather than relying on grep matches alone.
Open PRs from owning-team engineers in the affected repos: gh pr list -R bitwarden/<repo> --state open --json number,title,headRefName,files,author --limit 50.
Recent merged PRs in the affected paths: git log --since="3 months ago" -- <path>. Recent material churn means conventions may not be stable.
C. Route the impact to the right subsection of Cross-team engagement. Not every cross-team touch belongs in the signoff table:
Per signoff row:
Captured in Cross-team engagement (Consuming other teams' APIs, Changes required in other teams' code, Cross-team sequencing & ordering, plus the signoff table and Coordination notes).
Final pass before the breakdown is reviewer-ready. Run it yourself against the saved file; no subagent. If you find issues, fix them inline and move on.
TBD, TODO, "decide later", "various") in the Plan. Rewrite anything that matches.When the breakdown is reviewer-ready:
Open clarifications and their owners.Proposed. This skill does not run that transition; it is a responsibility of the breakdown owner.AskUserQuestion to ask whether to follow up with a prototype draft PR that includes all proposed changes across the affected repositories. If yes, proceed to Optional: Prototype draft PR below.The work is done when a reviewer who has never touched the code could read the breakdown and (a) understand the change, (b) see why it was chosen over the alternatives, and (c) identify what they would need to evaluate from their team's perspective.
A pull request that validates the architectural approach against real code. The artifact is a draft PR. Its job is to surface unknowns and expose the implications of the changes to the team to review.
Constraints:
[Prototype]. Body opens with: Prototype for breakdown <link>. Not for merge. Validates: <one-sentence>. Out of scope: <list>.Prototype subheading so reviewers see the artifact alongside the design.Invoke Skill(creating-pull-request) for the PR mechanics, and ensure the PR is opened as a draft. Surface any findings from prototyping (interface friction, hidden dependencies, larger-than-expected interface change) back into the Plan.
npx claudepluginhub bitwarden/ai-plugins --plugin bitwarden-delivery-toolsResolves open design questions and captures specifications for Bitwarden tech breakdowns. Useful after creating a breakdown document or resuming a partially-resolved spec.
Stress-tests an existing implementation plan and strengthens weak sections with targeted research. Use when a plan needs more confidence around decisions, sequencing, risks, or verification.
Builds a feature implementation plan from an existing specification through a project-manager-led team conversation. Use after a feature is specified but before coding begins.