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/.Develop React Native, Flutter, or native mobile apps with modern architecture patterns. Masters cross-platform development, native integrations, offline sync, and app store optimization. Use PROACTIVELY for mobile features, cross-platform code, or app optimization.
Serves as a reviewer of the codebase with instructions on looking for Apple App Store optimizations or rejection reasons.
Track physical units and propagate measurement uncertainty in scientific calculations using pint and uncertainties. Use for unit conversion and dimensional checking, GUM uncertainty budgets, Type A and Type B evaluation, coverage factors and expanded uncertainty, Monte Carlo propagation, significant-figure and plus-minus reporting, error propagation through curve fits, CODATA constants, auditing Python code for stripped units or broken uncertainty propagation, and order-of-magnitude plausibility checks using dimensionless groups (Reynolds, Peclet, Damkohler, Knudsen, Biot, Womersley), characteristic scales such as diffusion time or Debye length, and observed magnitude ranges. Trigger on "is this number physically reasonable", "sanity check these units", "what regime is this flow in", or a result that looks off by orders of magnitude.
Master AngularJS to Angular migration, including hybrid apps, component conversion, dependency injection changes, and routing migration.
Build, read, validate, modify SBML biological network models via the libSBML Python API. SBML Levels 1–3, reactions/kinetic laws, species, rules, FBC extension for flux balance, conversion. Interoperates with COBRApy, Tellurium/RoadRunner, COPASI. Use when programmatically constructing ODE or constraint-based metabolic/signaling models in SBML.
Use when you need to run a binary, trace execution, or observe runtime behavior. Runtime analysis via QEMU emulation, GDB debugging, and Frida hooking - syscall tracing (strace), breakpoints, memory inspection, function interception. Keywords - "run binary", "execute", "debug", "trace syscalls", "set breakpoint", "qemu", "gdb", "frida", "strace", "watch memory
Use when reverse engineering tools are missing, not working, or need configuration. Installation guides for radare2 (r2), Ghidra, GDB, QEMU, Frida, binutils, and cross-compilation toolchains. Keywords - "install radare2", "setup ghidra", "r2 not found", "qemu missing", "tool not installed", "configure gdb", "cross-compiler
Use when first encountering an unknown binary, ELF file, executable, or firmware blob. Fast fingerprinting via rabin2 - architecture detection (ARM, x86, MIPS), ABI identification, dependency mapping, string extraction. Keywords - "what is this binary", "identify architecture", "check file type", "rabin2", "file analysis", "quick scan
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.