Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add SuperJJ007/eatbook --skill ingestgit clone --depth 1 https://github.com/SuperJJ007/eatbookWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/superjj007/eatbook/ingest)<a href="https://agentmods.dev/skills/superjj007/eatbook/ingest"><img src="https://agentmods.dev/badge/skills/superjj007/eatbook/ingest/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/superjj007/eatbook/ingest"><img src="https://agentmods.dev/badge/skills/superjj007/eatbook/ingest.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00121 | $0.01158 |
| Opus 5 | $0.00060 | $0.00579 |
| Sonnet 5 | $0.00024 | $0.00232 |
| Haiku 4.5 | $0.00012 | $0.00116 |
Grade A, and why
ingest scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
/eatbook:ingest — 书籍入库
本 skill 是编排者:转换委托 /pdf-ocr,翻译委托 /md-translate,自己只负责质检、章节索引和归位。
步骤 1:定位
- 解析参数:PDF 路径(必需)、领域 slug(缺省时列出
domains/下已有领域让用户选) - 定书 slug(书名英文小写连字符,如
principles-of-neural-science) - 建目录:
domains/<领域>/books/<书slug>/{source,notes}
步骤 2:PDF → Markdown
调用 Skill pdf-ocr,参数为 PDF 路径;输出归位到 books/<书slug>/source/full.md + source/images/。
- 英文教材记得传语言
en;扫描件走ocr模式 - 大部头教材(>500页)建议先转前 30 页检查质量,确认后再全量
步骤 3:质检(GASBOOK 实战经验固化)
运行预检脚本:
python3 ${CLAUDE_SKILL_DIR}/scripts/preflight.py <full.md路径> # 只报告
python3 ${CLAUDE_SKILL_DIR}/scripts/preflight.py <full.md路径> --fix # 自动修复(先备份 .bak)
脚本处理三类已知问题:
- 乱码段检测(MinerU 对扫描件多栏小字的字符级乱码)——报告行号范围,人工判断:目录/索引区乱码可整段删除并插入
〔OCR 乱码,略〕;正文乱码需考虑该页重新 OCR - 公式分隔符:
$ x $→$x$(内侧空格导致 pandoc 拒识数学模式);$...$紧贴数字时插空格 - Unicode 上下标归一化:
¹⁹→19(CJK 字体不含这些字符,渲染会变空框)
脚本报告后,把"需人工判断"的项逐条处理掉。
步骤 4:章节索引
python3 ${CLAUDE_SKILL_DIR}/scripts/build_toc.py <full.md路径> > <书目录>/notes/_toc.json
脚本按标题模式(Chapter N / 第N章 / ## N. 等)切分出章节→行号范围。
必须人工校对:对照书的真实目录(Read full.md 开头部分或问用户),检查:
- 章节数量对不对、有没有把 Preface/Appendix 误判为章
- OCR 噪声标题(如把页眉识别成
#)造成的假章节 - 校对后直接 Edit
_toc.json修正
_toc.json 是 /eatbook:read 分章精读的依据,错了会导致漏读,务必核对。
步骤 5:翻译
调用 Skill md-translate,输入 source/full.md,输出归位为 books/<书slug>/translation.md。
- 教材通常术语密集:把本领域
00-domain.md提到的领域名告诉翻译 skill,便于其构建领域术语表 - 大部头会跑较久(管线支持断点续传),可以建议用户后台跑
步骤 6:归位与登记
- 确认最终结构:
source/full.md、source/images/、translation.md、notes/_toc.json - 更新
domains/<领域>/00-domain.md进度表:该书"入库 ☑ / 翻译 ☑" - 汇报:转换质量摘要(乱码段数量、公式修复数、章节数)+ 下一步提示
/eatbook:read <书slug>
注意
- 锚点基准:后续所有笔记锚点都指向
source/full.md的行号。质检修复必须在_toc.json生成和深读开始之前完成;入库之后不再改动 full.md(改动会使所有锚点漂移) - 论文入库走同样流程,书 slug 用
paper-<第一作者>-<年份>,可跳过翻译(问用户)
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 70 lines · 121 tokens per session scan A f40b01e5c439
ingest is a skill published in the GitHub repository SuperJJ007/eatbook (4 stars, last pushed 3mo ago), licensed MIT. It adds 121 tokens to every session and 1,158 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
pydicom
Use pydicom to read, inspect, write, transform, and safely preflight local DICOM datasets and pixel data. Applies to DICOM metadata, transfer syntaxes, compression plugins, frames, private elements, JSON, and bounded de-identification review.
foundry-hosted-agent-validation
Step-by-step process for validating a Python Foundry hosted agent sample (under python/samples/04-hosting/foundry-hosted-agents/) end to end — running it locally (native runtime and azd ai agent run) and after deploying it to an Azure AI Foundry project with azd. Use this when asked to validate a hosted agent sample.
skill-doc-delivery
Convert markdown to DOCX, PPTX, XLSX, PDF office documents — use when you need exportable deliverables.
pdf-extract-create-workflow
Complete PDF lifecycle: download, extract, and generate structured documents with reportlab.
document-direct-python
Use direct Python execution for reliable document creation including spreadsheets, PDFs, and structured reports.
parse-document
Convert a PDF, scan, image of a page, or office file to clean markdown through the connected Superlinked MCP edge, so the source document is not read into model context directly. Use when the user asks to read, parse, OCR, extract from, summarize, or answer questions about a document.