skills/markpress/SKILL.md
Render Markdown to PDF with built-in templates and Mermaid diagram support. Use when the user wants to convert Markdown to PDF, generate a report, export documentation, create a formatted document, or produce print-ready output. Trigger phrases include 'convert to PDF', 'save as PDF', 'generate report', 'export as PDF', 'Markdown to PDF', 'print to PDF', '转PDF', '导出PDF', '生成报告'. Also use when the user asks to summarize content into a document, create a weekly/monthly report, or format notes for sharing. Only local Markdown file input is supported — remote URLs are not accepted.
npx skillsauth add liustack/markpress markpressInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CLI tool to convert local Markdown files into PDF documents, with built-in templates, syntax highlighting, and Mermaid diagram rendering.
If markpress is not installed:
npm install -g @liustack/markpress@latest
npx playwright install chromium
Before generating PDFs, check whether the local CLI is outdated:
markpress check-update
If updateAvailable is true, upgrade in place:
markpress self-update
If the update check returns checked: false, continue using the local CLI and do not block PDF generation on the network check.
If the command is not found, fall back to the install command above.
When the user asks for PDF output, follow this flow:
.md file → render directly with a template$ASSETS_DIR), then render itSecurity: Remote URL inputs are not supported. Only local
.mdfiles are accepted.
Pick the template based on the document's purpose:
| Template | Style | Best For |
|----------|-------|----------|
| default | Clean minimalist, generous whitespace | Technical docs, reports, notes |
| github | GitHub-flavored markdown | README-style docs, developer docs |
| magazine | Premium editorial with serif fonts | Presentations, whitepapers, polished deliverables |
If the user doesn't specify a template, use default. If they ask for something "fancy" or "polished", use magazine. If they want it to look like GitHub, use github.
Markdown files support YAML frontmatter. The title field sets the document's <title>:
---
title: Q1 Performance Report
---
# Q1 Performance Report
...
If no frontmatter is present, the title defaults to "Document".
MarkPress has built-in Mermaid rendering — no preprocessing needed. Standard ```mermaid code blocks in Markdown are automatically rendered into SVG graphics in the PDF. This works with all templates.
Supported diagram types include flowcharts, sequence diagrams, class diagrams, state diagrams, ER diagrams, Gantt charts, and more.
## Architecture
` ```mermaid
graph TD
A[Client] --> B[API Gateway]
B --> C[Service]
` ```
$ASSETS_DIR for the session.${workspaceRoot}/assets.markpress -i input.md -o output.pdf --template default
-i, --input <path> — input Markdown file (remote URLs not supported)-o, --output <path> — output PDF path-t, --template <name> — template: default, github, or magazine--safe — disable external network requests and JavaScript execution--wait-until <state> — navigation waitUntil: load, domcontentloaded, networkidle--timeout <ms> — navigation timeout in milliseconds--safeUse --safe when rendering Markdown that may contain embedded scripts. It blocks all external network requests and disables JavaScript execution in the Chromium renderer. Not needed for normal Markdown-to-PDF workflows.
[!CAUTION] NEVER scatter generated Markdown files across the user's project. All intermediate files must go into
$ASSETS_DIR(the same directory where output PDFs are stored).
This matters because writing temp files elsewhere triggers permission prompts and clutters the project. Keep everything in one place:
$ASSETS_DIR — avoids permission prompts and keeps files co-locatedmarkpress run$ASSETS_DIR and report its path# Markdown report with default template
markpress -i report.md -o report.pdf --template default
# Developer docs with GitHub style
markpress -i api-docs.md -o api-docs.pdf --template github
# Polished whitepaper with magazine layout
markpress -i whitepaper.md -o whitepaper.pdf --template magazine
# Render with safe mode
markpress -i untrusted.md -o output.pdf --safe
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.