Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
da4deea
feat(design-tools): scaffold bitwarden-design-tools plugin v0.1.0
SaintPatrck May 22, 2026
a274fcd
feat(design-tools): add brand tokens, canonical lockup assets, skill …
SaintPatrck May 22, 2026
8a98768
feat(design-tools): register bitwarden-design-tools v0.1.0 in marketp…
SaintPatrck May 22, 2026
32e45f7
feat(design-tools): expand applying-bitwarden-branding to build + review
SaintPatrck Jun 17, 2026
b12df1a
Merge origin/main into feat/bitwarden-design-tools
SaintPatrck Jun 17, 2026
07a136b
chore(design-tools): fold brand-assets.md into logo-usage.md
SaintPatrck Jun 17, 2026
d1197d8
fix(design-tools): address skill review on applying-bitwarden-branding
SaintPatrck Jun 17, 2026
d2cbacc
style(design-tools): apply prettier formatting
SaintPatrck Jun 17, 2026
373ea42
fix(design-tools): correct yellow in example one-pager (#FFD700 -> #F…
SaintPatrck Jun 17, 2026
af5855d
refactor(design-tools): drop redundant 'What this skill is for' section
SaintPatrck Jun 17, 2026
b86f824
feat(design-tools): add surface short-circuit to applying-bitwarden-b…
SaintPatrck Jun 17, 2026
6e55095
refactor(design-tools): brand-canon script is verify-and-report only
SaintPatrck Jun 17, 2026
183fe6e
feat(design-tools): pre-authorize verify-brand-canon.sh via allowed-t…
SaintPatrck Jun 17, 2026
5a4ec95
feat(design-tools): pre-authorize reading bundled references and assets
SaintPatrck Jun 17, 2026
cd0213f
refactor(design-tools): move on-brand-one-pager example into the skill
SaintPatrck Jun 17, 2026
03a47dc
refactor(design-tools): trust bundled filenames instead of pre-authin…
SaintPatrck Jun 17, 2026
1b20fe2
refactor(design-tools): tighten branding skill scope per review
SaintPatrck Jun 17, 2026
ee0b6fe
docs(design-tools): drop CI allusion from drift script
SaintPatrck Jun 17, 2026
4416a9f
test(design-tools): track lean eval harness for applying-bitwarden-br…
SaintPatrck Jun 17, 2026
aa4994a
fix(design-tools): correct radius-on-full-bleed and default to dark mode
SaintPatrck Jun 17, 2026
f06a6df
test(design-tools): de-bias eval fixtures
SaintPatrck Jun 22, 2026
796b94f
test(design-tools): neutralize eval fixture filenames
SaintPatrck Jun 22, 2026
a62ab37
test(design-tools): make the FP control fixture genuinely canon-compl…
SaintPatrck Jun 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
{
"name": "bitwarden-design-tools",
"source": "./plugins/bitwarden-design-tools",
"version": "0.1.0",
"version": "0.2.0",
"description": "Design toolkit for Bitwarden β€” non-persona skills for the design lifecycle. Content style guide reference, Figma Dev Mode MCP usage, Bitwarden brand application, design-to-engineering handoff prep, Design System governance, and the Product and Design Jira workflow. Composed by the bitwarden-designer agent and usable standalone."
}
]
Expand Down
15 changes: 14 additions & 1 deletion .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,17 @@
"bwi",
"boardId",
"bwwl",
"Cantarell",
"catchable",
"checkmarx",
"CLAUDECODE",
"CMYK",
"codeBlock",
"CODEOWNERS",
"Confluence",
"Consolas",
"CQL",
"ctfassets",
"customfield",
"cvss",
"Dashlane",
Expand All @@ -36,6 +39,7 @@
"ECDH",
"ECIES",
"editui",
"evenodd",
"ESL",
"evals",
"excalidraw",
Expand Down Expand Up @@ -68,15 +72,19 @@
"keyserver",
"lockdown",
"lockfiles",
"lockup",
"lockups",
"maxResults",
"mcp",
"Menlo",
"metacharacters",
"modelcontextprotocol",
"msword",
"MVVM",
"myapp",
"mypassword",
"myproject",
"Neue",
"Newtonsoft",
"nextPageToken",
"numstat",
Expand All @@ -100,6 +108,7 @@
"sast",
"sbom",
"semver",
"Segoe",
"shellcheck",
"shortlog",
"shortstat",
Expand Down Expand Up @@ -136,13 +145,17 @@
"vulns",
"WCAG",
"webui",
"wordmark",
"wordprocessingml",
"worktree",
"worktrees",
"xoxb",
"Zeroize",
"zeroization",
"zeroized"
"zeroized",
"offbrand",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⛏️ We alphabetize this.

