| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Invoke | /figma:analyze |
| Aliases | /figma:design, /design:analyze |
| Tools | Read, Edit, Write, Glob, Grep |
| Model | sonnet |
| Skills | figma |
| MCP Servers | figma |
/figma:analyze โ ํผ๊ทธ๋ง ๋์์ธ์ ์ฝ๋๋ก ์ฎ๊ฒจ์ฃผ๋ ๋ถ์๊ฐ#
๋์์ด๋๊ฐ ๊ทธ๋ฆฐ ํผ๊ทธ๋ง ํ๋ฉด์ ์ฝ์ด์, ๋ฌด์์ ๋ง๋ค์ด์ผ ํ๋์ง ์ ๋ฆฌํ๊ณ ์ค์ ๊ธฐ๋ฅ ๊ฐ๋ฐ๋ก ์ด์ด์ฃผ๋ ์ ๋ฌธ ์์ด์ ํธ์ ๋๋ค.
ํ๋ง๋๋ก#
๋์์ด๋๊ฐ ๊ทธ๋ฆฐ ํผ๊ทธ๋ง ํ๋ฉด์ ๋ณด๊ณ "์ด๊ฑธ ์ฑ์ผ๋ก ๋ง๋ค๋ ค๋ฉด ๋ฌด์์ด ํ์ํ์ง"๋ฅผ ๋์ ์ ๋ฆฌํด ์ฃผ๋ ๋ถ์๊ฐ์ ๋๋ค. ์ค๊ณ ๋๋ฉด์ ๋ณด๊ณ ํ์ํ ์์ฌ์ ์์ ๋ชฉ๋ก์ ๋ฝ์์ฃผ๋ ํ์ฅ ๋ฐ์ฅ๊ณผ ๋น์ทํด์.
๋๊ฐยท์ธ์ ์ฐ๋์#
- ํผ๊ทธ๋ง ๋์์ธ์ ๋์๋๋ฐ, ์ด๊ฑธ ์ค์ ํ๋ฉด(์ฑ)์ผ๋ก ์ฎ๊ธฐ๋ ์์ ์ ์์ํ๋ ค๋ ๊ฒฝ์ฐ
- ๋์์ธ์ ๋ณด๊ณ "์ด๋ค ๋ฐ์ดํฐ๊ฐ ํ์ํ๊ณ , ์ด๋ค ํ๋ฉด ์์๊ฐ ์๋์ง" ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํ๊ณ ์ถ์ ๋
๐ ์ฌ์ฉํ๋ ค๋ฉด ํผ๊ทธ๋ง์ ์ฐ๊ฒฐ๋ ๋๊ตฌ(figma MCP)๊ฐ ์ผ์ ธ ์์ด์ผ ํฉ๋๋ค.
๋ฌด์์ ํด์ฃผ๋์#
๋ถ์์ด ๋๋๋ฉด .claude/docs/{๊ธฐ๋ฅ์ด๋ฆ}/ ํด๋ ์๋์ ๋ค์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ง๋ค์ด์ง๋๋ค.
- figma_analysis.md โ ํผ๊ทธ๋ง ํ๋ฉด์ ๋ถ์ํ ๊ฒฐ๊ณผ
- requirements.md โ "๋ฌด์์ ๋ง๋ค์ด์ผ ํ๋์ง" ์ ๋ฆฌํ ์๊ตฌ์ฌํญ ๋ฌธ์
- screenshots/ โ ๋ถ์์ ์ฌ์ฉํ ํ๋ฉด ์บก์ฒ ์ด๋ฏธ์ง
์ฌ๊ธฐ์ ๋ํด, ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ์ค์ ๊ธฐ๋ฅ ๊ฐ๋ฐ(/feature:create)๊ณผ ZenHub ์์
์ด์(Epic/Story) ์์ฑ๊น์ง ์ด์ด์ค ์ ์์ต๋๋ค.
์ด๋ป๊ฒ ์ฐ๋์#
# ํผ๊ทธ๋ง์์ ์ง์ ์ ํํ ํ๋ฉด์ ๋ถ์ (๊ธฐ๋ณธ)
/figma:analyze --use-selection
# ํน์ ๋
ธ๋(ํ๋ฉด ์์) ID๋ฅผ ์ง์ ํด์ ๋ถ์
/figma:analyze --node-ids " 1:23,4:56 "
# ์ด๋ฆ์ผ๋ก ํ๋ฉด ์์๋ฅผ ๊ฒ์ํด์ ๋ถ์
/figma:analyze --search-query " ๋ก๊ทธ์ธ ์นด๋ "
# ๋ถ์ ํ ๊ณง๋ฐ๋ก ๊ธฐ๋ฅ ๊ฐ๋ฐ๊น์ง ์๋์ผ๋ก ์ด์ด๊ฐ๊ธฐ
/figma:analyze --use-selection --auto-create
--page-name: ํน์ ํผ๊ทธ๋ง ํ์ด์ง๋ฅผ ์ง์ ํ๊ณ ์ถ์ ๋ ๋ง๋ถ์ ๋๋ค.- ๊ธฐ๋ฅ ์ด๋ฆ์ ์ง์ ์ ์ด์ค ์๋ ์๊ณ , ๋น์๋๋ฉด ์๋์ผ๋ก ์ถ๋ก ํฉ๋๋ค.
์์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์#
ํฌ๊ฒ ๋ค์ฏ ๋จ๊ณ๋ฅผ ์ฐจ๋ก๋ก ์งํํฉ๋๋ค.
- ํ๋ฉด ๊ฐ์ ธ์ค๊ธฐ โ ํผ๊ทธ๋ง์์ ์ ํํ ํ๋ฉด๊ณผ ์์๋ฅผ ์ฝ๊ณ , ์คํฌ๋ฆฐ์ท์ ์ฐ์ต๋๋ค.
- ํ๋ฉด ๋ฏ์ด๋ณด๊ธฐ โ ์ด๋ค ๊ตฌ์ฑ ์์(์นด๋, ์ ๋ ฅ์นธ ๋ฑ)๊ฐ ์๋์ง ์๋ณํ๊ณ , ๊ธ์ยท์์ยท๊ฐ๊ฒฉ ๊ฐ์ ๋์์ธ ์ ๋ณด๋ฅผ ์ถ์ถํฉ๋๋ค.
- ์๊ตฌ์ฌํญ ์ ๋ฆฌ โ ๋์์ธ์ ๋ณด๊ณ ํ์ํ ๋ฐ์ดํฐ ํญ๋ชฉ๊ณผ ํ๋ฉด ์์ ฏ, ๊ทธ๋ฆฌ๊ณ ๋์(์ถ๊ฐยท์กฐํยท์์ ยท์ญ์ )์ ์ ์ํฉ๋๋ค.
- ๊ธฐ๋ฅ ์์ฑ โ ์๊ตฌ์ฌํญ ๋ฌธ์๋ฅผ ๋ง๋ค๊ณ , ์ค์ ๊ธฐ๋ฅ ๊ฐ๋ฐ(
/feature:create)์ ํธ์ถํฉ๋๋ค. - ์์ ์ด์ ์์ฑ โ ZenHub์ Epic/Story๋ฅผ ๋ง๋ค๊ณ ํผ๊ทธ๋ง ๋งํฌ๋ฅผ ์ฒจ๋ถํฉ๋๋ค.
โ๏ธ ์์ธ ์ต์ ยท์คํ ๋ช ์ธ (๊ฐ๋ฐ์ / AI ์์ด์ ํธ์ฉ)
Role#
Figma frame analysis -> UI requirements extraction -> Clean Architecture Feature creation automation
Activation Conditions#
/figma:analyzeActivated when command is invoked- figma MCP server activation required
Parameters#
| Parameter | Required | Description |
|---|---|---|
--node-ids | Option1 | Figma Node ID List (Comma separated) |
--search-query | Option2 | Node Name search query |
--use-selection | Option3 | Use Figma Selected Nodes (default) |
--page-name | โ | Figma Page name |
feature_name | โ | Feature name (can be Auto-inferred) |
--auto-create | โ | Auto feature:create after Analysis |
Execution Flow#
Phase 1: ํผ๊ทธ๋ง ๋
ธ๋ ์์ง
- get_selection / get_node_info
- export_node_as_image (์คํฌ๋ฆฐ์ท)
โ
Phase 2: UI ๋ถ์
- ์ปดํฌ๋ํธ ์๋ณ (FRAME/TEXT/COMPONENT)
- CoUI ๋งคํ (get_by_coui)
- ํ
์คํธ ๋
ธ๋ ์ค์บ (scan_text_nodes)
- Design tokens ์ถ์ถ (extract_design_tokens)
โ
Phase 3: ์๊ตฌ์ฌํญ ์ ์
- Figma โ Entity ํ๋ ๋งคํ
- UI โ Flutter ์์ ฏ ๋ณํ
- CRUD ๋ฉ์๋ ์๋ณ
โ
Phase 4: Feature ์์ฑ
- Requirements document ์์ฑ
- /feature:create ํธ์ถ
โ
Phase 5: ZenHub Story ์์ฑ
- Epic/Story ์์ฑ
- Figma ๋งํฌ ์ฒจ๋ถfigma MCP Key Features#
| Function | MCP Tool |
|---|---|
| Get selected nodes | get_selection |
| Node detail info | get_node_info |
| Export image | export_node_as_image |
| Search nodes | search |
| CoUI ๋งคํ | get_by_coui |
| Text scan | scan_text_nodes |
| Design tokens | extract_design_tokens |
Component Mapping#
Figma to Flutter Conversion#
| Figma Node | Flutter Widget |
|---|---|
| FRAME (vertical auto-layout) | Column / ListView |
| FRAME (horizontal auto-layout) | Row / Wrap |
| COMPONENT "card-*" | Card |
| COMPONENT "input-*" | TextField |
| COMPONENT "dropdown" | DropdownButton |
| TEXT (large font) | Heading |
| RECTANGLE (image fill) | Image.network |
Output Files#
.claude/docs/{feature_name}/
โโโ figma_analysis.md # Figma analysis result
โโโ requirements.md # Requirements document
โโโ screenshots/ # Captured screenshotsChecklist#
Phase 1: Node Collection
- Verify figma MCP activation
- Node info retrieval success
- Screenshot capture complete
Phase 2: UI Analysis
- Component identification complete
- CoUI mapping complete
- Text/field extraction complete
Phase 3: Requirements
- Entity field definition complete
- Flutter widget conversion complete
- API method identification complete