# kangarooking/cangjie-skill architecture

> Architecture diagram of the GitHub repository kangarooking/cangjie-skill, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/kangarooking/cangjie-skill
- Repository: https://github.com/kangarooking/cangjie-skill
- Video tour (about a minute): https://gitdiagram.com/kangarooking/cangjie-skill/video

## Overview

Cangjie Skill turns books, transcripts, and other long-form content into verified capability bundles, then compiles those bundles into callable single Skills or compact packs. The documented workflow proceeds from whole-content analysis through extraction, verification, capability structuring, pressure-testing, and delivery; the local CLI also supports bundle migration, compilation, updates, repair, rollback, evaluation, and benchmarking. A separate website presents the registry, supports browsing and installation guidance, and prepares community submissions. Some pipeline implementation is documented but not sampled, so uncertain internal calls are omitted.

Main entry points: [`scripts/cangjie.py`](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/cangjie.py) (Unified CLI), [`scripts/compile_single.py`](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/compile_single.py) (Single compiler), [`scripts/compile_pack.py`](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/compile_pack.py) (Pack compiler), [`books/naval-almanack-skill/.cangjie/capabilities`](https://github.com/kangarooking/cangjie-skill/tree/main/books/naval-almanack-skill/.cangjie/capabilities) (Capability Bundle)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_distill["Distillation Method"]
  node_overview["Whole-content analysis<br/>[01-stage0-adler.md]"]
  node_extract["Candidate extraction"]
  node_verify["Verification gates"]
  node_promotion["Promotion gate"]
end

subgraph group_toolchain["Bundle Toolchain"]
  node_bundle[("Capability Bundle<br/>[capabilities]")]
  node_cli["Unified CLI<br/>[cangjie.py]"]
  node_update["Incremental updates<br/>[update_flow.py]"]
  node_repair["Failure repair<br/>[repair_flow.py]"]
end

subgraph group_deliver["Skill Delivery"]
  node_single["Single compiler<br/>[compile_single.py]"]
  node_pack["Pack compiler<br/>[compile_pack.py]"]
  node_eval["Output evaluation"]
end

subgraph group_website["Website Catalog"]
  node_registry[("Skill registry")]
  node_catalog["Catalog browsing<br/>[catalog.ts]"]
  node_install["Install guidance<br/>[install.ts]"]
  node_submission["Community submission<br/>[submission.ts]"]
end

node_creator(("Content creator"))
node_source["Source material"]
node_skills["Callable Skills"]
node_visitor(("Website visitor"))
node_github["GitHub repository"]

node_creator -->|"provides"| node_source
node_source -->|"analyzes"| node_overview
node_overview -->|"informs"| node_extract
node_extract -->|"screens candidates"| node_verify
node_verify -->|"checks utility"| node_promotion
node_promotion -->|"records capabilities"| node_bundle
node_creator -->|"runs commands"| node_cli
node_cli -->|"compiles single"| node_single
node_cli -->|"compiles pack"| node_pack
node_cli -->|"dispatches update"| node_update
node_cli -->|"dispatches repair"| node_repair
node_cli -->|"dispatches evaluation"| node_eval
node_single -->|"reads bundle"| node_bundle
node_pack -->|"reads bundle"| node_bundle
node_single -->|"writes output"| node_skills
node_pack -->|"writes output"| node_skills
node_visitor -->|"browses"| node_catalog
node_catalog -->|"loads entries"| node_registry
node_visitor -->|"requests guidance"| node_install
node_install -->|"uses entry metadata"| node_registry
node_visitor -->|"prepares listing"| node_submission
node_submission -->|"opens contribution"| node_github

click node_overview "https://github.com/kangarooking/cangjie-skill/blob/main/methodology/01-stage0-adler.md"
click node_extract "https://github.com/kangarooking/cangjie-skill/tree/main/extractors"
click node_verify "https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md"
click node_promotion "https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03b-stage1.6-promotion-gate.md"
click node_bundle "https://github.com/kangarooking/cangjie-skill/tree/main/books/naval-almanack-skill/.cangjie/capabilities"
click node_cli "https://github.com/kangarooking/cangjie-skill/blob/main/scripts/cangjie.py"
click node_update "https://github.com/kangarooking/cangjie-skill/blob/main/scripts/update_flow.py"
click node_repair "https://github.com/kangarooking/cangjie-skill/blob/main/scripts/repair_flow.py"
click node_single "https://github.com/kangarooking/cangjie-skill/blob/main/scripts/compile_single.py"
click node_pack "https://github.com/kangarooking/cangjie-skill/blob/main/scripts/compile_pack.py"
click node_eval "https://github.com/kangarooking/cangjie-skill/blob/main/scripts/run_output_evals.py"
click node_skills "https://github.com/kangarooking/cangjie-skill/tree/main/dist"
click node_registry "https://github.com/kangarooking/cangjie-skill/tree/main/registry"
click node_catalog "https://github.com/kangarooking/cangjie-skill/blob/main/website/src/lib/catalog.ts"
click node_install "https://github.com/kangarooking/cangjie-skill/blob/main/website/src/lib/install.ts"
click node_submission "https://github.com/kangarooking/cangjie-skill/blob/main/website/src/lib/submission.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_overview,node_extract,node_verify,node_promotion toneBlue
class node_bundle,node_cli,node_update,node_repair toneAmber
class node_single,node_pack,node_eval toneMint
class node_registry,node_catalog,node_install,node_submission toneRose
class node_creator,node_source,node_visitor,node_github toneIndigo
class node_skills toneTeal
```

## Components

### Distillation Method

- [Whole-content analysis](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/01-stage0-adler.md): `methodology/01-stage0-adler.md`
- [Candidate extraction](https://github.com/kangarooking/cangjie-skill/tree/main/extractors): `extractors`
- [Verification gates](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03-stage1.5-triple-verify.md): `methodology/03-stage1.5-triple-verify.md`
- [Promotion gate](https://github.com/kangarooking/cangjie-skill/blob/main/methodology/03b-stage1.6-promotion-gate.md): `methodology/03b-stage1.6-promotion-gate.md`

### Bundle Toolchain

- [Capability Bundle](https://github.com/kangarooking/cangjie-skill/tree/main/books/naval-almanack-skill/.cangjie/capabilities): `books/naval-almanack-skill/.cangjie/capabilities`
- [Unified CLI](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/cangjie.py): `scripts/cangjie.py`
- [Incremental updates](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/update_flow.py): `scripts/update_flow.py`
- [Failure repair](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/repair_flow.py): `scripts/repair_flow.py`

### Skill Delivery

- [Single compiler](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/compile_single.py): `scripts/compile_single.py`
- [Pack compiler](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/compile_pack.py): `scripts/compile_pack.py`
- [Output evaluation](https://github.com/kangarooking/cangjie-skill/blob/main/scripts/run_output_evals.py): `scripts/run_output_evals.py`

### Website Catalog

- [Skill registry](https://github.com/kangarooking/cangjie-skill/tree/main/registry): `registry`
- [Catalog browsing](https://github.com/kangarooking/cangjie-skill/blob/main/website/src/lib/catalog.ts): `website/src/lib/catalog.ts`
- [Install guidance](https://github.com/kangarooking/cangjie-skill/blob/main/website/src/lib/install.ts): `website/src/lib/install.ts`
- [Community submission](https://github.com/kangarooking/cangjie-skill/blob/main/website/src/lib/submission.ts): `website/src/lib/submission.ts`

### Other components

- **Content creator**
- **Source material**
- [Callable Skills](https://github.com/kangarooking/cangjie-skill/tree/main/dist): `dist`
- **Website visitor**
- **GitHub repository**

## Connections

- Content creator → Source material: provides
- Source material → Whole-content analysis: analyzes
- Whole-content analysis → Candidate extraction: informs
- Candidate extraction → Verification gates: screens candidates
- Verification gates → Promotion gate: checks utility
- Promotion gate → Capability Bundle: records capabilities
- Content creator → Unified CLI: runs commands
- Unified CLI → Single compiler: compiles single
- Unified CLI → Pack compiler: compiles pack
- Unified CLI → Incremental updates: dispatches update
- Unified CLI → Failure repair: dispatches repair
- Unified CLI → Output evaluation: dispatches evaluation
- Single compiler → Capability Bundle: reads bundle
- Pack compiler → Capability Bundle: reads bundle
- Single compiler → Callable Skills: writes output
- Pack compiler → Callable Skills: writes output
- Website visitor → Catalog browsing: browses
- Catalog browsing → Skill registry: loads entries
- Website visitor → Install guidance: requests guidance
- Install guidance → Skill registry: uses entry metadata
- Website visitor → Community submission: prepares listing
- Community submission → GitHub repository: opens contribution
