resume-formatter

Professional resume formatting and PDF generation tool. Use this skill when: (1) Creating a new resume tailored to a specific job description (2) Converting an existing resume to the standard HTML template (3) Generating a PDF from an HTML resume (4) Updating resume content while maintaining consistent formatting Produces professional, ATS-friendly resumes with consistent blue-themed styling.

Best use case

resume-formatter is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Professional resume formatting and PDF generation tool. Use this skill when: (1) Creating a new resume tailored to a specific job description (2) Converting an existing resume to the standard HTML template (3) Generating a PDF from an HTML resume (4) Updating resume content while maintaining consistent formatting Produces professional, ATS-friendly resumes with consistent blue-themed styling.

Teams using resume-formatter 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

$curl -o ~/.claude/skills/resume-formatter/SKILL.md --create-dirs "https://raw.githubusercontent.com/stevengonsalvez/agents-in-a-box/main/toolkit/packages/skills/resume-formatter/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/resume-formatter/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How resume-formatter Compares

Feature / Agentresume-formatterStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Professional resume formatting and PDF generation tool. Use this skill when: (1) Creating a new resume tailored to a specific job description (2) Converting an existing resume to the standard HTML template (3) Generating a PDF from an HTML resume (4) Updating resume content while maintaining consistent formatting Produces professional, ATS-friendly resumes with consistent blue-themed styling.

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

# Resume Formatter

Generate professional resumes with consistent styling and PDF output.

## Quick Start

1. Create/update resume content (markdown or direct HTML)
2. Apply the HTML template from `assets/resume_template.html`
3. Generate PDF using `scripts/generate_pdf.py`

## Workflow

### Creating a New Resume

1. **Gather requirements**: Job description, target company, role title
2. **Draft content** in markdown with sections: Profile, Experience, Skills, Education
3. **Convert to HTML** using the template structure from `assets/resume_template.html`
4. **Generate PDF**: `python scripts/generate_pdf.py resume.html -o resume.pdf`

### Updating Existing Resume

1. Read the existing HTML file
2. Modify content sections as needed
3. Regenerate PDF

## Template Structure

The HTML template uses these CSS classes:

| Element | Class | Purpose |
|---------|-------|---------|
| Page wrapper | `.container` | Centers content, sets max-width |
| Name/contact | `.header`, `.contact-info` | Centered header section |
| Section titles | `.section-header` | Blue-accented section headers |
| Profile text | `.profile` | Summary paragraph |
| Job entry | `.role-card` | Blue left-border card for each role |
| Job title row | `.job-header`, `.job-title`, `.company-name`, `.location-date` | Flex layout |
| Achievements | `.achievements li` | Blue arrow bullets with `<strong>` headlines |
| Metrics box | `.scale-snapshot` | Highlighted metrics summary |
| Skills | `.skills-grid`, `.skill-category`, `.skill-label`, `.skill-items` | Inline label + items |
| Education | `.education-entry`, `.degree`, `.university`, `.years` | Stacked text |

### Experience Card Pattern

```html
<div class="role-card">
    <div class="job-header">
        <div class="job-title-company">
            <h3 class="job-title">Head of Engineering</h3>
            <span class="company-name">Company Name</span>
        </div>
        <div class="location-date">London, UK • May 2023–Present</div>
    </div>
    <ul class="achievements">
        <li><strong>Achievement headline</strong>: Description with metrics and impact.</li>
    </ul>
    <div class="scale-snapshot">
        Scale snapshot: £Xm revenue • Ym customers • Zm engineers
    </div>
</div>
```

### Skills Category Pattern

```html
<div class="skill-category">
    <span class="skill-label">Category Name:</span>
    <span class="skill-items">Skill 1, Skill 2, Skill 3</span>
</div>
```

## PDF Generation

**Prerequisite**: `pip install weasyprint`

```bash
# Basic usage
python scripts/generate_pdf.py resume.html

# Custom output path
python scripts/generate_pdf.py resume.html -o output/my_resume.pdf
```

The script:
- Applies A4 page size with optimized margins
- Preserves colors for print
- Reports page count (target: 2-3 pages)
- Handles natural page breaks

