claude code skill
chrome ships as a claude code skill: a folder of instructions that teaches your agent the entire library — what every component does, how it works internally, every prop with its type and default, which components compose which, and the design language rules the code has to follow. with it installed, claude picks the right component, installs it with the cli, and writes code that matches the system instead of guessing.
whats inside:
SKILL.md— the core: install workflow, design language, cross-component conventions, and a fast map of which component fits which job.references/— deep-dive files covering all ~109 components by group (primitives, overlays & navigation, effects, content & data, editor suite, audio), each with role, internals, full prop tables, and canonical examples.
install with bmo
the skill is distributed via bmo — a tiny installer for claude code skills. no marketplaces, no plugin wrappers: it validates a skill folder and copies it into claude code's skills directory. it never executes anything it downloads.
# get bmo (go 1.21+)go install github.com/justin06lee/bmo@latest# install the chrome skill globally (all your projects)bmo add justin06lee/chrome.md# ...or just into the current projectbmo add justin06lee/chrome.md here
here installs to the project's .claude/skills/; everywhere (the default) installs globally to ~/.claude/skills/. claude code picks the skill up automatically — in a session, it also answers to /chrome.
managing it
bmo inspect justin06lee/chrome.md # preview before installingbmo list # what's installed wherebmo update chrome # pull the latest versionbmo remove chrome # uninstallbmo doctor # diagnose skill-directory issues
update re-resolves the original source, so the skill tracks this registry as components are added and changed.
what it unlocks
ask claude to "build a settings page with chrome components" and it will check for chrome.json, run init if needed, pick components from the reference map (and read the exact props before using them), install them with one add command trusting transitive dependencies, and keep the result inside the design language — dark-only, square corners, lowercase, no stray arrows.