agentsclimarketplace

Book to skills

Skill sfrangulov/skills/book-to-skills

Distill a book, long-video transcript, podcast, course, or interview into a coherent set of executable agent skills. Use when the user asks to "distill this book into skills", "turn this video/podcast/course into agent skills", or wants the frameworks, principles, and methodologies in long-form content extracted into atomic, reusable skills an agent can invoke in real situations. NOT for plain summarization, book reviews, or role-playing the author.From its SKILL.md

Install
npx -y skills add sfrangulov/skills --skill book-to-skills

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

11.3 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it

book-to-skills — a meta-skill that distills a book into a set of executable agent skills

Mission

Break the methodology buried inside a book into a set of atomic skills an agent can invoke in real situations, so the reader actually puts them to work.

Terminology: throughout this document and everything under methodology/ and extractors/, "book" is shorthand for any long-form source being distilled — a book, a long-video transcript, a podcast transcript, a course, an interview, a long article, a document set.

Boundaries:

  • ✅ Do: distill methodologies / decision frameworks / checklists / principles / concept systems
  • ❌ Don't: write book summaries / reviews / author-persona role-play (for that, use nuwa-skill)

Core methodology: RIA-TV++

A seven-stage pipeline (Stages 0-5, plus a verification gate at 1.5) with parallel extraction, triple verification, and darwin-compatible testing. See methodology/00-overview.md for the full walkthrough.

Stage 0: Whole-Work Comprehension (Adler pass) → BOOK_OVERVIEW.md
Stage 1: Parallel Extraction (5 subagents)     → pool of candidate units
Stage 1.5: Triple Verification                 → passing units (light confirmation checkpoint)
Stage 2: RIA++ Construction                    → each skill's SKILL.md
Stage 3: Zettelkasten Linking                  → INDEX.md + GLOSSARY.md
Stage 4: Pressure Testing (darwin-compatible)  → test-prompts.json + full rebuild / cull
Stage 5: Delivery                              → DIGEST.md digest + install into the skills directory

When to invoke this skill

The user says something like:

  • "Distill Shape Up into skills"
  • "Turn Buffett's shareholder letters into an investing skill pack"
  • "Distill this podcast transcript into skills: <path>"
  • "Make The Art of War's methodology into usable agent skills"

Input requirements

Before you start, you must confirm with the user:

  1. Source text: a path to a PDF / EPUB / TXT / subtitle file / transcript, or accessible plain text. Do not distill "from memory" without the text — stop and ask the user for it instead. (For a video or podcast, get the transcript first with yt-dlp or a similar transcript tool.)
  2. Source metadata: for a book, "title + author + publication year"; for a video / podcast / course, "title + author (creator / host / lecturer) + release date". Used for directory naming and audit.
  3. First pilot?: if this is the user's first run with book-to-skills, distill one source to validate the flow before doing a batch.

Field mapping for non-book sources: "chapter" fields such as source_chapter take a timestamp or part number for video, an episode number for podcasts, a lecture number for courses — anything that keeps the claim traceable.

No source at hand? README.md's Starter Corpus lists legally free books to distill first.

Output structure

books/<slug>/
├── PIPELINE_STATE.md          # pipeline state: current stage + per-skill progress (for checkpoint resume)
├── BOOK_OVERVIEW.md           # Stage 0 output: thesis / skeleton / terms / critique
├── verified.md                # Stage 1.5 output: units that passed Triple Verification + rationale
├── INDEX.md                   # Stage 3 output: skill overview + reference graph
├── GLOSSARY.md                # Stage 3 output: glossary shared across the whole book
├── DIGEST.md                  # Stage 5 output: reader-facing digest
├── candidates/                # Stage 1 output: raw candidate pool (audit)
├── rejected/                  # Stage 1.5 culled units + reasons (audit)
├── <skill-slug-1>/
│   ├── SKILL.md
│   ├── test-prompts.json      # darwin-skill compatible format
│   └── test-results.md        # Stage 4 pass rate + failure analysis
└── <skill-slug-2>/
    └── ...

Execution flow (strict order)

Checkpoint resume: before starting, check whether books/<slug>/PIPELINE_STATE.md exists. If it does, read it and resume from the recorded stage — don't start over. After finishing each stage, update that file (current stage / finished artifacts / per-skill status / next step); a simple checklist in markdown is enough.

Stage 0 — Whole-Work Comprehension

  1. Read the book text the user provided. Read large files in chunks.
  2. Run the four Adler passes (structure / interpretation / critique / application) from methodology/01-stage0-adler.md.
  3. Fill in templates/BOOK_OVERVIEW.md.template and write books/<slug>/BOOK_OVERVIEW.md.
  4. Show the output to the user for confirmation: "Did I read the skeleton right? Anything you want emphasized?" Move to Stage 1 only after they confirm.

Stage 1 — Parallel Extraction

Spawn 5 subagents via the Agent tool (one message, 5 parallel calls):

