Workflows chi tiết — CXK Obsidian Skill

Workflow 1: Tạo thẻ tri thức

Input

Tham số Bắt buộc Ví dụ
--category ✅ oa, lbp, osteo, sarc, fall, neck, frail
--title ✅ "Định nghĩa thoái hoá khớp"
--chapter ✅ "21" ( Tập 2)

Quy trình

1. Script đọc template KC_template.md
2. Tìm ID cao nhất hiện có (KC-OA-001, 002...) → tăng 1
3. Tạo file mới: knowledge-cards/{category}/KC-{CAT}-{NNN}.md
4. Điền YAML frontmatter: id, category, date, source
5. NCS điền nội dung y khoa (hoặc AI draft)
6. Validate bằng validate_schema.py
7. Cập nhật MOC tương ứng

Mapping category → thư mục

Category Thư mục MOC
oa knee-oa/ MOC_THOAI_HOA_KHOP.md
lbp low-back-pain/ MOC_DAU_LUNG.md
osteo osteoporosis/ MOC_LOANG_XUONG.md
sarc sarcopenia/ Chưa có
fall falls-prevention/ Chưa có
neck neck-shoulder/ Chưa có
frail frailty/ Chưa có

Workflow 4: Cập nhật MOC

Quy trình

1. Script quét knowledge-cards/{category}/ tìm tất cả KC-*.md
2. Đọc YAML frontmatter mỗi file (id, title, status)
3. Tạo bảng Markdown: ID | Tiêu đề | Trạng thái
4. Thay thế phần "## Thẻ tri thức" trong MOC file
5. Cập nhật đếm tổng

Workflow 7: Audit vault

Kiểm tra 8 tiêu chí

# Tiêu chí Cách kiểm tra
1 frontmatter hợp lệ Parse YAML, check required fields
2 Có id field Regex KC-{CAT}-{NNN}
3 Có status field Enum: DRAFT, NCS_REVIEWED, CLINICAL_REVIEW, APPROVED
4 Có red_flags field List, có thể rỗng
5 Có Tìm "lời khuyên an toàn" hoặc "Disclaimer"
6 Có provenance Object với source, chapter
7 File trong đúng thư mục KC-OA-* phải ở knee-oa/
8 MOC link khớp File trong MOC phải tồn tại

Output

=== AUDIT VAULT REPORT ===
Total KC files: 25
Pass: 23
Fail: 2

FAILURES:
  ❌ KC-OA-015: Missing red_flags field
  ❌ KC-LBP-003: Wrong directory (should be low-back-pain/)