bitwarden/evolving-design-system-components
Propose a new UI pattern or modify an existing Design System component per Bitwarden's published governance process — design-team alignment, Core vs. Recipe/Snowflake decision with UI Foundation, Figma branching and property conventions, review gates, merge timing.
npx skills add https://github.com/bitwarden/ai-plugins --skill evolving-design-system-components
This skill grounds Component Library work in two Bitwarden governance pages:
and
Modifying an existing Design System component.
Read the canonical pages via get_confluence_page before driving a real proposal — they evolve
faster than this skill, and they link to template Figma files and engineering processes
referenced below. Figma conventions (property ordering, naming) live in
references/figma-conventions.md.
There are two governance flows. They share a beginning but diverge.
Core Component, or a Recipe/Snowflake?" based on use cases and complexity.
the UI Foundation team because instances across the product are affected.
The skill walks both. Confirm which one applies before recommending steps — they have different
review gates.
Before either path, check whether the pattern already exists. The most common false-positive
of "we need a new component" is "this already exists in the library and the designer hadn't
found it."
Use search_design_system and get_libraries from using-figma. If a near match is found,
the question becomes whether to use it as-is, modify it (path B), or propose a new variant
under it. If no match, proceed.
For both paths, the design team aligns first — before engineering is involved. From the
Confluence pages:
feature file.
by team critique, depending on timeline.
For a new pattern:
For a modification:
The team aligns on whether to move forward before the proposal goes further. There is a
Figma template for new pattern discussion
linked from the Creating-new-design-patterns page; surface it when the proposer doesn't have a
discussion structure of their own.
This decision is made with the UI Foundation team — never unilaterally by the proposing
designer.
team to maintain. Becomes a first-class library component owned by UI Foundation.
feature team that built it. Still added to the Figma library so other designers can find it.
Schedule the conversation with UI Foundation. Walk the use cases. Defer to their call on
ownership. The Confluence page references the engineering side at
read that page when the Core path is taken.
The Figma side of the process is opinionated. The conventions — property ordering, naming,
required states, documentation pattern — are in references/figma-conventions.md. The
high-level moves:
components or in the existing component's page for modifications.
applicable), disabled (where applicable).
and existing Figma property patterns. Property order matters — see
references/figma-conventions.md.
and accessibility notes. Convention is to copy and adapt an existing component's docs
rather than build from scratch.
At least 2 other designers must approve before merging.
UI Foundation engineering in the next sync.
The default is wait to merge the Figma branch until engineering has updated the code so
designers don't see UI in Figma that doesn't yet exist in product. But there are exceptions:
noting the engineering state, merge the Figma branch, and send an update to engineering
teams in #team-eng-ui-foundation.
announce.
Default to the disciplined order. Use the exception sparingly.
using-figma. search_design_system and get_libraries for the pre-proposal search;get_metadata and get_variable_defs for inspecting existing components; the Code Connect
tools (get_code_connect_map, add_code_connect_map, get_context_for_code_connect) for
the design-to-code linkage when promoting a pattern to a Core Component.
facilitating-design-critique. The design team's alignment step in Step 2 is a critiquesession, not a one-off message. When the proposer needs help structuring it, dispatch into
the critique-facilitation skill.
navigating-design-jira-process. The Component Library Jira board lives inside thelarger Product and Design Jira workflow. When the proposal generates engineering work,
dispatch into the Jira-process skill for the right state moves.
search_design_system first. Always.this decision. Don't pre-decide.
library's usability across the team. Read the CL API design doc rather than improvising.
warning badge in Figma plus the #team-eng-ui-foundation message is required, not optional.
that doesn't exist in product and build on top of it.
When asked to help propose a pattern or modify a component:
weigh.
Jira issue.
exception.
Take bitwarden/evolving-design-system-components 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.