Loading...
Loading...
Pipeline MỘT CỬA ra frontend chuẩn production có CỔNG MÁY GÁC: phỏng vấn nguồn theme một tin nhắn (A preset macOS glassmorphism mặc định · B folder/file tài liệu thiết kế · C paste URL trang đích), khoá thông số vào MỘT file design.md (hallmark và impeccable đọc chung) rồi sinh tokens.css + frontmatter bằng design-sync.py, dựng trang token-only theo hallmark, chạy fe-gate.sh (impeccable detect 61 luật tất định rc 0/1/2 + Playwright 4 viewport) và rubric audit/harden/polish, KHÔNG giao khi cổng chưa xanh. Gọi khi user nói 'frontend production', 'production-grade frontend', 'dựng FE chuẩn production', 'giao diện kỷ luật', 'prd-grade-fe', '/prd-grade-fe'. Khác hallmark (sàn design, không có gate impeccable) và khác /br (dây chuyền BR→frame, không lo riêng tầng frontend).
npx skill4agent add rheinmir/setup prd-grade-fe$SKILLskills/prd-grade-feskills/hallmark/SKILL.mdnpx -y impeccable@3.6.1 detect--self-test| File | Vai trò |
|---|---|
| |
| Cổng trước khi giao: assert target tồn tại → |
| Rule tất định impeccable không có (GH#164): trong MỘT file, badge trạng thái ( |
| Preset mặc định đã qua detect rc 0; bằng chứng ở |
| Route A/B/C → |
| Rubric audit (5 trục /20) · harden · polish, distill có nguồn. |
design.mdfe-gate.sh## When to use/brdesign.md/brnguồn theme (A preset · B tài liệu · C URL) → design.md (nguồn chân lý) → design-sync.py → tokens.css + frontmatter → build token-only (hallmark) → fe-gate.sh (impeccable detect + badge-consistency + 4 viewport) → audit/harden/polish → report| Field | Required? | Ý nghĩa | |
|---|---|---|---|
| In | brief trang/màn hình | có | thứ cần dựng |
| In | nguồn theme A/B/C, audience, use case, tone | không | "go ahead"/bỏ trống → A + suy luận 2–4 từ brief, công bố một câu |
| In | | không | có + |
| Out | | có | |
| Out | HTML output token-only có stamp design + critique | có | toggle sáng/tối, footer path tương đối |
| Out | | có | "sẵn sàng production" chỉ khi fe-gate exit 0 và P0 = 0 |
references/impeccable-audit.mdnpx impeccable install--help$HOME--scope--scope=type.impeccable/config.json{"ignores":[...]}skipped: <lý do>design.md## Variantspython3 $SKILL/scripts/design-sync.py --self-test && python3 $SKILL/scripts/badge-consistency.py --self-test && bash $SKILL/scripts/fe-gate.sh --self-testbash fdk/tools/sync-skill.sh prd-grade-feskipped: <lý do>design-sync.py --checkdesign.md## Variants| Step | Type | Inputs | Action | Outputs/exit | Failure/next |
|---|---|---|---|---|---|
| W01 | deterministic | project | Pha 0 pre-flight: | hệ đã khoá hay chưa, node có không | đã khoá → B01; không node → B02 |
| W02 | judgment | brief | Pha 1 interview MỘT tin nhắn (nguồn theme · audience · use case · tone) | đáp án hoặc suy luận công bố | — |
| W03 | effect | nguồn theme | Pha 2 khoá biến A/B/C → | rc 0 | rc 1 → sửa drift |
| W04 | effect | | Pha 3 build theo hallmark, token-only, stamp đầu file | HTML output | critique trục < 3 → sửa trước W05 |
| W05 | deterministic | output | Pha 4 gate: | exit 0 + P0 = 0 | rc 1/3/4 → blocked; rc 2 sau 3 vòng → partial |
| W06 | judgment | kết quả | Pha 5 deliver + report 8 mục | report | — |
## Stepsls design.md DESIGN.md tokens.css 2>/dev/null; command -v node && echo node-ok
python3 $SKILL/scripts/design-sync.py --check 2>/dev/null; echo sync-rc=$?design.md--checkreferences/intake.mdnodeskippedTrước khi dựng, cần 4 thứ. Trả lời phần nào cũng được, hoặc nói "go ahead":
- Nguồn theme — [A] macOS glass mặc định · [B] đường dẫn tài liệu thiết kế (file/folder) · [C] URL trang đích
- Audience — ai dùng, họ biết gì sẵn?
- Use case — một hành động trang này phải dẫn tới?
- Tone — chọn một cực: editorial · brutalist · soft · utilitarian · luxury · playful · technical · austere
references/intake.mdcp $SKILL/references/presets/macos-glass.design.md ./design.mddesign.mdstudy <URL>design.mdpython3 $SKILL/scripts/design-sync.py && python3 $SKILL/scripts/design-sync.py --checkdesign.mdvar(--…)tokens.css:rootdesign.mddesign-sync.pyhtml[data-theme]<!-- design: macrostructure=<M> theme=<T> -->/* Hallmark · pre-emit critique: P? H? E? S? R? V? */bash $SKILL/scripts/fe-gate.sh <output.html …>antipattern | file:line | snippetfe-gate.report.jsonbadge lệch pattern so với N badge anh emdesign.mdreferences/impeccable-audit.mdskills/hallmark/references/slop-test.mdfe-gate.shskipped| ID | Kind | Guard | Hành vi | Skip / failure | Rejoin |
|---|---|---|---|---|---|
| B01 | conditional_required | có | nói "hệ đã khoá, dùng lại", bỏ W02–W03 | user đòi đổi theme → | W04 |
| B02 | recovery | không có | vẫn làm Pha 1–3; Pha 4 ghi | report KHÔNG được nói sạch | W06 |
| B03 | user_optional | nguồn theme = B (tài liệu) | bảng schema có nguồn file:dòng → MỘT câu hỏi bù → | — | W03 (sync) |
| B04 | user_optional | nguồn theme = C (URL) | hallmark | — | W03 (sync) |
| B05 | recovery | fe-gate rc 2 | sửa đúng finding (token trong | quá 3 vòng → giao kèm bảng dư hoặc waiver có lý do | W05 |
fe-gate.shdesign-sync.py --check/prd-grade-fe dựng trang danh sách đơn hàng cho app quản lý kho, mặc định themecpdesign.mdnodeskipped: thiếu node/prd-grade-fe dựng trang danh sách đơn hàng cho app quản lý kho, mặc định theme
/prd-grade-fe trang pricing, theme lấy từ docs/brand/ (folder)
/prd-grade-fe landing cho sản phẩm X, làm giống https://example.com