Help us improve
Share bugs, ideas, or general feedback.
Generates PDF, DOCX, HTML, ODT, EPUB, RTF documents from markdown using pandoc. For user requests to create reports, export findings, code reviews, or save analysis as formatted files.
npx claudepluginhub uniswap/ai-toolkit --plugin development-productivityHow this skill is triggered — by the user, by Claude, or both
Slash command
/development-productivity:generate-documentThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate professional documents in multiple formats from markdown content using pandoc.
Converts markdown to DOCX, PPTX, XLSX, and PDF office documents for exportable deliverables, with format recommendations by workflow (empathize, advise, synthesize).
Converts Markdown documents to professionally typeset PDFs using reportlab (primary) or pandoc+XeLaTeX (fallback). Handles CJK/Latin mixed text, code blocks, tables, Obsidian callouts, math formulas, and 14 color themes. Triggered by "markdown to PDF", "md2pdf", "any2pdf", or export requests.
Converts markdown files, globs, or directories to professional PDFs with Obsidian-style preview using pandoc and wkhtmltopdf. Supports custom output directories and auto-installs tools.
Share bugs, ideas, or general feedback.
Generate professional documents in multiple formats from markdown content using pandoc.
Requires pandoc. For PDF output, also requires a LaTeX distribution (e.g., basictex on macOS, texlive-xetex on Ubuntu/Debian).
Check pandoc availability: Run which pandoc. If not found, inform the user of installation requirements.
Collect content: Gather content from the conversation (security findings, code reviews, research summaries, meeting notes, etc.) or from files the user points to.
Determine format: Infer from context or ask the user:
Structure the document: Organize content into well-formatted markdown with YAML frontmatter, sections, and appropriate formatting. See references/templates.md for content-type-specific templates (security reports, code reviews, research summaries).
Write markdown to temp file: Save content to /tmp/document_<timestamp>.md
Convert with pandoc: Run the appropriate command from the format reference below.
Clean up: Delete the temporary markdown file after successful conversion.
Report output: Tell the user the output path and suggest how to open it.
pandoc /tmp/document.md -o ./report.pdf \
--pdf-engine=xelatex \
-V geometry:margin=1in \
-V fontsize=11pt \
--toc \
--highlight-style=tango
pandoc /tmp/document.md -o ./report.pdf \
--pdf-engine=wkhtmltopdf \
--css=/tmp/style.css
pandoc /tmp/document.md -o ./report.docx \
--toc \
--highlight-style=tango
pandoc /tmp/document.md -o ./report.html \
--standalone \
--toc \
--highlight-style=tango \
--metadata title="Report Title"
pandoc /tmp/document.md -o ./report.odt \
--toc
pandoc /tmp/document.md -o ./report.epub \
--toc \
--epub-chapter-level=2
pandoc /tmp/document.md -o ./report.rtf
pandoc /tmp/document.md -o ./report.txt \
--wrap=auto
Structure markdown content following this template. Adapt sections based on content type.
---
title: 'Document Title'
subtitle: 'Optional Subtitle'
author: 'Author Name'
date: '2024-01-15'
abstract: |
Brief summary of the document contents.
Can span multiple lines.
---
# Executive Summary
High-level overview of findings or content.
# Section 1: Category Name
## Subsection 1.1
Content with **bold**, _italic_, and `inline code`.
### Finding ID-001: Finding Title
**Severity:** Critical | High | Medium | Low | Info
**Location:** `path/to/file.ts:42`
**Description:**
Detailed description of the finding or item.
**Recommendation:**
Actionable steps to address the finding.
---
# Section 2: Data Tables
| Column A | Column B | Column C |
| -------- | -------- | -------- |
| Value 1 | Value 2 | Value 3 |
# Appendix A: References
1. Reference One - <https://example.com>
For content-type-specific templates, see references/templates.md.
Default output location: ./<descriptive-name>.<ext> (current working directory).
If the user specifies a custom output directory, run mkdir -p <directory> before invoking pandoc.
Use descriptive names derived from content:
security-review-myapp-2024-01-15.pdfcode-review-pr-123.docxresearch-caching-strategies.html\newpage for PDF or use horizontal rules --- as section breaks/tmp/document_*.md files after conversion