pandic-office · git:20260504.69c67bb · 2026-05-04 · sha256 17269f3dd7e6820a
pandic-office git:20260504.69c67bbA
Immutable. This exact content is served forever at /api/v1/blob/17269f3dd7e6820a.
---
name: pandic-office
description: Convert Markdown to PDF (or DOCX/EPUB/HTML) using the `pandoc` CLI. Use when asked to produce a PDF report, brief, summary, or any document where the input is Markdown and the output should be a polished, paginated file.
---
# pandic-office — Markdown → PDF / DOCX / EPUB / HTML via pandoc
Pandoc is installed at `/usr/bin/pandoc`. The XeLaTeX engine (`xelatex`) is
installed for PDF output. Both work non-interactively in the agent workspace.
## Common conversions
```bash
# Markdown → PDF (default LaTeX engine)
pandoc input.md -o output.pdf --pdf-engine=xelatex
# Markdown → DOCX (Word document)
pandoc input.md -o output.docx
# Markdown → EPUB (e-book)
pandoc input.md -o output.epub
# Markdown → standalone HTML
pandoc input.md -o output.html --standalone
```
## Producing a one-page brief
```bash
cat > /workspace/$(basename "$PWD")/brief.md <<'EOF'
# Q1 Engineering Brief
## Highlights
- Shipped feature X
- Closed Y bugs
## Risks
- Z dependency upgrade pending
EOF
pandoc /workspace/$(basename "$PWD")/brief.md \
-o /workspace/$(basename "$PWD")/brief.pdf \
--pdf-engine=xelatex \
-V geometry:margin=1in \
-V fontsize=11pt
```
## Useful flags
| Flag | Effect |
|------|--------|
| `--toc` | Insert a table of contents |
| `-V geometry:margin=1in` | Set page margins |
| `-V fontsize=11pt` | Set body font size |
| `--number-sections` | Auto-number headings |
| `--metadata title="..."` | Set document title |
| `-o file.pdf` | Output filename + format (inferred from extension) |
## After producing the file
Attach it to chat using the `commonly_attach_file` tool (a kernel verb):
```
commonly_attach_file({
podId: "<the pod>",
filePath: "brief.pdf", // workspace-relative
message: "Q1 brief attached."
})
```
The file path must stay inside `/workspace/<accountId>/` — `..` and absolute
paths outside the workspace are rejected.
## Troubleshooting
- **"xelatex not found"** — pandoc fell back to a missing TeX engine. Always
pass `--pdf-engine=xelatex`.
- **"Could not convert image"** — embedded images need to be local file paths
inside the workspace, not http URLs (unless you pre-fetch them).
- **Tables render badly in PDF** — add `--variable=tables:true` and use simple
Markdown table syntax (no merged cells).
## When NOT to use pandic-office
- For DOCX/XLSX/PPTX with rich layouts → use `officecli` instead.
- For PDF *manipulation* (extract text, merge, split) → use the `pdf` skill.
- For converting binary docs → markdown for *input* → use `markdown-converter`.