AgentStack
SKILL verified MIT Self-run

Formatting Resumes

skill-vibewith-brent-claude-resume-skills-resume-formatter · by vibewith-brent

Converts resume YAML to professionally formatted PDF using Typst templates. Use when the user wants to generate a PDF, compile their resume, compare template layouts, or create print-ready documents.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-vibewith-brent-claude-resume-skills-resume-formatter

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-vibewith-brent-claude-resume-skills-resume-formatter)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
6mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Formatting Resumes? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Resume Formatter

Overview

Transform resume YAML files into professionally formatted PDF documents using Typst templates. Choose from 5 templates optimized for different use cases.

Quick Start

# Step 1: Convert YAML to Typst
uv run scripts/yaml_to_typst.py resume.yaml executive --output resume.typ

# Step 2: Compile to PDF
uv run scripts/compile_typst.py resume.typ

# Result: resume.pdf

Available Templates

Template Selection Guide

Need?
├─ Professional default → Executive
├─ Modern/creative → Tech Modern
├─ Maximum density → Modern Dense or Compact
└─ Clean/understated → Minimal

Executive (default)

  • Best for: Most professional roles, senior positions
  • Style: Clean hierarchy, navy/blue accents
  • Font: Inter
  • Features: Professional layout, good whitespace balance

Tech Modern (new)

  • Best for: Modern tech/creative roles, distinctive aesthetic
  • Style: Deep lavender palette, pill-style skills, modern typography
  • Font: Carlito (Calibri alternative)
  • Features: Single-page optimized, creative competency display, professional but contemporary

Modern Dense (new)

  • Best for: Extensive experience requiring optimal space usage
  • Style: Categorized inline skills, tight but readable spacing
  • Font: Inter
  • Features: Single-page target, 20-25 bullets + summary + skills, strategic density

Compact

  • Best for: Extensive experience, dense content
  • Style: Maximum density without sacrificing readability
  • Font: Inter
  • Features: Tight spacing, small section headers

Minimal

  • Best for: Clean, understated presentation
  • Style: Monochromatic with single blue accent
  • Font: Inter
  • Features: Generous whitespace, subtle hierarchy

Workflow

Convert YAML to Typst

uv run scripts/yaml_to_typst.py   --output 

Templates: executive, tech-modern, modern-dense, compact, minimal

Options:

  • --output / -o: Output file path (default: stdout)
  • --skip-validation: Skip schema validation for legacy YAML formats

Examples:

# Executive template (default)
uv run scripts/yaml_to_typst.py resume.yaml executive --output resume_executive.typ

# Tech Modern template (modern/creative)
uv run scripts/yaml_to_typst.py resume.yaml tech-modern --output resume_tech_modern.typ

# Modern Dense template (maximum density)
uv run scripts/yaml_to_typst.py resume.yaml modern-dense --output resume_modern_dense.typ

# Compact template (dense)
uv run scripts/yaml_to_typst.py resume.yaml compact --output resume_compact.typ

# Minimal template (clean)
uv run scripts/yaml_to_typst.py resume.yaml minimal --output resume_minimal.typ

Compile Typst to PDF

uv run scripts/compile_typst.py  [--output ]

Example:

uv run scripts/compile_typst.py resume_executive.typ
# Creates: resume_executive.pdf

# Or specify custom output name:
uv run scripts/compile_typst.py resume_executive.typ --output brent_skoumal_resume.pdf

Typst compiles in a single pass with no auxiliary files to clean up.

Schema Validation

The formatter validates YAML against the resume schema before rendering. This catches structural issues early:

# Validation runs by default
uv run scripts/yaml_to_typst.py resume.yaml executive --output resume.typ
# Output: Warning: Weak verb 'worked' in achievement: Worked with vendors...

# Skip validation for legacy YAML formats
uv run scripts/yaml_to_typst.py legacy_resume.yaml executive --skip-validation --output resume.typ

Validation checks:

  • Required: contact. Recommended: summary, experience, skills, education
  • Proper nesting: contact.name, experience[].positions[].achievements
  • Content quality: Warns about weak action verbs

Review PDF

After compilation:

  1. Visual review: Check formatting, layout, spacing
  2. Content review: Verify all sections rendered correctly
  3. ATS test: Copy-paste text to ensure proper extraction
  4. Print test: View in grayscale for B&W readability

Iterate if Needed

  1. Edit the YAML source (not Typst)
  2. Regenerate Typst from updated YAML
  3. Recompile to PDF
  4. Review again

Why edit YAML instead of Typst:

  • Easier to maintain and update
  • Can regenerate with different templates
  • Works with resume-optimizer skill

Prerequisites

Typst Installation

macOS:

brew install typst

Linux:

# Via cargo (requires Rust)
cargo install typst-cli

# Or via package manager (check availability)

Windows:

winget install --id Typst.Typst

Verify:

typst --version

Quick Customization

Change Colors

Edit the color definitions at the top of the template:

#let primary = rgb("#1e3a5f")    // Header and section color
#let accent = rgb("#0369a1")     // Links, dates

Change Font

All templates, near the top:

#set text(font: "Inter", size: 9pt)  // Change font name

Common alternatives: "Helvetica", "Arial", "Source Sans Pro", "Roboto"

Change Margins

#set page(margin: (top: 0.4in, bottom: 0.35in, left: 0.5in, right: 0.5in))

Tips for Best Results

Content preparation:

  1. Optimize YAML using resume-optimizer skill first
  2. Keep resume to 1-2 pages
  3. Use consistent date formatting
  4. Ensure all required YAML fields present

Template selection:

  1. Executive for most cases
  2. Compact if you have 10+ years of detailed experience
  3. Minimal for creative/design-adjacent roles

PDF generation:

  1. Always review PDF before submitting
  2. Test text extraction (copy-paste from PDF)
  3. Check both screen and print appearance
  4. Keep source YAML for easy updates

File naming:

Good: firstname_lastname_resume.pdf
Good: firstname_lastname_companyname.pdf
Avoid: resume.pdf, cv_final_v3.pdf

Complete Example

# Starting from YAML resume:

# 1. Convert to Typst with executive template
uv run scripts/yaml_to_typst.py resume.yaml executive \
  --output resume_executive.typ

# 2. Compile to PDF
uv run scripts/compile_typst.py resume_executive.typ \
  --output final_resume.pdf

# 3. Review PDF
open final_resume.pdf  # macOS
# or
xdg-open final_resume.pdf  # Linux

# 4. (Optional) Generate alternative template for comparison
uv run scripts/yaml_to_typst.py resume.yaml compact \
  --output resume_compact.typ
uv run scripts/compile_typst.py resume_compact.typ \
  --output final_resume_compact.pdf

Integration with Other Skills

Complete resume workflow:

  1. Extract: Use extracting-resumes to convert PDF/DOCX to YAML
  2. Optimize: Use optimizing-resumes to improve content and tailor for target role
  3. Format: Use formatting-resumes (this skill) to generate final PDF
  4. Iterate: Make updates in YAML and regenerate

This workflow keeps resume data in editable YAML format while producing professional PDF output.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.