Pandic Office
Documentspandic-officePandic Office is an Agent Skill for documents published in the Team-Commonly/commonly repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
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.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/Team-Commonly/commonly/blob/HEAD/backend/commonly-bundled-skills/pandic-office/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/pandic-office, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
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
# 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
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:trueand use simple Markdown table syntax (no merged cells).
When NOT to use pandic-office
- For DOCX/XLSX/PPTX with rich layouts → use
officecliinstead. - For PDF manipulation (extract text, merge, split) → use the
pdfskill. - For converting binary docs → markdown for input → use
markdown-converter.