Resume-Typesetter
April 20, 2026 · View on GitHub
A Claude Code plugin for managing a resume as structured data (JSON Resume schema) and rendering it with custom Typst templates.
Data and presentation stay cleanly separated: the user's resume lives as resume.json, and the plugin ships with Typst templates that read it via Typst's built-in json() function.
Workflow
/resume:onboard— import an existing resume (paste, file, or URL) into<data-repo>/data/resume.json. Configures the data repo path on first run./resume:iterate— conversational edits toresume.json(add a role, tighten a bullet, reorder sections)./resume:variant <name>— fork the base resume intodata/variants/<name>.jsonfor a tailored version (e.g. per job application)./resume:render [template] [variant]— render to PDF inrenders/using a Typst template./resume:version [message]— git snapshot the current state of the data repo.
Templates
Bundled under templates/:
- classic — traditional single-column layout, serif.
- modern — two-column layout with sidebar, sans-serif.
Each template is a Typst file that reads data/resume.json (or a variant) via json(). Add your own templates by dropping a new folder under templates/ with a template.typ file.
Requirements
- Typst installed on
$PATH(typst --version). - A git-backed repo to hold the resume data (the plugin stores this path in its config on first onboard).
Installation
claude plugins install resume-typesetter@danielrosehill
Data schema
JSON Resume — a pure data schema with no styling opinions. Broad ecosystem, well-documented, language-agnostic.
License
MIT