Quick startBắt đầu nhanh
Five steps from a fresh clone to a skill invocation — all deterministic, no API key needed, no external dependencies. Everything lives under .claude/; the project is self-contained. Without a corpus (docs/profiles/characters.yaml) the suite degrades cleanly — corpus-dependent tests skip while imports, compile, and the synthetic pipeline still pass.Năm bước từ clone mới đến gọi skill — hoàn toàn tất định, không cần API key, không phụ thuộc ngoài. Tất cả nằm dưới .claude/; dự án tự đóng gói. Không có corpus (docs/profiles/characters.yaml) thì bộ kiểm thử xuống cấp êm — test phụ thuộc corpus bị bỏ qua, còn import, compile, và pipeline giả lập vẫn pass.
Clone the repoClone repo
The public toolkit ships with no character corpus — docs/profiles/, docs/materials/, and assets/ are absent by design. Bring your own subjects by creating docs/profiles/characters.yaml; the tooling resolves them dynamically via paths.py. This is also where you'd clone the private repo if you have access.Toolkit công khai không kèm corpus nhân vật — docs/profiles/, docs/materials/, và assets/ vắng mặt theo thiết kế. Mang nhân vật của bạn bằng cách tạo docs/profiles/characters.yaml; công cụ phân giải động qua paths.py. Đây cũng là nơi bạn clone repo riêng nếu có quyền truy cập.
git clone https://github.com/your-org/human-analyzer.git && cd human-analyzerProvision the project venvDựng venv nội bộ
One command. install.sh creates a project-local virtualenv under .claude/skills/.venv/ and installs three packages — pyyaml, jsonschema, pytest. No global pip is touched. The venv path is canonical: every script in every skill uses .claude/skills/.venv/bin/python3, never the system interpreter. Full install docs: Install.Một lệnh. install.sh tạo virtualenv nội bộ dưới .claude/skills/.venv/ và cài ba gói — pyyaml, jsonschema, pytest. Không đụng pip toàn cục. Đường dẫn venv là chuẩn: mọi script trong mọi skill dùng .claude/skills/.venv/bin/python3, không dùng trình thông dịch hệ thống. Tài liệu cài đầy đủ: Cài đặt.
bash .claude/scripts/install.shThe rule is absolute: all skill scripts are invoked as .claude/skills/.venv/bin/python3 .claude/skills/{fw}-{skill}/scripts/{script}.py. Never python3 bare — the system interpreter won't have the installed packages.Quy tắc tuyệt đối: mọi script skill được gọi là .claude/skills/.venv/bin/python3 .claude/skills/{fw}-{skill}/scripts/{script}.py. Không bao giờ dùng python3 trần — trình thông dịch hệ thống sẽ thiếu gói cài.
Run the deterministic test suiteChạy bộ kiểm thử tất định
The -m 'not gemini' marker skips the 34 live-LLM tests that need a GEMINI_API_KEY — all deterministic tests run. Without a roster you see ~665 pass, ~170 skip (corpus-dependent); with a roster the skip count drops. No API key, no external calls. real outputTham số -m 'not gemini' bỏ qua 34 test LLM thật cần GEMINI_API_KEY — mọi test tất định vẫn chạy. Không có roster thì ~665 đạt, ~170 bỏ qua (phụ thuộc corpus); có roster thì số bỏ qua giảm. Không cần API key, không gọi mạng. đầu ra thật
.claude/skills/.venv/bin/python3 -m pytest tests/ -q -m 'not gemini'$ pytest tests/ -q -m 'not gemini' 1100 passed, 34 deselected, 2 warnings in 55.77s → deterministic suite green · 0 network calls · corpus-dependent tests skip cleanly
Additional gates (all deterministic, no key needed):Cổng bổ sung (tất định, không cần key):
.claude/skills/.venv/bin/python3 -m pytest tests/ -m bug_class .claude/skills/.venv/bin/python3 tests/golden/run_evals.py Run the full e2e pipeline (19 steps)Chạy pipeline e2e đầy đủ (19 bước)
run-full-pipeline.py exercises the deterministic leg of all 7 frameworks against e2e/synthetic-project/ — a fully synthetic 2-character corpus with no real PII. 19 steps covering PSY · GRO · MAT · CRE · EVL + the platform_lib verdict-cache and preferences CLIs. Every step is a real script run, not a mock. Add --write-log to refresh the run log. real outputrun-full-pipeline.py chạy nhánh tất định của cả 7 framework trên e2e/synthetic-project/ — corpus giả lập 2 nhân vật hoàn toàn, không có PII thật. 19 bước bao phủ PSY · GRO · MAT · CRE · EVL + platform_lib verdict-cache và preferences CLI. Mỗi bước là chạy script thật, không phải mock. Thêm --write-log để cập nhật run log. đầu ra thật
.claude/skills/.venv/bin/python3 e2e/run-full-pipeline.py[FINDINGS] PSY · health-check · completeness [OK ] PSY · crossref · timeline (dim 1) [OK ] PSY · crossref · bidirectional refs [OK ] PSY · crossref · extract events [OK ] PSY · timeline-sync [FINDINGS] GRO · validate growth [OK ] GRO · competency gather [OK ] MAT · indexer · coverage gaps [OK ] MAT · indexer · stale materials [OK ] MAT · loader · inventory [OK ] MAT · loader · dup detection [FINDINGS] CRE · humanize · scan ai-tells [OK ] CRE · privacy-guard · scan assets [OK ] CRE · privacy-guard · confidential names [OK ] EVL · validate · all rubrics [OK ] EVL · validate · scorecard invariants [OK ] LIB · verdict_cache · crisis is never-cached [OK ] LIB · verdict_cache · store+hit a verdict [OK ] LIB · preferences · read knobs → 19/19 steps OK · 7 frameworks · synthetic fixture · exit 0
What the 19 steps cover19 bước bao phủ gì
| LegNhánh | StepsBước |
|---|---|
PSY | health-check · crossref · timeline-synchealth-check · crossref · timeline-sync |
GRO | validate growth · competency gatherkiểm tra phát triển · thu thập năng lực |
MAT | indexer (coverage gaps · stale) · loader (inventory · dup)indexer (khoảng trống · cũ) · loader (kho · trùng) |
CRE | humanize (ai-tell scan) · privacy-guard (asset scan)humanize (quét ai-tell) · privacy-guard (quét asset) |
EVL | validate (all rubrics · scorecard invariants)kiểm tra (mọi rubric · bất biến scorecard) |
LIB | verdict_cache (crisis=never-cached · store→hit) · preferencesverdict_cache (khủng hoảng=không cache · lưu→hit) · preferences |
Degrade-clean guaranteeĐảm bảo xuống cấp êm
No characters.yaml? The e2e runner uses its own synthetic fixture — it never reads your corpus. Corpus-dependent unit tests skip. All imports, compiles, and script executions still pass. The toolkit is structurally sound before you add a single real subject.Không có characters.yaml? Runner e2e dùng fixture giả lập của chính nó — không đọc corpus của bạn. Test unit phụ thuộc corpus bị bỏ qua. Tất cả import, compile, và thực thi script vẫn pass. Toolkit vững chắc về cấu trúc trước khi bạn thêm một nhân vật thật.
Invoke your first skillGọi skill đầu tiên
All 68 skills are invoked by name as {fw}:{skill} inside Claude Code — the skill orchestrates its own scripts and LLM reasoning. You never call scripts directly when working through Claude Code. A good first skill without a corpus is mat:loader (needs a source file to ingest) or psy:health-check (needs a character slug + profile).Tất cả 68 skill được gọi theo tên {fw}:{skill} trong Claude Code — skill tự điều phối script và suy luận LLM. Bạn không bao giờ gọi script thủ công khi làm qua Claude Code. Skill đầu tốt để thử không cần corpus là mat:loader (cần file nguồn để thu nhận) hoặc psy:health-check (cần slug nhân vật + hồ sơ).
mat:loaderIngest, classify, CRAAP-score, and frontmatter-inject a source document into docs/materials/. Stage 1–2 of the MAT pipeline. Emits MAT.integrated when the integration gate passes — triggering PSY.refresh on the next step.Thu nhận, phân loại, chấm CRAAP, và chèn frontmatter cho tài liệu nguồn vào docs/materials/. Giai đoạn 1–2 của pipeline MAT. Phát MAT.integrated khi cổng tích hợp thông qua — kích hoạt PSY.refresh ở bước kế tiếp.
psy:health-checkProfile completeness scoring — 25 files × quality dimensions = a 0–100 score with per-file gap flags. Good diagnostics after the first psy:wave build. Also the entry point for COM framework health monitoring.Chấm điểm độ đầy đủ hồ sơ — 25 file × chiều chất lượng = điểm 0–100 kèm cờ khoảng trống từng file. Chẩn đoán tốt sau lần build psy:wave đầu tiên. Cũng là điểm vào giám sát sức khỏe framework COM.
mat:loader · psy:health-check · orc:bootstrap --quick
Or invoke a script directly (for testing outside Claude Code):Hoặc gọi script trực tiếp (để kiểm thử ngoài Claude Code):
.claude/skills/.venv/bin/python3 .claude/skills/psy-health-check/scripts/score-profile-completeness.py --character <your-slug>Verify schemas (optional but recommended)Xác minh schema (tùy chọn nhưng khuyến nghị)
Validates 119 files — rubrics, scorecards, and references — against their JSON schemas. Run it after adding a rubric or scorecard to catch shape errors early.Kiểm tra 119 file — rubric, scorecard, và tài liệu tham khảo — theo schema JSON. Chạy sau khi thêm rubric hoặc scorecard để phát hiện lỗi hình dạng sớm.
.claude/skills/.venv/bin/python3 .claude/scripts/validate-all-against-schemas.py.claude/ — skills, subagents, hooks, rules, schemas, the shared platform_lib, and the venv all live there. Nothing installs into the system Python. Nothing calls the network in the deterministic leg. The toolkit ships no character corpus; the e2e synthetic fixture contains no real PII. AGPL-3.0 licensed — network/SaaS use of a modified version must release full source.Hoàn toàn tự đóng gói dưới .claude/ — skill, subagent, hook, rule, schema, platform_lib chung, và venv đều ở đó. Không cài vào Python hệ thống. Không gọi mạng trong nhánh tất định. Toolkit ship không corpus nhân vật; fixture giả lập e2e không có PII thật. Giấy phép AGPL-3.0 — dùng mạng/SaaS bản sửa đổi phải công bố mã nguồn đầy đủ.FAQHỏi đáp
Do I need a character corpus to run anything?Cần corpus nhân vật để chạy không?
e2e/synthetic-project/ — a fully synthetic fixture. Unit tests that depend on a real roster skip gracefully. You only need a corpus to run character-specific skills like psy:health-check --character <slug>.Không. Runner e2e dùng e2e/synthetic-project/ — fixture hoàn toàn giả lập. Test unit phụ thuộc roster thật bị bỏ qua một cách khéo léo. Bạn chỉ cần corpus để chạy skill cụ thể cho nhân vật như psy:health-check --character <slug>.Why must I use .claude/skills/.venv/bin/python3 instead of python3?Vì sao phải dùng .claude/skills/.venv/bin/python3 thay vì python3?
pyyaml, jsonschema, and pytest are installed. Using the system interpreter will raise ModuleNotFoundError on the first import. The venv rule is enforced across every skill — it's not optional.Venv nội bộ là nơi duy nhất có cài pyyaml, jsonschema, và pytest. Dùng trình thông dịch hệ thống sẽ báo ModuleNotFoundError ở lần import đầu tiên. Quy tắc venv được áp dụng trên mọi skill — không có ngoại lệ.34 tests are skipping — is that a problem?34 test bị bỏ qua — có vấn đề không?
gemini. They need GEMINI_API_KEY and are expected to skip without one. Set a key (or a .env file) to run them. The deterministic suite is the ground truth for correctness.Không — 34 cái đó là test LLM thật được đánh dấu gemini. Cần GEMINI_API_KEY và được thiết kế để bỏ qua khi thiếu key. Đặt key (hoặc file .env) để chạy chúng. Bộ test tất định là cơ sở đánh giá tính đúng đắn.Can I invoke skills without Claude Code?Có thể gọi skill mà không dùng Claude Code không?
.claude/skills/.venv/bin/python3 .claude/skills/{fw}-{skill}/scripts/{script}.py [args]. But skills also contain LLM reasoning steps — those only run when invoked through Claude Code where the LLM orchestrates the full skill contract defined in SKILL.md.Script tất định chạy độc lập: .claude/skills/.venv/bin/python3 .claude/skills/{fw}-{skill}/scripts/{script}.py [args]. Nhưng skill còn có bước suy luận LLM — những bước đó chỉ chạy khi gọi qua Claude Code, nơi LLM điều phối hợp đồng skill đầy đủ định nghĩa trong SKILL.md.Does anything call the network during the deterministic suite?Có gì gọi mạng trong bộ test tất định không?
-m 'not gemini'.Không. Không có lần gọi mạng nào trong nhánh tất định. Pipeline e2e chạy hoàn toàn trong thư mục fixture giả lập. Ngay cả showcase này cũng không gọi mạng. Đường dẫn mạng duy nhất là test LLM qua Gemini, được loại trừ rõ ràng bằng -m 'not gemini'.Install — full detailsCài đặt — chi tiết đầy đủ
Venv convention, degrade-clean guarantee, schema validation, AGPL-3.0, and the distribution pack.Quy ước venv, đảm bảo xuống cấp êm, xác minh schema, AGPL-3.0, và gói phân phối.
Journey — ingest to assetHành trình — thu nhận đến asset
Follow one synthetic material end-to-end: mat:loader → psy:wave → evl:score → cre:post-writer → two CRE gates → assets/.Theo một tư liệu giả lập từ đầu đến cuối: mat:loader → psy:wave → evl:score → cre:post-writer → hai cổng CRE → assets/.
Skill catalog — all 68Danh mục skill — cả 68
Every skill with its purpose, guide links, and use-case finder to pick the right chain.Mọi skill với mục đích, link hướng dẫn, và bộ chọn theo use-case để chọn chuỗi phù hợp.
Hub — overviewHub — tổng quan
The 7-framework architecture, the event pipeline, and the honest-by-design guarantees at a glance.Kiến trúc 7 framework, pipeline sự kiện, và đảm bảo trung thực-theo-thiết-kế trong nháy mắt.