OpenParable
Skip to content
← Back to skills

Pandic Office

Documents
pandic-office

Pandic 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.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
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

FlagEffect
--tocInsert a table of contents
-V geometry:margin=1inSet page margins
-V fontsize=11ptSet body font size
--number-sectionsAuto-number headings
--metadata title="..."Set document title
-o file.pdfOutput 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.