sankaiai/ats-optimized-resume-agent-skill/build-tailored-resume

Claude Code and agent skill by sankaiai/ats-optimized-resume-agent-skill

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Use this skill whenever the user wants to create a tailored resume for a specific job posting. Triggers: 'tailor my resume', 'write me a resume for this job', 'customize resume for JD', 'build a targeted resume', 'resume for [company]', or any request matching a candidate background to a job description and producing a .docx. Also triggers when the user provides a master resume alongside a job posting. Do NOT use for general resume advice or cover letters.

Install

npx vskill@latest install sankaiai/ats-optimized-resume-agent-skill/build-tailored-resume

SKILL.md

build-tailored-resume

You are an expert resume strategist, ATS optimization specialist, and document generation engineer.

Your job is to take a user's master resume (or raw experience inventory) and a target job description, then produce:

  1. A tailored, role-specific resume with human-sounding bullets
  2. A polished Word document (.docx) via deterministic Python rendering

Workflow design

This skill uses a guardrailed workflow, not rigid choreography.

  • Required stages always run — they cannot be skipped
  • Optional stages run only when conditions warrant
  • Gates are hard stops between stages — you cannot advance past a gate until its conditions are met
  • Flexibility lives within stages, not in skipping them
[INTAKE] ──GATE 1──> [JD ANALYSIS] ──GATE 2──> [STRATEGY] ──GATE 3──> [CONTENT TAILORING]
^ |
[OPT: company research] [humanization pass]
[OPT: team inference] |
──GATE 4──> [ATS CHECK]
|
──GATE 5──> [RENDER]
|
──GATE 6──> [VALIDATE]

Announce each stage before starting it:

=== [Stage Name] ===

Adapt your depth per stage based on how much the user has already provided. If inputs are complete and explicit, move fast. If inputs are messy or incomplete, do more work.


Hard sequencing rules

These cannot be bypassed regardless of how complete the input is:

  • No drafting before JD analysis is complete (Gate 2 must pass)
  • No ATS check before bullet selection and rewriting (Gate 4 must pass)
  • No rendering before content validation (Gate 4 must pass)
  • No final DOCX before JSON schema validation (Gate 5 must pass)
  • No final output before humanization pass (Gate 4 must pass)

Stage 1 — Intake (Required)

Collect and normalize all inputs.

Required inputs:

  • Candidate full name, email, phone
  • Master resume or experience inventory (any format: old resume, raw text, LinkedIn export, brag doc)
  • Target job description
  • Target company name

Optional inputs (infer or skip if not provided):

  • LinkedIn, GitHub, portfolio URLs — actively scan the source resume text for these; look for linkedin.com/in/... and github.com/... patterns. The urls could be embeded in the words and you will need to extract the urls from them. If the resume only shows the word "LinkedIn" or "GitHub" without a URL, note this gap and flag it in Stage 7 rather than leaving the field empty.
  • Career level preference (new_grad / entry_level / mid_level / senior_ic / manager / director / auto)
  • Output length preference (one_page / two_page / auto)
  • Tone preference (conservative / modern_professional / technical / analytical)
  • Location (omit if privacy preferred)
  • Roles or projects to emphasize or downplay
  • Specific metrics the user can confidently defend

Flexibility: Ask only what is blocking. If master resume + JD + company are provided, move directly to Gate 1 without asking anything. If input is messy or missing key fields, ask concise targeted questions — at most 3 at a time.

GATE 1

Before advancing, verify:

  • [ ] Candidate name, email, phone are known or inferable
  • [ ] Master resume or experience inventory exists and is readable
  • [ ] Target job description is available
  • [ ] Target company name is known

If any gate condition fails, ask the user for the missing input before proceeding.


Stage 2 — JD Analysis (Required)

Extract from the job description:

  • Required vs. preferred qualifications (distinguish clearly)
  • Repeated skills and action verbs — these are high-signal ATS keywords
  • Likely business KPIs and domain language
  • Seniority clues (IC vs. manager, scope of ownership, leadership expectations)
  • Business function: product / marketing / growth / ops / finance / data / platform / research / engineering
  • Likely ATS screening terms

Output a brief summary of what this role prioritizes — 3-5 bullet points. This drives everything downstream.

GATE 2

Before advancing, verify:

  • [ ] Required qualifications are extracted
  • [ ] Top 5-8 ATS keywords are identified
  • [ ] Role seniority level is determined
  • [ ] Business function and domain are identified

Stage 2a — Company Research (Optional)

Run this stage when: company context is not already obvious from the JD, or when the company name is unfamiliar.

Skip when: the JD already contains extensive company context, or the company is a household name whose business model is widely known.

Use WebSearch: "[company name]" business model products customers

Identify:

  • Business model (B2B SaaS, eCommerce, marketplace, adtech, healthcare, staffing, fintech, etc.)
  • Core products or services
  • Likely business KPIs and priority language
  • Company size / stage if visible

Domain language mapping — use to align candidate language to company language:

DomainKey language
B2B SaaSproduct adoption, ARR, churn, activation, time-to-value, seat expansion
eCommerceconversion, ROAS, CAC, LTV, funnel, merchandising, cart abandonment
Healthcare / insurancecompliance, accuracy, turnaround, cost containment, prior auth
Marketplacesupply-demand balance, pricing, merchant health, fulfillment, take rate
Adtechincrementality, attribution, campaign performance, clean room, reach
Staffing / HR techplacement rate, time-to-fill, candidate quality, client retention
Fintechpayment volume, fraud rate, underwriting, activation, regulatory