"onbrand",
"scriptable"
],
"flagWords": [],
"ignorePaths": [
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,10 @@ Thumbs.db
# Node
node_modules
pnpm-debug.log

# Eval run outputs (scratch; regenerated by grade.py)
plugins/**/evals/runs/

# Python bytecode
__pycache__/
*.pyc
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ A curated collection of plugins for AI-assisted development at Bitwarden. Enable
| [bitwarden-code-review](plugins/bitwarden-code-review/) | 1.11.0 | Autonomous code review agent following Bitwarden engineering standards with GitHub integration |
| [bitwarden-delivery-tools](plugins/bitwarden-delivery-tools/) | 1.4.0 | Delivery lifecycle skills: initiative funnel navigation, work transitions, tech breakdowns and cross-team signoffs, commits, PRs, preflight, labeling |
| [bitwarden-designer](plugins/bitwarden-designer/) | 0.1.0 | Product designer persona: Code of Conduct and 30/60/90 critique, critique facilitation; dispatches into bitwarden-design-tools |
| [bitwarden-design-tools](plugins/bitwarden-design-tools/) | 0.1.0 | Design toolkit: content style guide, Figma Dev Mode MCP, Bitwarden brand application, handoff prep, Design System governance, Product and Design Jira |
| [bitwarden-design-tools](plugins/bitwarden-design-tools/) | 0.2.0 | Design toolkit: content style guide, Figma Dev Mode MCP, Bitwarden brand application, handoff prep, Design System governance, Product and Design Jira |
| [bitwarden-devops-engineer](plugins/bitwarden-devops-engineer/) | 0.1.3 | DevOps engineering assistant: workflow compliance linting, action security auditing, and org-wide CI/CD remediation |
| [bitwarden-init](plugins/bitwarden-init/) | 1.2.0 | Initialize and enhance CLAUDE.md files with Bitwarden's standardized template format |
| [bitwarden-product-analyst](plugins/bitwarden-product-analyst/) | 0.1.5 | Product analyst agent for creating comprehensive Bitwarden requirements documents from multiple sources |
Expand Down
7 changes: 5 additions & 2 deletions plugins/bitwarden-design-tools/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "bitwarden-design-tools",
"version": "0.1.0",
"version": "0.2.0",
"description": "Design toolkit for Bitwarden β€” non-persona skills for the design lifecycle. Content style guide reference, Figma Dev Mode MCP usage, Bitwarden brand application, design-to-engineering handoff prep, Design System governance, and the Product and Design Jira workflow. Composed by the bitwarden-designer agent and usable standalone.",
"author": {
"name": "Bitwarden",
Expand All @@ -18,6 +18,9 @@
"design-system",
"brand",
"branding",
"accessibility"
"accessibility",
"deliverable",
"html",
"dashboard"
Comment on lines +22 to +24

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Are these useful? They come off as really generic to me.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not. More likely to trigger false-positives than actually help. Will remove.

]
}
23 changes: 23 additions & 0 deletions plugins/bitwarden-design-tools/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,29 @@ All notable changes to the `bitwarden-design-tools` plugin will be documented in
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.2.0] - 2026-06-17

### Changed

- `applying-bitwarden-branding` now covers both **building** on-brand standalone deliverables (dashboards, recaps, reports, slide decks, one-pagers, mockups) and **reviewing** whether a deliverable is on-brand. Reviews are calibrated to separate canonical violations from brand-silent pragmatic choices, and brand-silent choices that visibly shape the deliverable (voice and tone) are surfaced to the requester when working interactively rather than silently defaulted. The canon is now bundled (assets + tokens) for offline, verbatim use rather than referenced externally.
- `applying-bitwarden-branding` now ships **both light and dark surfaces by default**. Deliverables follow the device's `prefers-color-scheme` for the initial surface and expose a light/dark toggle that overrides it, with the dark surface derived from Deep Blue. Previously surface mode defaulted to light and was treated as a per-deliverable question.

