Community生產力與協作github.com

book-plugin

知識蒸餾閉環工作流:將一本書/長影片/播客蒸餾成可執行的 Skill(生成),繪製 SVG 圖(出圖),再執行逐字回源審計與四閘判態(驗證),全部綠燈才編譯交付。

book-plugin 是什麼?

這是一個為開發者與 AI 代理設計的完整知識蒸餾工作流,能將一本書、長影片或播客轉換為可安裝與執行的 AI Agent Skill。它涵蓋四個核心階段:生成(透過 cangjie 方法論進行結構化蒸餾)、出圖(繪製符合規範的 SVG 圖表)、審計(逐字比對原文以確保引文精確)以及閘門驗證(四道檢查關卡)。支援 Python 與 Node.js 環境,採用離線本地腳本,無需 API 調用。若審計出現紅燈,工作流會指示具體的失敗項目(如引文不匹配、SVG 斷鏈),引導使用者定向修正並重跑審計,最終只在所有檢查通過後才編譯交付。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cloudxy/book-plugin/tree/HEAD/skills/book-workflow

Installed? Explore more 生產力與協作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

預覽

來自技能 README

標題

說明文件

book-workflow — 蒸餾 → 出圖 → 審計 → 放行/回爐

路徑約定(先讀這個)

  • 插件根(= 倉庫根) = 本 SKILL.md 所在目錄的上兩級(skills/book-workflow/ 的 ../../),記作 $PLUGIN。
  • 工作區 = 用戶當前打開的專案根(cwd),記作 $WS。蒸餾產物(books/、.work/、tools/、.dsh/)全部落在 $WS。
  • 橋接/審計腳本不在工作區內,調用時必須帶 --ws $WS,否則找不到工作區根。
  • 原則:先審計後編譯——階段 5 的 compile 只對判態全綠的 Bundle 做。
cangjie 蒸餾(階段0-4) → svg 出圖(按需) → 橋接(逐字回源) → 四閘審計 → 全綠 compile 交付
        ▲                                                        │
        └────────────────── 回爐(按判態映射) ◀── 紅 ────────────┘

第 0 步 — 工作區自舉(每個工作區一次,冪等)

python3 $PLUGIN/scripts/bootstrap.py $WS

它建 $WS/.venv(Python ≥3.10 + PyYAML + PyMuPDF)、裝入 dsh 閘門套裝($WS/tools/ 與 $WS/.dsh/),並體檢 node(圖件閘的 svg-lint 依賴,缺失時該閘判「不適用」)。之後的命令統一用 $WS/.venv/bin/python(下文記作 $PY)。

階段一 — cangjie 蒸餾(生成側)

先確認輸入:原書文本(PDF/EPUB/TXT/轉寫稿路徑,沒有文本就停下來向用戶要,不憑記憶拆書)、書名+作者+出版年、使用目的(學習查閱→single;接入日常/跨書組合→pack)。

然後完整閱讀 $PLUGIN/vendor/cangjie-skill/SKILL.md 並嚴格按它執行(RIA-TV++ 五階段:Adler 整書理解 → 5 路並行提取 → 三重驗證 → 晉級門 → RIA++ 能力卡 → Zettelkasten → 壓力測試)。本工作流要求:

  • 產物落在 $WS/books/<slug>/(含 verified.md、candidates/、rejected/、.cangjie/capabilities/);
  • 跑到階段 4(壓力測試)之後、階段 5(編譯交付)之前停下,先進入本工作流的出圖與審計;
  • 保留全部審計軌跡,斷點續跑狀態(PIPELINE_STATE.md)每階段更新。

階段 1.5 — 出圖(svg-diagram,按需)

框架/流程/計算類能力卡或 DIGEST 需要配圖時,先讀 $PLUGIN/vendor/svg-diagram/SKILL.md 的房規再手繪 SVG(CJK 字體棧、五組語義配色、盒高=字號×3、盒間距≥25px、C/Q 曲線連線、一次畫對)。落位:

