Resume Builder
Jichengyuuuuu/resume-builder-skill
帮助用户基于任意背景材料(旧简历、JD、工作流水账等)一次性生成专业中文简历(HTML + DOCX 双格式),支持 ATS 优化、岗位定制技能维度、页数控制,并在生成后自动输出高阶求职顾问建议。触发场景:用户要求"帮我生成简历"、"写简历"、"改简历"、"我要投一个岗位",或任何涉及创建、编辑、优化简历的请求。
A skill your agent uses whenever the user wants to create a tailored resume for a specific job posting.
$ npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install SankaiAI/ats-optimized-resume-agent-skill build-tailored-resume --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "build-tailored-resume" agent skill from https://github.com/SankaiAI/ats-optimized-resume-agent-skill/tree/main into .claude/skills/build-tailored-resume/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-tailored-resume", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install SankaiAI/ats-optimized-resume-agent-skill build-tailored-resume --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "build-tailored-resume" agent skill from https://github.com/SankaiAI/ats-optimized-resume-agent-skill/tree/main into .agents/skills/build-tailored-resume/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-tailored-resume", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install SankaiAI/ats-optimized-resume-agent-skill build-tailored-resume --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "build-tailored-resume" agent skill from https://github.com/SankaiAI/ats-optimized-resume-agent-skill/tree/main into .cursor/skills/build-tailored-resume/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-tailored-resume", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install SankaiAI/ats-optimized-resume-agent-skill build-tailored-resume --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "build-tailored-resume" agent skill from https://github.com/SankaiAI/ats-optimized-resume-agent-skill/tree/main into .gemini/skills/build-tailored-resume/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-tailored-resume", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install SankaiAI/ats-optimized-resume-agent-skill build-tailored-resumeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "build-tailored-resume" agent skill from https://github.com/SankaiAI/ats-optimized-resume-agent-skill/tree/main into .github/skills/build-tailored-resume/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-tailored-resume", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install SankaiAI/ats-optimized-resume-agent-skill build-tailored-resume --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "build-tailored-resume" agent skill from https://github.com/SankaiAI/ats-optimized-resume-agent-skill/tree/main into .opencode/skills/build-tailored-resume/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "build-tailored-resume", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
build-tailored-resumeA skill your agent uses whenever the user wants to create a tailored resume for a specific job posting.
Build Tailored Resume is an agent skill from SankaiAI/ats-optimized-resume-agent-skill. 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.
Its SKILL.md is about 4.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 48 other files (for example `.claude-plugin/marketplace.json`, `.claude-plugin/plugin.json` and `PRIVACY.md`).
It sits in Business, Finance & HR, covering Resume and CV writing and Word documents. It works with Microsoft Word, LinkedIn and GitHub. The repository describes itself as: This is an agent skill for coding agents like Claude code to use to tailor your resume, avoiding AI-generated wordings and automatically generate a concise and completely… The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 153209b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadWriteEditBashGlobGrepWebSearchWebFetchFrom allowed-tools in the SKILL.md frontmatter.
Ships script files (Batch, PowerShell and Shell, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
pythonpipFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comlinkedin.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Build Tailored Resume loads about 4.4k tokens when it runs. Until then it costs about 121 tokens; SKILL.md has 1,677 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetchAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from SankaiAI/ats-optimized-resume-agent-skill at commit 153209b, republished under its MIT licence (© SankaiAI). 1,677 words, ~4,441 tokens.
.claude/skills/build-tailored-resume/SKILL.md (or your agent's skills folder). This skill also uses 43 other files; get the full folder from GitHub.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:
This skill uses a guardrailed workflow, not rigid choreography.
[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.
These cannot be bypassed regardless of how complete the input is:
Collect and normalize all inputs.
Required inputs:
Optional inputs (infer or skip if not provided):
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.new_grad / entry_level / mid_level / senior_ic / manager / director / auto)one_page / two_page / auto)conservative / modern_professional / technical / analytical)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.
Before advancing, verify:
If any gate condition fails, ask the user for the missing input before proceeding.
Extract from the job description:
Output a brief summary of what this role prioritizes — 3-5 bullet points. This drives everything downstream.
Before advancing, verify:
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:
Domain language mapping — use to align candidate language to company language:
| Domain | Key language |
|---|---|
| B2B SaaS | product adoption, ARR, churn, activation, time-to-value, seat expansion |
| eCommerce | conversion, ROAS, CAC, LTV, funnel, merchandising, cart abandonment |
| Healthcare / insurance | compliance, accuracy, turnaround, cost containment, prior auth |
| Marketplace | supply-demand balance, pricing, merchant health, fulfillment, take rate |
| Adtech | incrementality, attribution, campaign performance, clean room, reach |
| Staffing / HR tech | placement rate, time-to-fill, candidate quality, client retention |
| Fintech | payment volume, fraud rate, underwriting, activation, regulatory |
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:
Before writing a single bullet, define the resume's strategy in writing:
| Level | Section order |
|---|---|
| new_grad / intern | Education → Experience → Projects → Skills → Awards |
| entry_level | Experience → Skills → Education → Projects |
| mid_level / senior_ic | Summary → 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 / director | Executive Summary → Experience → Education → Boards/Certs |
Sections to include or omit:
Page target: one_page or two_page — decide based on experience depth and role seniority, not user preference alone
Before advancing, verify:
From the master resume:
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:
If no metric exists, use a concrete dimension instead:
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 themIf any check fails, rewrite the offending bullets before proceeding.
Before advancing, verify:
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 consistentIf any check fails, fix before proceeding.
Before advancing, verify:
Generate the structured resume JSON, then call the renderer.
{
"candidate_level": "senior_ic",
"target_role": "Senior Data Analyst",
"target_company": "Stripe",
"section_order": ["header", "summary", "skills", "experience", "projects", "education"],
"header": {
"name": "Alex Chen",
"email": "alex.chen@email.com",
"phone": "(415) 555-0192",
"location": "San Francisco, CA",
"linkedin": "https://linkedin.com/in/alexchen",
"github": "https://github.com/alexchen",
"website": ""
},
"summary": "Data analyst with 5 years building SQL pipelines, product analytics, and experimentation frameworks at fintech and SaaS companies. Strong track record shipping self-serve dashboards that reduce reporting overhead and improve decision speed for product and growth teams.",
"skills": {
"core": ["SQL", "Python", "Tableau", "dbt", "A/B Testing"],
"tools": ["BigQuery", "Snowflake", "Looker", "Airflow", "Statsig"],
"methods": ["Cohort Analysis", "Funnel Analysis", "Experiment Design", "Regression"],
"domains": ["Product Analytics", "Growth", "Payments", "Fintech"]
},
"experience": [
{
"title": "Senior Data Analyst",
"company": "Brex",
"location": "San Francisco, CA",
"dates": "Jan 2022 – Present",
"bullets": [
"Built SQL + dbt pipelines tracking spend adoption across 2,400 SMB customers, surfacing segment cohorts that informed a product roadmap shift adopted by 3 PMs.",
"Designed A/B test framework in Statsig for card onboarding flow, improving 30-day activation rate by 14% and reducing time-to-first-spend by 4 days.",
"Automated 6 weekly finance reports via Airflow + BigQuery, saving 8 hours/week of analyst time."
],
"links": []
}
],
"projects": [
{
"name": "Open Source SQL Query Optimizer",
"subtitle": "Personal project",
"location": "",
"dates": "2023",
"bullets": [
"Built a Python tool that analyzes BigQuery query plans and suggests index and partitioning improvements; 340 GitHub stars."
],
"url": "https://github.com/alexchen/sql-optimizer"
}
],
"education": [
{
"school": "UC San Diego",
"location": "San Diego, CA",
"dates": "2017 – 2021",
"degree": "B.S. Cognitive Science, Data Science emphasis",
"details": []
}
],
"certifications": [],
"awards": [],
"metadata": {
"page_target": "one_page",
"tone": "modern_professional",
"ats_focus": true,
"humanization_pass_complete": true
}
}CRITICAL: Always use the official renderer. Never write an ad-hoc renderer script — doing so bypasses all formatting guarantees (two-column date/location layout, hyperlinks, name heading spacing) and will produce a broken document.
Step 1 — confirm the CLI is reachable:
resume-skill --version 2>/dev/null || echo "NOT_INSTALLED"Step 2 — if the output was NOT_INSTALLED, install via pip (package was installed at skill setup time; this just re-registers it):
pip install resume-skill --quiet 2>/dev/null || python -m pip install resume-skill --quietStep 3 — render using whichever invocation works:
# Primary (CLI on PATH):
resume-skill render --input tailored_resume.json --output tailored_resume.docx
# Fallback (module invocation — works even when PATH doesn't include Python Scripts):
python -m resume_skill.cli render --input tailored_resume.json --output tailored_resume.docxIf neither works, diagnose the pip install error — do NOT fall back to writing a new renderer.
Validate only (no DOCX):
resume-skill validate --input tailored_resume.json
# or
python -m resume_skill.cli validate --input tailored_resume.jsonBefore declaring done, verify:
resume-skill validate reports PASS)After rendering, confirm:
Then deliver to the user:
.docx fileAll layout settings are in src/rendering/config.py:
| Setting | Controls |
|---|---|
font_name | Body and contact font family |
name_font_size | Candidate name size (pt) |
body_font_size | Bullet and body text size (pt) |
section_spacing_before | Space above each section header (pt) |
show_section_bottom_border | Toggle section divider lines |
section_border_color | Hex color of section divider lines |
margin_*_inches | Page margins |
section_order | Default section ordering |
link_color | Hyperlink hex color |
Override any value by passing a modified RenderConfig to ResumeRenderer, or set metadata.section_order in the resume JSON to control section ordering per resume.
© SankaiAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 43 other files in the repository root of SankaiAI/ats-optimized-resume-agent-skill.
Open the folder on GitHubat commit 153209b
Build Tailored Resume next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Build Tailored Resume this skillSankaiAI/ats-optimized-resume-agent-skill | 106 | — | ~4.4k | Automated safety check: Notes | MIT | |
| Resume BuilderJichengyuuuuu/resume-builder-skill | 164 | — | ~1.5k | Automated safety check: Pass | None | |
| Lockedindaypunk/LockedIn | 128 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Cell Submissionyrui-cmd/Cell | 110 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Thu ThesisLeoYeAI/openclaw-master-skills | 2.2k | — | ~4k | Automated safety check: Pass | MIT | |
| Release Notes Generatoramplitude/builder-skills | 159 | — | ~684 | Automated safety check: Pass | None |
Jichengyuuuuu/resume-builder-skill
帮助用户基于任意背景材料(旧简历、JD、工作流水账等)一次性生成专业中文简历(HTML + DOCX 双格式),支持 ATS 优化、岗位定制技能维度、页数控制,并在生成后自动输出高阶求职顾问建议。触发场景:用户要求"帮我生成简历"、"写简历"、"改简历"、"我要投一个岗位",或任何涉及创建、编辑、优化简历的请求。
daypunk/LockedIn
Captures the user's work moments — a shipped feature, a meeting outcome, a learning, a decision — from inside their Claude Code session into structured local markdown.
yrui-cmd/Cell
将已经写好的 SCI 论文整理为目标期刊投稿包。用于正文已完成后的期刊格式适配、参考文献编排、图表与补充材料整理、cover letter、title page、作者声明、报告清单和投稿系统字段准备,以及转投格式转换。不用于从零写论文、重做研究、编造缺失方法或默认代为正式投稿。可承接 sci-manuscript-writer 的 Manuscript.docx。
LeoYeAI/openclaw-master-skills
清华大学毕业论文 Word → PDF 一键格式规范化工具。输入任意 Word (.docx) 格式的清华毕业论文,自动转换为符合清华 thuthesis 官方 LaTeX 模板规范的高质量 PDF。适用于所有清华学位论文(MBA/学硕/专硕),一条命令搞定。功能:自动提取章节结构、中英文摘要、参考文献(自动生成 BibTeX)、图片(含…
amplitude/builder-skills
Read completed tickets from Linear, Jira, or GitHub Issues, filter to user-visible changes, group by product area, and write polished user-facing release notes saved as a .docx to Google Drive.
shift-labs-ai/markit
Convert files and URLs to Markdown. An agent skill from shift-labs-ai/markit.
Works with
Categories
A skill your agent uses whenever the user wants to create a tailored resume for a specific job posting. Build Tailored Resume is an agent skill from SankaiAI/ats-optimized-resume-agent-skill. Use this skill whenever the user wants to create a tailored resume for a specific job posting.
Build Tailored Resume fits situations like: the user wants to create a tailored resume for a specific job posting; the user provides a master resume alongside a job posting; general resume advice.
Run `npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a claude-code`. Or copy the skill folder (the SankaiAI/ats-optimized-resume-agent-skill repository) into .claude/skills/build-tailored-resume in your project. Claude Code loads it when a task matches its description.
Run `npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a codex`. Or copy the skill folder (the SankaiAI/ats-optimized-resume-agent-skill repository) into .agents/skills/build-tailored-resume in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SankaiAI/ats-optimized-resume-agent-skill --skill build-tailored-resume -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-tailored-resume, .gemini/skills/build-tailored-resume, .github/skills/build-tailored-resume and .opencode/skills/build-tailored-resume in your project.
Going by SKILL.md and its folder, Build Tailored Resume needs Windows cmd, PowerShell and a shell for the scripts in its folder and the command-line tools its instructions call (python and pip). Our summary lists: Python 3; A Bash shell; PowerShell. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch.
SKILL.md names 2 domains. In commands or code: github.com and linkedin.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Build Tailored Resume is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.4k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Build Tailored Resume: Resume Builder (Jichengyuuuuu/resume-builder-skill, 164 stars), Lockedin (daypunk/LockedIn, 128 stars), Cell Submission (yrui-cmd/Cell, 110 stars) and Thu Thesis (LeoYeAI/openclaw-master-skills, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
SankaiAI (a GitHub user) maintains it in SankaiAI/ats-optimized-resume-agent-skill, which has 106 GitHub stars. The repository was last updated on April 11, 2026.
Source: SankaiAI/ats-optimized-resume-agent-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.