TA

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.zip

Installs 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.
321 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

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

You give it
job description, ExperienceLibrary.json, and profile.md
You get back
optimized resume text, ATS score, and an entry in artifacts-index.json

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-source to 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-letter to 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.

SkillInstallsUpdatedSafetyDifficulty
tailor-resume (this skill)04moNo flagsIntermediate
amcs-producer-notes-generator59moNo flagsAdvanced
sales-automator54moNo flagsBeginner
social-media-generator69moReviewBeginner

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.

585

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.

537

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.

634

xhs-note-creator

comeonzhj

小红书笔记素材创作技能。当用户需要创建小红书笔记素材时使用这个技能。技能包含:根据用户的需求和提供的资料,撰写小红书笔记内容(标题+正文),生成图片卡片(封面+正文卡片),以及发布小红书笔记。

49

blogpost-creator

Xe

Create new blogposts from a template or linkposts using the hydrate command.

12

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

00

Search skills

Search the agent skills registry