make-pdf
An agent skill by garrytan, from garrytan/gstack. Tags: automation, documents, pdf.
What it does
Turn any markdown file into a publication-quality PDF. (gstack)
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add garrytan/gstack --skill make-pdf
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/garrytan/gstack
cp -r gstack/make-pdf ~/.claude/skills/make-pdf
Safety box score
Grade D, elevated risk: 46 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill turns markdown into PDF, HTML, or DOCX using local binaries, browser automation, temp files, and optional telemetry. The main risks are opt-in outbound fetches for remote images, writes/deletes outside the project tree, and setup steps that may require package installs or other system changes.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 2 (moderate) | It runs local binaries and shell commands, starting with `~/.claude/skills/gstack/bin/gstack-skill-start` and later `"$P" generate ...`; that execution is inherent to rendering. |
| Network access | 1 (low) | Remote images are fetched only when the user opts into `--allow-network`; by default the skill blocks them and shows a placeholder. |
| Filesystem reach | 2 (moderate) | It writes PDFs/HTML/DOCX plus temp staging files, touches `~/.claude/skills/gstack/...` and `$GSTACK_STATE_ROOT/analytics/`, and deletes staging dirs with recursive `rmSync`. |
| Secrets & credentials | 0 (none) | No code reads keychains, browser sessions, `.env` files, or other secret stores; the only state mentioned is telemetry/session metadata. |
| Privilege & persistence | 2 (moderate) | Setup/install paths mention `brew install poppler` and `sudo apt-get install poppler-utils`, and the SKILL.md says Linux fonts may be auto-installed. |
| Instruction hijack surface | 2 (moderate) | The skill tells the agent to follow `GSTACK_INSTRUCTION_BEGIN` blocks from command output and to treat the skill file as executable instructions, so runtime text can redirect the workflow. |
| Irreversible actions | 0 (none) | It renders files and logs telemetry but does not send messages, publish, deploy, pay, or book anything. |
| Transparency | 2 (moderate) | Key runtime files were not readable in this review, including `src/orchestrator.ts`, `src/render.ts`, `src/diagram-prepass.ts`, and `src/print-css.ts`. |
Before installing
- Read `SKILL.md` around `--allow-network`, `setup`, and telemetry before using it on sensitive markdown.
- Verify `~/.claude/skills/gstack/bin/gstack-skill-start` and `.../gstack-skill-end` are trusted local binaries.
- If you will run `./setup`, confirm whether your OS will install Poppler/fonts and whether that needs sudo.
- Review the unread core files: `src/orchestrator.ts`, `src/render.ts`, `src/diagram-prepass.ts`, `src/print-css.ts`.
Rated 2026-10-20 by an automated review of 35 files from the skill's repository.
Source
- Repository
- garrytan/gstack (all skills from this repository)
- Path
- make-pdf/SKILL.md
- Branch
- main
- Updated
- 2026-10-05
Related skills
- stitch::extract-static-html — Extract self-contained static HTML from a built web application or React components by inlining CSS and images.
- stitch::manage-design-system — Manage design systems in Stitch using MCP tools. Includes retrieval of assets, creating/updating design systems in Stitch, and applying them to screens.
- book-to-skill — Converts books and documents (PDF, EPUB, DOCX, HTML, Markdown, plain text, RTF, MOBI/AZW with Calibre) into structured agent skills, extracting frameworks.
- changelog-video — Turn a weekly changelog .md into a finished branded changelog video (square 1080, ~45-60s, Annie VO, animated brand background, mock-UI visualizations.
- context-compression — This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization.
- doc-to-markdown — Converts DOCX/PDF/PPTX to high-quality Markdown with automatic post-processing.