Install
openclaw skills install figma-code-optimizer从Figma设计稿生成符合项目组件库和设计规范的高质量前端代码
openclaw skills install figma-code-optimizer这个技能帮助AI代理从Figma设计稿生成代码时,能够:
为了获得最佳效果,用户的Figma设计稿应该满足以下条件[citation:1][citation:6]:
| 要求 | 说明 | 为什么重要 |
|---|---|---|
| 使用组件和变体 | 将重复元素转为Component,用Variants表示不同状态 | AI能将它们映射为代码组件和props |
| 应用Auto Layout | 用自动布局代替手动排列 | 便于转换为flex/grid布局 |
| 使用样式和变量 | 统一用颜色样式、文字样式、间距变量 | 避免生成硬编码值 |
| 图层命名清晰 | 避免"Frame 42"、"Group Copy"这类自动命名 | 帮助AI理解每个元素的作用 |
| 避免过度嵌套 | 保持图层层级尽量浅 | 防止生成冗余的div嵌套 |
| 优先使用Frame | 用Frame而不是Group作为容器 | Group在转换时行为不可预测[citation:6] |
当用户在Figma中选中一个Frame并请求生成代码时,AI代理应该:
通过MCP获取设计信息:
分析设计结构:
根据用户的组件库文档,将Figma中的元素映射到代码组件[citation:9]:
| Figma中的元素 | 应映射到的代码组件 |
|---|---|
| Button组件 | <Button variant="primary|secondary"> |
| Input组件 | <Input size="md|lg" /> |
| Card组件 | <Card padding="md" /> |
| Icon实例 | <Icon name="..." size={16} /> |
映射规则示例:
variant="primary"size="sm"/"md"/"lg"leftIconprop根据用户的设计规范文档,将Figma中的样式值转换为代码token[citation:2][citation:7]:
| Figma中的值 | 应转换为的token |
|---|---|
| #1890FF (蓝色) | colors.primary.500 |
| 16px间距 | spacing.md |
| Inter 14px medium | typography.body.medium |
| 8px圆角 | radius.md |
生成符合以下标准的代码:
import { Button, Card } from 'your-component-library'color: ${theme.colors.primary.500} 而不是 #1890FFReact组件示例:
import React from 'react';
import { Card, Button, Text } from '@your-company/ui';
import { useTheme } from '@your-company/theme';
export const ProfileCard = ({ user, variant = 'default' }) => {
const theme = useTheme();
return (
<Card padding="lg" shadow="sm">
<div css={{ display: 'flex', gap: theme.spacing.md }}>
<Avatar src={user.avatar} size="lg" />
<div css={{ flex: 1 }}>
<Text variant="heading" size="md">
{user.name}
</Text>
<Text variant="body" color="secondary">
{user.bio}
</Text>
</div>
</div>
<div css={{ marginTop: theme.spacing.lg }}>
<Button variant="primary" size="sm" onClick={handleFollow}>
Follow
</Button>
</div>
</Card>
);
};