website-visualslisted
Install: claude install-skill luogangan7-lgtm/website-visuals
# Website Visuals
**目的不是分析一个站,是建一个可比的档案库,并从中反推出客观阈值。**
现成工具(hallmark study 等)做的是一次性提取——为"这次要建的东西"产出一份 design.md。
本 skill 做**累积 + 判决**:每解码一个站往同一张表加一行;参考站够了就反推阈值带,
之后自己的站每次改版都过这个带。**从"我觉得不行"变成"比参考站中位低多少"。**
**两条提取路径,一个 schema(v2 已对齐字段名):**
| 输入 | 用 | 何时 |
|---|---|---|
| 活 URL | `scripts/extract_dom.js` | 站可访问、无登录墙、不超时 |
| 截图/设计图 | `scripts/extract_image.py` | 截图、Figma 导出、登���墙后、**URL 超时**、纸质/PDF 参考 |
---
## 铁律(违反即作废)
0. **品类中立。** SKILL.md 只放通用机制。**品类、register、红线、参考库、阈值一律读 `profiles/<项目>.json`**,
不许把某个项目的东西写进 SKILL.md。没有 profile 就先用 `profiles/_template.json` 建一份。
1. **参考 ≠ 真相。** 档案是**原料**,永不直接写进自己项目的 `DESIGN.md`,必须先过 register 过滤。
典型翻车:拿 D2C 站的页面任务序列去改 B2B 站(或反过来)—— 视觉语法可借,页面任务序列不可借。
2. **读结构,不读像素。** 提取节奏、比例、关系。**不做像素级复刻,不复制受版权保护的图形资产。**
3. **阈值从 golden 反推,不从直觉猜。** 脚本里的 `PROVISIONAL` 只是占位;
**跑过 `--baseline` 之前,任何"健康值应该是多少"的���法都不算数。**
4. **先机械,后判断。** 能量的数字一律跑脚本,不许目测估计。
5. **禁止编造。** 取不到写 `null`。⚠️ 超时返回的 `[]` 不是"零违规",是"没扫到",记 `null`。
6. **必须标 register。** 不标 register 的档案是危险品——后来的 agent 会把 D2C 结论用到 B2B 上。
7. **存 humaux,不存本地文件。** 本地文件跨不了 agent = 白存。
---
## 流程
### 步骤 1 · 先查是否解码过
```
memory_search("<域名> 视觉 解码")
memory_grep("<域名>") # search 搜空 ≠ 库里没有
```
已有 → 这次是**更新**,`memory_store(supersedes=<旧id>)`,正文写明"哪些变了"。
### 步骤 2 · 机械提取
**路径 A · 活 URL**
```bash
npx impeccable detect <URL> --json > /tmp/detect.json # 卫生层
```
再用浏览器工具跑 `scripts/extract_dom.js` 取设计系统实测值。
超时兜底:换裸域 → 加大 timeout → 从海外服务器跑 → **都不行就截图走路径 B**。
**路径 B · 截图**
```bash
python scripts/extra