{"slug":"bam-bam-2-book-pdf","name":"book-pdf","description":"마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용.","long_description":"---\nname: book-pdf\ndescription: \"마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용.\"\n---\n\n# 마크다운 → 진짜 책 PDF/EPUB\n\n일반 `page.pdf()` + 마크다운→HTML 변환만으로는 \"리포트를 인쇄한 것\"처럼 보인다.\n실제 책이려면 최소 이 6가지가 있어야 한다: **표지(풀블리드) · 타이틀 페이지 · 판권 페이지 · 실제 쪽번호가 달린 목차 · 장 시작마다 새 페이지 · 쪽마다 러닝헤더/쪽번호**.\n\n이 스킬은 [Paged.js](https://pagedjs.org)(MIT, `https://unpkg.com/pagedjs/dist/paged.polyfill.js`)를 브라우저에 스크립트 태그로 로드해 CSS Paged Media 기능(러닝헤더, 목차 쪽번호 자동생성)을 구현한다. Chromium이 네이티브로 지원 안 하는 기능이라 이 폴리필이 필요하다.\n\n## 바로 쓰는 스크립트\n\n[`scripts/html-to-pdf.py`](scripts/html-to-pdf.py) — Paged.js로 조판한 HTML을 PDF로 굽습니다.\n\n```bash\npip install playwright && playwright install chromium\npython scripts/html-to-pdf.py book.html\npython scripts/html-to-pdf.py \"chapters/*.html\"    # 여러 개 한 번에\n```\n\n`--output`으로 경로를 지정할 수 있고, 생략하면 입력 파일명 그대로 `.pdf`가 나옵니다.\n\n## 이 환경(Aside REPL)의 알려진 함정\n\n1. **`page.pdf({width, height})` 파라미터가 무시된다.** 항상 US Letter로 나온다. 반드시 `preferCSSPageSize: true`를 주고 CSS `@page { size: 148mm 210mm; }`로 크기를 지정할 것. `format: 'A5'` 같은 심볼릭 사이즈도 마찬가지로 무시되니 쓰지 말 것.\n2. **`page.setViewportSize()`가 없다.** 뷰포트 크기를 못 바꾸므로 표지 등 개별 이미지를 만들 때 `page.screenshot({fullPage:true})`로 큰 캔버스를 찍으면 타일링 버그가 난다. 대신 `page.pdf()` + `pdftoppm`으로 원하는 크기를 렌더링할 것.\n3. **`page.addScriptTag()`가 없다.** 외부 스크립트(Paged.js 등)는 `document.write()`로 쓰는 HTML 문자열 안에 `<script src=\"https://unpkg.com/...\">` 태그를 직접 넣어야 로드된다.\n4. **구글 폰트 `@import`/`<link>`가 `document.write()` 직후엔 타이밍 문제로 반영 안 될 때가 있다.** 커스텀 세리프 폰트를 꼭 써야 하면 woff2를 직접 fetch해서 base64로 인라인 `@font-face`에 박아넣을 것. 급하면 시스템 폰트(`-apple-system`, `'Apple SD Gothic Neo'`)로 타협.\n5. **`target-counter()`로 목차 쪽번호를 만들 때 한글 슬러그 id가 깨질 수 있다.** pandoc이 자동 생성하는 `id=\"1장-시작과-실패\"` 같은 한글 id 대신 `ch-01`, `part-1`, `app-a` 같은 ASCII id로 바꿔서 앵커를 걸 것.\n6. **CSS `page:` (named page) 속성을 제목 요소에만 주고 바로 다음 형제 요소에는 안 주면, 그 둘 사이에 강제 페이지베이크가 생긴다.** 단순히 `break-before: page`로 장/부 시작만 제어하고 싶을 때는 `page: main;` 같은 명명 페이지 지정을 쓰지 말거나, 쓴다면 본문 전체에 동일하게 적용해야 한다 — 이건 \"장 제목 바로 뒤에 이미지를 넣었는데 이미지가 다음 페이지로 밀리며 압도적인 빈 공백 페이지가 생기는\" 증상으로 나타난다. 페이지 구성이 이상하면 가장 먼저 이 속성부터 의심할 것.\n7. **트림 사이즈로 A5(148x210mm)를 쓰지 말 것.** A5와 A4는 비율이 동일해(1:1.414, ISO 시리즈) 화면에서 보면 \"작은 A4 문서\"처럼 보인다. 한국 단행본 표준판형인 **신국판(152x225mm, 비율 1:1.48)**을 쓰면 \"진짜 책\" 느낌이 명확하게 산다.\n8. **Paged.js 렌더링은 비동기라 완료 시점을 폴링해야 한다.** `document.querySelectorAll('.pagedjs_page').length`가 N초 연속 안 바뀔 때까지 기다린 다음 `page.pdf()`를 호출할 것. 문서가 크면(80~150쪽) 완료까지 30초~1분 걸릴 수 있다.\n\n## 절차\n\n1. **원고를 pandoc으로 HTML 변환**: `pandoc manuscript.md -f markdown -t html5 --wrap=none -o body_raw.html`. `\\newpage` 같은 LaTeX 지시자는 HTML에서 무시되니 CSS `break-before`로 대체한다.\n2. **제목(`h1`/`h2`)에 ASCII id를 다시 부여**하면서 장/부 디바이더 구조로 감싼다 (예: `<h1>` → `<div class=\"part-divider\" data-run=\"PART 1. ...\">`). 이때 **원본 문서에 등장하는 순서를 한 번의 스캔으로 그대로 따라가는 배열**을 만들어 목차 데이터로 쓴다 — h1 전체를 먼저 훑고 h2 전체를 나중에 훑는 식으로 두 번 나눠 처리하면 목차 순서가 깨진다(장이 전부 나온 뒤 부가 나오는 식).\n3. **목차 HTML**은 `<a class=\"toc-entry\" href=\"#ch-01\">...</a>` 형태로, CSS에서 `.toc-entry::after { content: target-counter(attr(href url), page); }`로 쪽번호를 자동 채운다.\n4. **러닝헤더**: 장/부 요소에 `string-set: runninghead attr(data-run);`, `@page`의 `@top-center { content: string(runninghead); }`로 받는다.\n5. **표지는 별도 `@page cover { margin:0; }` + `page: cover;`로 풀블리드**, 그 외 프론트매터(타이틀/판권/목차)는 쪽번호·러닝헤더를 끈 `@page front`로 분리한다.\n6. **Paged.js 로드 + 렌더 대기 + PDF 출력**:\n   ```js\n   const html = `<!DOCTYPE html><html><head>\n     <script src=\"https://unpkg.com/pagedjs/dist/paged.polyfill.js\"></script>\n     <style>${css}</style></head><body>${frontMatter}${bodyContent}</body></html>`;\n   await page.evaluate((h) => { document.open(); document.write(h); document.close(); }, html);\n   // 안정화 폴링\n   let last = -1, stable = 0;\n   for (let i = 0; i < 60; i++) {\n     await sleep(1000);\n     const n = await page.evaluate(() => document.querySelectorAll('.pagedjs_page').length);\n     if (n === last) { if (++stable >= 3) break; } else stable = 0;\n     last = n;\n   }\n   const pdf = await page.pdf({ printBackground: true, preferCSSPageSize: true });\n   ```\n7. **검수는 `aside.pdf.renderPages()`로 표지/타이틀/판권/목차/본문 몇 쪽을 실제로 렌더링해서 눈으로 확인**한다. `pdfinfo`로 최종 `Page size`가 의도한 트림 사이즈(A5 등)인지 꼭 재확인한다 (함정 1번 재발 여부 체크).\n8. **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 목차만 있으면 충분하다.\n\n## 어색한 쪽 분리(내용이 잘려서 다음 페이지로 넘어가는 현상) 방지\n\n표/인용문/코드블록이 문장 중간에서 맥려서 다음 페이지로 이어지는 건 CSS에 깨짐 방지 규칙이 없어서다. 다음을 기본값으로 넣을 것:\n\n```css\np { orphans: 3; widows: 3; }\ntable, blockquote, pre, img, figure { break-inside: avoid; page-break-inside: avoid; }\nh2, h3 { break-after: avoid; page-break-after: avoid; } /* 소제목이 페이지 맨아래 혼자 남지 않게 */\n```\n\n이렇게 하면 문단/표/인용문이 한 페이지에 다 안 들어갈 때 그 블록 전체가 다음 페이지로 밀린다(사용자가 \"앞 단락을 뒤로 밀어버려라\"라고 표현하는 바로 그 동작). 부작용으로 강제 페이지보맜(장 시작 직전) 앞에 짧은 내용만 단독으로 낙은 거의-빈 페이지가 가끔 생기는데, 이건 실제 책에서도 흔한 자연스러운 현상이라 문제가 아니다. 적용 후반드시 **처음부터 끝까지 순차적으로 모든 페이지를 렌더링해서 육안으로 확인**할 것 — 하나만 집어서 보고 넘어가면 높은 확률로 놓친다.\n\n## flexbox를 부/장 오프너에 쓰지 말 것\n\n제목+삽화를 한 덩어리로 묶어서 같은 페이지에 있게 하려고 `display:flex`를 쓨다면, Paged.js가 flex 컨테이너 내부 높이 계산을 제대로 못 해서 **예상과 달리 자식 요소가 다음 페이지로 통째로 밀려나간다** (제목만 남고 삽화는 혼자 다음 장으로 가는 식). 한 페이지에 여러 요소를 묶을 때는 **평범한 블록 흐름(margin/padding)만으로** 레이아웃하고 flexbox/grid는 피할 것. 또한 제목과 그 바로 뒤에 오는 이미지 문단을 따로 처리하지 말고, 한 번의 정규식으로 단락(제목 헤딩 + 바로 뒤 이미지 단락)을 함께 매칭해서 **하나의 div로 합쳐넣으면** 둘이 한 덩어리로 취급되어 분리될 확률이 줄어든다.\n\n## 스타일 참고\n\n색은 절제된 포인트 컬러 1개(골드/앰버 등)만 쓰고, 여백을 넉넉히 준다. 장 오프너는 \"CH.01\" 같은 뱃지 + 큰 제목, 인용구는 왼쪽 세로선 + 이탤릭으로 처리하면 무난하게 \"책스럽다\".\n","tagline":"마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용.","category":"automation","tags":["agent-skill"],"author":"bam-bam-2","verified":false,"attribution":{"status":"registry_indexed","statusLabel":"Registry indexed","shortLabel":"REGISTRY INDEXED","sourceLabel":"recursive skill source sync","sourceDetail":"bam-bam-2/solo-skills","creatorName":"bam-bam-2","creatorUrl":"https://github.com/bam-bam-2","sourceUrl":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","indexedBy":"OpenAgentSkill community index","claimUrl":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf#claim-this-skill","claimCta":"Claim this skill","trustNote":"This listing was indexed from public sources and is not marked official until a maintainer claim is approved.","publicNote":"Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals."},"stats":{"stars":128,"forks":22,"verified_installs":0,"successful_runs":0,"total_outcomes":0,"rating":0,"review_count":0,"quality_score":38.17},"quality":{"score":68,"tier":"promising","label":"Promising","summary":"Useful candidate, but compare it with alternatives before adopting.","signals":[{"label":"GitHub stars","value":"128","tone":"neutral"},{"label":"Freshness","value":"Today","tone":"positive"},{"label":"Install ready","value":"Yes","tone":"positive"},{"label":"License","value":"MIT","tone":"neutral"}],"warnings":["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."]},"trust":{"version":"trust-score-v5","score":58,"base_score":66,"outcome_confidence":0,"tier":"risk","label":"Do not auto-install","summary":"Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.","recommendedAction":"Choose a stronger alternative or inspect the source manually before any install attempt.","decision":{"install_policy":"human_review_before_install","auto_install_allowed":false,"human_review_required":true,"sandbox_first":true,"agent_action":"Compare alternatives before installing.","reasoning":["58/100 Trust Score v5","66/100 Trust Score v4 baseline","Needs more real agent outcomes before unattended install","Install path is available","Review before production"],"review_required_when":["The workspace contains production secrets, payments, private customer data, or irreversible actions.","The install command requests shell, network, credential, database, or broad filesystem access.","Outcome evidence is missing, recently failed, or required human review.","Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"]},"dimensions":[{"id":"github_adoption","label":"GitHub adoption","score":62,"weight":0.13,"status":"info","detail":"128 GitHub stars"},{"id":"repo_activity","label":"Stars/forks activity","score":57,"weight":0.08,"status":"warn","detail":"128 stars, 22 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"Pushed today"},{"id":"license","label":"License clarity","score":86,"weight":0.09,"status":"pass","detail":"MIT"},{"id":"documentation","label":"README/SKILL.md completeness","score":86,"weight":0.14,"status":"pass","detail":"Metadata includes enough usage and workflow context"},{"id":"dependency_risk","label":"Dependency/runtime risk","score":54,"weight":0.12,"status":"warn","detail":"command execution surface, external package install surface"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add bam-bam-2/solo-skills --skill book-pdf"},{"id":"install_safety","label":"Install command safety","score":92,"weight":0.1,"status":"pass","detail":"standard package or runtime install path"},{"id":"permission_surface","label":"Permission surface","score":48,"weight":0.07,"status":"warn","detail":"shell or command execution, filesystem or document access"},{"id":"repository","label":"Repository evidence","score":86,"weight":0.04,"status":"pass","detail":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf"},{"id":"review_status","label":"Review status","score":66,"weight":0.05,"status":"info","detail":"AI review data available"},{"id":"agent_outcomes","label":"Agent Proven outcomes","score":54,"weight":0.13,"status":"info","detail":"No agent outcome data yet"}],"checks":[{"status":"info","label":"GitHub adoption","detail":"128 GitHub stars"},{"status":"warn","label":"Stars/forks activity","detail":"128 stars, 22 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"Pushed today"},{"status":"pass","label":"License clarity","detail":"MIT"},{"status":"pass","label":"README/SKILL.md completeness","detail":"Metadata includes enough usage and workflow context"},{"status":"warn","label":"Dependency/runtime risk","detail":"command execution surface, external package install surface"},{"status":"pass","label":"Install availability","detail":"npx skills add bam-bam-2/solo-skills --skill book-pdf"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"warn","label":"Permission surface","detail":"shell or command execution, filesystem or document access"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf"},{"status":"info","label":"Review status","detail":"AI review data available"},{"status":"info","label":"Agent Proven outcomes","detail":"No agent outcome data yet"},{"status":"warn","label":"Ownership","detail":"No approved owner claim yet"},{"status":"pass","label":"OpenAgentSkill usage","detail":"1 views, 0 install copies"},{"status":"info","label":"Agent outcomes","detail":"No agent outcome data yet"}],"strengths":["AI review approved","Install path is available","Repository evidence is available","Recently maintained repository","Install command has no obvious high-risk pattern","Outcome loop is ready but needs first real agent run"],"warnings":["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","No real agent outcome reports yet","Human review required before unattended installation"],"evidence":{"stars":"128 GitHub stars","repoActivity":"128 stars, 22 forks","lastPushed":"Pushed today","license":"MIT","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","install":"npx skills add bam-bam-2/solo-skills --skill book-pdf","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet","agentProvenScore":0,"outcomeConfidence":"0%","installPolicy":"human_review_before_install"},"installReadiness":{"ready":true,"command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","policy":"human_review_before_install","label":"Human review before install","notes":["Install path is available","Repository evidence is available","License is declared","No Agent Proven outcome evidence yet","Pushed today","Trust Score v5 requires review or sandbox-only use before install."]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["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"]},"outcomeEvidence":{"total":0,"successes":0,"failures":0,"notRelevant":0,"successRate":null,"installAttempts":0,"riskBlocked":0,"setupRequired":0,"installSuccessRate":null,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"recentSuccessRate":null,"recentFailureRate":null,"uniqueAgents":0,"agentProvenScore":0,"agentProvenLabel":"Needs first agent run","lastOutcomeAt":null,"label":"No agent outcome data yet"},"autoInstall":{"allowed":false,"sandboxRequired":true,"policy":"human_review_before_install","reason":"Compare alternatives before installing."},"outcome_loop":{"version":"openagentskill-agent-outcome-v3","required_after_install":true,"endpoint":"/api/agent/outcome","method":"POST","event_id_source":"feedback.event_id, install_receipt.resolve_event_id, or decision_packet.outcome_feedback.event_id","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"required_fields":["event_id","skill_slug","task"],"quality_fields":["task_success","output_quality","error_type","human_review_required","used_in_production","workspace","evidence_url","time_to_useful_ms"],"ranking_inputs_updated":["Trust Score v5 outcome confidence","Agent Proven Score","Resolve ranking task-fit evidence","Skill detail machine-readable metadata","Outcome leaderboard"]},"agent_contract":{"suited_tasks":["automation","agent-skill"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"install_command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","trust_score":58,"trust_version":"trust-score-v5","risk_level":"medium","do_not_use_when":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"],"before_install":["Read the audit page and machine-readable metadata.","Confirm the install command, license, and permission surface fit the workspace.","Get explicit human approval or choose an alternative before installing."],"after_run":["Report the outcome to /api/agent/outcome using the resolve event id.","Include output_quality, workspace, human_review_required, and evidence_url when available.","Re-resolve before broad production rollout."]},"bestFor":["automation","agent-skill"],"doNotUseFor":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"],"knownRisks":["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"],"backward_compatible":{"trust_score_v4":{"version":"trust-score-v4","score":66,"tier":"review","label":"Manual review","summary":"Potentially useful, but at least one trust signal needs human inspection."}}},"trust_score_v5":{"version":"trust-score-v5","score":58,"base_score":66,"outcome_confidence":0,"tier":"risk","label":"Do not auto-install","summary":"Trust Score v5 found insufficient evidence for agent installation. Treat this as discovery material, not an executable recommendation.","recommendedAction":"Choose a stronger alternative or inspect the source manually before any install attempt.","decision":{"install_policy":"human_review_before_install","auto_install_allowed":false,"human_review_required":true,"sandbox_first":true,"agent_action":"Compare alternatives before installing.","reasoning":["58/100 Trust Score v5","66/100 Trust Score v4 baseline","Needs more real agent outcomes before unattended install","Install path is available","Review before production"],"review_required_when":["The workspace contains production secrets, payments, private customer data, or irreversible actions.","The install command requests shell, network, credential, database, or broad filesystem access.","Outcome evidence is missing, recently failed, or required human review.","Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"]},"dimensions":[{"id":"github_adoption","label":"GitHub adoption","score":62,"weight":0.13,"status":"info","detail":"128 GitHub stars"},{"id":"repo_activity","label":"Stars/forks activity","score":57,"weight":0.08,"status":"warn","detail":"128 stars, 22 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"Pushed today"},{"id":"license","label":"License clarity","score":86,"weight":0.09,"status":"pass","detail":"MIT"},{"id":"documentation","label":"README/SKILL.md completeness","score":86,"weight":0.14,"status":"pass","detail":"Metadata includes enough usage and workflow context"},{"id":"dependency_risk","label":"Dependency/runtime risk","score":54,"weight":0.12,"status":"warn","detail":"command execution surface, external package install surface"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add bam-bam-2/solo-skills --skill book-pdf"},{"id":"install_safety","label":"Install command safety","score":92,"weight":0.1,"status":"pass","detail":"standard package or runtime install path"},{"id":"permission_surface","label":"Permission surface","score":48,"weight":0.07,"status":"warn","detail":"shell or command execution, filesystem or document access"},{"id":"repository","label":"Repository evidence","score":86,"weight":0.04,"status":"pass","detail":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf"},{"id":"review_status","label":"Review status","score":66,"weight":0.05,"status":"info","detail":"AI review data available"},{"id":"agent_outcomes","label":"Agent Proven outcomes","score":54,"weight":0.13,"status":"info","detail":"No agent outcome data yet"}],"checks":[{"status":"info","label":"GitHub adoption","detail":"128 GitHub stars"},{"status":"warn","label":"Stars/forks activity","detail":"128 stars, 22 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"Pushed today"},{"status":"pass","label":"License clarity","detail":"MIT"},{"status":"pass","label":"README/SKILL.md completeness","detail":"Metadata includes enough usage and workflow context"},{"status":"warn","label":"Dependency/runtime risk","detail":"command execution surface, external package install surface"},{"status":"pass","label":"Install availability","detail":"npx skills add bam-bam-2/solo-skills --skill book-pdf"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"warn","label":"Permission surface","detail":"shell or command execution, filesystem or document access"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf"},{"status":"info","label":"Review status","detail":"AI review data available"},{"status":"info","label":"Agent Proven outcomes","detail":"No agent outcome data yet"},{"status":"warn","label":"Ownership","detail":"No approved owner claim yet"},{"status":"pass","label":"OpenAgentSkill usage","detail":"1 views, 0 install copies"},{"status":"info","label":"Agent outcomes","detail":"No agent outcome data yet"}],"strengths":["AI review approved","Install path is available","Repository evidence is available","Recently maintained repository","Install command has no obvious high-risk pattern","Outcome loop is ready but needs first real agent run"],"warnings":["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","No real agent outcome reports yet","Human review required before unattended installation"],"evidence":{"stars":"128 GitHub stars","repoActivity":"128 stars, 22 forks","lastPushed":"Pushed today","license":"MIT","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","install":"npx skills add bam-bam-2/solo-skills --skill book-pdf","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet","agentProvenScore":0,"outcomeConfidence":"0%","installPolicy":"human_review_before_install"},"installReadiness":{"ready":true,"command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","policy":"human_review_before_install","label":"Human review before install","notes":["Install path is available","Repository evidence is available","License is declared","No Agent Proven outcome evidence yet","Pushed today","Trust Score v5 requires review or sandbox-only use before install."]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["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"]},"outcomeEvidence":{"total":0,"successes":0,"failures":0,"notRelevant":0,"successRate":null,"installAttempts":0,"riskBlocked":0,"setupRequired":0,"installSuccessRate":null,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"recentSuccessRate":null,"recentFailureRate":null,"uniqueAgents":0,"agentProvenScore":0,"agentProvenLabel":"Needs first agent run","lastOutcomeAt":null,"label":"No agent outcome data yet"},"autoInstall":{"allowed":false,"sandboxRequired":true,"policy":"human_review_before_install","reason":"Compare alternatives before installing."},"outcome_loop":{"version":"openagentskill-agent-outcome-v3","required_after_install":true,"endpoint":"/api/agent/outcome","method":"POST","event_id_source":"feedback.event_id, install_receipt.resolve_event_id, or decision_packet.outcome_feedback.event_id","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"required_fields":["event_id","skill_slug","task"],"quality_fields":["task_success","output_quality","error_type","human_review_required","used_in_production","workspace","evidence_url","time_to_useful_ms"],"ranking_inputs_updated":["Trust Score v5 outcome confidence","Agent Proven Score","Resolve ranking task-fit evidence","Skill detail machine-readable metadata","Outcome leaderboard"]},"agent_contract":{"suited_tasks":["automation","agent-skill"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"install_command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","trust_score":58,"trust_version":"trust-score-v5","risk_level":"medium","do_not_use_when":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"],"before_install":["Read the audit page and machine-readable metadata.","Confirm the install command, license, and permission surface fit the workspace.","Get explicit human approval or choose an alternative before installing."],"after_run":["Report the outcome to /api/agent/outcome using the resolve event id.","Include output_quality, workspace, human_review_required, and evidence_url when available.","Re-resolve before broad production rollout."]},"bestFor":["automation","agent-skill"],"doNotUseFor":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"],"knownRisks":["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"],"backward_compatible":{"trust_score_v4":{"version":"trust-score-v4","score":66,"tier":"review","label":"Manual review","summary":"Potentially useful, but at least one trust signal needs human inspection."}}},"trust_score_v4":{"version":"trust-score-v4","score":66,"tier":"review","label":"Manual review","summary":"Potentially useful, but at least one trust signal needs human inspection.","recommendedAction":"Inspect the repository, license, and recent activity before connecting it to agent workflows.","dimensions":[{"id":"github_adoption","label":"GitHub adoption","score":62,"weight":0.13,"status":"info","detail":"128 GitHub stars"},{"id":"repo_activity","label":"Stars/forks activity","score":57,"weight":0.08,"status":"warn","detail":"128 stars, 22 forks; issue activity unavailable in current metadata"},{"id":"maintenance","label":"Recent maintenance","score":100,"weight":0.14,"status":"pass","detail":"Pushed today"},{"id":"license","label":"License clarity","score":86,"weight":0.09,"status":"pass","detail":"MIT"},{"id":"documentation","label":"README/SKILL.md completeness","score":86,"weight":0.14,"status":"pass","detail":"Metadata includes enough usage and workflow context"},{"id":"dependency_risk","label":"Dependency/runtime risk","score":54,"weight":0.12,"status":"warn","detail":"command execution surface, external package install surface"},{"id":"installability","label":"Install availability","score":92,"weight":0.1,"status":"pass","detail":"npx skills add bam-bam-2/solo-skills --skill book-pdf"},{"id":"install_safety","label":"Install command safety","score":92,"weight":0.1,"status":"pass","detail":"standard package or runtime install path"},{"id":"permission_surface","label":"Permission surface","score":48,"weight":0.07,"status":"warn","detail":"shell or command execution, filesystem or document access"},{"id":"repository","label":"Repository evidence","score":86,"weight":0.04,"status":"pass","detail":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf"},{"id":"review_status","label":"Review status","score":66,"weight":0.05,"status":"info","detail":"AI review data available"},{"id":"agent_outcomes","label":"Agent Proven outcomes","score":54,"weight":0.13,"status":"info","detail":"No agent outcome data yet"}],"checks":[{"status":"info","label":"GitHub adoption","detail":"128 GitHub stars"},{"status":"warn","label":"Stars/forks activity","detail":"128 stars, 22 forks; issue activity unavailable in current metadata"},{"status":"pass","label":"Recent maintenance","detail":"Pushed today"},{"status":"pass","label":"License clarity","detail":"MIT"},{"status":"pass","label":"README/SKILL.md completeness","detail":"Metadata includes enough usage and workflow context"},{"status":"warn","label":"Dependency/runtime risk","detail":"command execution surface, external package install surface"},{"status":"pass","label":"Install availability","detail":"npx skills add bam-bam-2/solo-skills --skill book-pdf"},{"status":"pass","label":"Install command safety","detail":"standard package or runtime install path"},{"status":"warn","label":"Permission surface","detail":"shell or command execution, filesystem or document access"},{"status":"pass","label":"Repository evidence","detail":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf"},{"status":"info","label":"Review status","detail":"AI review data available"},{"status":"info","label":"Agent Proven outcomes","detail":"No agent outcome data yet"},{"status":"warn","label":"Ownership","detail":"No approved owner claim yet"},{"status":"pass","label":"OpenAgentSkill usage","detail":"1 views, 0 install copies"},{"status":"info","label":"Agent outcomes","detail":"No agent outcome data yet"}],"strengths":["AI review approved","Install path is available","Repository evidence is available","Recently maintained repository","Install command has no obvious high-risk pattern"],"warnings":["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"],"evidence":{"stars":"128 GitHub stars","repoActivity":"128 stars, 22 forks","lastPushed":"Pushed today","license":"MIT","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","install":"npx skills add bam-bam-2/solo-skills --skill book-pdf","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"installReadiness":{"ready":true,"command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","policy":"human_review_before_install","label":"Human review before install","notes":["Install path is available","Repository evidence is available","License is declared","No Agent Proven outcome evidence yet","Pushed today"]},"agentCompatibility":["Codex","Claude Code","Cursor","OpenAgentSkill CLI"],"riskSummary":{"level":"medium","label":"Review before production","notes":["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"]},"outcomeEvidence":{"total":0,"successes":0,"failures":0,"notRelevant":0,"successRate":null,"installAttempts":0,"riskBlocked":0,"setupRequired":0,"installSuccessRate":null,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"recentSuccessRate":null,"recentFailureRate":null,"uniqueAgents":0,"agentProvenScore":0,"agentProvenLabel":"Needs first agent run","lastOutcomeAt":null,"label":"No agent outcome data yet"},"autoInstall":{"allowed":false,"sandboxRequired":true,"policy":"human_review_before_install","reason":"Human review or sandbox validation is required before automatic installation."},"bestFor":["automation","agent-skill"],"doNotUseFor":["Production credentials, payments, or irreversible account changes without explicit human review","Sensitive private data before reviewing repository code, license, and permission surface","Automatic installation in a production workspace"],"knownRisks":["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_proven":{"version":"agent-proven-v1","score":0,"tier":"unproven","label":"Needs first agent run","summary":"No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.","metrics":{"totalOutcomes":0,"successfulOutcomes":0,"failedOutcomes":0,"installAttempts":0,"installSuccessRate":null,"successRate":null,"recentSuccessRate":null,"recentFailureRate":null,"riskBlocked":0,"setupRequired":0,"notRelevant":0,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"uniqueAgents":0,"lastOutcomeAt":null},"signals":[],"penalties":["No real agent outcome evidence yet"]},"outcome_stats":null,"safety":{"score":44,"level":"avoid_auto_install","label":"Avoid automatic install","safety_tier":{"tier":"experimental","label":"Experimental","badge":"EXPERIMENTAL","summary":"Sparse or mixed signals. Useful for discovery, but not for autonomous installation.","recommended_action":"Test manually in an isolated workspace and compare against safer alternatives.","auto_install_policy":"review","reasons":["High-risk permission hints: Shell or command execution","44/100 agent safety score"]},"auto_install_allowed":false,"human_review_required":true,"blocked":false,"audit_risk":"needs_review","permission_hints":[{"id":"shell","label":"Shell or command execution","reason":"Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.","severity":"high"},{"id":"browser","label":"Browser automation","reason":"Skill may drive a browser or interact with web pages.","severity":"medium"},{"id":"network","label":"Network access","reason":"Skill likely fetches remote pages, APIs, repositories, or external services.","severity":"medium"},{"id":"filesystem","label":"Filesystem access","reason":"Skill may read or write project files, documents, generated artifacts, or local workspace state.","severity":"medium"}],"policy_warnings":["High-risk permission hints: Shell or command execution","Dependency or permission surface needs review"],"constraints_applied":{"max_risk":"medium","needs_install_command":true,"min_stars":0}},"safety_gate":{"tier":"experimental","label":"Experimental","badge":"EXPERIMENTAL","auto_install_policy":"review","auto_install_allowed":false,"blocked":false,"human_review_required":true,"recommended_action":"Test manually in an isolated workspace and compare against safer alternatives.","reasons":["High-risk permission hints: Shell or command execution","44/100 agent safety score"]},"eval":{"version":"openagentskill-skill-eval-v1","status":"failed","score":66,"risk_level":"high","decision":{"recommendation":"do_not_auto_install","reason":"Permission surface: shell or command execution, filesystem or document access","auto_install_allowed":false,"policy":"block","human_review_required":true},"blockers":["Permission surface: shell or command execution, filesystem or document access"],"warnings":["Trust score: Potentially useful, but at least one trust signal needs human inspection.","Audit score: Needs review","Agent safety gate: Sparse or mixed signals. Useful for discovery, but not for autonomous installation.","High-risk permission hints: Shell or command execution","Dependency or permission surface needs review","Permission surface may require sandboxing","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.","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md.","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"],"validation_plan":["Inspect repository, README/SKILL.md, license, and recent commits before production use.","Install in an isolated workspace or sandbox with no production secrets available.","Run the smallest representative task and record files touched, commands run, network access, and outputs.","Compare the selected skill against at least one alternative when the eval status is review or failed.","Promote only after the agent reports a successful verification result and unresolved warnings are accepted."],"checks":[{"id":"task_fit","label":"Task fit","status":"pass","score":84,"required_for_auto_install":true,"detail":"Task wording matches this skill metadata.","evidence":["Evaluate book-pdf before installing it in an agent workflow","automation","Document processing workflows; Claude Code teams; builders willing to evaluate younger projects"]},{"id":"install_path","label":"Install path","status":"pass","score":92,"required_for_auto_install":true,"detail":"Install handoff is available.","evidence":["npx skills add bam-bam-2/solo-skills --skill book-pdf"]},{"id":"install_safety","label":"Install command safety","status":"pass","score":92,"required_for_auto_install":true,"detail":"standard package or runtime install path","evidence":["npx skills add bam-bam-2/solo-skills --skill book-pdf"]},{"id":"trust_score","label":"Trust score","status":"warn","score":66,"required_for_auto_install":true,"detail":"Potentially useful, but at least one trust signal needs human inspection.","evidence":["Manual review","128 GitHub stars","MIT"]},{"id":"audit_score","label":"Audit score","status":"warn","score":76,"required_for_auto_install":true,"detail":"Needs review","evidence":["Dependency or permission surface needs review"]},{"id":"agent_safety_gate","label":"Agent safety gate","status":"warn","score":44,"required_for_auto_install":true,"detail":"Sparse or mixed signals. Useful for discovery, but not for autonomous installation.","evidence":["Test manually in an isolated workspace and compare against safer alternatives.","High-risk permission hints: Shell or command execution"]},{"id":"readme_skillmd_completeness","label":"README/SKILL.md completeness","status":"pass","score":86,"required_for_auto_install":false,"detail":"Metadata includes enough usage and workflow context","evidence":["Strong README/SKILL.md context"]},{"id":"license_clarity","label":"License clarity","status":"pass","score":86,"required_for_auto_install":true,"detail":"MIT","evidence":["MIT"]},{"id":"recent_maintenance","label":"Recent maintenance","status":"pass","score":100,"required_for_auto_install":false,"detail":"Pushed today","evidence":["Pushed today"]},{"id":"permission_surface","label":"Permission surface","status":"fail","score":48,"required_for_auto_install":true,"detail":"shell or command execution, filesystem or document access","evidence":["Shell or command execution: high","Browser automation: medium","Network access: medium"]},{"id":"alternatives","label":"Alternatives available","status":"info","score":55,"required_for_auto_install":false,"detail":"No close alternatives were found in the current shortlist.","evidence":[]}],"endpoints":{"web":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf/evals","api":"/api/agent/evals?slug=bam-bam-2-book-pdf","text":"/api/agent/evals?slug=bam-bam-2-book-pdf&format=text"}},"agent_readable_metadata":{"version":"openagentskill-agent-metadata-v2","skill":{"slug":"bam-bam-2-book-pdf","name":"book-pdf","description":"마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용.","category":"automation","url":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","github_repo":"bam-bam-2/solo-skills"},"suited_tasks":["Document processing workflows","Claude Code teams","builders willing to evaluate younger projects","Read uploaded files","Extract structured fields","Prepare clean context for downstream agents","Navigate pages","Click and type safely"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI","Browser agents","CLI"],"install":{"command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","ready":true,"targets":[{"id":"openagentskill-cli","label":"CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install bam-bam-2-book-pdf"},{"id":"codex","label":"Codex","kind":"agent-prompt","value":"Install the \"book-pdf\" agent skill from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"codex\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes."},{"id":"claude-code","label":"Claude Code","kind":"agent-prompt","value":"Add \"book-pdf\" as a Claude Code skill from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"claude-code\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes."},{"id":"cursor","label":"Cursor","kind":"agent-prompt","value":"Turn \"book-pdf\" from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"cursor\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes."}],"handoff_url":"https://www.openagentskill.com/api/skills/bam-bam-2-book-pdf/install","manifest_url":"https://www.openagentskill.com/api/registry/manifest/bam-bam-2-book-pdf"},"trust":{"score":66,"label":"Manual review","version":"trust-score-v4","install_policy":"human_review_before_install","evidence":{"stars":"128 GitHub stars","repoActivity":"128 stars, 22 forks","lastPushed":"Pushed today","license":"MIT","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","install":"npx skills add bam-bam-2/solo-skills --skill book-pdf","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"outcome_evidence":{"total":0,"successes":0,"failures":0,"not_relevant":0,"success_rate":null,"recent_success_rate":null,"recent_failure_rate":null,"install_attempts":0,"install_success_rate":null,"risk_blocked":0,"setup_required":0,"avg_output_quality":null,"production_outcomes":0,"last_outcome_at":null,"label":"No agent outcome data yet"},"auto_install":{"allowed":false,"sandbox_required":true,"reason":"Human review or sandbox validation is required before automatic installation."},"best_for":["automation","agent-skill"],"known_risks":["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_proven":{"version":"agent-proven-v1","score":0,"tier":"unproven","label":"Needs first agent run","summary":"No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.","metrics":{"totalOutcomes":0,"successfulOutcomes":0,"failedOutcomes":0,"installAttempts":0,"installSuccessRate":null,"successRate":null,"recentSuccessRate":null,"recentFailureRate":null,"riskBlocked":0,"setupRequired":0,"notRelevant":0,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"uniqueAgents":0,"lastOutcomeAt":null},"signals":[],"penalties":["No real agent outcome evidence yet"]},"audit":{"score":76,"risk_level":"needs_review","risk_label":"Needs review","warnings":["Dependency or permission surface needs review","Permission surface may require sandboxing","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.","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md.","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"]},"safety_gate":{"tier":"experimental","label":"Experimental","auto_install_policy":"review","auto_install_allowed":false,"human_review_required":true,"blocked":false,"recommended_action":"Test manually in an isolated workspace and compare against safer alternatives."},"quality":{"score":68,"label":"Promising"},"supply":{"track":"Research and knowledge work","scenario":"Document processing","maintenance":"Pushed today","risk":"Needs review"},"alternative_skills":[],"do_not_use_when":["teams that need a vendor-supported 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.","High-risk permission hints: Shell or command execution","Dependency or permission surface needs review","Permission surface may require sandboxing","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md."],"agent_contract":{"task_input":"Use book-pdf in an agent workflow","recommended_action":"Test manually in an isolated workspace and compare against safer alternatives.","install_policy":"review","minimum_review_before_use":["Trust: 66/100 Manual review","Audit: 76/100 Needs review","Safety: 44/100 Avoid automatic install","Review repository, license, install command, and permission surface before production use."],"expected_agent_output":{"selected_skill":"bam-bam-2-book-pdf (book-pdf)","install_command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","risk_summary":"Needs review; Experimental; Review before production","verification_result":"Report the smallest successful task, files touched, warnings, and any missing setup."}},"outcome_feedback":{"endpoint":"https://www.openagentskill.com/api/agent/outcome","method":"POST","requires_resolve_event_id":true,"event_id_source":"Use install_receipt.outcome_feedback.event_id or feedback.event_id returned by /api/agent/resolve for the current task.","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"payload_template":{"event_id":"<install_receipt.outcome_feedback.event_id or feedback.event_id from /api/agent/resolve>","skill_slug":"bam-bam-2-book-pdf","task":"Use book-pdf in an agent workflow","agent":"codex","outcome":"success","install_used":true,"risk_blocked":false,"setup_required":false,"task_success":true,"output_quality":4,"error_type":null,"human_review_required":false,"workspace":"sandbox","time_to_useful_ms":120000,"notes":"Report the smallest successful task, setup friction, files touched, and risk notes."}},"endpoints":{"web":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf","api":"https://www.openagentskill.com/api/agent/skills/bam-bam-2-book-pdf","audit":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf/audit","eval":"https://www.openagentskill.com/api/agent/evals?slug=bam-bam-2-book-pdf&task=Use%20book-pdf%20in%20an%20agent%20workflow&max_risk=medium","resolve":"https://www.openagentskill.com/api/agent/resolve?task=Use%20book-pdf%20in%20an%20agent%20workflow&agent=codex&max_risk=medium","receipt":"https://www.openagentskill.com/api/agent/receipt?task=Use%20book-pdf%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text","install":"https://www.openagentskill.com/api/skills/bam-bam-2-book-pdf/install","manifest":"https://www.openagentskill.com/api/registry/manifest/bam-bam-2-book-pdf"}},"machine_metadata":{"version":"openagentskill-agent-metadata-v2","skill":{"slug":"bam-bam-2-book-pdf","name":"book-pdf","description":"마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용.","category":"automation","url":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","github_repo":"bam-bam-2/solo-skills"},"suited_tasks":["Document processing workflows","Claude Code teams","builders willing to evaluate younger projects","Read uploaded files","Extract structured fields","Prepare clean context for downstream agents","Navigate pages","Click and type safely"],"suited_agents":["Codex","Claude Code","Cursor","OpenAgentSkill CLI","Browser agents","CLI"],"install":{"command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","ready":true,"targets":[{"id":"openagentskill-cli","label":"CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install bam-bam-2-book-pdf"},{"id":"codex","label":"Codex","kind":"agent-prompt","value":"Install the \"book-pdf\" agent skill from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"codex\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes."},{"id":"claude-code","label":"Claude Code","kind":"agent-prompt","value":"Add \"book-pdf\" as a Claude Code skill from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"claude-code\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes."},{"id":"cursor","label":"Cursor","kind":"agent-prompt","value":"Turn \"book-pdf\" from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"cursor\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes."}],"handoff_url":"https://www.openagentskill.com/api/skills/bam-bam-2-book-pdf/install","manifest_url":"https://www.openagentskill.com/api/registry/manifest/bam-bam-2-book-pdf"},"trust":{"score":66,"label":"Manual review","version":"trust-score-v4","install_policy":"human_review_before_install","evidence":{"stars":"128 GitHub stars","repoActivity":"128 stars, 22 forks","lastPushed":"Pushed today","license":"MIT","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","install":"npx skills add bam-bam-2/solo-skills --skill book-pdf","installSafety":"standard package or runtime install path","permissionSurface":"shell or command execution, filesystem or document access","documentation":"Strong README/SKILL.md context","agentOutcomes":"No agent outcome data yet"},"outcome_evidence":{"total":0,"successes":0,"failures":0,"not_relevant":0,"success_rate":null,"recent_success_rate":null,"recent_failure_rate":null,"install_attempts":0,"install_success_rate":null,"risk_blocked":0,"setup_required":0,"avg_output_quality":null,"production_outcomes":0,"last_outcome_at":null,"label":"No agent outcome data yet"},"auto_install":{"allowed":false,"sandbox_required":true,"reason":"Human review or sandbox validation is required before automatic installation."},"best_for":["automation","agent-skill"],"known_risks":["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_proven":{"version":"agent-proven-v1","score":0,"tier":"unproven","label":"Needs first agent run","summary":"No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.","metrics":{"totalOutcomes":0,"successfulOutcomes":0,"failedOutcomes":0,"installAttempts":0,"installSuccessRate":null,"successRate":null,"recentSuccessRate":null,"recentFailureRate":null,"riskBlocked":0,"setupRequired":0,"notRelevant":0,"avgOutputQuality":null,"avgTimeToUsefulMs":null,"productionOutcomes":0,"humanReviewRequired":0,"uniqueAgents":0,"lastOutcomeAt":null},"signals":[],"penalties":["No real agent outcome evidence yet"]},"audit":{"score":76,"risk_level":"needs_review","risk_label":"Needs review","warnings":["Dependency or permission surface needs review","Permission surface may require sandboxing","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.","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md.","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"]},"safety_gate":{"tier":"experimental","label":"Experimental","auto_install_policy":"review","auto_install_allowed":false,"human_review_required":true,"blocked":false,"recommended_action":"Test manually in an isolated workspace and compare against safer alternatives."},"quality":{"score":68,"label":"Promising"},"supply":{"track":"Research and knowledge work","scenario":"Document processing","maintenance":"Pushed today","risk":"Needs review"},"alternative_skills":[],"do_not_use_when":["teams that need a vendor-supported 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.","High-risk permission hints: Shell or command execution","Dependency or permission surface needs review","Permission surface may require sandboxing","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md."],"agent_contract":{"task_input":"Use book-pdf in an agent workflow","recommended_action":"Test manually in an isolated workspace and compare against safer alternatives.","install_policy":"review","minimum_review_before_use":["Trust: 66/100 Manual review","Audit: 76/100 Needs review","Safety: 44/100 Avoid automatic install","Review repository, license, install command, and permission surface before production use."],"expected_agent_output":{"selected_skill":"bam-bam-2-book-pdf (book-pdf)","install_command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","risk_summary":"Needs review; Experimental; Review before production","verification_result":"Report the smallest successful task, files touched, warnings, and any missing setup."}},"outcome_feedback":{"endpoint":"https://www.openagentskill.com/api/agent/outcome","method":"POST","requires_resolve_event_id":true,"event_id_source":"Use install_receipt.outcome_feedback.event_id or feedback.event_id returned by /api/agent/resolve for the current task.","expected_outcomes":["success","failed","not_relevant","blocked_by_risk","setup_required"],"payload_template":{"event_id":"<install_receipt.outcome_feedback.event_id or feedback.event_id from /api/agent/resolve>","skill_slug":"bam-bam-2-book-pdf","task":"Use book-pdf in an agent workflow","agent":"codex","outcome":"success","install_used":true,"risk_blocked":false,"setup_required":false,"task_success":true,"output_quality":4,"error_type":null,"human_review_required":false,"workspace":"sandbox","time_to_useful_ms":120000,"notes":"Report the smallest successful task, setup friction, files touched, and risk notes."}},"endpoints":{"web":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf","api":"https://www.openagentskill.com/api/agent/skills/bam-bam-2-book-pdf","audit":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf/audit","eval":"https://www.openagentskill.com/api/agent/evals?slug=bam-bam-2-book-pdf&task=Use%20book-pdf%20in%20an%20agent%20workflow&max_risk=medium","resolve":"https://www.openagentskill.com/api/agent/resolve?task=Use%20book-pdf%20in%20an%20agent%20workflow&agent=codex&max_risk=medium","receipt":"https://www.openagentskill.com/api/agent/receipt?task=Use%20book-pdf%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text","install":"https://www.openagentskill.com/api/skills/bam-bam-2-book-pdf/install","manifest":"https://www.openagentskill.com/api/registry/manifest/bam-bam-2-book-pdf"}},"supply_profile":{"track":{"slug":"research","label":"Research and knowledge work","shortLabel":"Research","description":"Deep research, source comparison, literature review, RAG, knowledge search, and reports."},"scenario":{"label":"Document processing","description":"I need my agent to read PDFs, extract tables, and turn documents into structured data.","useCases":[{"slug":"document-processing","title":"Document processing"},{"slug":"browser-automation","title":"Browser automation"},{"slug":"web-scraping","title":"Web scraping"}]},"applicableAgents":["Claude Code","Browser agents","CLI","Codex","Cursor"],"install":{"ready":true,"command":"npx skills add bam-bam-2/solo-skills --skill book-pdf","primaryTarget":"CLI","targetCount":4},"githubQuality":{"stars":128,"starsLabel":"128","forks":22,"license":"MIT","qualityScore":68,"trustScore":66,"auditScore":76},"maintenance":{"status":"fresh","label":"Pushed today","daysSincePush":0,"lastPushedAt":"2026-08-23T11:27:14+00:00"},"risk":{"level":"needs_review","label":"Needs review","requiresReview":true,"notes":["Dependency or permission surface needs review","Permission surface may require sandboxing","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.","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md."]},"coverageTags":["Research","Document processing","automation","agent-skill"]},"audit":{"audit_score":76,"risk_level":"needs_review","risk_label":"Needs review","quality_score":68,"trust_score":66,"maintenance_score":100,"security_score":74,"install_score":92,"warnings":["Dependency or permission surface needs review","Permission surface may require sandboxing","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.","The script is described as a '바로 쓰는 스크립트' (immediate-use script) but actually contradicts the main workflow detailed in SKILL.md, potentially confusing users.","The script uses landscape orientation, which is unusual for book‑style output and not mentioned in SKILL.md.","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"]},"quality_signals":{"model":"v2","star_score":14.77,"usage_score":0,"review_score":5.4,"metadata_score":3,"freshness_score":15},"platforms":["Claude Code","Browser agents"],"use_cases":[{"slug":"document-processing","title":"Document processing","url":"https://www.openagentskill.com/use-cases/document-processing"},{"slug":"browser-automation","title":"Browser automation","url":"https://www.openagentskill.com/use-cases/browser-automation"},{"slug":"web-scraping","title":"Web scraping","url":"https://www.openagentskill.com/use-cases/web-scraping"},{"slug":"rag-knowledge","title":"RAG and knowledge","url":"https://www.openagentskill.com/use-cases/rag-knowledge"}],"stacks":[{"slug":"browser-qa-agent","title":"Browser QA agent","url":"https://www.openagentskill.com/collections/browser-qa-agent"},{"slug":"web-data-pipeline","title":"Web data pipeline","url":"https://www.openagentskill.com/collections/web-data-pipeline"},{"slug":"rag-knowledge-base","title":"RAG knowledge base","url":"https://www.openagentskill.com/collections/rag-knowledge-base"}],"install":"npx skills add bam-bam-2/solo-skills --skill book-pdf","install_targets":[{"id":"openagentskill-cli","label":"CLI","title":"OpenAgentSkill CLI","kind":"command","value":"npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install bam-bam-2-book-pdf","description":"Resolve policy, run the source installer safely, and report a verified install receipt.","copyLabel":"Copy command"},{"id":"codex","label":"Codex","title":"Codex install prompt","kind":"agent-prompt","value":"Install the \"book-pdf\" agent skill from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"codex\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.","description":"Give Codex a repo-aware install prompt when the skill is not available through a local CLI.","copyLabel":"Copy prompt"},{"id":"claude-code","label":"Claude Code","title":"Claude Code skill prompt","kind":"agent-prompt","value":"Add \"book-pdf\" as a Claude Code skill from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf. Inspect the skill instructions, place the reusable skill files in the appropriate local skills location for this project, and report the activation steps. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"claude-code\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.","description":"Use this prompt to ask Claude Code to add the skill and explain the local activation steps.","copyLabel":"Copy prompt"},{"id":"cursor","label":"Cursor","title":"Cursor rule prompt","kind":"agent-prompt","value":"Turn \"book-pdf\" from https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf into a reusable Cursor project rule or agent instruction. Preserve the core workflow, adapt paths to this repo, and keep the rule scoped to tasks where it is relevant. Skill purpose: 마크다운 원고를 진짜 책처럼 보이는 PDF·EPUB 전자책으로 만든다. 표지, 판권 페이지, 실제 쪽번호가 달린 목차, 장별 러닝헤더까지 갖춘다. Paged.js 사용. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {\"event_id\":\"install_<unique-id>\",\"skill_slug\":\"bam-bam-2-book-pdf\",\"task\":\"Install book-pdf\",\"agent\":\"cursor\",\"outcome\":\"success\",\"install_used\":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.","description":"Use this when installing as Cursor project rules or reusable agent instructions.","copyLabel":"Copy prompt"}],"repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","github_repo":"bam-bam-2/solo-skills","version":"1.0.0","license":"MIT","urls":{"web":"https://www.openagentskill.com/skills/bam-bam-2-book-pdf","repository":"https://github.com/bam-bam-2/solo-skills/tree/main/skills/book-pdf","api":"/api/agent/skills/bam-bam-2-book-pdf","install_api":"/api/skills/bam-bam-2-book-pdf/install"},"meta":{"created_at":"2026-08-23T11:35:37.282953+00:00","updated_at":"2026-08-23T11:35:37.282953+00:00","agent_friendly":true}}