Minimum Viable Distillation for Cangjie-Skill: 7-Step RIA-TV++ Pipeline Explained
The minimum viable distillation for Cangjie-Skill is the complete RIA-TV++ pipeline applied to a single candidate unit, producing one SKILL.md file with its supporting test-prompts.json and DIGEST.md.
Cangjie-Skill transforms high-value source texts—books, long video transcripts, podcasts—into agent-callable AI skills. This article breaks down the minimum viable distillation pipeline implemented in the kangarooking/cangjie-skill repository, walking through each stage from source text to deployable skill.
What Minimum Viable Distillation Means in Cangjie-Skill
A minimum viable distillation is the smallest working pipeline that still produces a functional skill pack. According to methodology/00-overview.md, every skill must satisfy five invariants: atomicity, traceability, verifiability, evolvability, and user-in-the-loop design. The pipeline achieves this through seven sequential stages.
Stage 0: Adler Analysis
The pipeline begins with Adler analysis, documented in methodology/01-stage0-adler.md. This stage produces BOOK_OVERVIEW.md—a structured document capturing:
- Structure: How the source text is organized
- Interpretation: Core arguments and their meaning
- Critique: Strengths, weaknesses, and limitations
- Application: Where and how the methods apply
The BOOK_OVERVIEW.md serves as the foundation for all downstream extraction. Each skill repository in the wild contains this generated file, ensuring every distilled skill traces back to a systematic source analysis.
Stage 1: Parallel Extraction
From the book overview, five specialized extractors run in parallel to harvest candidate methodological units. These extractors live in the extractors/ folder:
| Extractor | Purpose |
|---|---|
framework-extractor.md |
Identifies systematic frameworks and models |
principle-extractor.md |
Extracts core principles and rules |
case-extractor.md |
Captures illustrative examples and case studies |
counter-example-extractor.md |
Finds boundary conditions and failures |
glossary-extractor.md |
Defines specialized terminology |
This parallel approach ensures comprehensive coverage without premature filtering. The methodology is detailed in methodology/02-stage1-parallel-extract.md.
Stage 1.5: Triple Verification
Not all candidates become skills. The triple verification stage, defined in methodology/03-stage1.5-triple-verify.md, applies three strict filters:
- Cross-domain evidence: Does the method work outside its original context?
- Predictive power: Does it anticipate outcomes better than alternatives?
- Uniqueness: Does it add something not already covered by existing skills?
Only candidates passing all three checks advance to skill construction.
Stage 2: RIA++ Construction
Verified candidates become full skills using the SKILL.md template at templates/SKILL.md.template. This template enforces six RIA++ fields:
- **R** (Reference): Source traceability
- **I** (Interpretation): What the method means
- **A1** (Application v1): Standard use case
- **A2** (Application v2): Edge or creative use case
- **E** (Evolution): How the skill can grow
- **B** (Boundary): When NOT to use this skill
The RIA++ structure, documented in methodology/04-stage2-ria-plus.md, ensures every skill is self-contained yet connected to its origins.
Stage 3: Zettelkasten Linking
Once constructed, skills get integrated into a knowledge graph. methodology/05-stage3-zettelkasten.md describes how INDEX.md records:
- Dependencies between skills (what builds on what)
- Contrasts and conflicts between methods
- The overall "skill map" for navigation
This linking transforms isolated skills into a coherent, navigable system.
Stage 4: Pressure Testing
Before delivery, every skill faces the pressure test. From methodology/06-stage4-pressure-test.md, this stage:
- Generates
test-prompts.jsonusing the schema intemplates/DIGEST.md.template - Runs trigger-scenario test cases against the skill
- Enforces a minimum pass rate of 80%
Skills falling below this threshold are rejected or sent back for refinement. The 80% bar ensures reliability without demanding perfection that would block shipping.
Stage 5: Delivery
The final stage, methodology/07-stage5-deliver.md, produces:
DIGEST.md: Human-readable executive summary- Installed skill: Copied to the agent's
skills/directory, ready for immediate use
# Logical pipeline flow (pseudocode based on methodology docs)
source_text = load_source("my_book.txt")
book_overview = adler_analyze(source_text) # → BOOK_OVERVIEW.md
candidates = parallel_extract(book_overview) # → 5 extractor outputs
verified = triple_verify(candidates) # filtered to passing units
skill_md = render_template(
"templates/SKILL.md.template",
verified[0]
) # → one SKILL.md
test_prompts = generate_test_prompts(skill_md) # → test-prompts.json
if run_pressure_test(test_prompts) >= 0.80: # 80% minimum pass rate
install_skill(skill_md, "skills/") # → deployed
write_digest(skill_md) # → DIGEST.md
Key Files in the Minimum Viable Distillation
| File | Role |
|---|---|
SKILL.md |
Core pipeline definition and invariants |
templates/SKILL.md.template |
RIA++ skill structure |
methodology/00-overview.md |
RIA-TV++ pipeline overview |
methodology/01-stage0-adler.md |
Adler analysis stage |
methodology/02-stage1-parallel-extract.md |
Parallel extraction |
methodology/03-stage1.5-triple-verify.md |
Triple verification |
methodology/04-stage2-ria-plus.md |
RIA++ construction |
methodology/05-stage3-zettelkasten.md |
Skill linking |
methodology/06-stage4-pressure-test.md |
Pressure testing |
methodology/07-stage5-deliver.md |
Final delivery |
extractors/*-extractor.md |
Five parallel extractors |
Summary
The minimum viable distillation for Cangjie-Skill consists of seven stages executed once per candidate:
- Adler analysis creates the source overview
- Five parallel extractors harvest candidate methods
- Triple verification filters for quality
- RIA++ construction builds the skill file
- Zettelkasten linking connects to the skill map
- Pressure testing enforces the 80% pass rate
- Delivery produces
DIGEST.mdand installs toskills/
This pipeline yields a single, atomic, traceable, verified, tested skill ready for agent invocation.
Frequently Asked Questions
What does "minimum viable" specifically mean in Cangjie-Skill?
Minimum viable means running the complete RIA-TV++ pipeline once on a single candidate to produce one working SKILL.md. It is not a subset of stages—it is the full pipeline applied minimally. Skipping any stage (especially triple verification or pressure testing) violates the invariants defined in methodology/00-overview.md and produces an invalid skill pack.
Why is the pressure test pass rate set at 80% rather than 100%?
The 80% minimum pass rate balances reliability against practicality. As implemented in methodology/06-stage4-pressure-test.md, this threshold catches fundamentally broken skills while allowing through methods that may have edge-case limitations. A 100% requirement would block many valuable but imperfect real-world techniques; below 80%, confidence in the skill's utility drops unacceptably.
Can I run just one extractor instead of all five?
No. The parallel extraction design in methodology/02-stage1-parallel-extract.md intentionally uses five specialized extractors because methodological units appear in different forms across source texts. Running only principle-extractor.md would miss case-based methods; using only case-extractor.md would overlook abstract frameworks. The triple verification stage depends on this breadth to make informed filtering decisions.
How does RIA++ differ from standard RIA (Reference, Interpretation, Application)?
RIA++ adds three extensions to the classic model, as defined in templates/SKILL.md.template:
- A2 (second application): Forces consideration of non-obvious or edge uses
- E (evolution): Documents how the skill can improve or adapt
- B (boundary): Explicitly states when the method fails or should not apply
These additions address evolvability and safe deployment—critical for agent-callable skills that may be invoked in unpredictable contexts.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →