원클릭으로
pdf-report
Create and download browser-generated PDFs from structured data or HTML
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create and download browser-generated PDFs from structured data or HTML
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Build animejs.com-grade scroll-driven kinetic pages with the vendored anime.js v4 bundle (website/vendor/anime.esm.min.js). Use when working on the prime-silo marketing site (website/) or any scrollytelling/animation surface. Contains the VERIFIED v4 API, the design language to emulate, the Prime-Silo set-piece specs, and the verification protocol.
Operate, analyze, or extend the LONGVIEW session-synthesis pipeline (cards, graph, reports, book, audiobook). Use when working on scripts/longview, reviewing card output, planning card schema changes, or debugging a LONGVIEW run.
Operate the Prime-Silo delivery board (delivery/) autonomously — select, claim, execute, verify, and log work contracts without frontier supervision. Use whenever picking up a task from delivery/board/BOARD.md, authoring a gate script, verifying another agent's task, or deciding which model tier should take which contract.
The Prime-Silo product experience contract — identity (Prime-Silo + Agent Benny, never Space Agent), earth-tone design tokens, progressive-discovery doctrine, and the "motion is meaning" choreography rules that bring animejs.com-grade kinetics INTO the app without violating the C0 calm contract. Use for any user-facing UI work in app/, server/pages/, or packaging/ (login, first-run, shell, mascot, Studio, Bridge).
DRAFT — pick up and deliver one delivery/tasks/ work contract under the six-sigma protocol (deterministic selection, TDD, allowlist discipline, author≠verifier). Use when asked to "take the next task", "work the board", or deliver a specific task id. Full mechanization lands with W1 (work next) and W2 (sandbox provisioning).
Create, patch, inspect, and remove widgets in the current space
| name | PDF Report |
| description | Create and download browser-generated PDFs from structured data or HTML |
| metadata | {"when":{"tags":["onscreen"]}} |
Use this skill when the user wants a browser-generated PDF report, a downloaded PDF summary, or a PDF built from structured data or custom HTML.
load helper
/mod/_core/skillset/ext/skills/pdf-report/pdf-report.js%PDF stringshelpers
await import("/mod/_core/skillset/ext/skills/pdf-report/pdf-report.js")buildReportHtml(report) -> { html, css, backgroundColor, widthPx }createPdfFromReport({ report, ...options }) -> Uint8ArraydownloadPdfFromReport({ report, filename?, page?, widthPx?, scale?, jpegQuality?, html2canvasOptions? }) -> { downloaded: true, filename, byteLength }createPdfFromHtml({ html, css?, widthPx?, backgroundColor?, page?, scale?, jpegQuality?, html2canvasOptions? }) -> Uint8ArraydownloadPdfFromHtml({ html, css?, filename?, widthPx?, backgroundColor?, page?, scale?, jpegQuality?, html2canvasOptions? }) -> { downloaded: true, filename, byteLength }downloadPdfBytes(bytes, filename?) -> { downloaded: true, filename, byteLength }structured report shape
report.title, eyebrow, subtitle, summary, introHtml, footer, widthPx, filenamereport.sections[] may use title, eyebrow, text, items, metrics, cards, columns, and raw htmlreport.theme may override accentColor, backgroundColor, borderColor, surfaceColor, textColor, mutedColor, fontFamily, and customCsspdf and html options
page.size: letter or a4page.orientation: portrait or landscapepage.marginPtwidthPx, backgroundColor, scale, jpegQuality, filenameguidance
downloadPdfFromReport(...) when the user wants a clean report quickly from structured datadownloadPdfFromHtml(...) when the user wants a custom visual direction or tighter markup controlcss or report.theme.customCssexamples Downloading a structured PDF report _javascript const pdfReport = await import("/mod/_core/skillset/ext/skills/pdf-report/pdf-report.js") return await pdfReport.downloadPdfFromReport({ filename: "project-status.pdf", report: { title: "Project Status", eyebrow: "Sprint 14", subtitle: "Frontend runtime workstream", summary: "The helper move is complete and the remaining work is doc cleanup.", theme: { accentColor: "#0b6bcb", backgroundColor: "#eef5ff", surfaceColor: "#ffffff" }, sections: [ { title: "Highlights", items: [ "Skill-specific helpers now live inside their owning skill folders.", "PDF output is built from generic HTML and CSS instead of a canned weather wrapper." ] }, { title: "Counts", metrics: [ { label: "Open items", value: "2" }, { label: "Blocked", value: "0" } ] } ], footer: "Generated locally in the browser." } })
Downloading a custom HTML PDF
_javascript
const pdfReport = await import("/mod/_core/skillset/ext/skills/pdf-report/pdf-report.js")
return await pdfReport.downloadPdfFromHtml({
filename: "brief.pdf",
widthPx: 900,
page: { size: "a4", marginPt: 28 },
css: .brief { padding: 48px; font-family: Georgia, serif; color: #1f2937; } .brief h1 { margin: 0 0 12px; font-size: 36px; } .brief .lede { font-size: 18px; color: #4b5563; } ,
html: <article class="brief"> <h1>Research Brief</h1> <p class="lede">This layout is fully custom HTML and CSS.</p> <p>Use this path when the user wants a specific art direction instead of the built-in structured report layout.</p> </article>
})