Introduction
"After reading, watching, and listening — walk away with a methodology you can actually invoke."
This is article #122 in the "One Open Source Project a Day" series. Today's project is cangjie-skill — a meta-skill that distills books, long videos, and podcasts into executable AI skills.
The name references Cangjie (仓颉), the legendary inventor of Chinese writing. The metaphor fits: this tool translates content into a different "language" that agents can understand and execute.
The core pain point it addresses: how many books have you read, videos have you collected, podcasts have you listened to, that you've truly applied rather than just consumed? Summaries and notes solve "I can recall this" — they don't solve "I know when to use which framework." cangjie-skill targets the second problem: turning content into tools with explicit trigger conditions, so an agent can invoke them in real decisions.
2,435 Stars. Created April 2026. 20+ book skill packs already generated.
What You'll Learn
- Why summaries don't equal reusable methodology
- The full RIA-TV++ seven-stage pipeline design
- The triple verification criteria — and why only 25–50% of candidates pass
- What each of the RIA++ six dimensions solves
- The ecosystem relationship with nuwa-skill and darwin-skill
Prerequisites
- Basic experience with Claude Code or any AI agent
- Familiarity with the concept of skills / skill packages
Project Background
Overview
cangjie-skill is a meta-skill: it's a skill you install in Claude Code whose purpose is to distill other content (books, videos, podcasts) into more skills.
Its conceptual origin is nuwa-skill — which distills people into skills (a "Musk skill", a "Buffett skill", simulating how a person thinks and expresses). cangjie-skill addresses a complementary dimension: distilling the systematically expressed content that person produced. The two don't overlap.
For video content, the author recommends pairing it with a video-downloader skill: first download the video and extract subtitles or a transcript, then feed the text to cangjie-skill.
Author / Team
- Author: kangarooking
- Language: Python
- License: MIT
- Ecosystem: nuwa-skill (distill people) + cangjie-skill (distill books) + darwin-skill (evolve skills)
Project Stats
- ⭐ GitHub Stars: 2,435+
- 🍴 Forks: 380+
- 📄 License: MIT
- 📅 Created: April 16, 2026
Features
Not Summarization — Structured Reuse
The SKILL.md opens with a clear boundary:
✅ Does: methodology / decision frameworks / checklists / principles / concept systems
❌ Doesn't: book excerpts / reviews / author impersonation (that's nuwa-skill's job)
The essential difference between a summary and a skill: a summary is compression, a skill is toolification. A skill with a trigger condition can answer "when should I use this framework?" — a summary cannot.
Supported Content Types
Despite being called a "book distiller," the documentation explicitly covers all long-form content:
- Books (PDF / EPUB / TXT)
- Long video subtitles / transcripts (YouTube, Bilibili)
- Podcast transcripts
- Course materials
- Interview recordings
- Long articles and document collections
For non-book content, the "chapter" fields use timestamps for video, episode numbers for podcasts, session numbers for courses — any scheme that keeps the output auditable.
Generated Skill Pack Gallery
| Source | Skills |
|---|---|
| Warren Buffett's Letters to Shareholders (1957–2023) | 20 |
| Poor Charlie's Almanack | 12 |
| Duan Yongping Investment Q&A | 15 |
| Influence (Cialdini) | 12 |
| Contagious (Jonah Berger) | 15 |
| Viral Copywriting | 14 |
| The Copywriter's Handbook | 12 |
| 1,000 True Fans | 13 |
| 165 AI Product System Prompts | 15 |
| No Rules Rules (Netflix) | 10 |
| Huangdi Neijing (Yellow Emperor's Classic) | 22 |
| First Principles | 10 |
| Mao's Selected Works (Vols. 1–5) | 25 |
| Andrew Ng's AI for Everyone (video course) | 25 |
| The Art of War | 8 |
| I Ching (Zhouyi) | 8 |
The range says something important: the pipeline doesn't discriminate by domain. Investment judgment, marketing copy, classical Chinese medicine, military strategy, calculus — if the content contains extractable, verifiable, transferable methodology, this pipeline can process it.
Deep Dive
The RIA-TV++ Seven-Stage Pipeline
Stage 0: Adler whole-content analysis → BOOK_OVERVIEW.md
↓
Stage 1: 5 parallel extractors → candidate methodology unit pool
↓
Stage 1.5: Triple verification → verified.md (25–50% pass rate)
↓
Stage 2: RIA++ skill construction → SKILL.md per unit
↓
Stage 3: Zettelkasten linking → INDEX.md + GLOSSARY.md
↓
Stage 4: Pressure testing (darwin compat) → test-prompts.json + rework cycle
↓
Stage 5: Delivery → DIGEST.md + install to skills directory
The name broken down:
- RIA: from Zhao Zhou's This Is How You Read — Reading / Interpretation / Appropriation
- TV: Triple Verification
- ++: agent-execution extensions — E (Execution steps) + B (Boundary and blind spots)
Stage 0: Adler Analysis
Drawing on Mortimer Adler's How to Read a Book, the content is analyzed in four steps:
- Structure: What is this content about? What's the overall skeleton?
- Interpretation: What are the core arguments? How are key concepts defined?
- Criticism: What are the author's blind spots or limitations in their reasoning?
- Application: What class of problems does this methodology apply to?
Output: BOOK_OVERVIEW.md, shown to the user for confirmation before extraction begins. The stage 0 criticism results feed directly into the B (Boundary) dimension of every skill — this is where "when NOT to use this" comes from.
Stage 1: Five Parallel Extractors
5 sub-agents launch simultaneously, each reading independently:
Framework extractor → decision frameworks / mental models
Principle extractor → principles / checklists / rules
Case extractor → examples the author personally used in the content
Counter-example extractor → failure patterns warned about in the content
Glossary extractor → key concept dictionary
Each outputs to candidates/<type>.md
Why parallel rather than sequential: each extractor reads the text from a different perspective. A case extractor is looking for "what the author did"; a counter-example extractor is looking for "what went wrong." Running both as the same agent in sequence means the first task's findings bias the second. Parallel execution preserves independence.
When parallel sub-agents aren't available, the same five extractor prompts run sequentially; the output format is identical.
Stage 1.5: Triple Verification
This is the most critical quality gate in the pipeline — and the reason only 25–50% of candidates pass.
V1 Cross-domain: The content must contain at least 2 independent passages (different argument chains, not adjacent paragraphs in the same proof) that corroborate this unit.
V2 Predictive power: Can this candidate methodology answer a new question that the content didn't explicitly state? If it can only restate what's in the text but can't reason about novel situations, it's not an independent methodology unit — it's a description.
V3 Uniqueness: This is not something any reasonably smart person would say. "Be honest" and "work hard" are not methodologies — they're noise.
All three verifications must pass for a unit to enter verified.md. Units that fail go to rejected/ with documented reasons — the audit trail is preserved and users can retrieve rejected units after the fact.
After filtering, the summary ("N passed, M rejected") is shown to the user for a light confirmation before the expensive stages begin. Stages 2–4 are the most time-consuming part of the pipeline; this checkpoint prevents large amounts of rework.
Stage 2: RIA++ Six-Dimension Construction
Each verified candidate is structured into a SKILL.md along six dimensions:
| Dimension | Content | Purpose |
|---|---|---|
| R (Reading) | Original quote, ≤150 words/excerpt | Ensures traceability — this came from the source, not invented |
| I (Interpretation) | Rewrite the methodology skeleton in your own words | Forces genuine understanding, avoids paraphrasing |
| A1 (Past Application) | Examples the author actually used in the content | Provides concrete application anchors |
| A2 (Future Trigger) ★ | In what situation would a user need this? | Becomes the skill's description field — determines when it fires |
| E (Execution) | 1-2-3 actionable steps | Execution-oriented, not understanding-oriented |
| B (Boundary) | When NOT to use this / author's blind spots | Sourced from Stage 0 criticism analysis |
A2 Future Trigger is the most critical dimension. It answers "in what real-world scenario would someone reach for this tool?" — not "what does this tool describe?" This is the hardest question to answer well, and it's the difference between a skill that gets invoked and one that sits unused.
Stage 3: Zettelkasten Linking
Drawing on the Zettelkasten note-taking method, relationships between skills are mapped:
- Dependency (A depends on B): skill A requires skill B as a prerequisite in certain situations
- Contrast (A contrasts B): skill A and skill B address similar problems with different approaches
- Combination (A combines with B): using both together produces better results than either alone
Outputs:
-
INDEX.md: overview of all skills + Mermaid reference graph -
GLOSSARY.md: shared terminology dictionary for the entire skill pack
A single isolated skill and a network of related skills with explicit relationships have completely different reuse value.
Stage 4: Pressure Testing (Darwin Compatible)
Each skill gets 5–10 test prompts in three mandatory categories:
- Should invoke: this scenario should trigger the skill
- Should not invoke (decoys): this scenario looks related but should not trigger
- Edge cases: ambiguous scenarios requiring judgment
The decoy tests must include at least one scenario that "should trigger a different skill from the same book" — the cross-skill confusion test, which prevents an agent from shotgunning every related skill when making selection decisions.
Skills that fail testing are sent back to Stage 2 for rework — not surface-patching. Results go to <skill-dir>/test-results.md.
The test file format strictly follows darwin-skill's JSON schema, which means skills produced by this pipeline can be fed directly to darwin-skill for automated evolution without any adaptation.
Stage 5: Delivery
DIGEST.md ← reader-facing distillate: don't read the whole book, read this
Install to skills directory ← without this step, the skills can't actually be invoked
User chooses installation location:
- Global: ~/.claude/skills/
- Project-level: .claude/skills/ or .cursor/skills/
DIGEST.md addresses a separate use case: sometimes you don't need to invoke a skill — you just want a fast, high-quality understanding of what the book actually argues.
Checkpoint Resume
After each stage completes, the pipeline writes PIPELINE_STATE.md (current stage, completed artifacts, per-skill status). On the next execution, this file is read first and the pipeline resumes from where it left off.
For workflows that process many books, this mechanism makes the pipeline reliable against interruptions.
Ecosystem Positioning
nuwa-skill ── distill people
thought patterns, expression DNA
"How would Musk think about this?"
cangjie-skill ── distill books / content
methodology, frameworks, principles
"When should I use this framework?"
darwin-skill ── evolve any skill
receives test-prompts.json → auto-tests → iterates
The key integration point: cangjie-skill's test-prompts.json strictly follows darwin-skill's format, so skills produced here can be handed directly to darwin for automated evolution — no adapter required.
Quality Red Lines
Any violation blocks output:
- Every skill must pass all three verifications
- Every skill must have all six R/I/A1/A2/E/B sections
- Original quotes ≤150 words per excerpt (English: ≤100 words)
- Every skill must have
test-prompts.jsonincluding decoy tests, with at least 1 sibling-skill confusion test - The
descriptionfield must specify explicit trigger conditions — not just "a skill about X"
Resources
Official Links
- 🌟 GitHub: kangarooking/cangjie-skill
- 🔗 nuwa-skill: alchaincyf/nuwa-skill (distill people)
- 🔗 darwin-skill: alchaincyf/darwin-skill (evolve skills)
- 📦 Example pack: buffett-letters-skill
Summary
cangjie-skill's core insight is: knowledge becomes reusable only when it becomes a tool, and it becomes a tool only when it's structured — not just "what was extracted" but "when to invoke it," "how to execute it," and "when not to use it."
The triple verification (cross-domain + predictive power + uniqueness) is the most important gate in the pipeline. A 25–50% pass rate means a large fraction of seemingly-valuable content is filtered out. This is a feature, not a defect: only strictly screened content is worth the cost of constructing a skill. Everything else produces "pseudo-tools" that rarely get used in real situations.
The A2 Future Trigger dimension is the hardest to write but the most valuable. It forces the question "in what real-world situation would this tool be needed?" rather than "what does this tool describe?" This question is often harder than the distillation itself — and it's what separates a skill that gets invoked from one that gets ignored.
For anyone who regularly works with books, long videos, and podcasts — and wants to do more than collect them — cangjie-skill offers a clear path from "consuming content" to "deploying methodology." The final output is not notes. It's a toolkit that an agent can call on when a matching situation arises.
Explore PrimeSkills — a curated marketplace of AI agents and skills, each validated against real enterprise workflows. No hype, just what actually works.
Visit my personal site for more insights and interesting products.
Top comments (0)