crisp-reading
npx skills add https://github.com/kcchien/crisp-reading --skill crisp-reading
Agent 安装分布
Skill 文档
CRISP Reading
ä½ ç AI 深度é±è®å¤¥ä¼´ãæä¸æ¬æ¸æè§£ãçè§£ãæ¹å¤ãå §åï¼ç¢åºä¸ä»½äºåå¼ HTML é±è®å ±åã
æ¶æ§ï¼Claude åªæèï¼è ³æ¬èçæ ¼å¼
è·¯å¾ Aï¼PDF/EPUB â extract-text.py â ç´æå ââ
è·¯å¾ Bï¼å
æ¸å â Gutendex API â TXT ä¸è¼ ââââ¤â Claude åæ â JSON â render-report.py â HTML
è·¯å¾ Cï¼å
æ¸åï¼æ¸åº«ç¡çµæï¼â ä¾å
¬éè³æ âââ
- Claude è² è²¬ï¼é±è®çè§£ãæ¹å¤åæãçµæ§åæè â 輸åºåæ JSON
- è ³æ¬è² è²¬ï¼æåæåï¼extract-text.pyï¼ãHTML 模æ¿å¡«å ï¼render-report.pyï¼ï¼æ¨¡æ¿ç±è ³æ¬èçï¼ä¸è¼å ¥ context
- JSON æ¯å §é¨ä¸éæ ¼å¼ï¼Claude ç¢åº JSON å¾ç´æ¥å³çµ¦ render-report.pyï¼ä½¿ç¨è ä¸éè¦ä¹ä¸ææ¿å° JSON æªæ¡
é使µç¨
決çç©é£ï¼æ ¹æè¼¸å ¥æ±ºå®è·¯å¾
| è¼¸å ¥ | èµ°åªäºæ¥é© | ç¢åº |
|---|---|---|
| æ PDF/EPUB | ä¸ï½äºæ¥å ¨é¨ | HTML å ±å |
| æ PDF/EPUB + 使ç¨è å·²æçè¨ | å è®çè¨ï¼åèµ°ä¸ï½äºæ¥ | HTML å ±å |
| å æ¸å | åè©¦å ¬éæ¸åº«åæ¸ â è¥åå¾å ¨æèµ°ä¸ï½äºæ¥ï¼å¦å第åï½äºæ¥ï¼ä¾å ¬éè³æï¼ | HTML å ±å |
ææè·¯å¾ä¸å¾èµ°å®å ¨æµç¨ï¼ç¢åº HTML å ±åã
ç¬¬ä¸æ¥ï¼ç°å¢æºå
ç¢ºèª pymupdf4llm å¯ç¨ï¼extract-text.py çå¯ä¸å¿ è¦ä¾è³´ï¼ï¼
pip install pymupdf4llm # è¥å°æªå®è£
ç¬¬äºæ¥ï¼è©ä¼°æ¸ç±å¤§å°
使ç¨è æä¾ PDF æï¼å å·è¡ï¼
python scripts/extract-text.py book.pdf --info
輸åºç¯ä¾ï¼
{
"title": "The Almanack of Naval Ravikant",
"page_count": 242,
"estimated_tokens": 95000,
"needs_chunking": true,
"suggested_chunks": 2
}
ç¬¬ä¸æ¥ï¼æåæåï¼ä¾å¤§å°æ±ºå®çç¥ï¼
å°åæ¸ç±ï¼estimated_tokens < 80,000ï¼ï¼ä¸æ¬¡æåå ¨æ¸
python scripts/extract-text.py book.pdf -o book.md
大忏ç±ï¼estimated_tokens ⥠80,000ï¼ï¼åæ¹èç
# 1. å
æåç®é
python scripts/extract-text.py book.pdf --toc
# 2. æ ¹æç®éçµæ§ï¼æç« ç¯åæ¹æå
python scripts/extract-text.py book.pdf --pages 1-50 -o part1.md
python scripts/extract-text.py book.pdf --pages 51-120 -o part2.md
# ...æèªååå¡ï¼
python scripts/extract-text.py book.pdf --chunk-size 50 --output-dir ./chunks
大忏ç±çåæçç¥ï¼
- å è®ç®é + åè¨ + çµè«ï¼ææ¡å ¨è²ï¼ï¼å®æ TIPS è©å
- åæ¹è®åç« ç¯ï¼æ¯æ¹ç¢åºå±é¨åæçè¨ï¼è«é»ãæ¦å¿µãå¼å¥ãæ¹å¤ï¼
- å ¨é¨ç« ç¯è®å®å¾ï¼æ´åææå±é¨çè¨ï¼åä½µéè¤æ¦å¿µãçµ±ä¸è«é»å±¤æ¬¡ãè£å è·¨ç« ç¯çæ¹å¤è¦è§
- ç¢åºä¸ä»½å®æ´ JSONï¼ä¸æ¯å¤ä»½æ¼æ¥ï¼èæ¯æ´åå¾çå®ä¸çµæ§ï¼
è ³æ¬å¤±ææçåéï¼åç¥ä½¿ç¨è åå ï¼å»ºè°æ¿ä»£æ¹æ¡ï¼æä¾è§£éç PDFãå®è£ pymupdf4llmãææ¹ç¨æ¸å模å¼ï¼ãEPUB æªæ¡éè¦ document-to-markdown skill ç gateway.pyï¼è¥ä¸å¯ç¨ï¼è«ä½¿ç¨è è½æçº PDF ææ¹ç¨æ¸å模å¼ã
æ¸å模å¼ï¼å試å¾å ¬éæ¸åº«åå¾å ¨æï¼é¸ç¨ï¼
å è¼¸å ¥æ¸åæï¼å試å¾å ¬éé åæ¸åº«æå°å ¨æãæ¤æ¥é©çºé¸ç¨ï¼åå¾å ¨æææååæå質ã
æå°çç¥ï¼Gutendex APIï¼ï¼
- 䏿æ¸åï¼å
languages=zh忏 âhttps://gutendex.com/books?languages=zh&search={䏿æ¸å} - è±ææ¸åï¼ç´æ¥æå° â
https://gutendex.com/books?search={è±ææ¸å} - å´ç¦èªè¡ç¿»è¯æ¸ååæå°ï¼ä¾å¦æãèæ®éè¨ãç¿»æ “lao can travels”ï¼ï¼ç´æ¥ç¨åå§æ¸åæå°
- åé¸ï¼Standard Ebooks
https://standardebooks.org/ebooks?query={æ¸å}ï¼å è±ææ¸ï¼
æµç¨ï¼
- ç¨ WebFetch æå° Gutendex APIï¼ä¸ææ¸è¨å¾å
languages=zhï¼ - è¥æ¾å°å¹é
çµæï¼ä¸è¼ TXT æ ¼å¼ï¼åªå
text/plain; charset=utf-8ï¼ - ç¨ extract-text.py æåæåï¼æç´æ¥è®å TXTï¼
- é²å ¥æ¨æºåææµç¨ï¼ç¬¬äºï½äºæ¥ï¼
- HTML å ±åæ¨è¨»ï¼ãæ¸ç±ä¾æºï¼Project Gutenbergï¼å ¬å ±é åçæ¬ï¼ã
éå¶èåéï¼
- å ¬éæ¸åº«å æ¶éå ¬å ±é 忏ç±ï¼å¤çº 1928 å¹´ååºçï¼
- æå°ç¡çµæ â åéå°ãä¾å ¬éè³æãæ¨¡å¼ï¼ä¸é»å¡æµç¨
- WebFetch ä¸å¯ç¨ â ç´æ¥è·³éï¼èµ°ãå æ¸åãæ¨æºè·¯å¾
- ä¸å¼·å¶ï¼è¥ä½¿ç¨è æç¢ºèªªãä¸éè¦ä¸è¼ãæãç¨ä½ çç¥è就好ãï¼è·³éæ¤æ¥é©
詳細æ¸åº«æ¸ å®è API ç¨æ³è¦ references/ebook-library.mdã
ç¬¬åæ¥ï¼Claude åæ â è¼¸åº JSON
Claude è®åæåå¾çæåï¼å·è¡åææµç¨ï¼è¦ä¸æ¹ï¼ï¼æçµç¢åºåæ JSON æªæ¡ãJSON çµæ§å®ç¾©è¦ references/json-schema.mdã
ç¬¬äºæ¥ï¼æ¸²æ HTML å ±å
python scripts/render-report.py analysis.json -o reading-report-{slug}.html
è ³æ¬è®å JSONãå¥ç¨ HTML 模æ¿ã輸åºå®æ´å ±åãé¶ token æ¶èã
åææµç¨ï¼å §é¨ï¼
使ç¨è ä¸éè¦ç¥ééæ®µå稱ãæä»¥ä¸é åºå·è¡ï¼
- è©ä¼°ï¼TIPS åç¶åº¦å¿«éè©åï¼è¦ä¸æ¹éæ¥è¡¨ï¼ï¼ä½çºè©å¹ææ¨é¡¯ç¤ºå¨å ±åä¸
- çµæ§è§£æï¼èåå ¨æ¸éª¨æ¶ãæ ¸å¿æåã主è«é»ãè«èæ¶æ§
- 深度åæï¼Adler åå + æ¨ç»ååãåºå±¤åè¨èåãSelf-Explanationãæç¶æ¨¡åèåèèªç¥å·®è·ææ
- æ¹å¤è©ä¼°ï¼Adler ä¸é¡åå°ãSteel-Manningãå質è©ä¼°å ç¶åº¦
- å¤é¨é©èï¼é¸ç¨ï¼ï¼å å¨ä½¿ç¨è æç¢ºè¦æ±ææç¨ WebSearch æå°å ¬ç¾è¨è«
- å §åèè¡åï¼Zettelkasten ä¸å±¤çè¨çµæ§ãè¡åæ¿è«¾ï¼ä¸è¦ç´ ï¼
- ç¢åº JSONï¼å°åæçµæçµæ§åçº JSONï¼äº¤ç± render-report.py 渲æ
åéæ®µè©³ç´°æ¹æ³è«è¦ references/analysis.mdï¼HTML è¨è¨è¦ç¯è¦ references/design-spec.mdã
TIPS åç¶åº¦è©å鿥
æ¯åç¶åº¦ 1-3 åãTIPS è©åä½çºæ¸ç±è©å¹ææ¨ï¼é¡¯ç¤ºæ¼ HTML å ±åä¸ï¼ä¸å½±é¿åææ·±åº¦ââæææ¸ç±ä¸å¾å·è¡å®æ´æ·±åº¦åæã
| ç¶åº¦ | 代è | å®ç¾© |
|---|---|---|
| å·¥å ·æ§ï¼Toolabilityï¼ | T | æ¸ä¸çæ¹æ³è½ä¸è½ç´æ¥æ¿ä¾ç¨ |
| åç¼æ§ï¼Inspirabilityï¼ | I | è®å®æä¸ææ¹è®æèæ¹å¼ |
| å¯¦ç¨æ§ï¼Practicalityï¼ | P | å°è®è ç¶åèå¢ææ²æå¹«å© |
| ç§å¸æ§ï¼Scientificityï¼ | S | è«ææ¯å¦ç¶å¾èµ·æ¨æ² |
è©å鿥ï¼
- 1 åï¼T æ²æå¯æä½æ¹æ³ / I 大å¤å·²ç¥å¸¸è / P èè®è éè¯ä½ / S é å人ç¶é©æè»¼äº
- 2 åï¼T ææ¹æ³ä½éèªå·±è½å / I ææ°ç©è§é» / P é¨åå¯æç¨ / S æä¸å®èæä½ä¸ç³»çµ±
- 3 åï¼T æä¾ç¾æå·¥å ·æµç¨ / I æ ¹æ¬æ§ææ°èªç¥ / P ç´æ¥è§£æ±ºç¶ååé¡ / S èæå åé輯å´è¬¹
總åè§£è®ï¼
| 總å | æç¾© |
|---|---|
| 4-5 | ä¸è¬ |
| 6-8 | å¥½æ¸ |
| 9-12 | é常å¼å¾æ·±è® |
æ ¸å¿ä¸è®é
- 便ºèª 實 â 確èªç¢ºå¯¦ææ¡æ¸ç±å §å®¹æéå§åæãå ææ¸åæï¼ä¸ç¢ºå®çé¨åæç¢ºæ¨ç¤ºãä¾å ¬éè³æå¤æ·ãï¼çµä¸ç·¨é ç´°ç¯
- æ¹æ³è«ä¸å¤é² â 使ç¨è æ°¸é 䏿çå° Phase ç·¨èãJSON çµæ§ãæ¹æ³è«å稱ï¼å¦ AdlerãZettelkastenï¼ãTIPS è©åæ¸åæé¡¯ç¤ºå¨ HTML å ±åä¸
- æ¹å¤ä¸ç¼ºå¸ â èæè¶èå¼±æ¹å¤è¶æ·±ï¼ä½ä¸å¾ç¨èªç¶èªè¨è¡¨é
- è¡åè¦å ·é« â æé + å°è±¡ + å ·é«è¡åï¼ç¼ºä¸ä¸å¯
- çç½å¼æè â å ±åä¸ä¸»åçä¸éæ¾å¼æåï¼å¼å°è®è å½¢æèªå·±ç夿·ï¼èé給åºå®è«
ç¹æ®æ å¢èç
- é¨åé±è®ï¼éå°å·²è®é¨ååæï¼æªè®é¨åæ¨è¨çºå¾ è£ï¼ä¸ç測
- å¤èªè¨æ¸ç±ï¼å§çµç¨ç¹é«ä¸æè¼¸åºï¼å¼è¿°åææéä¸æç¿»è¯ãç®æ¨è®è
çºç¹é«ä¸æä½¿ç¨è
ï¼æ¸åèçè¦åï¼
- è±ææ¸æä¸æè¯å â 䏿æ¸åï¼åææ¸åï¼ï¼ä¾ï¼ã大亨å°å³ï¼The Great Gatsbyï¼ã
- è±ææ¸ç¡ä¸æè¯å â ç´æ¥ç¨åææ¸å
- ä¸ææ¸ â ç´æ¥ç¨ä¸ææ¸å
- 延伸é±è®æ¸å®åçï¼ãã窮æ¥ççæ®é常èãï¼Poor Charlie’s Almanackï¼â Charlie Mungerã
- ä½è å½åè¦åï¼è±ææåæä½è ï¼æå ¬èªä¸æè¯åè 以ã䏿è¯åï¼åæåï¼ãæ ¼å¼åç¾ï¼ä¾å¦ãæ³è西æ¯Â·å²èç¹Â·è²»è²åç¾ ï¼F. Scott Fitzgeraldï¼ãï¼è¥ç¡å ¬èªä¸æè¯ååç´æ¥ç¨åæ
- ç¿»è¯æ¥èè¦åï¼å¼·å¶ï¼ï¼æ¸ååä½è
çç¹é«ä¸æè¯åå¿
é éé WebSearch æ¥èï¼ç¢ºèªçºå°ç£åºççæå
¬èªçæ¨æºè¯å徿å¯ä½¿ç¨ãå´ç¦æè¨æ¶ç測æé³è¯ãæ¥èæ¥é©ï¼
- ç¨ WebSearch æå°ã{åææ¸å} ç¹é«ä¸æ è¯åãæã{åææ¸å} 䏿çã
- ç¢ºèªæå°çµæä¸ææç¢ºçåºçåæå¯é 便ºä½è該è¯å
- è¥ WebSearch ä¸å¯ç¨ææå°å¾ä»ç¡æ³ç¢ºèªæ¨æºè¯åï¼ç´æ¥ä½¿ç¨åææ¸å/ä½è åï¼ä¸åä»»ä½ç¿»è¯
- 延伸é±è®ä¸çå ¶ä»æ¸ç±åçï¼ç¡æ³ç¢ºèªè¯åæä¿çåæ
- 使ç¨è å·²æçè¨ï¼å è®åï¼ä»¥æ¤çºåºç¤è£å æ·±åï¼ä¸éé åæ
- 渲æå¤±æï¼æª¢æ¥ JSON çµæ§æ¯å¦ç¬¦å json-schema.mdï¼ä¿®æ£å¾éæ°å·è¡ render-report.py
è ³æ¬å·¥å ·
| è ³æ¬ | ç¨é | ä¾è³´ |
|---|---|---|
scripts/extract-text.py |
PDF/EPUB æåæåãç®éæåãæ¸ç±è³è¨ãèªååå¡ | pymupdf4llmï¼å¿ è¦ï¼ï¼èªå嵿¸¬ document-to-markdown skill ç gateway.pyï¼å·²å®è£ååªå 使ç¨ï¼æ¯æ´ EPUB çæ´å¤æ ¼å¼ï¼ |
scripts/render-report.py |
JSON â HTML å ±åæ¸²æ | å Python æ¨æºåº« |
åèæªæ¡è¼å ¥è¡¨
| éæ± | è¼å ¥æªæ¡ |
|---|---|
| åæ JSON çµæ§ï¼æ¯æ¬¡åæå¿ è®ï¼ | references/json-schema.md |
| åææ¹æ³è«ï¼çµæ§è§£æãæ¹å¤ãå §åãè¡åï¼ | references/analysis.md |
| HTML å ±åè¨è¨è¦ç¯ï¼å ä¿®æ¹æ¨¡æ¿æéè¦ï¼ | references/design-spec.md |
| å ¬éé»åæ¸ä¾æºï¼æ¸å模å¼ä¸æå°æ¸åº«æï¼ | references/ebook-library.md |
è¼å ¥ååï¼
- json-schema.md å¨ç¢åº JSON åè¼å ¥ï¼ä¸éè® render-report.pyï¼
- analysis.md å¨é²å ¥åæé段æè¼å ¥
- design-spec.md é常ä¸éè¼å ¥ï¼render-report.py ç´æ¥å¥ç¨æ¨¡æ¿ï¼ï¼å å¨éè¦çè§£æä¿®æ¹ HTML çµæ§ææè¼å ¥