agentleFS
MakiDevelopMakiDevelop/claude-skills/skills/cv-optimize/SKILL.md

cv-optimize

Skill3 starsChanged 8 months agoMITView on GitHub

Resume/CV optimization. Analyze a resume, reposition strengths, and produce an optimized PDF tailored to a target role.

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. About 0 are common, 15 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈15

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read a resume file (PDF / Markdown / DOCX), perform structured analysis, and produce a target-role-optimized PDF.

    line 17
  2. Distinctive:

    Resume file: Read from user-provided path (supports PDF / Markdown)

    line 23
  3. Distinctive:

    If no target role is provided, ask once:

    line 30
  4. Distinctive:

    After reading the full resume, output a structured analysis:

    line 41
  5. Distinctive:

    If emphasis points were specified, highlight them in Summary and highlight box

    line 80
  6. Distinctive:

    Add Tech Stack tags to each role (blockquote or meta style)

    line 83
  7. Distinctive:

    Use action + contribution + verified outcome.

    line 86
  8. Distinctive:

    Remove skills irrelevant to target role

    line 90
  9. Distinctive:

    "Why I'm right for X" highlight box: when target is clear and emphasis points exist

    line 95
  10. Distinctive:

    "Career transition trajectory": when candidate has obvious career pivots

    line 96
  11. Distinctive:

    Selected side projects table: keep only 3-5 relevant to target

    line 97
  12. Distinctive:

    Check the existing PDF toolchain first.

    line 103
  13. Distinctive:

    No 3+ level nesting — flatten deep structures

    line 128
  14. Distinctive:

    Use Read tool to verify PDF layout

    line 138
  15. Distinctive:

    If trailing page is too empty, adjust margin/font-size and regenerate

    line 139

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/cv-optimize — Resume Analysis & Optimization

Read a resume file (PDF / Markdown / DOCX), perform structured analysis, and produce a target-role-optimized PDF.


Phase 0: Collect Input

  1. Resume file: Read from user-provided path (supports PDF / Markdown)
  2. Target info (from arguments or ask user):
    • Target role (e.g., "AI Engineer", "PM", "Data Scientist")
    • Target company name (optional, for tailoring)
    • JD content or link (optional, for keyword alignment)
    • Emphasis points (e.g., "leadership", "bilingual", "career transition")

If no target role is provided, ask once:

What role are you optimizing for? (e.g., AI Engineer / PM / Data Scientist / general)
Any specific strengths you want to emphasize?

Phase 1: Resume Analysis

After reading the full resume, output a structured analysis:

## Resume Analysis — {Name}

### Basic Info
- Name / Target title / Total experience / Education

### Strengths (Keep)
1. ... (list 3-5 highlights worth keeping, especially quantified achievements)

### Issues (Needs Optimization)
| # | Issue | Severity | Description |
|---|-------|----------|-------------|
| 1 | ... | High/Med/Low | ... |

### Target Role Match Analysis
| Requirement | Candidate's Experience | Match Level |
|-------------|----------------------|-------------|
| ... | ... | Strong/Medium/Weak/Gap |

Mandatory checks (every resume):

  • Title vs target alignment
  • Summary is focused (no more than 3 key positioning statements)
  • Each experience has quantified results
  • Skills section aligned with target role (flag outdated skills)
  • Timeline is clear and consistent
  • Structure depth doesn't exceed 2 levels
  • Space allocation proportional to relevance
  • Each role includes Tech Stack

Phase 2: Reposition & Optimize

2.1 Positioning Adjustment

  • Redefine subtitle (role positioning statement)
  • Rewrite Summary (focus on 2-3 key differentiators with numbers)
  • If emphasis points were specified, highlight them in Summary and highlight box