### Added

- Bundled brand assets for `applying-bitwarden-branding`: `bitwarden-tokens.css` (palette + 36px radius + Inter on `:root`), the official lockup (`bitwarden-lockup-official.svg`), and derived per-variant SVGs (horizontal and vertical lockups, shield, wordmark, in blue and white), each with path data verbatim from the official lockup.
- Reference docs `typography.md` and `logo-usage.md`, and `examples/on-brand-one-pager.html` demonstrating light and dark compositions.
- `scripts/verify-brand-canon.sh` to detect drift between the bundled palette and the brand repository's `palette.scss` and report the correct values to use (drift detector; runs on demand). It never modifies the bundle.
- `evals/` regression harness for `applying-bitwarden-branding`: mock-only off-brand and on-brand fixtures, a pre-registered objective rubric, and a deterministic grader (`grade.py`) that reads the canonical palette and the official-logo signatures from the live bundled assets so it tracks canon changes. The grader covers the context-free checks (Inter, primary palette, verbatim lockup, 36px radius, off-brand-font and off-palette detection); the calibration dimensions (review specificity, false-positive/over-flagging) are left to a blind LLM grader.

### Fixed

- `--bw-yellow` corrected to `#FDC700` to match the brand repository's `$tertiary-yellow` (was `#FFD700`).
- Clarified the 36px radius rule: the foundation is for surfaces that float with space around them, and full-bleed headers/footers flush to the page or viewport edge should not be rounded (inset them so all corners float, or leave the flush edges square). Was producing rounded corners against straight page edges on full-bleed headers.

### Removed

- `references/brand-assets.md` β€” its repo-path asset inventory and trademark note are folded into `references/logo-usage.md`.

## [0.1.0] - 2026-05-22

### Added
Expand Down
2 changes: 1 addition & 1 deletion plugins/bitwarden-design-tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This plugin ships skills only β€” no agent. The persona half lives in [`bitwarde
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `content-style-guide` | Bitwarden's product content style guide for GUI copy β€” voice, tone, AP-style-with-exceptions grammar, sentence case in UI, no ampersands, and accessibility-first language at a U.S. 7th-grade reading level. Lean SKILL.md with detailed rules split across `references/grammar-mechanics.md` and `references/accessibility-rules.md`. |
| `using-figma` | Read and inspect Figma designs via the Dev Mode MCP server. Per-job-to-be-done tool selection for read tools (`get_design_context`, `get_metadata`, `get_screenshot`, `get_variable_defs`, `search_design_system`, `get_libraries`), with Code Connect and write tools documented in their own subsections. Foundational β€” most other skills compose it. |
| `applying-bitwarden-branding` | Apply Bitwarden brand standards β€” logo usage, color palette, typography, iconography, and capitalization rules. Grounded in [bitwarden.com/brand](https://bitwarden.com/brand/) and the [bitwarden/brand](https://github.com/bitwarden/brand) repository. Full palette and asset inventory in `references/`. |
| `applying-bitwarden-branding` | Apply or review Bitwarden brand standards (palette, Inter, official lockup, 36px radius) on standalone deliverables and design-adjacent assets, with bundled canonical assets and tokens. Grounded in [bitwarden.com/brand](https://bitwarden.com/brand/) and the [bitwarden/brand](https://github.com/bitwarden/brand) repository. |
| `preparing-design-handoff` | The end-of-In-Design gate / checklist. Confirm the Figma file is Ready-for-Dev (sections aligned to stories, tokens library-bound, strings annotated, edge states covered) and that the Jira state is aligned (Figma linked to the Epic's Design field, sections marked Ready for Dev, EM transitions the Epic). |
| `evolving-design-system-components` | Propose a new UI pattern or modify an existing Component Library component per Bitwarden's published governance process β€” design-team alignment, Core vs. Recipe/Snowflake with UI Foundation, Figma branching and property conventions, review gates, merge timing. Figma conventions in `references/figma-conventions.md`. |
| `navigating-design-jira-process` | Move design work through Bitwarden's Product and Design Jira workflow β€” final designs attached to tickets, the 30/60/90 critique cadence tracked in Figma, status transitions, and the one-off engineering story flow. |
Expand Down
Loading