subagentprompt it readsoutput
Framework extractorextractors/framework-extractor.mddecision frameworks / mental models
Principle extractorextractors/principle-extractor.mdprinciples / checklists / rules
Case extractorextractors/case-extractor.mdreal cases the author used in the book
Counter-example extractorextractors/counter-example-extractor.mdfailure modes the book warns against
Glossary extractorextractors/glossary-extractor.mdkey-concept dictionary

Each subagent reads the book, extracts, and writes its output to books/<slug>/candidates/<type>.md independently.

  • Long text: for content that exceeds one subagent's context, apply the chunking strategy in methodology/02-stage1-parallel-extract.md.
  • Serial fallback: when the current environment doesn't support parallel subagents, run the same 5 extractor prompts serially — the output format is unchanged.

Stage 1.5 — Triple Verification

Read methodology/03-stage1.5-triple-verify.md and run each candidate unit through:

  • V1 Cross-corroboration: do at least 2 independent passages in the book back it up?
  • V2 Predictive power: can you use it to answer a new question the book never states outright?
  • V3 Uniqueness: is it more than generic common sense any smart person would land on?

Units that pass go to books/<slug>/verified.md. Units that fail go to books/<slug>/rejected/ with the reason — keep the audit trail, and let the user pull one back later.

Light confirmation checkpoint ★: once filtering is done, show the user the list of "N passing candidate titles + M culled": "These N will become skills — anything to recover or cut?" Get confirmation before Stage 2 — Stages 2–4 are the most time-consuming part, and this checkpoint heads off a lot of rework.

Stage 2 — RIA++ Construction

For each passing unit, fill in templates/SKILL.md.template:

  • R (Reading): source quote ≤100 words per passage
  • I (Interpretation): rebuild the methodology's skeleton in your own words (don't lift the source's wording verbatim)
  • A1 (Past Application): cases the author actually used in the book
  • A2 (Future Trigger) ★: the situation in which the user needs this → the skill's description field
  • E (Execution): 1-2-3 executable steps
  • B (Boundary): when it doesn't apply / author blind spots carried over from the Stage 0 critique

See methodology/04-stage2-ria-plus.md for the details. Note: at this point A2's "distinction from adjacent skills" is only a first draft (based on the unit list in verified.md); backfill the final version once Stage 3 has built the links.

Stage 3 — Zettelkasten Linking

Per methodology/05-stage3-zettelkasten.md:

  1. Find the reference relationships between skills (A depends on B / A contrasts with B / A composes with B).
  2. Add a "Related skills" section at the end of each SKILL.md, and backfill A2's "distinction from adjacent skills".
  3. Generate INDEX.md from templates/INDEX.md.template (with a mermaid reference graph).
  4. Consolidate candidates/glossary.md into books/<slug>/GLOSSARY.md — it's the shared dictionary for every skill, and shouldn't stay buried in the audit directory.

Stage 4 — Pressure Testing (darwin-compatible)

For each skill, per methodology/06-stage4-pressure-test.md:

  1. Design 5–10 test prompts and write them to test-prompts.json per templates/test-prompts.json.template.
  2. Include at least 3 kinds: should-trigger / should-NOT-trigger (bait prompt) / boundary-ambiguous. At least 1 bait prompt must be a scenario that should trigger a different skill from the same book (the cross-skill confusion test).
  3. Prefer blind-testing each prompt with an independent subagent, with the main flow tallying results against the expectations. Anything that fails goes back for a full rebuild at Stage 2 — no cosmetic patching.
  4. Write each skill's test outcomes to <skill-dir>/test-results.md.

Stage 5 — Delivery

Per methodology/07-stage5-deliver.md:

  1. Generate books/<slug>/DIGEST.md — a reader-facing digest (per templates/DIGEST.md.template) that serves the "don't read the whole book, just give me the essence" need.
  2. Ask the user where to install (user-level ~/.claude/skills/ or project-level .claude/skills/ / .cursor/skills/), then copy or symlink the skills that passed there — without this step, the skills you produced can't actually be invoked.
  3. Tell the user: "Done — you can feed this straight into darwin-skill for automatic evolution."

Quality red lines (a violation blocks output)

  1. Every skill must pass all three verification checks.
  2. Every skill must have complete R / I / A1 / A2 / E / B sections.
  3. Source quotes are ≤100 words per passage.
  4. Every skill must have a test-prompts.json that includes bait prompts (should-NOT-trigger scenarios), at least 1 of which is a sibling skill from the same book.
  5. The description field must state clear trigger conditions — not just "a skill about X".

Ecosystem: nuwa-skill / book-to-skills / darwin-skill

The three mesh together: the test-prompts.json this skill produces follows darwin-skill's format exactly, so the skills you generate can plug straight into darwin for automatic evolution.

Invocation conventions

  • Always pilot 1 book first — unless the user explicitly says "batch".
  • Report progress between stages — don't run silently and dump the results at the end.
  • Never distill from memory — no text, stop and ask.
  • Keep the audit trail — hold on to both candidates/ and rejected/.
  • Resume anytime — update PIPELINE_STATE.md after each stage, and recover from the state file after an interruption.

What ships with it: 20 files

75.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.