## Content Guidelines

### Profile Section
- 3-4 sentences summarizing expertise
- Tailor terminology to target role/industry
- Include scale indicators (team size, revenue, customers)

### Experience Bullets
- Start with `<strong>Bold headline</strong>:` pattern
- Include quantified metrics where possible
- Focus on impact and outcomes, not just responsibilities

### Scale Snapshot
- Use for most recent/significant roles only
- Include: revenue, customers, team size, key metrics
- Keep to single line

For detailed content guidance, see `references/content-guidelines.md`.

## File Locations

- **Template**: `assets/resume_template.html`
- **PDF Generator**: `scripts/generate_pdf.py`
- **Content Guide**: `references/content-guidelines.md`

Related Skills

ats-resume-matcher

8
from stevengonsalvez/agents-in-a-box

Professional ATS (Applicant Tracking System) resume matching and scoring tool that operates with the precision of enterprise systems like Greenhouse, Lever, Workday, and Breezy HR. Use this skill when: (1) Matching a resume against a job description to calculate fit scores (2) Analyzing resume-JD alignment with detailed category breakdowns (3) Identifying gaps between candidate qualifications and job requirements (4) Getting actionable suggestions to improve resume match percentage (5) Preparing a resume for ATS optimization before job applications Supports PDF, DOCX, Markdown, and plain text inputs for both resumes and job descriptions.

workflow

8
from stevengonsalvez/agents-in-a-box

Guide through structured delivery workflow with plan, implement, validate phases

webapp-testing

8
from stevengonsalvez/agents-in-a-box

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

validate

8
from stevengonsalvez/agents-in-a-box

Verify implementation against specifications

ui-ux-pro-max

8
from stevengonsalvez/agents-in-a-box

UI/UX design intelligence. 67 styles, 96 palettes, 57 font pairings, 25 charts, 13 stacks (React, Next.js, Vue, Svelte, Astro, Nuxt, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.

tui-style-guide

8
from stevengonsalvez/agents-in-a-box

TUI style guide for consistent terminal interface design

token-usage

8
from stevengonsalvez/agents-in-a-box

Show Claude Code token usage across sessions — daily, weekly, per-project, and per-session breakdowns. Parses {{HOME_TOOL_DIR}}/projects/**/*.jsonl for consumption data. Use when the user asks about token usage, costs, how many tokens were used, session statistics, or wants a usage report.

tmux-status

8
from stevengonsalvez/agents-in-a-box

Show status of all tmux sessions including dev environments, spawned agents, and running processes

tmux-monitor

8
from stevengonsalvez/agents-in-a-box

Monitor and report status of all tmux sessions including dev environments, spawned agents, and running processes. Uses tmuxwatch for enhanced visibility.

tmux-message

8
from stevengonsalvez/agents-in-a-box

Reliable peer-to-peer message delivery to other Claude Code instances via tmux send-keys. Use as a fallback when claude-peers MCP send_message fails to surface in the receiver's inbox (delivered server-side but receiver never picks it up — observed behaviour). Also use when sending a directive to a known Claude Code TUI session by tmux session name or fuzzy hint, or when injecting a multi-line directive into a peer's prompt and submitting it. Trigger phrases — "claude-peers fallback", "tmux send-keys", "send to peer via tmux", "inject directive", "deliver to nanoclaw/hermes peer", "peer message". Tmux-only — won't reach peers running outside tmux.

test-driven-development

8
from stevengonsalvez/agents-in-a-box

Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.

test-ainb

8
from stevengonsalvez/agents-in-a-box

Run tests for the ainb (agents-in-a-box) Rust workspace via a 5-layer strategy — unit, insta snapshot, mock-plugin compositing, real-plugin spawn, vhs recording. Wraps cargo + insta + vhs into one CLI. Use when Stevie says "/test-ainb", "test ainb", "run ainb tests", "snapshot <component>", "regenerate vhs tapes", or any phrasing about validating ainb test layers. The skill autodetects which ainb-tui worktree the cwd sits in and dispatches to scripts/run.sh.