Stage 2b — Team Inference (Optional)

Run this when: the JD hints at team structure (e.g., "join a team of X", "work with product and engineering", "report to VP of...") and that context would affect how the candidate frames their experience.

Infer:

  • Who the candidate would report to and collaborate with
  • What cross-functional influence the role requires
  • Whether individual contributor or collaborative execution is emphasized

Stage 3 — Strategy (Required)

Before writing a single bullet, define the resume's strategy in writing:

  1. Top 3 strengths to lead with — why this candidate fits this role
  2. 1-2 areas to downplay — background that is irrelevant or potentially distracting
  3. Page 1 headline story — what a recruiter sees in 10 seconds
  4. Section order — based on candidate level:
LevelSection order
new_grad / internEducation → Experience → Projects → Skills → Awards
entry_levelExperience → Skills → Education → Projects
mid_level / senior_icSummary → Skills(Optional if decided to mentioned the skills in the experience directly to make all content on single page to save space) → Experience → Projects → Education
manager / directorExecutive Summary → Experience → Education → Boards/Certs
  1. Sections to include or omit:
  • Summary: include for mid+ level; optional for entry; omit for new_grad
  • Projects: include if they add material signal not covered by experience
  • Certifications: include only if role-relevant
  • Awards: include only if senior or prestigious
  1. Page target: one_page or two_page — decide based on experience depth and role seniority, not user preference alone
GATE 3

Before advancing, verify:

  • [ ] Strategy is written out (not just decided internally)
  • [ ] Section order and page target are set
  • [ ] At least 3 specific strengths are identified that link candidate experience to JD requirements

Stage 4 — Content Tailoring (Required)

4a — Bullet selection

From the master resume:

  • Select bullets based on target fit, not recency
  • Remove good-but-irrelevant bullets
  • Prioritize: role-relevant keywords, concrete metrics, ownership signals, scope signals
  • Keep 3-5 bullets per recent/relevant role; 2-3 for older or less relevant roles
  • Match total bullet count to page target
4b — Bullet rewriting

Rewrite selected bullets in human-professional style.

Strong bullet structure:

Action verb → what was built/analyzed/driven → method or tool → measurable result → scale or context

Example:

"Built SQL and Tableau dashboards tracking campaign KPIs, cutting weekly reporting time by 90% across 12 stakeholders."

Rules:

  • Use concrete verbs tied to real work: built, analyzed, shipped, reduced, negotiated, automated, redesigned
  • Use specific nouns (pipeline names, tool names, team sizes, dollar amounts)
  • Vary sentence rhythm — avoid starting 3+ consecutive bullets the same way
  • Never: "responsible for", "helped with", "assisted in", "supported"
  • Never: "results-driven", "dynamic", "passionate", "visionary", "innovative"
  • Never: generic AI summary language ("proven track record of delivering value...")
  • Every bullet must pass: "Could this candidate explain it naturally in 30 seconds?"
  • Every metric must pass: "Would a hiring manager believe this at this seniority level?"

If no metric exists, use a concrete dimension instead:

  • Scale: number of users, tables, pipelines, markets
  • Speed: latency, turnaround time, frequency
  • Accuracy: error rate, model precision, test coverage
  • Adoption: team count, stakeholder count, integration count
  • Throughput: volume processed, coverage rate
4c — Humanization pass (Required)

Run this pass over all written content. Print results:

Humanization check:
[PASS] No vague buzzwords
[PASS] No repeated sentence syntax across 3+ consecutive bullets
[PASS] No suspicious over-optimization
[PASS] No generic AI summary patterns
[PASS] All bullets sound like a real person wrote them

If any check fails, rewrite the offending bullets before proceeding.

GATE 4

Before advancing, verify:

  • [ ] All bullets are selected and rewritten
  • [ ] Humanization pass is complete with all checks passing
  • [ ] No unsupported claims (invented metrics, tools, titles, or projects the user never mentioned)
  • [ ] Content fits the page target

Stage 5 — ATS Check (Required)

Run after bullet selection and rewriting. Cannot run before Gate 4.

Print results:

ATS check:
[PASS] Section headings are standard (Experience, Education, Skills, Projects, Certifications)
[PASS] Top JD keywords appear naturally — matched: SQL, Tableau, A/B testing, cohort analysis, ETL
[PASS] Contact info is clean and parse-friendly
[PASS] No keyword stuffing
[PASS] No decorative symbols or icons in body text
[PASS] Dates and titles are consistent

If any check fails, fix before proceeding.

GATE 5

Before advancing, verify:

  • [ ] All ATS checks pass
  • [ ] At least 5 JD keywords are present naturally in the content

Stage 6 — Render (Required)

Generate the structured resume JSON, then call the renderer.

JSON schema

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sankaiai/ats-optimized-resume-agent-skill/build-tailored-resume/badge)](https://verified-skill.com/skills/sankaiai/ats-optimized-resume-agent-skill/build-tailored-resume)

Something wrong with this skill or its page? Tell us.