2.2 Experience Restructuring

  • Add Tech Stack tags to each role (blockquote or meta style)
  • Expand highly relevant experiences with section-label sub-blocks
  • Condense less relevant experiences to 2-4 bullets
  • Use action + contribution + verified outcome. Quantify only from supplied evidence; otherwise use a factual qualitative result and mark missing metrics.
  • Preserve the candidate's actual responsibility. Never turn participation or assistance into leadership without evidence.

2.3 Skills Section Rebuild

  • Remove skills irrelevant to target role
  • Group by category (e.g., AI/ML, Data, Infrastructure, Tools)
  • Include target-role keywords only when supported by the candidate's actual experience. Mark gaps rather than inventing skills.

2.4 Special Sections (add when appropriate)

  • "Why I'm right for X" highlight box: when target is clear and emphasis points exist
  • "Career transition trajectory": when candidate has obvious career pivots
  • Selected side projects table: keep only 3-5 relevant to target

Phase 3: Generate Optimized PDF

Check the existing PDF toolchain first. WeasyPrint requires Python and native rendering dependencies; it is not a zero-install guarantee. Ask before downloading packages or installing system dependencies.

3.1 HTML Structure

Element mapping:
- h1          → Name
- .subtitle   → Role positioning statement
- .contact    → Contact info
- h2          → Major section titles (Summary / Experience / Skills)
- .job-title  → Job title per role
- .job-company → Company + location + dates
- .job-meta   → Tech Stack (blue left-border blockquote)
- .section-label → Sub-section titles (gray background)
- ul > li     → Bullet points (single level only, no nesting)
- table       → Competencies / Skills / Projects
- .highlight-box → Special emphasis block (blue left-border + light gray background)

3.2 Layout Rules

  • Target 2 pages (max 3, never leave a near-empty trailing page)
  • Font size: headings 21-22pt / body 9-9.5pt / meta 8.5pt
  • Line height 1.5-1.55
  • Margins 16-18mm
  • Table headers: dark blue background, white text; even rows light gray
  • No 3+ level nesting — flatten deep structures

3.3 PDF Generation

# Run only in an approved environment with required native libraries
uv run --with weasyprint python3 script.py

After generation:

  1. Use Read tool to verify PDF layout
  2. If trailing page is too empty, adjust margin/font-size and regenerate
  3. Confirm page count is reasonable, tell user the file path

3.4 Output File Naming

{original_file_directory}/{Name}_{Target_Role}_optimized.pdf

Phase 4: Change Summary

Output a concise comparison table:

| Item | Original | Optimized |
|------|----------|-----------|
| Positioning | ... | ... |
| Summary | ... | ... |
| Skills | ... | ... |
| Length | ... | ... |

Plus notes (e.g., sections where the candidate needs to provide specific numbers).


Design Principles

  1. One resume, one narrative — all bullets serve the same positioning story
  2. Quantify > describe — "improved 67%" beats "significantly improved" every time
  3. Delete > shrink > keep — irrelevant experience: cut to 2 lines, don't waste half a page
  4. ATS-friendly — ensure target role's core keywords appear in Summary + Skills + Experience
  5. Clear visual hierarchy — 10-second scan reveals: name → positioning → 3 key numbers → timeline
  6. No empty words — delete "eager learner", "team player", "value creator" — they carry zero information

Color System

Primary (dark blue):
- Heading text:      #0d1b2a
- Section titles:    #1b263b
- Accent:            #415a77
- Light background:  #f0f4f8
- Table header:      #1b263b (white text)
- Table even rows:   #f8f9fa
- Section labels:    #e8edf2

Quality Gates

  • Dates, employers, degrees, responsibility and metrics trace to input evidence.
  • Missing metrics remain questions or placeholders, never invented percentages.
  • HTML escapes user content and uses local assets; no remote images, fonts or CSS.
  • PDF generation does not fetch remote URLs or arbitrary local files referenced by input.
  • Inspect layout AND extract text to check reading order; do not guarantee ATS compatibility.
  • Preserve the original and use a new output path. DOCX requires a DOCX reader; do not claim direct Read support.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.