dev-chrome

Builds and upstreams new components into the chrome React component registry.

4|Updated Aug 22, 2025
One-click install
npx skills add https://github.com/justin06lee/justin06lee.dev --skill dev-chrome-justin06lee
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dev-chrome
Source: https://github.com/justin06lee/justin06lee.dev/tree/main/.gemini/skills/dev-chrome
Command: npx skills add https://github.com/justin06lee/justin06lee.dev --skill dev-chrome-justin06lee

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? When a UI need isn't covered by the chrome component registry, developers often build bespoke one-off components that stay local to a project and get rewritten in the next one. This Skill guides an agent through growing the registry properly: finding the registry repo, avoiding duplicates, meeting the house quality bar, and upstreaming the result into both the registry and the docs site. ## Core Features & Use Cases - Duplicate Detection: Checks the registry and reference docs to decide whether a need is a genuinely new component or just a prop on an existing one, with concrete precedent examples (switch vs checkbox, stepper vs tabs). - Quality Bar Enforcement: Encodes the registry's design language (dark-only, square corners, lowercase copy, rationed color) and engineering rules (hydration safety, reduced-motion handling, real semantics, keyboard support). - End-to-End Upstreaming: Covers creating the component, meta.ts contract, demo, docs-site wiring, reference documentation, drift checking via tools/refs.mjs, and installing the result back into consuming projects. - Use Case: While building a feature in a project that consumes chrome, you need a UI element the registry lacks. The Skill walks you through adding it to the registry repo, verifying the build, documenting it, and installing it back via the chrome CLI. ## Quick Start Ask the agent to add a new component to the chrome registry, for example: "chrome doesn't have a rating input — build it as a proper registry component and upstream it."

Frequently Asked Questions about dev-chrome

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new component to the chrome registry?

Create a directory under packages/registry/<name>/ containing the component file, a meta.ts contract via defineComponent, and a demo.tsx. Then wire it into the docs site's demo map, run bun run build:registry, typecheck, and tests, and add a reference section so node tools/refs.mjs check reports no drift.

How do I decide between a new component and a prop on an existing one?

A new component is justified by different semantics, not different styling. If the difference is presentational or additive, add an optional prop with a default preserving current behavior. Write the one-sentence justification for why it isn't an existing component before writing any code.

What design rules do chrome registry components follow?

Components are dark-only with black backgrounds, square corners, 1px white/10-20 borders, lowercase copy, and rationed color limited to danger red and warn amber. They must be hydration-safe, handle prefers-reduced-motion deliberately, use real semantics, and support keyboard interaction.

Can I build a chrome component while working in another project?

Yes. Build the feature with existing registry components, then add genuinely missing pieces to the registry repo itself rather than as page-local one-offs. Afterward, install the new component back into the consuming project with bunx @justin06lee/chrome@latest add <name>.

Why does node tools/refs.mjs check fail after adding a component?

The check fails when the reference documentation drifts from the registry, such as a missing reference section, an undocumented prop, or a default that disagrees with meta.ts. Run node tools/refs.mjs scaffold <name> to generate the section skeleton, then write the narrative content.