Convert Markdown documents to professional LaTeX with TikZ visualizations and compile to PDF. Use when the user wants to create a presentation-quality PDF from a Markdown document, generate a professional report with diagrams, or convert documentation to print-ready format.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
npx agent-skills-cli listSkill Instructions
model: sonnet name: docs-latex description: | Convert Markdown documents to professional LaTeX with TikZ visualizations and compile to PDF. Use when the user wants to create a presentation-quality PDF from a Markdown document, generate a professional report with diagrams, or convert documentation to print-ready format. args: <file> [--no-compile] [--visualizations] [--report-type=roadmap|lifecycle|general] allowed-tools: Bash, Read, Write, Edit, Grep, Glob, TodoWrite argument-hint: path/to/document.md disable-model-invocation: true created: 2026-02-08 modified: 2026-03-01 reviewed: 2026-02-08
Markdown to LaTeX Conversion
Convert Markdown documents to professional LaTeX with advanced typesetting, TikZ/PGFPlots visualizations, and PDF compilation.
When to Use This Skill
| Use this skill when... | Use another skill when... |
|---|---|
| Converting Markdown to presentation-quality PDF | Writing Markdown documentation (/docs:generate) |
| Creating reports with diagrams and visualizations | Simple text formatting |
| Generating print-ready strategic documents | Creating HTML documentation |
| Building lifecycle reports with charts and timelines | Syncing existing docs (/docs:sync) |
Context
- LaTeX installed: !
which pdflatex - Current directory: !
pwd - Available .md files: !
find . -maxdepth 2 -name '*.md' -not -name 'CHANGELOG.md' -not -name 'README.md'
Parameters
<file>: Path to the Markdown source file (required)--no-compile: Generate.texfile only, skip PDF compilation--visualizations: Include TikZ/PGFPlots diagrams (timelines, charts, risk matrices)--report-type: Document structure presetroadmap: Phase-based roadmap with timeline visualizationlifecycle: Project lifecycle with release charts and velocity graphsgeneral: Standard professional document (default)
Execution
Execute this Markdown-to-LaTeX conversion workflow:
Step 1: Analyze the Markdown source
Read the source Markdown file and extract:
- Document title and metadata
- Section hierarchy (map
#levels to LaTeX chapters/sections) - Tables, lists, code blocks, callout blocks, and blockquotes
- Priorities or status indicators for color-coded markers
- Numerical data suitable for visualization
Step 2: Generate the LaTeX document
Create a .tex file adjacent to the source. Use the document preamble, color definitions, custom environments, and conversion rules from REFERENCE.md.
Apply the Markdown-to-LaTeX conversion rules:
| Markdown | LaTeX |
|---|---|
# Title | \chapter{Title} |
## Section | \section{Section} |
### Subsection | \subsection{Subsection} |
**bold** | \textbf{bold} |
*italic* | \textit{italic} |
`code` | \texttt{code} |
- item | \begin{itemize}\item ...\end{itemize} |
1. item | \begin{enumerate}\item ...\end{enumerate} |
> quote | \begin{tcolorbox}...\end{tcolorbox} |
[text](url) | \href{url}{text} |
| Tables | booktabs tables with \toprule, \midrule, \bottomrule |
| Code blocks | \begin{lstlisting}...\end{lstlisting} |
- [ ] / - [x] | $\square$ / $\boxtimes$ (requires amssymb) |
Step 3: Add visualizations (when --visualizations or data suggests it)
Choose appropriate TikZ/PGFPlots visualizations based on document content. Use the visualization templates from REFERENCE.md:
- Timeline for roadmaps with phases
- Bar/pie charts for release or metric data
- Risk matrix for documents with risk/impact data
- Test pyramid for QA/testing documents
Step 4: Compile to PDF
- Install LaTeX toolchain if not available:
apt-get update && apt-get install -y texlive-latex-extra texlive-fonts-recommended \ texlive-fonts-extra texlive-science latexmk - Compile with two passes for cross-references:
pdflatex -interaction=nonstopmode DOCUMENT.tex pdflatex -interaction=nonstopmode DOCUMENT.tex - If compilation fails, check REFERENCE.md for common compilation fixes.
Step 5: Clean up repository artifacts
Add LaTeX build artifacts to .gitignore if not already present: *.aux, *.log, *.out, *.toc, *.lof, *.lot, *.fls, *.fdb_latexmk, *.synctex.gz, *.bbl, *.blg, *.nav, *.snm, *.vrb.
Post-actions
- Report the output PDF path, page count, and file size
- Summarize what visualizations were generated
- List any compilation warnings that may need attention
- Suggest the
.gitignoreadditions if not already present
Agentic Optimizations
| Context | Command |
|---|---|
| Check LaTeX installed | which pdflatex 2>/dev/null |
| Quick compile | pdflatex -interaction=nonstopmode -halt-on-error FILE.tex |
| Full compile (with TOC) | pdflatex -interaction=nonstopmode FILE.tex && pdflatex -interaction=nonstopmode FILE.tex |
| Check PDF page count | pdfinfo FILE.pdf 2>/dev/null |
| Check PDF file size | stat -f %z FILE.pdf 2>/dev/null |
| Install toolchain | apt-get install -y texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra texlive-science |
| Errors only | pdflatex -interaction=nonstopmode FILE.tex 2>&1 |
For detailed LaTeX patterns, TikZ templates, and package reference, see REFERENCE.md.
More by laurigates
View alldebugging-methodology: Systematic debugging approach with tool recommendations for memory, performance, and system-level issues.
Inspect GitHub Actions workflow runs, check status, analyze logs, debug failures, and identify root causes. Use when investigating CI/CD failures, checking workflow status, or debugging GitHub Actions issues.
Multi-phase refactoring with persistent checkpoint files that survive context limits. Use when refactoring spans 10+ files, requires multiple phases, or risks hitting conversation context limits. Each phase reads/writes a plan file, enabling resume from any point. Supports "continue the refactor" across sessions.
FVH (Forum Virium Helsinki) Skaffold configuration standards for local Kubernetes development with OrbStack and dotenvx. Use when configuring Skaffold, setting up local K8s development, or when the user mentions FVH Skaffold, local development, Kubernetes profiles, or dotenvx secrets.
