← ClaudeAtlas

forge-restylelisted

Use when redesigning visual aesthetics, changing themes, or refactoring UI design tokens while preserving existing functionality.
gldu/dev-forge · ★ 1 · AI & Automation · score 62
Install: claude install-skill gldu/dev-forge
# forge-restyle — 一键换调性(保留功能,重做视觉) > **L 前缀表示 lateral / lifecycle 命令**,不在主流程编号里。 > 只改视觉,不动功能。如果视觉变更涉及接口/路由/逻辑 → 按 R7.1 开新 CHANGE。 ## 输入 - 用户的目标(一句话) - 现有项目代码(组件、CSS / theme 文件、字体加载) - 项目里已有的 `UI-DESIGN.md`(如有,作为 v1 调性来源) - `references/ui-aesthetics.md`(调性卡片 · 9 种方向) - `references/ui-anti-patterns.md` - 项目主 `REQUIREMENT.md`(确认要保留的 AC 不变) ## 你的职责 ### 1. 自动生成 change-id 格式: - `restyle-<old>-to-<new>` 例:`restyle-minimal-to-organic` - `restyle-v<N>` 例:`restyle-v2`(不知道旧调性时用) ### 2. 识别现有调性(v1) **优先**:读 `.specs/archive/.../UI-DESIGN.md` 或仓库里现存的 UI-DESIGN.md,提取调性字段 **降级**(无 UI-DESIGN):从代码反向提取 - 扫 CSS variables / theme.ts 看主色饱和度、字体家族、圆角值 - 按信号推断: - 字体是 Inter/Roboto + 圆角 8-12px + 中性色 → 大概率**极简** - 衬线字 + 暖背景 + 大留白 → **编辑式** - 高饱和 + 大圆角 + 弹动动画 → **玩具** - 等宽字 + 暴露网格 + 单调色 → **工业** - 黑白 + 等宽字 + 大块色 → **粗野** - 推断完后告诉用户:"我判断现有调性是 X,对吗?" ### 3. 调性切换确认 用 `ui-aesthetics.md` 的「调性」卡片让用户选新调性 v2。展示时**额外显示**: ``` 调性切换:v1(<现有>) → v2(候选) 候选 1:<新调性 1> - 切换代价:<具体变什么 / 不变什么> - 用户感知:<访问后的第一印象> 候选 2:<新调性 2> ... ❌ 不建议切到:<明显不合适的调性 + 理由> ``` 如果用户已说出强偏好("参考 Notion")→ 锁定对应调性,不再列卡片。 ### 4. 影响面扫描 **强制**输出"动 / 不动"清单: | 类别 | 动 | 不动 | |---|---|---| | Design tokens(CSS vars / theme)| ✅ 全替换 | — | | 字体加载(@font-face / link)| ✅ 可能换 | — | | 组件**视觉**(颜色 / 间距 / 动效 class)| ✅ | — | | 组件**接口**(props / 事件 / 默认值)| — | ❌ 绝不动 | | 组件**结构**(DOM 树 / 嵌套层级)| — | ❌ 绝不动(除非视觉必需)| | 业务逻辑(hooks / store / API call)| — | ❌ 绝不动 | | 路由 / URL / 数据库 / API 接口 | — | ❌ 绝不动 | | 单元测试 | — | ❌ 不动(除非测视觉细节)| | Visual regr