EasyPlatform figma-design
[Frontend] Extract design context from Figma URLs via MCP, REST API, or screenshot fallback. Produces structured design tokens, component inventory, and layout specs for design-spec consumption. Triggers on figma url, figma design, extract figma, figma to code.
git clone https://github.com/duc01226/EasyPlatform
T=$(mktemp -d) && git clone --depth=1 https://github.com/duc01226/EasyPlatform "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/figma-design" ~/.claude/skills/duc01226-easyplatform-figma-design && rm -rf "$T"
.claude/skills/figma-design/SKILL.md<!-- SYNC:critical-thinking-mindset -->[IMPORTANT] Use
to break ALL work into small tasks BEFORE starting.TaskCreate
<!-- /SYNC:critical-thinking-mindset --> <!-- SYNC:ai-mistake-prevention -->Critical Thinking Mindset — Apply critical thinking, sequential thinking. Every claim needs traced proof, confidence >80% to act. Anti-hallucination: Never present guess as fact — cite sources for every claim, admit uncertainty freely, self-check output for errors, cross-reference independently, stay skeptical of own confidence — certainty without evidence root of all hallucination.
<!-- /SYNC:ai-mistake-prevention -->AI Mistake Prevention — Failure modes to avoid on every task:
- Check downstream references before deleting. Deleting components causes documentation and code staleness cascades. Map all referencing files before removal.
- Verify AI-generated content against actual code. AI hallucinates APIs, class names, and method signatures. Always grep to confirm existence before documenting or referencing.
- Trace full dependency chain after edits. Changing a definition misses downstream variables and consumers derived from it. Always trace the full chain.
- Trace ALL code paths when verifying correctness. Confirming code exists is not confirming it executes. Always trace early exits, error branches, and conditional skips — not just happy path.
- When debugging, ask "whose responsibility?" before fixing. Trace whether bug is in caller (wrong data) or callee (wrong handling). Fix at responsible layer — never patch symptom site.
- Assume existing values are intentional — ask WHY before changing. Before changing any constant, limit, flag, or pattern: read comments, check git blame, examine surrounding code.
- Verify ALL affected outputs, not just the first. Changes touching multiple stacks require verifying EVERY output. One green check is not all green checks.
- Holistic-first debugging — resist nearest-attention trap. When investigating any failure, list EVERY precondition first (config, env vars, DB names, endpoints, DI registrations, data preconditions), then verify each against evidence before forming any code-layer hypothesis.
- Surgical changes — apply the diff test. Bug fix: every changed line must trace directly to the bug. Don't restyle or improve adjacent code. Enhancement task: implement improvements AND announce them explicitly.
- Surface ambiguity before coding — don't pick silently. If request has multiple interpretations, present each with effort estimate and ask. Never assume all-records, file-based, or more complex path.
Quick Summary
Goal: Extract structured design context from Figma designs for downstream use by
design-spec and planning skills.
Workflow:
- Detect Input — Parse Figma URL, extract file key + node ID
- Select Extraction Method — 4-level fallback chain
- Extract Context — Design tokens, components, layout, typography
- Output Artifact — Structured markdown for design-spec consumption
Key Rules:
Frontend/UI Context (if applicable)
<!-- SYNC:ui-system-context -->When this task involves frontend or UI changes,
<!-- /SYNC:ui-system-context -->UI System Context — For ANY task touching
,.ts,.html, or.scssfiles:.cssMUST ATTENTION READ before implementing:
— component base classes, stores, formsdocs/project-reference/frontend-patterns-reference.md — BEM methodology, SCSS variables, mixins, responsivedocs/project-reference/scss-styling-guide.md — design tokens, component inventory, iconsdocs/project-reference/design-system/README.mdReference
for project-specific paths.docs/project-config.json
-
Component patterns:
(content auto-injected by hook — check for [Injected: ...] header before reading)docs/project-reference/frontend-patterns-reference.md -
Styling/BEM guide:
docs/project-reference/scss-styling-guide.md -
Design system tokens:
docs/project-reference/design-system/README.md -
Always try highest-fidelity method first, fallback gracefully
-
Output must be consumable by
anddesign-specui-wireframe-protocol -
Keep extraction under 5K tokens per design
Extraction Fallback Chain
Level 1: Official Figma MCP (Best Fidelity)
Check if MCP tools available: look for
get_design_context in tool list.
If available:
— structured layout, components, tokens, constraintsget_design_context
— visual reference imageget_screenshot
— map Figma components to code componentsget_code_connect_map
Level 2: GLips Figma-Context-MCP (Good Fidelity)
Check if GLips MCP tools available (look for figma-context tools).
If available:
- Extract file metadata, frame structure, component list
- Limited to read-only operations
Level 3: Figma REST API (Manual)
If
FIGMA_ACCESS_TOKEN environment variable exists:
- Call
via bash scriptGET /v1/files/{file_key}/nodes?ids={node_id} - Parse response for: component names, styles, layout properties
- Limited — no screenshot, no Code Connect
Level 4: Screenshot + ai-multimodal (Always Available)
If no MCP and no API token:
- Ask user via
: "Please screenshot the Figma frame and paste here"AskUserQuestion - Analyze via
skill with design extraction promptsai-multimodal - Extract: approximate colors, fonts, spacing, layout, components
Output Format
Save to
team-artifacts/design-specs/{YYMMDD}-figma-extract-{slug}.md:
# Figma Design Extract: {Name} **Source:** {Figma URL} **Method:** {MCP Level 1 | MCP Level 2 | REST API | Screenshot} **Date:** {YYMMDD} ## Design Tokens | Category | Token | Value | | ---------- | --------- | -------------------- | | Color | Primary | {hex} | | Color | Secondary | {hex} | | Typography | Heading | {font, size, weight} | | Spacing | Base | {px} | ## Component Inventory - **{ComponentName}** — {description}, variants: {list} ## Layout {ASCII wireframe per ui-wireframe-protocol} ## Responsive {Breakpoint behavior if detectable}
When to Use
- Figma URL detected in PBI, design-spec, or user prompt
- Called by
when Figma URL is presentdesign-spec - Called by
skill during Design Context Extraction stepplanning
When NOT to Use
- No Figma URL present — skip, proceed to
directlydesign-spec - Hand-drawn wireframe — use
insteadwireframe-to-spec - Screenshot of existing app — use
insteaddesign-screenshot
See Also
— MCP server setup guide (created in Phase 09)references/figma-mcp-setup.md
— integration protocol.claude/skills/planning/references/figma-integration.md
— URL detection hook.claude/hooks/figma-context-extractor.cjs
Closing Reminders
- IMPORTANT MUST ATTENTION break work into small todo tasks using
BEFORE startingTaskCreate - IMPORTANT MUST ATTENTION search codebase for 3+ similar patterns before creating new code
- IMPORTANT MUST ATTENTION cite
evidence for every claim (confidence >80% to act)file:line - IMPORTANT MUST ATTENTION add a final review todo task to verify work quality MANDATORY IMPORTANT MUST ATTENTION READ the following files before starting: <!-- SYNC:ui-system-context:reminder -->
- IMPORTANT MUST ATTENTION read frontend-patterns-reference, scss-styling-guide, design-system/README before any UI change. <!-- /SYNC:ui-system-context:reminder --> <!-- SYNC:critical-thinking-mindset:reminder -->
- MUST ATTENTION apply critical thinking — every claim needs traced proof, confidence >80% to act. Anti-hallucination: never present guess as fact. <!-- /SYNC:critical-thinking-mindset:reminder --> <!-- SYNC:ai-mistake-prevention:reminder -->
- MUST ATTENTION apply AI mistake prevention — holistic-first debugging, fix at responsible layer, surface ambiguity before coding, re-read files after compaction. <!-- /SYNC:ai-mistake-prevention:reminder -->