bitovi/ai-enablement-prompts/figma-component-sync
Claude Code and agent skill by bitovi/ai-enablement-prompts
- community
Checking that the SKILL.md file is still in the repository.
Check a React component against its Figma design source and identify differences. Use when reviewing component implementations, syncing designs, auditing visual accuracy, or updating components to match new Figma designs.
Install
npx vskill@latest install bitovi/ai-enablement-prompts/figma-component-syncSKILL.md
Skill: Figma Component Sync
This skill checks a component's implementation against its Figma design source and helps you decide which differences to accept, ignore, or implement.
When to Use
- Reviewing if a component matches its Figma design
- Auditing visual accuracy of existing components
- Updating components after Figma design changes
- Documenting known/accepted design deviations
Prerequisites
- Component must have a
README.mdwith a Figma link in the format:
``markdown ## Figma Source https://www.figma.com/design/{fileKey}/{fileName}?node-id={nodeId}&m=dev ``
- Figma MCP must be configured and authenticated
Workflow Overview
Step-by-Step Instructions
Before starting any work, call manage_todo_list with the following items and mark each one in-progress before starting it and completed immediately after finishing:
Step 1: Initialize Check
Given a component path (e.g., packages/client/src/components/inline-edit/EditableText):
- Create output directory:
`` .temp/component-updates/{component-name}/ ``
- Find and read the component's README.md to extract Figma link
- Check parent folder for additional README.md with relevant Figma context
- Fetch Figma design context using
mcp_figma_get_design_context:
- Extract
fileKeyandnodeIdfrom the Figma URL - Call the MCP tool with those parameters
- Save output to
.temp/component-updates/{component-name}/figma-context.md
- Read current component implementation:
- Main component file (
.tsx) - Styles if separate
- Save analysis to
.temp/component-updates/{component-name}/current-implementation.md
Step 2: Trace Dependencies
Identify internal components that may implement Figma-specified styles:
- Parse imports from the main component file:
- Look for imports from relative paths (e.g.,
../BaseEditable,../EditControls) - Ignore external packages (
react,lucide-react,@/components/ui/*)
- For each internal dependency:
- Read the component's source code
- Check if it has its own README.md with Figma source
- If yes, fetch that Figma context too
- Map Figma properties to responsible files:
- For each Figma property (spacing, colors, shadows, etc.)
- Determine which file's code actually implements it
- Create a property-to-file mapping
- Save dependency analysis to
.temp/component-updates/{component-name}/dependencies.md:
```markdown # Dependency Analysis: {ComponentName}
## Internal Dependencies
| Component | Path | Has Figma Source? | |
|---|---|---|---|
| BaseEditable | ../BaseEditable | Yes (node 1252-9022) | |
| EditControls | ../EditControls | No |
## Property Ownership Map
| Figma Property | Responsible File | Current Value | |
|---|---|---|---|
| Label-Content Gap | BaseEditable.tsx | gap-1 (4px) | |
| Content Padding | BaseEditable.tsx | py-0.5 (2px) | |
| Button Shadow | EditControls.tsx | shadow-sm | |
| Input Border | EditableText.tsx | border-input |
```
Step 3: Generate Comparison
Create .temp/component-updates/{component-name}/comparison.md:
IMPORTANT: Only include differences and decisions. Do NOT include:
- Figma Design Summary sections
- Current Implementation Summary sections
- "Previously Matching" or "No Changes Needed" sections
Step 4: User Review
Prompt the user to:
- Open the
comparison.mdfile - Review each difference (grouped by file)
- Mark decisions inline
- Save the file
Use this prompt format:
Step 5: Apply Decisions
After user completes review:
- Parse the comparison.md for decisions (grouped by file)
- For IMPLEMENT decisions:
- Generate a technical plan per file
- Apply code changes to each file
- Run tests to verify
- For ACCEPT decisions:
- Add to the target component's README.md under "## Accepted Design Differences"
- Include which file the deviation is in
- For SKIP decisions:
- Leave as-is for future review
Important: When changing dependency files (like BaseEditable), consider:
- These changes affect ALL components using that dependency
- Document the change scope in the implementation plan
- Run broader test coverage if needed
Output Files Structure
README.md Format for Accepted Differences
Components should document accepted differences in their README:
Dependency Detection Rules
When tracing dependencies, include a component if:
- It's imported from a relative path within the same component family
- ✅
import { BaseEditable } from '../BaseEditable' - ✅
import { EditControls } from '../EditControls' - ❌
import { Button } from '@/components/ui/button'(external UI lib) - ❌
import { cn } from '@/lib/utils'(utility, not component)
- It renders visual elements (not just hooks or utilities)
- It implements styling that corresponds to Figma properties:
- Layout (flex, gap, padding, margin)
- Colors (background, text, border)
- Typography (font size, weight, line-height)
- Effects (shadow, border-radius)
Property-to-File Mapping Guidelines
When determining which file "owns" a Figma property:
| Figma Element | Usually Owned By | |
|---|---|---|
| Label styling | Base/wrapper component | |
| Content area styling | Base/wrapper component | |
| Edit mode container | Target component | |
| Input field styling | Target component | |
| Save/Cancel buttons | Controls component | |
| Hover states | Base/wrapper component | |
| Focus rings | Usually the focused element's component |
Example Usage
Check a single component:
Check all inline-edit components:
Apply decisions after review:
Prompts for Follow-up Actions
After generating comparison.md, provide these follow-up prompts:
To apply changes:
To update README with accepted deviations:
Common Figma Properties to Check
| Category | Figma Property | Code Equivalent | |
|---|---|---|---|
| Colors | Fill colors | bg-*, text-*, CSS colors | |
| Typography | Font size/weight | text-*, font-* | |
| Spacing | Auto layout gaps | gap-*, space-*, p-*, m-* | |
| Borders | Stroke | border-*, ring-* | |
| Shadows | Effects | shadow-* | |
| Corners | Corner radius | rounded-* | |
| Sizing | Width/Height | w-*, h-*, min-*, max-* |
Troubleshooting
"No Figma link found"
- Ensure README.md exists in the component folder
- Check the link format matches expected pattern
"MCP authentication failed"
- Verify Figma MCP is configured
- Run
mcp_figma_whoamito check auth status
"Component not found at path"
- Verify the component path is correct
- Check for typos in component name
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingfigma/figma-component-sync/SKILL.md
Popularity
- Repository stars
- 117
- Repository forks
- 62
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 13 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bitovi/ai-enablement-prompts/figma-component-sync)