diagram — vẽ đúng bằng máy, không để model bịa hình
Nguyên tắc trung tâm, mượn của
và giữ nguyên vì nó đúng:
model KHÔNG vẽ.
Model chỉ điền logic vào một tờ khai có schema (có những khối nào, khối A nối khối B ra sao).
Việc dựng hình là của
code tất định. Vẽ xong, máy tự soi lại bố cục; hỏng thì
giữ nguyên
bản tốt trước đó và nói rõ chỗ sai, tuyệt đối không nhả ra một hình rác.
Đó cũng là lý do skill này tồn tại thay vì để model tự vẽ SVG: một cái hình sai trông vẫn
"có vẻ được", nên lỗi bố cục là loại lỗi đi lọt xa nhất.
Chọn nhánh trước khi làm bất cứ gì
| Bạn đang thể hiện cái gì | Nhánh | Engine |
|---|
| Quan hệ / luồng / trình tự giữa các thành phần (hộp + mũi tên) | Sơ đồ | |
| Số liệu — so sánh, phân bố, xu hướng, tỉ trọng | Biểu đồ | + kỷ luật lieflat dưới đây |
| Một màn hình sản phẩm | không phải việc ở đây | |
Không chắc? Hỏi: "cái tôi vẽ có TRỤC SỐ không?" Có → biểu đồ. Không → sơ đồ.
Nhánh SƠ ĐỒ — qua
Engine ngoài, KÉO NGOÀI theo
: ta
không viết lại, chỉ ghim + gọi.
Cài:
npx skills add Rheinmir/archify -g -s archify
(đích thật là
).
Đây là
fork của
: thêm preset thứ 5
(liquid glass + Roboto) và đặt
làm
mặc định — bỏ trống
là ra đúng theme của nhà, không phải áp thêm
bước nào. Nhánh vá
là nhánh MẶC ĐỊNH của fork, nên không cần ghim ref.
Hai cái bẫy đã trả giá, đừng lặp lại:
- Không có cờ . Và KHÔNG ghim được nhánh lúc cài: CLI in ra
Source: …git @macos-roboto
nhưng vẫn cài nhánh mặc định, đồng thời hiểu phần sau là
TÊN SKILL nên báo . Đó là lý do pin bằng default-branch, không
bằng cú pháp.
- không thay được cài thật. báo xanh trong khi lệnh cài
thật vẫn hỏng. Kiểm đường cài phải cài thật rồi vẽ một sơ đồ, xem ra gì.
Upstream ra bản mới thì rebase nhánh, đừng cài đè bằng
.
Gọi bằng ngôn ngữ tự nhiên trong chat — không có prefix lệnh:
text
Use Archify to draw: Browser -> API -> Redis cache -> PostgreSQL fallback.
Nói rõ LOẠI thì khỏi phải đoán —
·
·
·
·
. Dán Mermaid có sẵn vào cũng được, nó vẽ lại cho đẹp.
Ba điều phải biết trước khi gọi, đã kiểm chứng bằng cách chạy thật:
- Package đặt — không có trên npm. không chạy. Mọi lệnh
shell đều là
node ~/.agents/skills/archify/bin/archify.mjs …
.
- Mã thoát không theo quy ước 0/1: vừa là lỗi cách dùng (lệnh lạ, cờ lạ, kiểu sơ đồ
lạ) vừa là "visual-check bỏ qua vì không có Chrome". mới là thất bại thật của
validate/render/deliver. Gọi trong CI phải rẽ nhánh có chủ đích.
- Sau một ĐỎ, đừng đi soi file đích — nó vẫn là bản tốt CŨ, không phải bản vừa
hỏng. Đây là hệ quả trực tiếp của giao-nguyên-tử, không phải lỗi.
Riêng
, ba luật nằm trong code chứ không nằm trong schema — đo 10/09/2026,
đã vá ở fork nên bản cài mới mới có:
- Tên lane là hợp đồng. → dải trên, → dải dưới (Outcomes), mọi id
khác dồn chung dải giữa. Đặt tên khác (, , …) là rơi vào dải giữa và
đè lên nhau — đây là chỗ đã đốt 4 vòng bố cục.
- Hai sàn chiều cao khác nhau. Không dùng dải terminal → ; có dùng →
. Trước bản vá cả hai đều báo 566, nên khai ở 566 là rơi vào vòng lặp
"State exceeds the vertical lifecycle area" không lối ra.
- Rail chính KHÔNG tự thành quan hệ. Thứ tự chỉ vẽ đường; muốn Route Probe /
passport / trace thấy được thì phải khai transition thật (bỏ nhãn nếu khe hẹp). Bấm một
node rồi đọc Semantic Passport: thấy
No connected relationships
là sơ đồ rỗng ruột dù
validate/visual-check đều xanh.
Sơ đồ kiến trúc cần bám mã thật thì khai
(path + khoảng dòng) +
- . Cổng đó fail-closed: revision phải là SHA đủ 40 ký tự, phải
là top-level checkout có khớp. Neo sai thì nó từ chối vẽ.
Nhánh BIỂU ĐỒ — + kỷ luật lieflat-charts
Nạp skill
trước khi viết dòng code biểu đồ đầu tiên, ở mọi môi trường (HTML,
SVG, matplotlib/plotly/d3/Recharts, hay ảnh PNG sẽ render). Cộng năm luật hấp thụ từ
, tất cả
đứng trên thẩm mỹ:
- Từ chối là hành vi ĐÚNG, không phải bướng. Cắt trục (broken axis) → từ chối, đưa ba
cách trung thực. Glow / glassmorphism / 3-D trên data mark → từ chối. Hơn sáu category mà
vẫn đòi màu → lùi về thang mono. Dữ liệu quá mỏng cho hình đã chọn (ba node mà đòi force
graph) → hạ cấp và nói vì sao.
- Số hình = số KẾT LUẬN độc lập, không phải số cột dữ liệu. Một câu hỏi → một hình; cả
một bài viết → bốn tới sáu; trần sáu hình một trang rồi tách trang.
- Tiêu đề là KẾT LUẬN, không phải tên kiểu hình. "Churn tăng gấp đôi sau bản tháng Tư",
không phải "Biểu đồ cột churn".
- Trưng bằng chứng chọn hình. Nêu ít nhất ba ứng viên và lý do loại từng cái TRƯỚC khi
vẽ. "Tôi dùng biểu đồ cột" mà không có ứng viên nào bị loại nghĩa là chưa hề chọn.
- Render tất định. Cấm trong biểu đồ — refresh hai lần phải ra đúng một
hình. Cả file một hệ màu; trộn hai hệ là làm lại.
Sau khi có file HTML — chạy cổng của NHÀ
Engine ngoài gác bố cục của nó; cổng dưới đây gác thứ nó không biết: quy ước của repo này.
bash
python3 fdk/tools/frontend-antipattern.py <file.html> # 0 sạch · 1 FAIL · 2 chỉ WARN
Nó bắt, tất định và 0 token:
- Hình học — hai ô đè nhau một phần, ô nằm ngoài , chữ tràn ra ngoài ô chứa nó.
- Accessibility + tự chứa — thiếu , thiếu hoặc không phải
con đầu, / rỗng, và tham chiếu remote (trang tự-chứa mà mở
offline lại khuyết hình).
- Neo bằng chứng — node khai / mà đường dẫn không
resolve, hoặc số dòng vượt độ dài file. Fail-closed: không khai thì không bị hỏi, đã khai thì
phải đúng.
Cần bằng chứng trình duyệt thật (không phải chỉ phân tích tĩnh):
bash
python3 fdk/tools/visual-receipt.py <file.html> # 0 pass · 1 fail · 2 BỎ QUA
Ra bốn ảnh (1440×900 và 2048×1320, mỗi cỡ sáng + tối), một biên lai JSON, và một contact
sheet để người chấm. Nó kiểm trong trình duyệt thật ba thứ regex không làm được: tràn
ngang, lỗi console, và mọi request thoát ra ngoài — tức tính tự-chứa đo bằng hành vi chứ
không bằng chuỗi trong file.
Rules
- Model không vẽ. Model điền tờ khai; code dựng hình. Thấy mình đang gõ toạ độ SVG bằng
tay cho một hình mới là đã đi sai nhánh.
- Không nhả hình rác. Bản mới không qua cổng thì giữ bản tốt cũ, báo rõ chỗ sai. Generator
của repo này đã làm đúng vậy ( trong : render ra file tạm,
chạy cổng trên file tạm, xanh mới ).
- BỎ QUA ≠ SẠCH. Thiếu Chrome, thiếu mạng, thiếu engine → nói "bỏ qua", tuyệt đối không
báo "đạt". Một cổng nói dối mà vẫn xanh tệ hơn không có cổng.
- Đừng bê ràng buộc phong cách của engine ngoài về làm luật nhà. Đo trước: archify đòi mũi
tên thẳng ngang/dọc, nhưng sơ đồ của repo này cố ý toả nan quạt (6·4·10 đường chéo hợp lệ ở
ba sơ đồ) — nên luật đó bị loại khi hấp thụ, còn ba luật hình học kia thì nhận.
- Sơ đồ trong tài liệu tự sinh thì dùng generator, đừng gọi agent. Mỗi sơ đồ vẽ qua chat
tốn một lượt agent, mãi mãi; code sinh SVG tốn 0. Chỉ dùng nhánh chat cho hình mới hoặc hình
dùng một lần.
Origin
- Nhánh sơ đồ: @ (KÉO NGOÀI — fork của ;
engine sống ngoài, ta ghim + gọi). Xem
sources/draft/080926-archify-fork-pin.md
.
- Kỷ luật biểu đồ:
larashero3-dotcom/lieflat-charts
(HÒA TAN — chỉ lấy luật, không lấy bộ vẽ).
- Cổng hình học + giao nguyên tử: hấp thụ từ archify vào
fdk/tools/frontend-antipattern.py
và fdk/tools/build-overstack-docs.py
, xem wiki/sources/draft/040926-absorb-round.md
.