name: figma-navigator
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
name: figma-navigator description: Provides context about the regelrecht Figma design system and helps with Figma-related tasks like component lookups and design comparisons. Use this skill proactively when: implementing UI components, looking up Figma node IDs, comparing code with Figma designs, downloading Figma assets, or working with design tokens. Activate automatically when user mentions Figma, design system, component styling, or asks about RR-Components. allowed-tools: Read, mcp__figma-with-token__get_figma_data, mcp__figma-with-token__download_figma_images
Figma Navigator
This skill provides quick access to the RegelRecht (RR) Figma design system structure and helps with Figma-related tasks.
Figma File Info
- File Key:
5DyHMXUNVxbgH7ZjhQxPZe - File Name: RR-Components
- URL: https://www.figma.com/design/5DyHMXUNVxbgH7ZjhQxPZe/RR-Components
Quick Lookup
For component IDs and structure, read the reference file:
.claude/skills/figma-navigator/reference.md
This contains all component node IDs, pages, variants, and implementation details.
Workflows
1. Find a Component's Figma ID
- Check
reference.mdfor the component - Use the node ID directly with the Figma MCP tool
Example:
mcp__figma-with-token__get_figma_data(fileKey: "5DyHMXUNVxbgH7ZjhQxPZe", nodeId: "20-27")
2. Get Component Details
When you need current properties, variants, or layout info:
mcp__figma-with-token__get_figma_data(
fileKey: "5DyHMXUNVxbgH7ZjhQxPZe",
nodeId: "<component-node-id>"
)
The MCP tool returns:
- Component variants and their node IDs
- Layout properties (padding, gap, sizing)
- Text styles and colors
- Border radius and strokes
3. Compare Figma vs Implementation
- Get component specs from Figma using node ID from
reference.md - Read the implementation file (listed in reference.md)
- Compare:
- Token usage (should match Figma variables)
- Sizing (min-height, padding, gap)
- Variants (all Figma variants should be implemented)
- States (disabled, focused, hover)
4. Download Component Images
For pixel comparison or assets:
mcp__figma-with-token__download_figma_images(
fileKey: "5DyHMXUNVxbgH7ZjhQxPZe",
nodes: [
{ nodeId: "<node-id>", fileName: "component-name.png" }
],
localPath: "/path/to/save"
)
5. Find Specific Variant
Each component set contains multiple variants. The variant node IDs follow patterns:
- Button variants: Inside component set
20:27- Specific variant:
style=accent-filled, size=m=20:28 - Pattern:
style={style}, size={size}, is-disabled={bool}
- Specific variant:
Use get_figma_data on the component set to see all variants.
Rate Limits
The Figma MCP can hit rate limits. If you get errors:
- Wait 60-120 seconds
- Use cached info from
reference.mdwhen possible - Open Figma in browser as fallback
Token Hierarchy
The design system uses three token layers:
Primitives (--primitives-*) → base values (colors, space, opacity)
Semantics (--semantics-*) → meaningful tokens (buttons, controls, focus)
Components (--components-*) → component-specific tokens
Always use semantic tokens when available. Only use primitives when no semantic exists.
Key Design Tokens
Controls (sizing)
--semantics-controls-xs-min-size: 24px--semantics-controls-s-min-size: 32px--semantics-controls-m-min-size: 44px
Focus Ring
--semantics-focus-ring-thickness: 2px--semantics-focus-ring-color: #0f172a
Disabled State
- Use
calc(var(--primitives-opacity-disabled, 38) / 100)for opacity
Tips
- Start with reference.md - Don't search Figma from scratch
- Use node IDs with colons - Format is
123:456or123-456(both work) - Component sets vs components - Component sets (like
20:27) contain multiple variant components - Check asymmetric padding - Figma sometimes uses different top/bottom padding
Storybook Integration
The project uses @minbzk/storybook web components. When implementing UI, always use these components instead of custom HTML/CSS.
Storybook Docs: https://minbzk.github.io/storybook
Available Web Components
| Component | Tag | Variants |
|---|---|---|
| Box | <rr-box> | padding, radius |
| Button | <rr-button> | accent-filled, accent-outlined, accent-tinted, neutral-tinted, accent-transparent, danger-tinted; sizes: xs, s, m |
| Checkbox | <rr-checkbox> | checked, indeterminate, disabled |
| Icon Button | <rr-icon-button> | Same variants as Button |
| Menu Bar | <rr-menu-bar> | With title, links, disabled items |
| Radio Button | <rr-radio-button> | In groups |
| Switch | <rr-switch> | On/off states, disabled |
| Toggle Button | <rr-toggle-button> | selected states, with icons |
| Top Navigation Bar | <rr-top-navigation-bar> | With logo, back button, utility menu |
| Back Button | <rr-back-button> | Sub-component |
| Logo | <rr-logo> | Sub-component with branding |
| Utility Menu Bar | <rr-utility-menu-bar> | Search, help, settings |
Figma → Storybook Mapping
When converting Figma designs to code:
| Figma Component | Storybook Tag |
|---|---|
| button (accent-filled) | <rr-button variant="accent-filled"> |
| button (accent-outlined) | <rr-button variant="accent-outlined"> |
| icon-button | <rr-icon-button> |
| checkbox-list-cell | <rr-checkbox> |
| radio-button-list-cell | <rr-radio-button> |
| switch-list-cell | <rr-switch> |
| toggle-button | <rr-toggle-button> |
| top-navigation-bar | <rr-top-navigation-bar> |
Components NOT in Storybook
These components don't exist in Storybook and require custom CSS:
| Component | Description | Custom CSS Location |
|---|---|---|
| List | Lists with sections, headers, chevrons | css/components/list.css |
| Tabs | Tab navigation with panels | css/components/tabs.css |
| Search Field | Input with search icon | Custom |
| Split Pane Layout | Multi-column layout system | css/layout.css |
| Editor Toolbar | Rich text toolbar (B, I, U, undo, redo) | css/components/editor.css |
Usage in HTML
<!-- Import web components -->
<script type="module" src="/main.js"></script>
<!-- Use components -->
<rr-button variant="accent-filled" size="m">Primary Button</rr-button>
<rr-button variant="accent-outlined" size="m">Secondary Button</rr-button>
<rr-icon-button variant="neutral-tinted" size="s">
<svg>...</svg>
</rr-icon-button>
Installation
npm install @minbzk/storybook
Requires GITHUB_TOKEN with read:packages scope for npm registry access.
More by MinBZK
View allPerforms critical code reviews using REVIEW.md guidelines. Evaluates code quality, architecture, testing, and domain-specific concerns (legal faithfulness, cross-law references, engine safety). Use after completing significant code changes or before merging.
Interprets legal text in regelrecht YAML files and generates machine-readable execution logic with parameters, operations, outputs, and cross-law references. Use when user wants to make a law executable, add machine_readable sections, or interpret legal articles for computational execution.
Downloads Dutch official legal publications including national laws (wetten, ministeriele regelingen, koninklijk besluiten), local regulations (lokale verordeningen, gemeentelijk beleid), and implementation policies (uitvoeringsbeleid) from government databases (BWB, CVDR) and converts them to YAML format with textual content only. Use when user wants to download, fetch, or import any Dutch regulation by name or type.
Gebruik deze skill wanneer de gebruiker vraagt over Digikoppeling, koppelvlakstandaarden, ebMS2, WUS, WSDL, SOAP, REST-API koppelvlak, grote berichten, OIN, Organisatie Identificatie Nummer, PKIoverheid, beveiligingsstandaarden overheid, routering en adressering, CPA, berichtuitwisseling tussen overheidsorganisaties.
