Bitwarden Designer
Bitwarden Dev Ops Engineer
Bitwarden Product Analyst
Bitwarden Tech Lead
Bitwarden Testing Tools
Claude Config Validator
Claude Retrospective
59 chapters · 270 min
Bitwarden Shepherd
Chapter 50 of 59
Phase 3 (Proof of Concept) deep-dive playbook — validates the Research recommendation in real Bitwarden code and drafts the ADR.
9 minutes · 1,904 words · 13 sections
Phase 3 (Proof of Concept) deep-dive playbook for an initiative shepherd. Deliverables: one or more PRs that demonstrate the recommended pattern in real Bitwarden code, Architecture Council review, and a draft ADR in the centralized contributing-docs (opens in a new tab) repository (not per-repo). Time budget: 2–4 weeks, 40–80 hours of shepherd time. PoCs that stretch past 4 weeks usually signal either the wrong scope (too ambitious) or the wrong approach (the recommendation isn’t working).
Three things, in order:
If the PoC doesn’t accomplish all three, the next phase will pay for it.
This is the highest-leverage decision in the phase. The funnel doc’s guidance: representative but contained, ideally ~1–5 files or one module that demonstrates the key patterns.
How to choose:
Once selected, identify a point-of-contact on the owning team (usually a senior engineer, sometimes the tech lead) who will pair with you or review your work. They are not adopting the work — they are your partner in surfacing where it doesn’t fit.
This is also a good moment to consult Skill(architecting-solutions) in bitwarden-delivery-tools for the team-scope architectural constraints that will shape your PoC (security mindset, multi-client reality, V+/-2 compatibility, etc.). The PoC ships against those constraints from the start, not retrofitted.
If the approach requires shared scaffolding — middleware, base classes, type definitions, shared libraries — build it first. This is the reusable piece that broader rollout depends on. The framework itself is part of what the PoC is validating.
Two principles:
Implement 1–3 examples demonstrating the new pattern in the chosen area. Each example should be self-contained enough that a reviewer can see the pattern in action, but realistic enough that it tests real-world complexity. Examples from the funnel doc: migrate one API endpoint, one UI component, or one service module.
For each example, capture:
The funnel doc strongly recommends presenting the PoC to Architecture Council (opens in a new tab) at this phase. Format:
What the Council provides: pattern-level guidance, cross-initiative awareness (is this approach in conflict with something else underway?), validation of the proposed direction, and surface concerns about rollout.
What the Council does not provide: a green light independent of engineering leadership’s go/no-go at the end of the phase. The Council recommends; leadership decides.
If the PoC validates the approach, draft an Architecture Decision Record following the Bitwarden ADR template (opens in a new tab). ADRs live in the centralized bitwarden/contributing-docs (opens in a new tab) repository under docs/architecture/adr/ (rendered at contributing.bitwarden.com/architecture/adr/). There is no per-repo ADR directory — Bitwarden’s architectural decisions are intentionally centralized so they’re discoverable across all codebases the decision touches.
Open a PR against contributing-docs with the new ADR file, numbered sequentially after the latest accepted ADR. Example for reference: 0020-observability-with-opentelemetry.md (opens in a new tab).
The ADR is not the architecture plan — that comes in Scoping. The ADR is the decision artifact. Sections per the template:
The ADR is the durable artifact that survives the shepherd’s departure. Six months from now, someone will hit a related decision and read this ADR to understand why the codebase is shaped the way it is. Write for that reader.
The ADR captures the decision. The PoC is also the moment to establish the functional documentation that the new pattern needs to be discoverable and usable by the teams who will adopt it during Phase 5. Per Documentation Patterns (opens in a new tab), Bitwarden splits documentation into two homes that you should land in deliberately:
README.md files automatically when engineers navigate, which is the discovery path that actually works. Use Mermaid (opens in a new tab) for diagrams so they render in-place.bitwarden/contributing-docs (opens in a new tab) repository, rendered at contributing.bitwarden.com (opens in a new tab). ADRs, setup guides, feature-flag operating procedures, and cross-cutting architectural references go here.What the PoC should ship in each home:
README.md explaining what the framework is, its interface, how to extend or apply it, and what trade-offs were deliberately made. Reference the ADR for the decision rationale. Examples to model on: EventIntegrations (opens in a new tab), DbSeederUtility (opens in a new tab), EmergencyAccess (opens in a new tab).contributing-docs as covered above.rustdoc and crate/module-level README for Rust. The Documentation Patterns page has the per-stack rubric.CLAUDE.md — link the README.md via @ syntax and the ADR by URL. The bitwarden-init and plugins help bootstrap and review these.The shape of the documentation matters because the PoC is what the receiving teams in Phase 4 will react to. A PoC PR + a framework README + an ADR is far more legible than a PoC PR alone — and the difference shows up as faster handoff meetings and less “wait, what was the intended pattern here?” during Implementation.
During PoC (see Idea-Based Initiatives (opens in a new tab)):
Per the funnel doc:
For the leadership review, bring:
bitwarden/contributing-docs (opens in a new tab) repository.Install this repository
npx skills add bitwarden/ai-plugins/plugin marketplace add bitwarden/ai-pluginsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Skill,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_issue,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_issue_comments,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_issue_remote_links,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__search_issues,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_confluence_page,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__get_confluence_page_comments,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__search_confluence,mcp__plugin_bitwarden-atlassian-tools_bitwarden-atlassian__search_confluence_cqlplugins/bitwarden-shepherd/skills/running-a-proof-of-concept/SKILL.mdmain, last pushed 8 August 2026.SKILL.md, not by matching a directory convention. 13 distinct layouts observed: plugins/bitwarden-atlassian-tools/skills/*/SKILL.md, plugins/bitwarden-code-review/skills/*/SKILL.md, plugins/bitwarden-delivery-tools/skills/*/SKILL.md, plugins/bitwarden-design-tools/skills/*/SKILL.md, plugins/bitwarden-designer/skills/*/SKILL.md, plugins/bitwarden-devops-engineer/skills/*/SKILL.md, plugins/bitwarden-product-analyst/skills/*/SKILL.md, plugins/bitwarden-security-engineer/skills/*/SKILL.md, plugins/bitwarden-shepherd/skills/*/SKILL.md, plugins/bitwarden-tech-lead/skills/*/SKILL.md, plugins/bitwarden-testing-tools/skills/*/SKILL.md, plugins/claude-config-validator/skills/*/SKILL.md, plugins/claude-retrospective/skills/*/SKILL.md.claude-config-validatorSkill(shepherding-an-initiative) for the umbrella playbook, Skill(running-an-architectural-assessment) for the upstream Research-phase work the PoC validates, Skill(scoping-and-handing-off-to-teams) for what the PoC feeds into, Skill(architecting-solutions) (in bitwarden-delivery-tools) for team-scope architectural constraints that shape PoC design..claude-plugin/marketplace.json by Bitwarden, declaring 16 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./bitwarden/ai-plugins.md, and each chapter at its own .md URL.