How zhimaai/booktoskill works
Book to Skill converts TXT, Markdown, DOCX, and PDF documents into an installable, evidence-grounded Skill ZIP, then provides bounded lexical retrieval in generated skills. The main workflow is conversion and asset extraction, heading-aware chunking, model-authored evidence metadata, validation and index merging, then packaging; at runtime, an agent searches the index and consults source Markdown or assets. The README documents the broader stages and optional OCR; sampled excerpts are partial, so some internal wiring is represented only where documented.
Main entry points: convert_documents.py Format conversion · prepare_workflow.py Workflow preparation · split_markdown.py Chunk manifest · batch_index.py Batch iterator
Components 21
Document preparation
- Workflow preparation
scripts/prepare_workflow.py - Format conversion
scripts/convert_documents.py - Markdown and assets
scripts/convert_documents.py - Heading-aware chunking
scripts/split_markdown.py
Evidence indexing
- Chunk manifest
scripts/split_markdown.py - Batch iterator
scripts/batch_index.py - Batch result files
scripts/batch_index.py - Index validator and merger
scripts/merge_index.py - Grounded JSONL index
scripts/merge_index.py
Skill packaging
- Skill builder
scripts/build_skill.py - Installable Skill ZIP
scripts/build_skill.py
Skill retrieval
- Skill instructions
SKILL.md - Agent metadata
agents/openai.yaml - Bounded index search
scripts/search_index.py - Packaged source Markdown
scripts/build_skill.py - Packaged source assets
scripts/build_skill.py
Other components
- Operator
- Source documents
- ChatWiki parser
- Model batch author
- Using agent
Connections 26
- Operator → Workflow preparation: starts workflow
- Source documents → Format conversion: provides files
- Workflow preparation → Format conversion: runs conversion
- Format conversion → Markdown and assets: writes Markdown/assets
- Format conversion → ChatWiki parser: requests OCR
- Format conversion → Heading-aware chunking: prepares documents
- Heading-aware chunking → Chunk manifest: writes chunks
- Workflow preparation → Heading-aware chunking: runs splitting
- Chunk manifest → Batch iterator: supplies chunks
- Batch iterator → Model batch author: presents bounded batch
- Model batch author → Batch result files: writes results
- Batch iterator → Batch result files: reads completed parts
- Batch result files → Index validator and merger: supplies results
- Chunk manifest → Index validator and merger: supplies evidence sources
- Index validator and merger → Grounded JSONL index: validates and writes
- Grounded JSONL index → Skill builder: supplies index
- Markdown and assets → Skill builder: supplies source files
- Skill builder → Installable Skill ZIP: packages skill
- Installable Skill ZIP → Using agent: installs skill
- Using agent → Bounded index search: submits query
- Bounded index search → Grounded JSONL index: reads and ranks
- Bounded index search → Using agent: returns candidates
- Using agent → Packaged source Markdown: opens referenced source
- Using agent → Packaged source assets: inspects referenced assets
- Skill instructions → Using agent: guides retrieval
- Agent metadata → Using agent: provides metadata