Tailor resume
Skill clickblipclick/resume-tailor/.claude/skills/tailor-resume
A Claude skill for tailoring a resume for a job description
npx -y skills add clickblipclick/resume-tailor --skill tailor-resumeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use when tailoring a resume to a specific pasted job description. Reads content/master.yaml and jobs/<slug>/job.md, proposes a selections.yaml with per-change reasoning, runs the render/measure/export loop, and enforces one-page output via human-approved cuts.
SKILL.md
4.5 KB, as published. Nobody here has run it
Tailor Resume Skill
When to use
User wants to generate a tailored, page-limited PDF for a job description.
Scaffolding
If no jobs/*-<slug>/ directory exists yet, always scaffold via the script: save the JD to a temp file and run bun run tailor <temp-file> --slug <slug>. Never create the job directory manually — the script adds a date prefix (YYYY-MM-DD-<slug>) that the rest of the workflow depends on.
Hard rules
- Never apply a cut, override, or reordering without showing the user the specific change and the reason, and getting explicit approval. Batch approval is fine ("looks good, proceed"); rejections can be specific ("all except 2 and 5").
- Never skip the measure step. Every selections change must be followed by
bun run measure <path-to-selections.yaml>. - Iteration cap: 5 fit-loop passes. After the 5th, stop and ask the user for direction rather than thrashing.
- Page limit. Default is 1 page. If the user sets
max_pagesin selections.yaml, respect that limit. Ifmeasurereports overflow (overflow_px > 0), do not export.
Workflow
1. Gather context
- Identify the job directory (e.g.
jobs/2025-04-18-acme-sre/). Usels jobs/if needed. - Read
content/master.yamlin full. - Read the
job.mdfrom the job directory. - Consider the
job.mdandcontent/master.yamlas if you were a hiring manager for the given role. Consider what master bullets would be most attractive for that role. Listen to the user but push back if you think they are making a mistake or an incorrect judgment. Ultimately, they are in control. - For skills, err toward including more even if it's not explicitly applicable for the role.
- List
jobs/archive/and read any priorjob.md+selections.yamlfor roles/companies that look similar to the current JD. Use these only as framing reference, not as authoritative.
2. Propose initial selections
Produce a proposed selections.yaml and present it as a diff-with-reasoning list. Format:
Including:
- acme-led-migration — JD emphasizes data platform work; this matches directly.
- acme-hired — JD mentions team growth.
Excluding:
- globex-frontend-* — JD is backend-only; these would dilute focus.
Rewording:
- acme-reduced-latency: "Cut API p95 latency 60%"
(original: "Improved API latency by 60%") — JD uses "p95" explicitly.
Template:
- template: default — using the standard template unless the user requests otherwise.
The proposed selections.yaml must include a template field (default: "default").
Always propose profile_overrides with a tailored headline and summary for the JD. The headline should match the JD's role title (or a close generalization). The summary should be rewritten to emphasize the skills, technologies, and themes the JD prioritizes, while staying truthful to the candidate's experience. Ensure the headline and summary's opening are consistent (e.g. both say "Senior Software Engineer", not one "Frontend" and one "Software").
Wait for user approval. Apply approved changes to jobs/<slug>/selections.yaml.
3. Render + measure
Run:
bun run measure <path-to-selections.yaml>
Report the measure JSON back to the user.
4. If overflowing, propose cuts
If pages > max_pages:
- Identify candidate cuts sized to the reported
overflow_lines. - Present each as diff-with-reasoning (what you'd drop or shorten, and why this bullet is least critical given the JD).
- Wait for approval.
- Apply approved changes; return to step 3.
After 5 iterations with no fit, stop and ask the user whether to: (a) relax a constraint, (b) manually edit, or (c) adjust the template.
5. Export
When pages <= max_pages:
bun run export <path-to-selections.yaml> --out jobs/<slug>/resume.pdf
Editing discipline
- Never edit
content/master.yamlfrom this skill. Master is owner-curated. If the JD requires content that doesn't exist in master, raise it to the user explicitly — they decide whether to add to master or use a one-off override. - Bullet IDs are stable. Don't rename them.
- Vary leading verbs across bullets. Avoid repeating the same initial verb within a role section. When writing overrides, check what verbs adjacent bullets already use.