pandoc-11-makefile-for-document-projects
Sub-skill of pandoc: 11. Makefile for Document Projects (+1).
Best use case
pandoc-11-makefile-for-document-projects is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of pandoc: 11. Makefile for Document Projects (+1).
Teams using pandoc-11-makefile-for-document-projects should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/11-makefile-for-document-projects/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How pandoc-11-makefile-for-document-projects Compares
| Feature / Agent | pandoc-11-makefile-for-document-projects | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of pandoc: 11. Makefile for Document Projects (+1).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 11. Makefile for Document Projects (+1)
## 11. Makefile for Document Projects
```makefile
# Makefile for document conversion project
# Configuration
PANDOC = pandoc
PDF_ENGINE = xelatex
TEMPLATE = templates/report.tex
BIBLIOGRAPHY = references/main.bib
CSL = styles/ieee.csl
# Directories
SRC_DIR = src
OUT_DIR = output
BUILD_DIR = build
# Source files
MD_FILES := $(wildcard $(SRC_DIR)/*.md)
PDF_FILES := $(patsubst $(SRC_DIR)/%.md,$(OUT_DIR)/%.pdf,$(MD_FILES))
DOCX_FILES := $(patsubst $(SRC_DIR)/%.md,$(OUT_DIR)/%.docx,$(MD_FILES))
HTML_FILES := $(patsubst $(SRC_DIR)/%.md,$(OUT_DIR)/%.html,$(MD_FILES))
# Common options
PANDOC_OPTS = --toc --number-sections --highlight-style=tango
PDF_OPTS = --pdf-engine=$(PDF_ENGINE) --template=$(TEMPLATE)
CITE_OPTS = --citeproc --bibliography=$(BIBLIOGRAPHY) --csl=$(CSL)
# Phony targets
.PHONY: all pdf docx html clean help
# Default target
all: pdf
# Build all PDFs
pdf: $(PDF_FILES)
# Build all DOCX
docx: $(DOCX_FILES)
# Build all HTML
html: $(HTML_FILES)
# Pattern rules
$(OUT_DIR)/%.pdf: $(SRC_DIR)/%.md $(TEMPLATE) $(BIBLIOGRAPHY) | $(OUT_DIR)
@echo "Building PDF: $@"
$(PANDOC) $< -o $@ $(PANDOC_OPTS) $(PDF_OPTS) $(CITE_OPTS)
$(OUT_DIR)/%.docx: $(SRC_DIR)/%.md $(BIBLIOGRAPHY) | $(OUT_DIR)
@echo "Building DOCX: $@"
$(PANDOC) $< -o $@ $(PANDOC_OPTS) $(CITE_OPTS)
$(OUT_DIR)/%.html: $(SRC_DIR)/%.md $(BIBLIOGRAPHY) | $(OUT_DIR)
@echo "Building HTML: $@"
$(PANDOC) $< -o $@ --standalone $(PANDOC_OPTS) $(CITE_OPTS) --embed-resources
# Create output directory
$(OUT_DIR):
mkdir -p $(OUT_DIR)
# Clean build artifacts
clean:
rm -rf $(OUT_DIR)/*
rm -rf $(BUILD_DIR)/*
# Watch for changes (requires entr)
watch:
find $(SRC_DIR) -name "*.md" | entr -c make pdf
# Help
help:
@echo "Available targets:"
@echo " all - Build all PDFs (default)"
@echo " pdf - Build PDF files"
@echo " docx - Build DOCX files"
@echo " html - Build HTML files"
@echo " clean - Remove built files"
@echo " watch - Watch for changes and rebuild"
@echo ""
@echo "Source files: $(MD_FILES)"
```
## 12. GitHub Actions Workflow
```yaml
# .github/workflows/build-docs.yml
name: Build Documents
on:
push:
branches: [main]
paths:
- 'docs/**'
- 'templates/**'
- '.github/workflows/build-docs.yml'
pull_request:
paths:
- 'docs/**'
- 'templates/**'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Pandoc
run: |
wget https://github.com/jgm/pandoc/releases/download/3.1.11/pandoc-3.1.11-linux-amd64.tar.gz
tar xzf pandoc-3.1.11-linux-amd64.tar.gz
sudo mv pandoc-3.1.11/bin/* /usr/local/bin/
- name: Install pandoc-crossref
run: |
wget https://github.com/lierdakil/pandoc-crossref/releases/download/v0.3.17.0/pandoc-crossref-Linux.tar.xz
tar xf pandoc-crossref-Linux.tar.xz
sudo mv pandoc-crossref /usr/local/bin/
- name: Install LaTeX
run: |
sudo apt-get update
sudo apt-get install -y texlive-xetex texlive-fonts-recommended \
texlive-latex-extra texlive-fonts-extra
- name: Build PDF documents
run: |
mkdir -p output
for file in docs/*.md; do
output="output/$(basename "${file%.md}.pdf")"
echo "Building: $file -> $output"
pandoc "$file" -o "$output" \
--pdf-engine=xelatex \
--toc \
--number-sections \
--filter pandoc-crossref \
--template=templates/report.tex
done
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: documents
path: output/*.pdf
release:
needs: build
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: documents
path: output
- name: Create release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: output/*.pdf
```Related Skills
multi-source-tax-document-reconciliation
Verify generated tax forms against source documents by line-by-line comparison, not just totals
documentation-contract-plan-hardening
Harden a documentation/contract plan before adversarial review by mapping every issue-scope requirement to independent acceptance criteria and tests, especially for routing/indexing contracts.
ocr-and-documents
Extract text from PDFs and scanned documents. Use web_extract for remote URLs, pymupdf for local text-based PDFs, marker-pdf for OCR/scanned docs. For DOCX use python-docx, for PPTX see the powerpoint skill.
gmail-attachment-to-document
Download attachments from Gmail threads, parse their content (Excel, PDF), extract structured data, and save to target repos with proper legal scanning.
document-rag-pipeline
Build complete document knowledge bases with PDF text extraction, OCR for scanned documents, vector embeddings, and semantic search. Use this for creating searchable document libraries from folders of PDFs, technical standards, or any document collection.
document-inventory
Scan and catalog document collections with metadata extraction, categorization, and statistics. Use for auditing document libraries, preparing for knowledge base creation, or understanding large file collections.
document-index-pipeline
Orchestrate the 7-phase document indexing pipeline (A→G) for the 1M+ document corpus. Use when running batch extraction, classification, or gap analysis on og_standards, ace_standards, or workspace_spec sources.
modular-architecture-documentation
Systematically document multi-module system architectures including module boundaries, CLI commands, and architecture decisions.
clinical-trial-protocol-fda-guidance-documents
Sub-skill of clinical-trial-protocol: FDA Guidance Documents.
orcaflex-modeling-external-documentation
Sub-skill of orcaflex-modeling: External Documentation.
fe-analyst-what-to-document
Sub-skill of fe-analyst: What to Document.
sparc-specification-requirements-document-structure
Sub-skill of sparc-specification: Requirements Document Structure (+3).