Files
workbuddy_skills/product-planning/assets/design-capture/SKILL.md
T

47 lines
2.8 KiB
Markdown
Raw Normal View History

---
name: design-capture
description: ③段独立工具 —— 输入一个网站 URL,抓取它的设计风格与组件样板,生成一套可直接选用的样式模板(design-system-<名>/,与 design-system-tiaoyue 同构)。当用户说「获取 XXX 网站的设计风格」「抓一下这个网站的风格/配色/字体/组件」「按某网站风格新建一套样式」「把某个网页变成设计系统」时调用。
agent_created: true
---
# design-capture · 网站设计风格抓取(③段独立工具)
把「一个网址」变成「一套可选样式模板」:抓源站 → 落原始设计系统 → 生成 `design-system-<名>/` 模板包(与 `assets/design-systems/design-system-tiaoyue/` 同构),随后可被 D1 定调当普通样式套用。
## 一、什么时候用
- 用户说「**获取 XXX 网站的设计风格**」「抓这个网站的配色/字号/组件」「按这个网站新建一套样式」。
- ③段 D1 定调时,现有 `assets/design-systems/` 里没有合适的套 → 从某个标杆网站**现场新建一套**。
## 二、怎么用(两步)
第一步 · 抓取(本机 Chrome + CDP,零其他依赖)
```
node scripts/capture_design_system.mjs --url https://example.com --out raw.json
```
- 前置:本机有可连的 Chrome 远程调试端口;没有就先起一个:
`chrome.exe --remote-debugging-port=9333 --user-data-dir=<临时目录> about:blank`
- 产出 `raw.json`:含 `html`(设计系统 HTML)、`data`(结构化:palette/typography/assets/components/layout)、`resources`。
第二步 · 生成样式模板包
```
python scripts/build_style_package.py --raw raw.json --out ./design-system-<名> --name "<样式名>"
```
- 可选暗色:`--dark-raw dark.json`(另跑一次暗色采集再并入)。
- 产出:`SKILL.md` + `assets/tokens.css`(+`tokens-dark.css`)+ `assets/brand.json` + `references/{components.md,library.json,design-system.html,capture-notes.md}`。
第三步 · 装进样式库(供 D1 选用)
把生成目录整体放进 `assets/design-systems/design-system-<名>/`,即成为可选样式;③段 D1 定调时与 open-design 的套**同权,每次只选一套**。
## 三、边界(如实登记)
- ⛔ 不依赖 open-design daemon:抽取脚本已搬进 `vendor/`,只连本机 Chrome。
- ⛔ 不抓登录墙后 / 需交互才出现的内容:抓的是「页面上可见的样式」。
- ⛔ 跨域样式表若禁止读取,其规则不进统计。
- 组件是「每类一个代表性样本」(button/input/card/nav),不是全站枚举。
- 暗色:默认只抓亮色;要暗色须对暗色形态另跑一次(`--dark-raw`)。
- 抓取质量取决于源站;生成后应**目视比对**再采用。
## 四、归属
`vendor/brand-capture.js` 搬运自 open-design clipper(Apache-2.0),细节与改造见 `ATTRIBUTION.md`。