From dev-team
Renders a Markdown report to a styled PDF using pandoc and headless Chrome. Invoke via /report-pdf when the user wants a shareable PDF of a dev-team report.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dev-team:report-pdf <path.md> [--out <path>]<path.md> [--out <path>]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Role: worker. This command renders one Markdown report to a styled PDF via the
Role: worker. This command renders one Markdown report to a styled PDF via the shared render module. It is a mechanical wrapper — no reasoning, no file-by-file searching. It never modifies the source Markdown.
You have been invoked with the /report-pdf command.
<path.md> (required) — path to the Markdown report to render (for example
DEV_TEAM_REPORTS/code-review.md or reports/test-health-2026-07-16.md).--out <path> (optional) — output PDF path. Defaults to the source path with
a .pdf extension, next to the source. A missing parent directory is created.If no path argument is supplied, report path required — usage: /report-pdf <path.md> [--out <path>] and stop.
Invoke the shared render module through hooks/py.sh (never python3
directly — the shim resolves a real Python 3 on Windows too), passing the
arguments through verbatim:
sh "$CLAUDE_PLUGIN_ROOT/hooks/py.sh" "$CLAUDE_PLUGIN_ROOT/hooks/lib/report_pdf.py" <path.md> [--out <path>]
The module detects a PDF engine (fallback order: pandoc + headless
Chrome/Chromium → pandoc + weasyprint → pandoc + wkhtmltopdf → md-to-pdf) via
runtime probes, converts the report with the bundled report-print.css, and
prints a Rendering PDF via <engine>… progress line followed by one result
line. Report its output as-is:
PDF written: … — the styled PDF was produced; report the output
path and engine verbatim.No PDF engine found. Install one, …) — no engine
was available. Report the skip message verbatim, including the single install
hint. This is non-fatal: the source Markdown is untouched.PDF not rendered: … — the source file was missing, or an engine
was present but conversion failed. Surface the stderr message verbatim.Do not add commentary beyond the module's own lines.
hooks/lib/report_pdf.py — the shared render module this command wraps; the
same module backs the --pdf flag on report-producing skills (see
../../knowledge/report-pdf-integration.md).../../knowledge/report-to-pdf.md — the
underlying pandoc + headless-Chrome recipe and why this toolchain.../../knowledge/report-output-location.md
— where each report-producing skill writes its Markdown.npx claudepluginhub bdfinst/agentic-dev-team --plugin dev-teamRenders a polished markdown report to a letter-size PDF using pandoc with xelatex (11pt serif, 1-inch margins, numbered footnotes). Fails loudly with install instructions if pandoc or xelatex is missing.
Converts Markdown files with Mermaid diagrams to styled PDFs using Python script and Puppeteer. Useful for generating PDF documentation, reports, or printable documents with custom styles.
Converts Markdown files to PDF using reportlab or weasyprint engines, with optional LLM preprocessing and style configuration.