twhsi/fire-card-to-epub
Convert FIRE analysis cards, Chinese knowledge notes, or project-note JSON into validated EPUB books with directory cards, chapter cards, keyword index cards, backlinks, and GitHub-shareable ebook assets. Use when Codex needs to teach or automate the path from `fire-analysis-card` outputs to `project-note-json-to-epub` style EPUB files, including sample JSON manuscripts and attached `.epub` deliverables.
npx skills add https://github.com/twhsi/skills --skill fire-card-to-epub
Turn FIRE analysis cards into a small validated EPUB book.
Use this skill when the user asks:
FIRE 卡片變成電子書把分析卡做成 EPUB教我怎麼從 FIRE 到電子書上傳 GitHub 成為技能,附上電子書檔案把 Obsidian 知識卡整理成 EPUBThis skill bridges two workflows:
| Source Skill | Role |
|---|---|
| fire-analysis-card | Analyze article/note material into Fact, Index, Relation, Encyclopedia |
| project-note-json-to-epub | Package structured notes into EPUB with TOC, index, links, and validation |
code, title, body, keywords, and optional fire_card.assets/fire-to-epub-tutorial.json as the starting schema.title, creator, language, chunks.subtitle, index, orthogonal_check.python3 scripts/fire_cards_to_epub.py assets/fire-to-epub-tutorial.json --out assets/fire-to-epub-tutorial.epub --download-copy assets/download.epub
errors: 0.SKILL.md, scripts/fire_cards_to_epub.py, the sample JSON, and the sample EPUB.assets/ so users can download or inspect it from GitHub.Minimal manuscript:
{
"title": "FIRE 卡片變成電子書",
"creator": "Codex",
"language": "zh-Hant",
"chunks": [
{
"code": "1.1",
"title": "FIRE 先成卡",
"body": "正文內容。",
"keywords": ["FIRE", "知識卡"],
"fire_card": "可選:固定寬度 FIRE 卡文字"
}
]
}
Recommended manuscript:
{
"title": "FIRE 卡片變成電子書",
"subtitle": "從分析卡到 EPUB 的最小流程",
"creator": "Codex",
"language": "zh-Hant",
"chunks": [
{
"code": "1.1",
"title": "FIRE 先成卡",
"body": "先把文章壓成穩定知識卡,再進入電子書結構。",
"keywords": ["FIRE", "知識卡", "Fact"]
}
],
"index": [
{"id": "K001", "keyword": "FIRE", "weight": 100}
],
"orthogonal_check": {
"ok": true,
"axes": {
"analysis_axis": "Fact、Index、Relation、Encyclopedia",
"book_axis": "TOC、正文、索引、驗證"
}
}
}
If index is missing, the script derives it from chunks[].keywords.
The generator writes:
| EPUB File | Purpose |
|---|---|
| mimetype | EPUB signature, first and uncompressed |
| META-INF/container.xml | Rootfile pointer |
| OEBPS/content.opf | Metadata, manifest, spine |
| OEBPS/nav.xhtml | EPUB navigation |
| OEBPS/Text/toc.xhtml | Directory card |
| OEBPS/Text/part001.xhtml | Chapter/card pages |
| OEBPS/Text/index.xhtml | Keyword index cards |
| OEBPS/Styles/style.css | Readable style |
Before delivery, report:
errors: 0
title: ...
all_href_count: ...
index_forward_links_tested: ...
body_return_links_tested: ...
index_entries: ...
true_body_cjk_count: ...
file type: EPUB document
If errors is not 0, fix the JSON or generator and rebuild.
Explain the workflow to the user like this:
fire-analysis-card 把文章變成穩定知識卡。chunks[]。keywords 建立 K001、K002 等索引卡。errors: 0。assets/.Take twhsi/fire-card-to-epub from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.