book-pdf
마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용.
供给资产档案
研究与知识工作
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
场景
Document processing
I need my agent to read PDFs, extract tables, and turn documents into structured data.
适配 Agent
Claude Code + Browser agents + CLI
适用于 Codex、Claude Code、Cursor、CLI 或自定义 Agent。
安装
就绪
npx skills add bam-bam-2/solo-skills --skill book-pdf
维护状态
新鲜
今天有推送
风险
需审查
Dependency or permission surface needs review
GitHub 质量
128
68/100 质量 · 66/100 信任
覆盖标签
审查说明
Dependency or permission surface needs review · Permission surface may require sandboxing
Agent 采用评分卡
一眼查看信任、审计与安装准备度
这些分数综合公开仓库元数据、OpenAgentSkill 审查信号、维护新鲜度与安装准备度。它用于候选筛选,不替代人工审查。
质量
有潜力有用的候选项,但采用前应与替代方案比较。
信任
Do not auto-installTrust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
审计
需审查对安装准备度、安全元数据、维护情况与采用风险的机器可读审查。
OpenAgentSkill 信任评分 v5
安装前需人工审查
Choose a stronger alternative or inspect the source manually before any install attempt.
Stars
128 个 GitHub Stars
仓库活跃度
128 个 Star,22 个 Fork
维护状态
今天有推送
许可证
MIT
安装
npx skills add bam-bam-2/solo-skills --skill book-pdf
安装安全性
标准软件包或运行时安装路径
权限范围
shell or command execution, filesystem or document access
Agent 结果
暂未有 Agent 结果数据
文档
README/SKILL.md 上下文充分
风险摘要
生产前审查
- The provided script `html-to-pdf.py` is incomplete (truncated at the end) and does not follow the pitfalls described in SKILL.md. It uses `format="A4", landscape=True` and ignores `preferCSSPageSize`, Paged.js loading, and async rendering handling, so it will not produce the book-like PDF that the skill promises.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- Stars/forks activity: 128 stars, 22 forks; issue activity unavailable in current metadata
安装准备度
安装路径可用
- 安装路径可用
- 仓库证据可用
- 已声明许可证
- 暂无 Agent 验证结果证据
Agent 可读元数据
这个 Skill 的机器可读决策数据。
使用此区块或内嵌 JSON 判断 Agent 是否应安装该 Skill、选择替代方案,或先请求人工审查。
适用任务
- Document processing 工作流
- Claude Code 团队
- builders willing to evaluate younger projects
- Read uploaded files
适用 Agent
安装决策
- 命令
- npx skills add bam-bam-2/solo-skills --skill book-pdf
- 策略
- 审查
- 人工审查
- 是
信任与风险
- 信任
- 58/100
- 审计
- 76/100
- 风险级别
- 需审查
结果闭环
- 端点
- /api/agent/outcome
- 事件 ID
- resolve
- 结果
- 5
不适用场景
- 需要厂商支持 SLA 的团队
- production agents without a repository review
- The provided script `html-to-pdf.py` is incomplete (truncated at the end) and does not follow the pitfalls described in SKILL.md. It uses `format="A4", landscape=True` and ignores `preferCSSPageSize`, Paged.js loading, and async rendering handling, so it will not produce the book-like PDF that the skill promises.
- 高风险权限提示:Shell 或命令执行
- Dependency or permission surface needs review
Agent 安全 v2
44/100 · 避免自动安装
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
高
Shell 或命令执行
Skill 元数据引用了终端、CLI、Shell、子进程或命令执行工作流。
中
Browser automation
Skill may drive a browser or interact with web pages.
中
网络访问
Skill 可能访问远程页面、API、仓库或外部服务。
中
文件系统访问
Skill 可能读取或写入项目文件、文档、生成产物或本地工作区状态。
- 高风险权限提示:Shell 或命令执行
- Dependency or permission surface needs review
安装目标
在你的 Agent 工作流中安装此 Skill
通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。
OpenAgentSkill CLI
Resolve policy, run the source installer safely, and report a verified install receipt.
$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install bam-bam-2-book-pdfAgent 解析计划
让 Agent 在安装前验证匹配度。
Resolve API 返回首选 Skill、替代方案、安全策略、审计说明、安装目标和可直接执行的提示词,无需抓取此页面。
打开 JSON
/api/agent/resolve?task=Use%20book-pdf%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve 文本
/api/agent/resolve?task=Use%20book-pdf%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
安装交接
/api/skills/bam-bam-2-book-pdf/install
Agent 应检查
- 从 Resolve API 检查任务匹配与替代方案。
- 检查审计评分、信任评分和安全策略警告。
- 检查 Codex、Claude Code、Cursor 或 CLI 的安装目标兼容性。
复制提示词
Task: Use book-pdf in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20book-pdf%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/bam-bam-2-book-pdf/install
Install command: npx skills add bam-bam-2/solo-skills --skill book-pdf
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent 交接
把安装路径交给 Agent,而不是再给一个目录页。
通过公开安装端点获取命令、安全清单、目标提示词和该 Skill 的规范链接。
安装交接
/api/skills/bam-bam-2-book-pdf/install
LLM 文本格式
/api/skills/bam-bam-2-book-pdf/install?format=text
寻找替代方案
/api/skills/search?q=book-pdf&limit=3
Agent 提示词
Use book-pdf for this task. Review https://www.openagentskill.com/api/skills/bam-bam-2-book-pdf/install, then install with: npx skills add bam-bam-2/solo-skills --skill book-pdfRegistry 元数据
用于自动选择 Skill 的 Agent 可读档案。
本页通过 Registry API 提供相同的决策、信任、审计、场景和安装信号,让 Agent 无需抓取界面即可排序。
Manifest
/api/registry/manifest/bam-bam-2-book-pdf
LLM 文本
/api/registry/manifest/bam-bam-2-book-pdf?format=text
安装别名
/api/registry/install/bam-bam-2-book-pdf
推荐
/api/registry/recommend?task=Use%20book-pdf%20in%20an%20agent%20workflow&limit=3
适配 Agent
Document processing
平台
Claude Code, Browser agents
Agent 决策面板
Fallback candidate for Document processing
先用此 Skill 做原型验证,并保留备选方案。
栈中角色
备选候选
主要匹配
Document processing
信任标签
先做原型验证
安装路径
命令已就绪
适用场景
- Document processing 工作流
- Claude Code 团队
- builders willing to evaluate younger projects
证据
- 仓库近期活跃
- 已提供安装命令或 GitHub 仓库
- 68/100 质量档案
- 2 个 OpenAgentSkill 交互事件
先审查
- The provided script `html-to-pdf.py` is incomplete (truncated at the end) and does not follow the pitfalls described in SKILL.md. It uses `format="A4", landscape=True` and ignores `preferCSSPageSize`, Paged.js loading, and async rendering handling, so it will not produce the book-like PDF that the skill promises.
实施路径
- 1在沙盒 Agent 中安装它,并端到端完成一次Document processing任务。
- 2Compare output quality, latency, and failure behavior against at least one alternative.
- 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.
信任档案
Do not auto-install
Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.
GitHub 采用度
信息128 个 GitHub Stars
Star/Fork 活跃度
检查128 个 Star,22 个 Fork; 当前元数据中没有议题活跃度信息
近期维护
通过今天有推送
许可证清晰度
通过MIT
积极信号
- AI 审查已通过
- 安装路径可用
- 仓库证据可用
- 近期维护的仓库
- 安装命令未发现明显高风险模式
- 结果闭环已就绪,但需要首次真实 Agent 运行
安装前审查
- The provided script `html-to-pdf.py` is incomplete (truncated at the end) and does not follow the pitfalls described in SKILL.md. It uses `format="A4", landscape=True` and ignores `preferCSSPageSize`, Paged.js loading, and async rendering handling, so it will not produce the book-like PDF that the skill promises.
- Quality score needs review
- Permission surface needs review: shell or command execution, filesystem or document access
- Stars/forks activity: 128 stars, 22 forks; issue activity unavailable in current metadata
- Dependency/runtime risk: command execution surface, external package install surface
- Permission surface: shell or command execution, filesystem or document access
- 暂未有真实 Agent 结果报告
- 无人值守安装前需要人工审查
建议操作
Choose a stronger alternative or inspect the source manually before any install attempt.
质量档案
有潜力 适用于 Agent 工作流的候选
有用的候选项,但采用前应与替代方案比较。
工作流匹配
在这些场景使用此 Skill
Parse messy files
Document processing
I need my agent to read PDFs, extract tables, and turn documents into structured data.
Operate web apps
Browser automation
I need my agent to control a browser, fill forms, and verify web app workflows.
Collect structured data
Web scraping
I need my agent to scrape websites and extract structured data from pages.
工作流匹配
加入完整工作流
Operate and verify web apps
Browser QA agent
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Scrape, clean, and reuse web data
Web data pipeline
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Ingest, retrieve, and cite
RAG knowledge base
A workflow for document-heavy agents that ingest files, create searchable knowledge, retrieve relevant context, and answer with grounded sources.
替代方案短名单
安装前对比
可能适合该任务的相近 Skill。
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
MoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Cua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
概览
--- name: book-pdf description: "마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용." ---
# 마크다운 → 진짜 책 PDF/EPUB
일반 `page.pdf()` + 마크다운→HTML 변환만으로는 "리포트를 인쇄한 것"처럼 보인다. 실제 책이려면 최소 이 6가지가 있어야 한다: **표지(풀블리드) · 타이틀 페이지 · 판권 페이지 · 실제 쪽번호가 달린 목차 · 장 시작마다 새 페이지 · 쪽마다 러닝헤더/쪽번호**.
이 스킬은 [Paged.js](https://pagedjs.org)(MIT, `https://unpkg.com/pagedjs/dist/paged.polyfill.js`)를 브라우저에 스크립트 태그로 로드해 CSS Paged Media 기능(러닝헤더, 목차 쪽번호 자동생성)을 구현한다. Chromium이 네이티브로 지원 안 하는 기능이라 이 폴리필이 필요하다.
## 바로 쓰는 스크립트
[`scripts/html-to-pdf.py`](scripts/html-to-pdf.py) — Paged.js로 조판한 HTML을 PDF로 굽습니다.
```bash pip install playwright && playwright install chromium python scripts/html-to-pdf.py book.html python scripts/html-to-pdf.py "chapters/*.html" # 여러 개 한 번에 ```
`--output`으로 경로를 지정할 수 있고, 생략하면 입력 파일명 그대로 `.pdf`가 나옵니다.
## 이 환경(Aside REPL)의 알려진 함정
1. **`page.pdf({width, height})` 파라미터가 무시된다.** 항상 US Letter로 나온다. 반드시 `preferCSSPageSize: true`를 주고 CSS `@page { size: 148mm 210mm; }`로 크기를 지정할 것. `format: 'A5'` 같은 심볼릭 사이즈도 마찬가지로 무시되니 쓰지 말 것. 2. **`page.setViewportSize()`가 없다.** 뷰포트 크기를 못 바꾸므로 표지 등 개별 이미지를 만들 때 `page.screenshot({fullPage:true})`로 큰 캔버스를 찍으면 타일링 버그가 난다. 대신 `page.pdf()` + `pdftoppm`으로 원하는 크기를 렌더링할 것. 3. **`page.addScriptTag()`가 없다.** 외부 스크립트(Paged.js 등)는 `document.write()`로 쓰는 HTML 문자열 안에 `<script src="https://unpkg.com/...">` 태그를 직접 넣어야 로드된다. 4. **구글 폰트 `@import`/`<link>`가 `document.write()` 직후엔 타이밍 문제로 반영 안 될 때가 있다.** 커스텀 세리프 폰트를 꼭 써야 하면 woff2를 직접 fetch해서 base64로 인라인 `@font-face`에 박아넣을 것. 급하면 시스템 폰트(`-apple-system`, `'Apple SD Gothic Neo'`)로 타협. 5. **`target-counter()`로 목차 쪽번호를 만들 때 한글 슬러그 id가 깨질 수 있다.** pandoc이 자동 생성하는 `id="1장-시작과-실패"` 같은 한글 id 대신 `ch-01`, `part-1`, `app-a` 같은 ASCII id로 바꿔서 앵커를 걸 것. 6. **CSS `page:` (named page) 속성을 제목 요소에만 주고 바로 다음 형제 요소에는 안 주면, 그 둘 사이에 강제 페이지베이크가 생긴다.** 단순히 `break-before: page`로 장/부 시작만 제어하고 싶을 때는 `page: main;` 같은 명명 페이지 지정을 쓰지 말거나, 쓴다면 본문 전체에 동일하게 적용해야 한다 — 이건 "장 제목 바로 뒤에 이미지를 넣었는데 이미지가 다음 페이지로 밀리며 압도적인 빈 공백 페이지가 생기는" 증상으로 나타난다. 페이지 구성이 이상하면 가장 먼저 이 속성부터 의심할 것. 7. **트림 사이즈로 A5(148x210mm)를 쓰지 말 것.** A5와 A4는 비율이 동일해(1:1.414, ISO 시리즈) 화면에서 보면 "작은 A4 문서"처럼 보인다. 한국 단행본 표준판형인 **신국판(152x225mm, 비율 1:1.48)**을 쓰면 "진짜 책" 느낌이 명확하게 산다. 8. **Paged.js 렌더링은 비동기라 완료 시점을 폴링해야 한다.** `document.querySelectorAll('.pagedjs_page').length`가 N초 연속 안 바뀔 때까지 기다린 다음 `page.pdf()`를 호출할 것. 문서가 크면(80~150쪽) 완료까지 30초~1분 걸릴 수 있다.
## 절차
1. **원고를 pandoc으로 HTML 변환**: `pandoc manuscript.md -f markdown -t html5 --wrap=none -o body_raw.html`. `\newpage` 같은 LaTeX 지시자는 HTML에서 무시되니 CSS `break-before`로 대체한다. 2. **제목(`h1`/`h2`)에 ASCII id를 다시 부여**하면서 장/부 디바이더 구조로 감싼다 (예: `<h1>` → `<div class="part-divider" data-run="PART 1. ...">`). 이때 **원본 문서에 등장하는 순서를 한 번의 스캔으로 그대로 따라가는 배열**을 만들어 목차 데이터로 쓴다 — h1 전체를 먼저 훑고 h2 전체를 나중에 훑는 식으로 두 번 나눠 처리하면 목차 순서가 깨진다(장이 전부 나온 뒤 부가 나오는 식). 3. **목차 HTML**은 `<a class="toc-entry" href="#ch-01">...</a>` 형태로, CSS에서 `.toc-entry::after { content: target-counter(attr(href url), page); }`로 쪽번호를 자동 채운다. 4. **러닝헤더**: 장/부 요소에 `string-set: runninghead attr(data-run);`, `@page`의 `@top-center { content: string(runninghead); }`로 받는다. 5. **표지는 별도 `@page cover { margin:0; }` + `page: cover;`로 풀블리드**, 그 외 프론트매터(타이틀/판권/목차)는 쪽번호·러닝헤더를 끈 `@page front`로 분리한다. 6. **Paged.js 로드 + 렌더 대기 + PDF 출력**: ```js const html = `<!DOCTYPE html><html><head> <script src="https://unpkg.com/pagedjs/dist/paged.polyfill.js"></script> <style>${css}</style></head><body>${frontMatter}${bodyContent}</body></html>`; await page.evaluate((h) => { document.open(); document.write(h); document.close(); }, html); // 안정화 폴링 let last = -1, stable = 0; for (let i = 0; i < 60; i++) { await sleep(1000); const n = await page.evaluate(() => document.querySelectorAll('.pagedjs_page').length); if (n === last) { if (++stable >= 3) break; } else stable = 0; last = n; } const pdf = await page.pdf({ printBackground: true, preferCSSPageSize: true }); ``` 7. **검수는 `aside.pdf.renderPages()`로 표지/타이틀/판권/목차/본문 몇 쪽을 실제로 렌더링해서 눈으로 확인**한다. `pdfinfo`로 최종 `Page size`가 의도한 트림 사이즈(A5 등)인지 꼭 재확인한다 (함정 1번 재발 여부 체크). 8. **EPUB은 별도로 pandoc이 이미 잘 만든다**: `pandoc manuscript.md -t epub3 --css=epub.css --epub-cover-image=cover.jpg --toc --toc-depth=2 -o book.epub`. EPUB은 리플로우 포맷이라 쪽번호/러닝헤더 개념이 없고 nav.xhtml 목차만 있으면 충분하다.
## 어색한 쪽 분리(내용이 잘려서 다음 페이지로 넘어가는 현상) 방지
표/인용문/코드블록이 문장 중간에서 맥려서 다음 페이지로 이어지는 건 CSS에 깨짐 방지 규칙이 없어서다. 다음을 기본값으로 넣을 것:
```css p { orphans: 3; widows: 3; } table, blockquote, pre, img, figure { break-inside: avoid; page-break-inside: avoid; } h2, h3 { break-after: avoid; page-break-after: avoid; } /* 소제목이 페이지 맨아래 혼자 남지 않게 */ ```
이렇게 하면 문단/표/인용문이 한 페이지에 다 안 들어갈 때 그 블록 전체가 다음 페이지로 밀린다(사용자가 "앞 단락을 뒤로 밀어버려라"라고 표현하는 바로 그 동작). 부작용으로 강제 페이지보맜(장 시작 직전) 앞에 짧은 내용만 단독으로 낙은 거의-빈 페이지가 가끔 생기는데, 이건 실제 책에서도 흔한 자연스러운 현상이라 문제가 아니다. 적용 후반드시 **처음부터 끝까지 순차적으로 모든 페이지를 렌더링해서 육안으로 확인**할 것 — 하나만 집어서 보고 넘어가면 높은 확률로 놓친다.
## flexbox를 부/장 오프너에 쓰지 말 것
제목+삽화를 한 덩어리로 묶어서 같은 페이지에 있게 하려고 `display:flex`를 쓨다면, Paged.js가 flex 컨테이너 내부 높이 계산을 제대로 못 해서 **예상과 달리 자식 요소가 다음 페이지로 통째로 밀려나간다** (제목만 남고 삽화는 혼자 다음 장으로 가는 식). 한 페이지에 여러 요소를 묶을 때는 **평범한 블록 흐름(margin/padding)만으로** 레이아웃하고 flexbox/grid는 피할 것. 또한 제목과 그 바로 뒤에 오는 이미지 문단을 따로 처리하지 말고, 한 번의 정규식으로 단락(제목 헤딩 + 바로 뒤 이미지 단락)을 함께 매칭해서 **하나의 div로 합쳐넣으면** 둘이 한 덩어리로 취급되어 분리될 확률이 줄어든다.
## 스타일 참고
색은 절제된 포인트 컬러 1개(골드/앰버 등)만 쓰고, 여백을 넉넉히 준다. 장 오프너는 "CH.01" 같은 뱃지 + 큰 제목, 인용구는 왼쪽 세로선 + 이탤릭으로 처리하면 무난하게 "책스럽다".
技术详情
- 版本
- 1.0.0
- 许可证
- MIT
- 最近更新
- 2026年8月23日
- 发布时间
- 2026年8月23日
决策摘要
备选候选
仓库近期活跃
Agent 验证证据
Agent 验证证据
来自解析、审查、安装和一次小范围运行后的结果报告。
- 成功率
- —
- 近期失败
- —
- 结果
- 0
- 输出质量
- —
- 失败
- 0
- 不相关
- 0
- 安装次数
- 0
- 风险拦截
- 0
- 需要配置
- 0
- 生产环境
- 0
暂时没有 Agent 结果数据。首次 Agent 执行可以通过 /api/agent/outcome 报告成功、需要设置、风险拦截、失败或不相关。
增长闭环
分享工具包
为 book-pdf 准备的场景化草稿,可手动发布到 X。
For a web workflow, this is a skill worth shortlisting before another blank prompt. book-pdf: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. 128 stars https://www.openagentskill.com/skills/bam-bam-2-book-pdf?ref=x
可选:带安装命令的回复
Listing + install path for book-pdf: https://www.openagentskill.com/skills/bam-bam-2-book-pdf?ref=x Install: npx skills add bam-bam-2/solo-skills --skill book-pdf
收录来源
Registry 收录
此列表来自公开来源,维护者认领获批前不会标记为官方。
- 创作者
- bam-bam-2
- 收录方
- OpenAgentSkill 社区索引
归属链接指向公开仓库或创作者主页。创作者可认领列表以更新所有权信号。
认领此 Skill所有者认领
认领此 Skill 页面
这条 Registry 收录 列表归属于 bam-bam-2,但尚未标记为官方。认领后可增加已验证所有者信号,使后续发布、安装和审计更新更值得信赖。
创作者外链工具包
将证据徽章加入你的 README
在开发者评估仓库的位置展示规范页面、当前信任与审计信号,以及真实的 Agent 验证证据。
[](https://www.openagentskill.com/skills/bam-bam-2-book-pdf)
[](https://www.openagentskill.com/skills/bam-bam-2-book-pdf)
[](https://www.openagentskill.com/skills/bam-bam-2-book-pdf/audit)
[](https://www.openagentskill.com/skills/bam-bam-2-book-pdf)作者
bam-bam-2
@bam-bam-2
健康信号
- GitHub Stars
- 128
- 质量评分
- 38/100
- 最近 GitHub 推送
- 2026年8月23日
- 框架提示
- 未知
- OpenAgentSkill 浏览量
- 2
- 复制安装命令
- 0
- 跳转点击
- 0
社区信号
告诉我们这个 Skill 是否对你的 Agent 工作流有帮助。汇总反馈会持续改善排序。
信任与安全
Do not auto-install
- GitHub 采用度128 个 GitHub Stars信息
- Star/Fork 活跃度128 个 Star,22 个 Fork; 当前元数据中没有议题活跃度信息检查
- 近期维护今天有推送通过
- 许可证清晰度MIT通过
- README/SKILL.md 完整度元数据包含足够的用法与工作流上下文通过
- 依赖与运行时风险command execution surface, external package install surface检查
相关 Skill
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsCua
Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).
21.4K Stars