بنقرة واحدة
figma-to-code
Figma 디자인을 코드로 변환. Figma URL과 빈 컴포넌트 파일 경로를 받아 UI 구현. "/figma-to-code", "피그마 구현" 등의 요청 시 사용
القائمة
Figma 디자인을 코드로 변환. Figma URL과 빈 컴포넌트 파일 경로를 받아 UI 구현. "/figma-to-code", "피그마 구현" 등의 요청 시 사용
استنادا إلى تصنيف SOC المهني
React 코드 품질 분석. git diff 기반으로 변경된 코드의 클린 코드 점수 평가. "코드 리뷰", "품질 검사" 등의 요청 시 사용
AI 코드 생성 후 불필요한 코드 정리 스킬. git diff로 변경된 TS/JS 파일을 분석하여 사용되지 않는 코드를 자동 제거한다. 트리거: unused 코드 정리, 불필요한 코드 삭제, dead code 제거, 코드 클린업, AI 작업 후 정리 요청 시
순환 복잡도(Cyclomatic Complexity)가 높은 함수를 인간의 논리적 사고 흐름에 맞게 재구성하는 스킬. "복잡한 함수 정리해줘", "이 함수 읽기 어려워", "순환 복잡도 낮춰줘", "리팩토링 해줘" 등의 요청에 사용. 단순 코드 추출이 아닌 논리적 재구성을 수행하며, 성능보다 가독성과 수정 용이성을 우선시함.
Story 파일에서 컴포넌트 스크린샷 캡처. "/screenshot", "스크린샷 캡처" 등의 요청 시 사용
Deep reasoning skill using Claude Code's Agent Teams. Spawns multiple personas with enforced minimum depth, includes a challenge round where teammates critique each other, and iterates on low-confidence answers. Use when the user prefixes with "deep think", "딥씽크", "깊게 생각해", or requests thorough analysis. Best for complex architecture, debugging, algorithmic, or multi-domain problems. NOT for simple lookups. Requires: CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
디자인 검증 자동화. Figma vs 구현 비교 리포트 생성. "/design-check", "디자인 검증" 등의 요청 시 사용
| name | figma-to-code |
| description | Figma 디자인을 코드로 변환. Figma URL과 빈 컴포넌트 파일 경로를 받아 UI 구현. "/figma-to-code", "피그마 구현" 등의 요청 시 사용 |
argument: $ARGUMENTS
이 커맨드는 Figma 디자인 데이터를 기반으로 React 컴포넌트 코드를 생성합니다.
$ARGUMENTS에서 Figma URL과 컴포넌트 파일 경로를 추출합니다.
Figma URL 처리:
node-id=(\d+-\d+) 패턴 추출-를 :로 치환하여 MCP 호출용 nodeId 생성 (예: node-id=1-2 → 1:2)https://figma.com/design/:fileKey/branch/:branchKey/:fileName 형식이면 branchKey를 fileKey로 사용컴포넌트 경로 처리:
MyComponent.tsx → MyComponentsrc/shared/... → Shared, src/features/... → Features 등3개 MCP 도구를 병렬 호출합니다:
mcp__figma-desktop__get_screenshot(nodeId) — 시각적 참조 이미지mcp__figma-desktop__get_design_context(nodeId) — 레이아웃, 색상, 타이포, 크기, 자식 노드 구조mcp__figma-desktop__get_variable_defs(nodeId) — 바인딩된 디자인 토큰 변수명clientLanguages: typescript
clientFrameworks: react
에러 처리:
프로젝트의 기존 패턴을 파악합니다:
src/shared/ui/ 내 유사 컴포넌트 패턴 확인:
cn() 유틸리티 사용 방식forwardRef 패턴index.ts, 형제 파일 확인하여 일관된 패턴 파악이 프로젝트는 @exem-fe/tailwindcss-plugin을 통해 디자인 토큰을 Tailwind 클래스로 사용합니다.
주의: 기본 Tailwind 토큰이 전부 교체(override)되어 있으므로 반드시 아래 토큰만 사용해야 합니다.
색상 매핑 전략 (우선순위 순):
color/gray-05 → text-gray-05)text-text-primary, text-text-secondary, text-text-tertiary, text-text-disabled, text-text-accent, text-text-critical 등bg-surface-primary-default, bg-elevation-elevation-0 등border-border-primary, border-border-secondary 등text-icon-primary, text-icon-secondary 등gray-00~10, red-00~10, blue-00~10 등 + mono-white, mono-black/* TODO: exact color #XXXXXX */ 코멘트타이포그래피:
| Figma 크기 | Tailwind 클래스 |
|---|---|
| 28px/140% | text-header-1 |
| 24px/140% | text-header-2 |
| 20px/140% | text-title-1 |
| 18px/140% | text-title-2 |
| 16px/140% | text-body-1 |
| 14px/140% | text-body-2 |
| 12px/140% | text-body-3 |
| 11px/140% | text-caption |
폰트 두께: font-regular(400), font-medium(500), font-semibold(600), font-bold(700)
Border Radius: rounded-weak(4px), rounded-medium(6px), rounded-strong(8px), rounded-circle(999px)
Box Shadow: shadow-weak(16px), shadow-medium(20px), shadow-strong(24px), shadow-preview
레이아웃 매핑:
flex flex-row / flex flex-col[Npx]flex-1, fixed → w-[Npx], hug → w-fit컴포넌트 인식:
@exem-fe/react 매핑 (Button, TextField, Select, Table, Tabs, Modal, Tooltip, Badge, Tag, Checkbox, Radio, Switch 등)src/shared/ui/ 참조 (Card, Form, DropdownMenu, Sheet, Popover, Skeleton 등)@exem-fe/icon ({Name}{Variant}Icon 패턴, iconSizes 또는 className="size-{n}")Phase 2~4의 분석 결과를 기반으로 컴포넌트 코드를 생성합니다.
생성 규칙:
@exem-fe/* → @/ 프로젝트 → 상대 경로cn() 유틸리티 (@/shared/util) 사용하여 className 합성@exem-fe/react 컴포넌트 우선 사용 (Button > <button>, TextField > <input>)@/ alias 사용className prop 전달 (합성 가능)[Npx]는 표준 spacing에 없을 때만 사용Props 추론:
className?: string 포함코드 구조 예시:
import { cn } from '@/shared/util'
interface MyComponentProps {
className?: string
title: string
}
export function MyComponent({ className, title }: MyComponentProps) {
return (
<div
className={cn(
'flex flex-col gap-2 p-4 bg-surface-primary-default rounded-strong',
className
)}
>
<span className="text-body-1 font-medium text-text-primary">{title}</span>
</div>
)
}
생성된 코드를 검증합니다:
@/ alias를 사용하는지 확인cn() 사용 확인@exem-fe/react 컴포넌트가 적절히 사용되었는지 확인결과 요약 출력:
Figma → Code 완료: {ComponentName}
사용된 디자인 토큰:
- 색상: {사용된 색상 토큰 목록}
- 타이포: {사용된 타이포 클래스 목록}
- 기타: {radius, shadow 등}
사용된 컴포넌트:
- @exem-fe/react: {Button, TextField, ...}
- @exem-fe/icon: {SearchIcon, ...}
- @/shared/ui: {Card, ...}
생성된 파일: {컴포넌트 경로}
| 상황 | 대응 |
|---|---|
| Figma URL 형식 오류 | URL에서 node-id 파라미터를 찾을 수 없다고 안내, 올바른 URL 형식 예시 제공 |
| MCP 도구 호출 실패 | "Figma Desktop 앱을 실행하고 해당 파일을 열어주세요." 안내 |
| 대상 파일이 비어있지 않음 | 사용자에게 덮어쓸지 확인 |
| 매핑 불가 색상 | 가장 가까운 토큰 사용 + /* TODO: exact color #XXXXXX */ 코멘트 |
/figma-to-code https://figma.com/design/abc123/MyProject?node-id=1-2 src/features/widget-builder/ui/ColumnHeader.tsx
1:2, Name=ColumnHeader, Layer=Featuressrc/shared/ui/ 및 형제 파일 패턴 확인ColumnHeader.tsx에 컴포넌트 코드 작성