場景位置引用方式
能力卡配圖$WS/books/<slug>/.cangjie/capabilities/resources/<cap-slug>.svg卡片正文寫資源名 + Bundle 該能力 resources: 聲明
DIGEST/OVERVIEW 配圖$WS/books/<slug>/assets/<名>.svg![標題](assets/<名>.svg) 相對路徑

自查(error 必須清零):

node $PLUGIN/vendor/svg-diagram/tools/svg-lint/bin/svg-lint.mjs <圖.svg>

階段二 — 橋接(逐字回源核驗)

$PY $PLUGIN/bridge/cangjie_to_dsh.py --book-dir $WS/books/<slug> --source <原書.txt|.md|.pdf> --task <slug> --ws $WS

它把原文落成 $WS/.work/<task>/book_text.md(PDF 自動抽取——審計錨定對象永遠是原始書文),解析每張能力卡 R 段引文並去空白逐字比對,鑄穩定池 id(CJ-NNN)生成 dsh 格式池與技能審計副本。任何引文對不上 ⇒ rc=1 紅牌,回階段一修 R 層。

階段三 — 四閘審計(判態)

$PY $PLUGIN/bridge/run_audit.py --task <slug> --ws $WS

依次跑:證據包構件 → G-66 池覆蓋 → G-67 錨一致 → G-68 證據閉包 → 圖件閘(svg 引用完整 + svg-lint 合規)。判態追加到 $WS/.work/<task>/audit-verdict.md(審計時間線)。

階段四 — 放行或回爐

判態去向
全綠放行 → $PY $PLUGIN/vendor/cangjie-skill/scripts/cangjie.py compile --bundle $WS/books/<slug>/.cangjie/capabilities --out <用戶確認的安裝目標> --output auto
橋接回源紅 / G-67 紅回 cangjie 階段 2(R 層引文/日期錨修正),重跑橋接
G-66 紅(精選未落 R 層)回 cangjie 階段 1/1.5(補採候選/複核淘汰),重跑橋接
G-68 紅(閉包/漂移)先重跑審計入口;仍紅查階段 3/4 的 id 映射
圖件閘紅按房規修圖或補引用,重跑審計入口

回爐是常態不是失敗——帶著閘門給出的具體失敗項(哪條引文、哪個 id、哪張圖)定向修,不要整冊重做。

判據口徑(誰在查什麼)

  • 回源:引文去空白後必須是原文逐字子串——防「引了但原文沒有」。
  • G-66:critical/high 能力(橋接打「總綱」標記)的引文必須落在某卡 R 層——防重要單元被靜默漏掉。
  • G-67:同行「日期×引文」必須在原文 400 字窗口共現——防張冠李戴的時間錨。
  • G-68:技能引用的每個池 id 有 sha256 閉包且池不漂移——防「引了找不到原文/池改包未重建」。
  • 圖件閘:引用的 svg 必須存在、所有 svg 過 lint error=0——防斷鏈與爛圖。

質量紅線

  1. 沒有原文不蒸餾;引文 ≤150 字/段(英文 ≤100 詞)。
  2. 合成演練不得冒充書中案例;A1 無原書案例時如實標註。
  3. 審計全綠前不 compile、不安裝。
  4. 淘汰項(rejected/)保留理由;重要缺口如實登記,不虛報零遺漏。
  5. 圖與正文一致——數據變了圖必須跟著變;與正文矛盾的圖比沒圖更糟。
  6. 版權合規由使用者按原書授權判斷;本工作流只保證「準則可執行、引文可核驗」。

生態位

  • cangjie-skill(隨包於 $PLUGIN/vendor/):蒸餾方法論與流程的權威定義。
  • dsh-distillation-director(同上):三閘判態的權威實現,本地腳本零 API 成本。
  • svg-diagram(同上):出圖房規與 lint。
  • 本技能只做編排與判態收口;上游規範以三個 vendor 的 SKILL.md/README 為準,衝突時以 vendor 原文為準並在此登記偏差。

相關技能