design-prim
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill: design-prim
Skill: design-prim
designprimNén 1 lần: (bỏ — quá nặng, hallmark tự quét token ở Step 0 rồi) + +
(bundle ) + (sàn design + slop-test) + (verdict
senior 4-mục, dùng engine tất định ). Không viết lại logic của các skill này — chỉ gọi
đúng thứ tự, đúng target.
orca-onboardplaywright-verifyimpeccabledoyourmagic/impeccablehallmarkqc-uiuxvisual-qaBẫy đã trả giá — đọc trước khi chạy: sinh bằng cách chụp lại
đúng token/màu/font ĐANG CÓ trong code (nó tả thực trạng, không đề xuất gì mới). Nếu gọi lệnh này
trước rồi đưa đọc, Hallmark Step 0 Pre-flight coi là hệ đã khoá,
override mọi thứ khác — tức là khoá cứng lại chính bộ token slop cần dọn, rồi chỉ chỉnh vài chỗ vặt
bên trên. Đây là lý do bản trước của skill này "chạy xong mà trang không đẹp lên": nó tưởng đang khoá
1 hệ mới, nhưng thực ra khoá lại hệ cũ. Đừng gọi trong luồng dọn slop.
/impeccable documentDESIGN.mdhallmark redesignDESIGN.md/impeccable documentdesignprim一次性打包:(省略——过于沉重,hallmark 会在 Step 0 自行扫描 token)+
+
(bundle )+
(design 基线 + slop-test)+
(senior 四项 verdict,使用确定性 engine )。不要重写这些 skill 的逻辑——只按正确顺序、对正确 target 调用。
orca-onboardplaywright-verifyimpeccabledoyourmagic/impeccablehallmarkqc-uiuxvisual-qa已经付出代价的坑——运行前务必阅读: 会通过原样提取代码中现有的 token/颜色/字体来生成 (它只是记录现状,不会提出任何新方案)。如果先调用此命令,再让 读取结果,Hallmark 的 Step 0 Pre-flight 会将 视为已锁定的设计系统,并覆盖其他所有内容——这等于把本应清理的那套 slop token 彻底锁死,之后只能在内部做少量微调。这正是本 skill 之前的版本“运行结束后页面依然不好看”的原因:它以为自己在锁定一套新系统,实际上却重新锁定了旧系统。在 slop 清理流程中不要调用 。
/impeccable documentDESIGN.mdhallmark redesignDESIGN.md/impeccable documentWHAT
WHAT
Purpose và context
目的与上下文
- Purpose: dọn slop UI/UX khi onboard một dự án bất kỳ — chụp before, để sinh hệ thiết kế mới của riêng nó, rồi đo + vá theo slop-test,
hallmark redesign//impeccable audit,critiquecho tới khi sạch hoặc hết 2 vòng./qc-uiux - Trigger (when to use):
- Vừa nhận 1 dự án lạ (onboard) và cần đưa UI về một chuẩn nhất quán, không lộ dấu AI-slop.
- Đã có nhiều view/màn hình rời rạc, mỗi chỗ một kiểu, cần khoá lại một hệ.
- User nói "dọn slop", "làm gọn UI dự án", "chuẩn hoá UI xuyên suốt", "onboard rồi làm sạch UI", "design prim", "/design-prim".
- Non-goals: KHÔNG dùng khi chỉ sửa 1 component nhỏ (dùng thẳng component-scope) hoặc khi cần hiểu sâu kiến trúc/business logic ngoài UI (đó là
hallmarkđầy đủ, không phải skill này). Không viết lại logic của các skill được gọi.orca-onboard
- 目的: 在 onboarding 任意项目时清理 UI/UX slop——先捕获 before,再让 为项目生成一套全新设计系统,然后依据 slop-test、
hallmark redesign//impeccable audit和critique进行测量与修补,直至清理干净或最多完成 2 轮。/qc-uiux - 触发条件(何时使用):
- 刚接手一个陌生项目(onboard),需要让 UI 达到统一标准,不显露 AI-slop 痕迹。
- 已有许多彼此割裂的 view/屏幕,每个地方风格各异,需要重新锁定一套系统。
- 用户说出“清理 slop”“精简项目 UI”“统一整个项目的 UI”“onboard 后清理 UI”“design prim”“/design-prim”。
- 非目标: 仅修复一个小型 component 时不要使用(直接用 的 component-scope);需要深入理解 UI 范围之外的架构/business logic 时也不要使用(那属于完整的
hallmark,而不是本 skill)。不要重写所调用 skill 的逻辑。orca-onboard
Mental model
心智模型
impeccable đã cài? → view/route → ảnh before → PRODUCT.md (bối cảnh, KHÔNG token cũ) → hallmark redesign (design.md mới, bước DUY NHẤT sinh code) → 3 lớp đo (slop-test · impeccable audit/critique · qc-uiux) + ảnh after → vá theo bảng finding, tối đa 2 vòng → known limitationimpeccable 已安装? → view/route → before 截图 → PRODUCT.md(上下文,不含旧 token)→ hallmark redesign(新 design.md,唯一生成代码的步骤)→ 三层测量(slop-test · impeccable audit/critique · qc-uiux)+ after 截图 → 按 finding 表修补,最多 2 轮 → known limitationInput và output contract
输入与输出约定
| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | dự án đích (root + router/pages) | có | nơi chạy mọi lệnh chat |
| In | app đang chạy tại | có cho | như |
| In | | không | chỉ khi user muốn giữ hệ cũ, nói rõ trong brief |
| Out | | có | do |
| Out | ảnh before/after từng view + kết quả 3 lớp đo | có | bằng chứng "đẹp hơn", không phải điểm số suông |
| Out | báo cáo cuối | có | finding còn lại sau vòng 2 ghi là known limitation |
| 字段 | 必填? | 含义 | |
|---|---|---|---|
| 输入 | 目标项目(root + router/pages) | 是 | 运行所有 chat 命令的位置 |
| 输入 | 正在 | | 与 |
| 输入 | 希望保留的有效 | 否 | 仅当用户想保留旧系统,并在 brief 中明确说明 |
| 输出 | 新 | 是 | 由 |
| 输出 | 每个 view 的 before/after 截图 + 三层测量结果 | 是 | “变得更美观”的证据,而不是空洞的分数 |
| 输出 | 最终报告 | 是 | 第 2 轮后仍存在的 finding 记为 known limitation |
Rules và capabilities
规则与能力
- RULE-01 (MUST): Thứ tự 0→6 không đảo: bước 4 là bước DUY NHẤT sinh/sửa code; bước 3 chỉ là bối cảnh, bước 5–6 chỉ đo và vá — nếu dừng ở bước 3 hoặc chỉ chạy bước 5 mà không tới bước 4/6 thì coi như CHƯA xong việc "làm đẹp", dù có báo cáo điểm số.
- RULE-02 (MUST): Bước 3–6 là lệnh chat (,
/impeccable ...là skill), không phải shell — đừng gõ vào terminal.hallmark - RULE-03 (MUST): Không tự thêm lại trừ khi user cần hiểu kiến trúc/business logic ngoài phạm vi UI.
orca-onboard - RULE-04 (MUST): Đã cài global rồi (không phải project) → gỡ/cài lại đúng scope trước khi chạy bước 3, tránh lẫn artifact của dự án khác (xem bẫy 2 trong
impeccable).dym-impeccable-install-into-your-project - Capabilities: đọc cấu trúc route của dự án đích; gọi skill UI khác qua chat (không shell); chạy trình duyệt headless để chụp/đo; ghi code UI dự án đích (chỉ ở bước redesign/vá).
- RULE-01 (MUST):0→6 的顺序不可颠倒:步骤 4 是唯一生成/修改代码的步骤;步骤 3 只提供上下文,步骤 5–6 只负责测量和修补——如果停在步骤 3,或只执行步骤 5 而未完成步骤 4/6,则视为尚未完成“美化”任务,即使已有评分报告。
- RULE-02 (MUST):步骤 3–6 使用 chat 命令(、
/impeccable ...是 skill),不是 shell——不要在 terminal 中输入。hallmark - RULE-03 (MUST):除非用户需要了解 UI 范围之外的架构/business logic,否则不要自行重新加入 。
orca-onboard - RULE-04 (MUST):如果 已全局安装(而非安装在项目中),请先以正确 scope 卸载/重装,再执行步骤 3,避免混入其他项目的 artifact(见
impeccable中的坑 2)。dym-impeccable-install-into-your-project - 能力:读取目标项目的 route 结构;通过 chat 调用其他 UI skill(不使用 shell);运行 headless 浏览器进行截图/测量;写入目标项目的 UI code(仅限 redesign/修补步骤)。
Failure boundaries
失败边界
- Dừng ở bước 3 hoặc chỉ chạy bước 5 mà chưa tới bước 4/6 → CHƯA xong việc "làm đẹp", dù có điểm số (RULE-01).
- App không chạy được tại → không chụp/không
<base-url>được: blocked, báo user./qc-uiux - Còn finding sau vòng 2 → partial, ghi known limitation, không lặp vô hạn.
- Lỡ chạy trước redesign → hệ slop cũ bị khoá lại: failed, bỏ
/impeccable documentđó rồi redesign lại.DESIGN.md
- 停在步骤 3,或只执行步骤 5 而未完成步骤 4/6 → 尚未完成“美化”任务,即使已有分数(RULE-01)。
- 应用未能在 运行 → 无法截图/调用
<base-url>:blocked,通知用户。/qc-uiux - 第 2 轮后仍有 finding → partial,记为 known limitation,不无限循环。
- 不慎在 redesign 前调用 → 旧 slop 系统被再次锁定:failed,删除该
/impeccable document,然后重新 redesign。DESIGN.md
HOW
HOW
Main workflow
主工作流
W01–W07 ứng với bước 0–6 bên dưới.
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | root dự án đích | Kiểm | impeccable sẵn sàng | có rồi → skip; cài global → B01 |
| W02 | deterministic | router/pages | Liệt kê view/route | danh sách view | — |
| W03 | effect | view + | Chụp before bằng | ảnh before | app không chạy → blocked |
| W04 | judgment | chat dự án đích | | bối cảnh sản phẩm | — |
| W05 | effect | root + tóm tắt | | | muốn giữ hệ cũ → B02 |
| W06 | deterministic | view đã redesign | 3 lớp đo + chụp after | finding + ảnh after | còn P0/P1 / gate fail / CẦN SỬA → W07 |
| W07 | effect | finding | Vá theo bảng loại finding, rồi lặp W06 | sạch | sau vòng 2 → known limitation |
Chi tiết từng bước (nguồn chân lý cho W01–W07):
-
Check điều kiện — đã càitrong dự án đích chưa? Kiểm tra tồn tại
impeccableở root dự án đích (artifact của lượt install trước). Có rồi → bỏ qua bước này, đừng cài lại. Chưa có → gọi.claude/skills/impeccable/(qua hub, để nó tự tìm bản đúng ở 1 trong 3 nơi — sibling/dym-impeccable install-into-your-project, bundle project, hoặcnpx skills add— không hardcode path bundle của repo framework, vì dự án đích không chắc có nó). Bẫy cần nhớ khi làm theo file đó: luôn.claude/skills/, đừng gõnpx impeccable install -y --scope=project --providers=claude.--help -
Liệt kê view/route — Explore agent hoặc grep thẳng router/pages config của dự án đích. Không cần skill riêng, không cần.
orca-onboard -
Chụp hiện trạng (before) từng view bằng— giữ lại để so sánh ở bước 5.
playwright-verify -
Bối cảnh sản phẩm (không phải token cũ) — gõ trong chat của dự án đích:→ sinh
/impeccable init(người dùng, mục đích, ràng buộc, giọng điệu). Đây là input bù cho việcPRODUCT.md(verb) im lặng, không hỏi audience/use-case/tone — dán tóm tắthallmark redesignvào brief khi gọi bước 4. KHÔNG chạyPRODUCT.md(xem bẫy ở trên)./impeccable document -
Redesign thật — đây là bước duy nhất sinh code mới. Gọi skillvới verb
hallmarktrên GỐC dự án (đường dẫn thư mục route, không phải từng file lẻ) → rơi vào multi-page flow của hallmark: nó tự quét tokens/brand hiện có, tự chọn genre/macrostructure/theme, tự viếtredesigncủa riêng nó ở root, rồi build lại từng page theo hệ đó. Nếu dự án đã có sẵndesign.md/design.mdhợp lệ (không phải bảnDESIGN.mdvừa cấm ở bước 3) và user muốn GIỮ hệ đó thay vì viết mới, nói rõ điều đó trong brief.document -
Quét lại + so sánh — trên từng view đã redesign, BA lớp (không lớp nào thay được lớp kia): a.tự chấm slop-test (six-axes pre-emit + 58 gate, đã chạy trong Build của bước 4). b.
hallmark(P0–P3: a11y, perf, theming, responsive, anti-pattern) và/impeccable audit <view>(hierarchy, IA, cognitive load). c./impeccable critique <view>(app phải đang chạy —/qc-uiux <view>như<base-url>) — verdict senior 4-mục (accessibility · visual-hierarchy · consistency · antipattern), phần ĐO ĐƯỢC (contrast WCAG, tap-target, overlap/misalign hình học) chạy tất định qua engineplaywright-verify(đo rect thật, không đọc CSS tĩnh) → kết luận PASS hay CẦN SỬA. Chụp lại (after) bằngvisual-qa, đặt cạnh ảnh before bước 2 — đây là bằng chứng "đẹp hơn", không phải điểm số suông.playwright-verify -
Vòng lặp sửa — còn finding P0/P1, gate slop-test fail, hoặckết luận CẦN SỬA → sửa bằng đúng lệnh, không quay lại redesign từ đầu:
/qc-uiuxLoại finding Sửa bằng a11y (contrast, tap-target, missing label) /impeccable harden <view>performance (tải, render, animation) /impeccable optimize <view>theming (lệch token giữa view) — hoặc quay lại/impeccable polish <view>nếu lệch cả hệhallmark audit <view>responsive (breakpoint, vùng chạm) /impeccable adapt <view> <context>anti-pattern / cognitive load / IA rối hoặc/impeccable distill <view>(copy)clarify <view>slop-test gate cụ thể fail sửa trực tiếp theo gate đó trong , không cầnhallmark/references/slop-test.md/impeccablevisual-hierarchy/consistency (mắt LLM, không đo được)qc-uiux//impeccable distilltheo đúng mục —polish <view>chỉ cho lỗi NẶNG NHẤT + cách sửa, không tự sửaqc-uiuxa11y/antipattern ĐO ĐƯỢC (engineqc-uiux: contrast/tap-target/overlap/misalign)visual-qatrùng dòng a11y/anti-pattern ở trên — cùng một lỗi, hai công cụ cùng bắt Chạy lại bước 5 sau mỗi vòng sửa. Tối đa 2 vòng. Còn finding sau vòng 2 → ghi rõ trong báo cáo cuối là known limitation, không lặp vô hạn.
W01–W07 分别对应下面的步骤 0–6。
| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | 确定性 | 目标项目 root | 检查 | impeccable 已就绪 | 已存在 → 跳过;全局安装 → B01 |
| W02 | 确定性 | router/pages | 列出 view/route | view 列表 | — |
| W03 | 执行 | view + | 使用 | before 截图 | 应用未运行 → blocked |
| W04 | 判断 | 目标项目 chat | | 产品上下文 | — |
| W05 | 执行 | root + | 在项目 root 上调用 | 新 | 希望保留旧系统 → B02 |
| W06 | 确定性 | 已 redesign 的 view | 三层测量 + 捕获 after | finding + after 截图 | 仍有 P0/P1 / gate fail / 需要修复 → W07 |
| W07 | 执行 | finding | 按 finding 类型表修补,然后重复 W06 | 清理干净 | 第 2 轮后 → known limitation |
各步骤详情(W01–W07 的唯一事实来源):
-
检查条件——目标项目中是否已安装? 检查目标项目 root 下是否存在
impeccable(上一次 install 留下的 artifact)。已存在 → 跳过此步骤,不要重新安装。不存在 → 调用.claude/skills/impeccable/(通过 hub,让它自行从三个位置之一寻找正确版本——同级的/dym-impeccable install-into-your-project、project bundle 或npx skills add——不要 hardcode framework repo 的 bundle 路径,因为目标项目不一定有它)。 按该文件操作时务必记住:始终运行.claude/skills/,不要输入npx impeccable install -y --scope=project --providers=claude。--help -
列出 view/route — 使用 Explore agent,或直接 grep 目标项目的 router/pages 配置。不需要单独的 skill,也不需要。
orca-onboard -
捕获当前状态(before) — 对每个 view 使用截图并保留,以便在步骤 5 对比。
playwright-verify -
产品上下文(不是旧 token) — 在目标项目的 chat 中输入:→ 生成
/impeccable init(用户、目的、约束、语气)。这是对PRODUCT.md(verb)的补充输入;该 verb 本身保持沉默,不会询问 audience/use-case/tone——调用步骤 4 时,将hallmark redesign的摘要粘贴到 brief 中。不要运行PRODUCT.md(参见上文提到的坑)。/impeccable document -
真正的 redesign——这是唯一生成新代码的步骤。 在项目 ROOT(route 的目录路径,而不是逐个文件)调用的 verb
hallmark→ 进入 hallmark 的 multi-page flow:它会自行扫描现有 tokens/brand,自主选择 genre/macrostructure/theme,在 root 自行编写属于该项目的redesign,然后按照该系统重新构建每个 page。如果项目已有有效的design.md/design.md(不是步骤 3 中禁止的DESIGN.md版本),且用户希望保留该系统而不是重新设计,请在 brief 中明确说明。document -
重新扫描并对比 — 对每个已 redesign 的 view,执行三层检查(任何一层都不能替代另一层): a.自行进行 slop-test 评分(six-axes pre-emit + 58 gate,已在步骤 4 的 Build 中运行)。 b.
hallmark(P0–P3:a11y、perf、theming、responsive、anti-pattern)和/impeccable audit <view>(hierarchy、IA、cognitive load)。 c./impeccable critique <view>(应用必须正在运行——使用与/qc-uiux <view>相同的playwright-verify)——senior 四项 verdict(accessibility · visual-hierarchy · consistency · antipattern);可测量部分(WCAG contrast、tap-target、几何 overlap/misalign)通过确定性 engine<base-url>运行(测量真实 rect,而非读取静态 CSS)→ 得出 PASS 或需要修复的结论。 使用visual-qa再次截图(after),放在步骤 2 的 before 截图旁——这是“变得更美观”的证据,而不是空洞的分数。playwright-verify -
修补循环 — 如果仍有 P0/P1 finding、slop-test gate 失败,或得出需要修复的结论 → 使用正确命令进行修补,不要从头重新 redesign:
/qc-uiuxFinding 类型 修补方式 a11y(contrast、tap-target、missing label) /impeccable harden <view>performance(加载、渲染、animation) /impeccable optimize <view>theming(view 之间的 token 不一致) ——如果整个系统都不一致,则返回/impeccable polish <view>hallmark audit <view>responsive(breakpoint、触控区域) /impeccable adapt <view> <context>anti-pattern / cognitive load / IA 混乱 或/impeccable distill <view>(copy)clarify <view>特定 slop-test gate 失败 直接按照 中对应 gate 修复,不需要hallmark/references/slop-test.md/impeccablevisual-hierarchy/consistency(依靠 LLM 视觉判断,无法测量)qc-uiux按对应项目使用 //impeccable distill——polish <view>只提供最严重的问题及修复方法,不会自行修复qc-uiux可测量的 a11y/antipattern(engineqc-uiux:contrast/tap-target/overlap/misalign)visual-qa与上方的 a11y/anti-pattern 行相同——同一个问题由两个工具共同捕获 每次修补后重新运行步骤 5。**最多 2 轮。**第 2 轮后仍有 finding → 在最终报告中明确记为 known limitation,不得无限循环。
Branches
分支
| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | recovery | | gỡ/cài lại đúng scope trước bước 3 (RULE-04) | — | W04 |
| B02 | user_optional | dự án có | nói rõ trong brief redesign là giữ hệ đó | — | W06 |
| B03 | recovery | còn finding P0/P1, gate slop-test fail, hoặc | vá theo bảng ở bước 6, chạy lại bước 5 | quá 2 vòng → known limitation | W06 |
| ID | 类型 | Guard | 行为 | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | 恢复 | | 在步骤 3 前以正确 scope 卸载/重装(RULE-04) | — | W04 |
| B02 | 用户可选 | project 已有有效 | 在 redesign brief 中明确说明需要保留该系统 | — | W06 |
| B03 | 恢复 | 仍有 P0/P1 finding、slop-test gate 失败,或 | 按步骤 6 的表格修补,然后重新运行步骤 5 | 超过 2 轮 → known limitation | W06 |
Validation và stopping
验证与停止条件
Ba lớp đo độc lập (slop-test 58 gate, +, với phần đo được qua engine ); không lớp nào thay lớp kia. Bằng chứng cuối là cặp ảnh before/after. Dừng khi sạch hoặc hết 2 vòng vá.
/impeccable auditcritique/qc-uiuxvisual-qa三层独立测量(slop-test 58 gate、+、使用 engine 进行可测量检查的 );任何一层都不能替代另一层。最终证据是 before/after 截图对。清理干净或完成 2 轮修补后停止。
/impeccable auditcritiquevisual-qa/qc-uiuxExamples
示例
- Positive: "/design-prim" trên dự án admin 6 route → impeccable đã có (skip bước 0) → ảnh before 6 view → →
PRODUCT.mdrahallmark redesignmới → vòng 1design.mdbáo contrast fail ở 1 view →/qc-uiux→ vòng 2 PASS, báo cáo kèm ảnh before/after./impeccable harden <view> - Boundary/failure: agent gọi ở bước 3 rồi mới redesign →
/impeccable documentkhoá lại đúng token slop cũ, trang "chạy xong mà không đẹp lên" → vi phạm bẫy đã ghi, bỏdesign.mdđó và chạy lại từ bước 3 bằngDESIGN.md./impeccable init
- 正向: 在一个包含 6 个 route 的 admin 项目上执行“/design-prim” → impeccable 已存在(跳过步骤 0)→ 捕获 6 个 view 的 before 截图 → →
PRODUCT.md生成新的hallmark redesign→ 第 1 轮design.md报告其中一个 view 的 contrast fail →/qc-uiux→ 第 2 轮 PASS,报告附上 before/after 截图。/impeccable harden <view> - 边界/失败: agent 在步骤 3 调用 ,随后才执行 redesign →
/impeccable document再次锁定旧 slop token,页面“运行结束后仍不好看”→ 违反已记录的坑;删除该design.md,然后从步骤 3 开始重新运行DESIGN.md。/impeccable init