tailor-resume
Customize your resume to match specific job postings for better ATS scores.
Install
mkdir -p .claude/skills/tailor-resume && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16212" && unzip -o skill.zip -d .claude/skills/tailor-resume && rm skill.zipInstalls to .claude/skills/tailor-resume
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Assembles an optimized resume for a specific role from the ExperienceLibrary, scores it for ATS compatibility, and saves it to the artifact inventory. Fires automatically when the user shares or pastes a job description, or expresses intent to apply to a specific role. Also invocable via /career-navigator:tailor-resume.Key capabilities
- →Assemble an optimized resume for a specific role
- →Score the resume for ATS compatibility
- →Select relevant experience units from an ExperienceLibrary
- →Ensure required job description keywords are present
- →Save the generated resume to the artifact inventory
How it works
The skill collects a job description, the user's ExperienceLibrary, and profile, then invokes a `resume-coach` agent to select, assemble, and rewrite experience units for the target role. It then scores the resume for ATS compatibility.
Inputs & outputs
When to use tailor-resume
- →Tailor my resume
- →Optimize resume for job
- →Update resume profile
- →Build resume for application
About this skill
Assemble the best possible resume for a specific role, drawn from the user's ExperienceLibrary. Invoke the resume-coach agent to do the work.
Workflow
1. Collect inputs
Job description — required. If the user has not provided one:
"Paste the job description and I'll tailor your resume for it."
Target role and company — extract from the JD if not stated explicitly.
ExperienceLibrary — read {user_dir}/CareerNavigator/ExperienceLibrary.json. If the file is missing or the units array is empty:
"Your ExperienceLibrary is empty. Run
/career-navigator:add-sourceto add a resume first, then I can tailor one for this role."
Profile — read {user_dir}/CareerNavigator/profile.md for differentiators, skills, and target preferences. Do not ask the user for anything that is already in the profile.
2. Invoke resume-coach
Hand off to the resume-coach agent with:
- The full job description text
- The full ExperienceLibrary (
CareerNavigator/ExperienceLibrary.json) - The user profile (
CareerNavigator/profile.md) - Any specific instructions the user provided (emphasis, exclusions, tone)
resume-coach will:
- Select the most relevant experience units using
performance_weights - Assemble and rewrite them for the target role
- Ensure all required JD keywords are present (ATS pass)
- Return the completed resume text and an ATS score
Voice-aligned Summary (optional): If the user explicitly asks to match their LinkedIn voice / voice-profile.md for the Summary only, ask resume-coach for a ResumeSummaryBrief per agents/resume-coach/AGENT.md. Before invoking writer, run the same voice preflight as draft-outreach (ask for ## User writing samples / ## User writing samples (launch) or skip). Then invoke writer in resume-summary mode, substitute the returned ## Summary into the draft, then continue to ATS presentation below.
3. Score and review
Present the full assessment returned by resume-coach before saving:
Resume assembled for {Role} at {Company}
ATS score: {n}/100
Keyword coverage: {matched_keywords} / {total_required} must-have keywords matched
Strengths
- {What the ExperienceLibrary covers well for this role}
Gaps (honest)
- {Requirements with no or weak ExperienceLibrary coverage}
- {Achievements that need metrics or sharpening}
If the score is below 70, ask before saving:
"This resume scores {n}/100 for ATS. The main gaps are {keywords}. Do you want me to address them before saving?"
4. Save the artifact
Once the user confirms (or if the score is ≥ 70 with no gaps flagged), save the resume:
Filenames (avoid host / MCP validation errors): use ASCII-safe names only—hyphens -, no em dashes or smart quotes. Sanitize company and role: remove \ / : * ? " < > | and newlines; collapse whitespace; limit basename (~100 chars).
Example: Anthropic-PM-Claude-Code-Resume-2026-03-24.md
- Filename format:
{SanitizedCompany}-{SanitizedRole}-Resume-{YYYY-MM-DD}.md - Path:
{user_dir}/ - Write to
{user_dir}/CareerNavigator/artifacts-index.json:
{
"id": "{uuid}",
"type": "resume",
"filename": "{filename}",
"path": "{user_dir}/{filename}",
"target_company": "{company}",
"target_role": "{role}",
"date_created": "{today}",
"source": "generated",
"ats_score": {n},
"source_units": ["{unit_ids used}"],
"jd_keywords": ["{keywords matched}"],
"notes": ""
}
If other artifact files (PDF/DOCX) exist in {user_dir}, run the artifact-saved workflow once after saving so artifacts-index.json stays aligned with disk.
Confirm to the user:
"Saved as {filename}. Run
/career-navigator:cover-letterto generate a matching cover letter."
5. Suggest next step
If the user hasn't already logged an application for this role, prompt:
"Want me to add this to your tracker? Just say 'yes' or tell me the application details."
When not to use it
- →When the user's ExperienceLibrary is empty or missing
- →When a job description is not provided
Limitations
- →Requires an existing ExperienceLibrary with content
- →Requires a job description to tailor the resume
- →ATS score below 70 prompts user confirmation before saving
How it compares
This skill automates the tailoring of a resume to a specific job description by selecting and optimizing content from a personal library, including ATS scoring, which differs from manual resume customization.
Compared to similar skills
tailor-resume side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| tailor-resume (this skill) | 0 | 4mo | No flags | Intermediate |
| amcs-producer-notes-generator | 5 | 9mo | No flags | Advanced |
| sales-automator | 5 | 4mo | No flags | Beginner |
| social-media-generator | 6 | 9mo | Review | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
amcs-producer-notes-generator
miethe
Generate production notes defining song structure, hooks, instrumentation hints, per-section tags, and mix parameters. Aligns with style spec and blueprint production guidelines. Use when creating arrangement, dynamics, and audio engineering guidance for composition and rendering.
sales-automator
sickn33
Draft cold emails, follow-ups, and proposal templates. Creates pricing pages, case studies, and sales scripts. Use PROACTIVELY for sales outreach or lead nurturing.
social-media-generator
ailabs-393
This skill should be used when the user requests social media content creation for Twitter, Instagram, LinkedIn, or Facebook. It generates platform-optimized posts and saves them in an organized folder structure with meaningful filenames based on event details.
xhs-note-creator
comeonzhj
小红书笔记素材创作技能。当用户需要创建小红书笔记素材时使用这个技能。技能包含:根据用户的需求和提供的资料,撰写小红书笔记内容(标题+正文),生成图片卡片(封面+正文卡片),以及发布小红书笔记。
blogpost-creator
Xe
Create new blogposts from a template or linkposts using the hydrate command.
libreoffice-writer
Anhvu1107
ALWAYS use this when the user or an upstream archive refers to `libreoffice-writer`, the nested skill path form for `writer`, or the equivalent slash path. This is a namespace-preserving alias that routes to `writer` while retaining strict validation, Senior Master execution, and Codex review standa