DEV Community

Cover image for Open Source Project #122: cangjie-skill — Distill Books, Videos, and Podcasts into Executable AI Skills
WonderLab
WonderLab

Posted on

Open Source Project #122: cangjie-skill — Distill Books, Videos, and Podcasts into Executable AI Skills

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)
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

  1. Structure: What is this content about? What's the overall skeleton?
  2. Interpretation: What are the core arguments? How are key concepts defined?
  3. Criticism: What are the author's blind spots or limitations in their reasoning?
  4. 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
Enter fullscreen mode Exit fullscreen mode

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:

  1. Should invoke: this scenario should trigger the skill
  2. Should not invoke (decoys): this scenario looks related but should not trigger
  3. 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/
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:

  1. Every skill must pass all three verifications
  2. Every skill must have all six R/I/A1/A2/E/B sections
  3. Original quotes ≤150 words per excerpt (English: ≤100 words)
  4. Every skill must have test-prompts.json including decoy tests, with at least 1 sibling-skill confusion test
  5. The description field must specify explicit trigger conditions — not just "a skill about X"

Resources

Official Links


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)