Skill: health-check
Purpose
Trả lời nhanh 3 câu hỏi về bộ "pattern chuẩn" (tập file khai trong .template-manifest.json) mà không cần diff tay từng file như sync-template:
- Đủ chưa? — mọi pattern khai báo có mặt trên disk không (MISSING).
- Có lệch local? — pattern nào đã bị sửa kể từ lần sync gần nhất (DRIFT).
- Cần sync remote? — remote có bản pattern mới hơn không (BEHIND / version cũ).
Cơ chế: 1 file cấu hình duy nhất harness/version.json lưu template_version + hash từng pattern. So 3 mốc: disk ↔ version.json (drift), local ↔ remote version.json (behind), manifest ↔ disk (missing).
When to use
- Đầu phiên harness tự chạy (SessionStart hook) — nếu lệch sẽ tự nhắc.
- Người dùng gọi
/health-checkđể kiểm thủ công bất cứ lúc nào. - Trước khi quyết định có chạy
/sync-templatehay không.
Steps
1. Chạy báo cáo (đối chiếu cả remote)
python3 harness/scripts/health-check.py --root . --branch orca
--offline: chỉ kiểm local (bỏ fetch remote) khi không có mạng.--json: output máy đọc (dùng cho hook / CI).--fail-on behind,drift,missing: exit 2 nếu nhóm chỉ định vi phạm (dùng cho gate CI).
2. Đọc kết quả
| status | nghĩa | hành động |
|---|---|---|
OK |
pattern đủ + khớp remote | không cần làm gì |
DRIFT |
pattern bị sửa local | cân nhắc upstream (/sync-template push) hoặc revert |
NEEDS-SYNC |
thiếu file hoặc remote mới hơn | chạy downstream /sync-template |
Báo cáo còn kèm 1 dòng OKF v0.1: ✓ OKF v0.1: N/N concept đạt chuẩn (mọi concept có YAML frontmatter + type) hoặc ⟳ OKF v0.1: x/N … cần migrate. Đây là câu trả lời nhanh "project đã đạt chuẩn OKF chưa?". Chưa đạt → python3 harness/scripts/okf-check.py --migrate.
3. Hành động theo khuyến nghị
- BEHIND / MISSING → gọi
/sync-template(downstream): kéo pattern mới/thiếu về. - DRIFT → nếu cải tiến muốn giữ:
/sync-templateupstream; nếu lỡ sửa:git checkout -- <file>.
4. Sau khi sync xong — refresh version.json
Mỗi lần downstream sync đổi nội dung pattern, cập nhật lại fingerprint:
python3 harness/scripts/health-check.py --update # giữ nguyên version
python3 harness/scripts/health-check.py --update --bump patch # khi PHÁT HÀNH bản mới (chỉ làm ở repo template)
--bump(major/minor/patch) CHỈ chạy ở repo templateRheinmir/setupkhi muốn công bố version pattern mới cho mọi project. Project con chỉ--update(không bump) để đồng bộ hash sau khi pull.
Quan hệ với skill khác
- [[sync-template]] — health-check chẩn đoán (có cần sync không); sync-template thực thi (kéo/đẩy file). Luôn chạy health-check trước, sync-template sau.
harness/scripts/wiki-health.py— anh em cùng tầng L4 nhưng soi nội dung wiki (broken link, orphan, stale), không soi version pattern.
Rules
- Fail-open tuyệt đối: lỗi mạng / thiếu version.json → báo cáo phần local, KHÔNG chặn phiên.
harness/version.jsonlà nguồn sự thật duy nhất cho version — không hardcode version ở chỗ khác.- Pattern set =
includestrong.template-manifest.json, TRỪharness/version.jsonvà các file "sống" theo project (index.md,log.md,active-context.md,decisions.md) — chúng được seed nhưng không tính drift. --bumpchỉ ở repo template; project con chỉ--update.- Thêm pattern mới: add vào
.template-manifest.jsonincludesTRƯỚC, rồi--update.
Origin
- Draft:
llmwiki/wiki/sources/draft/150626-health-check-pattern-sync.md