LLM Intern Skill
wanyichen06/LLMInternSkill
A skill your agent uses when polishing, diagnosing, tailoring, or exporting resumes for LLM, RAG, Agent, Agentic RL, post-training, pretraining, AIGC, search/ranking, multimodal, AI backend, or LLM…
Tailors one resume to one specific job posting. An agent skill from reactive-resume/reactive-resume.
$ npx skills add reactive-resume/reactive-resume --skill resume-tailor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install reactive-resume/reactive-resume resume-tailor --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/reactive-resume/skills/resume-tailor .claude/skills/resume-tailor && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "resume-tailor" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailor into .claude/skills/resume-tailor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resume-tailor", 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.
$skill-installer install https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add reactive-resume/reactive-resume --skill resume-tailor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install reactive-resume/reactive-resume resume-tailor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/reactive-resume/skills/resume-tailor .agents/skills/resume-tailor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "resume-tailor" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailor into .agents/skills/resume-tailor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resume-tailor", 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 reactive-resume/reactive-resume --skill resume-tailor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install reactive-resume/reactive-resume resume-tailor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/reactive-resume/skills/resume-tailor .cursor/skills/resume-tailor && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "resume-tailor" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailor into .cursor/skills/resume-tailor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resume-tailor", 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.
$ gemini skills install https://github.com/reactive-resume/reactive-resume.git --path plugins/reactive-resume/skills/resume-tailor--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add reactive-resume/reactive-resume --skill resume-tailor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install reactive-resume/reactive-resume resume-tailor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/reactive-resume/skills/resume-tailor .gemini/skills/resume-tailor && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "resume-tailor" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailor into .gemini/skills/resume-tailor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resume-tailor", 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 reactive-resume/reactive-resume resume-tailorInstalls 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 reactive-resume/reactive-resume --skill resume-tailor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/reactive-resume/skills/resume-tailor .github/skills/resume-tailor && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "resume-tailor" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailor into .github/skills/resume-tailor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resume-tailor", 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 reactive-resume/reactive-resume --skill resume-tailor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install reactive-resume/reactive-resume resume-tailor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/reactive-resume/reactive-resume.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/reactive-resume/skills/resume-tailor .opencode/skills/resume-tailor && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "resume-tailor" agent skill from https://github.com/reactive-resume/reactive-resume/tree/main/plugins/reactive-resume/skills/resume-tailor into .opencode/skills/resume-tailor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resume-tailor", 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.
resume-tailorTailors one resume to one specific job posting. An agent skill from reactive-resume/reactive-resume.
Resume Tailor is an agent skill from reactive-resume/reactive-resume. Tailors one resume to one specific job posting. Builds a must-have/nice-to-have requirement table, an evidence map, gap questions instead of invention, a tailored copy (headline, summary, bullet order, skills), honest ATS guidance, and an optional cover letter for that posting. Use when the user says "tailor my resume to this job", "customize my CV for this posting", "match my resume to this job description", "what keywords am I missing", "make my resume ATS-friendly for this role", "will this get past the ATS"…
Its SKILL.md is about 8.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `references/ats-reality.md`, `references/cover-letter.md` and `references/evidence-and-gaps.md`).
It sits in Business, Finance & HR, covering Resume and CV writing, Interview preparation and Recruiting and HR. The repository describes itself as: A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today! The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit c6a7b1d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Resume Tailor loads about 8.3k tokens when it runs, and up to ~27k if it reads all its reference files. Until then it costs about 230 tokens; SKILL.md has 4,290 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 found no risky patterns in SKILL.md.
Automated 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 reactive-resume/reactive-resume at commit c6a7b1d, republished under its MIT licence (© reactive-resume). 4,290 words, ~8,325 tokens.
.claude/skills/resume-tailor/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Tailor one resume to one job description (JD). The core artifact is a requirement → evidence table. It is close to what current screening tools (Workday HiredScore, Greenhouse Talent Matching, Ashby) build when they grade a candidate, and what a recruiter checks by eye. Tailoring changes emphasis, order and wording. It never changes facts.
[x]% is fine in a draft; never deliver a final copy that still has one.When asked to fabricate (add a skill they lack, inflate a title, round years up, invent a metric), decline in one sentence and offer the honest alternative in the same reply:
User: The JD asks for Kubernetes. I've never used it. Just add it to my skills.
Agent: I won't list Kubernetes, because it isn't true yet and it is exactly what an interviewer would probe. Here is what works instead: (1) if it is only "nice to have", leave it off; you can still be a strong match. (2) If you have run containers with Docker, ECS or another orchestrator, I'll name that honestly as adjacent experience. (3) If you start learning it with a concrete step (a course, a booked exam, a repo), I can list "Learning: Kubernetes (CKAD exam booked Nov 2026)". (4) One honest line in the cover letter can bridge it. Which of these fits?
If there is no table yet, ask first: "Is Kubernetes listed as required or preferred? Have you used Docker, ECS, Nomad or similar?" If the user insists, say it once without repeating the case ("It's your resume, so you can add it yourself; I won't write it, because a technical screen will test it. Shall I carry on with the rest?") and carry on. Never refuse the whole task over one line. Read references/evidence-and-gaps.md §5 whenever the user asks you to add, round up or reword something beyond what they confirmed.
First reply. When the JD and the resume are both present, the first reply contains: one line naming the tier ("Standard; say quick or deep to change"), the requirement table, the coverage line, and one numbered batch of at most 5 questions, knockouts first. Don't send a reply that only asks questions when you already have both documents.
No posting yet? Answer ATS questions from the "How ATS screening actually works" section below, run the parse-safety items from step 8, and offer to tailor once they have a JD.
Default to Standard and name the tier in the first reply. For an impatient user: "Paste the JD and your resume; I'll come back with the table and at most five questions in one message."
| Tier | Use for | Steps |
|---|---|---|
| Quick (~5 min) | High-volume, lower-priority applications | Knockout check; top-5 must-have table; headline; first summary line; reorder the top 6–8 skills. No bullet rewrites |
| Standard (~20 min) | A normal application (default) | Everything in Quick, plus: full table; positioning line; 3–5 gap questions; reorder and rephrase bullets in the two most recent relevant roles; summary rewrite; hide 1–3 irrelevant items; skills; name the copy |
| Deep (45–90 min) | Top choice, referral, senior role | Everything in Standard, plus a hidden-requirements read (references/jd-analysis.md §3), a company brief (only with web access), a full gap interview, a cover letter, and a final skim as the hiring manager |
Ask only for what is missing, inside the first question batch:
List the posting's likely knockouts and ask about any that are unclear: work authorization or sponsorship, location and on-site days, travel, a legally required license or clearance, a minimum degree (versus "or equivalent experience"), a stated minimum number of years in a function, language fluency, shift or start date.
Hard automatic rejections mostly fire on answers to application-form questions, not on resume prose, so tailoring cannot fix a failed knockout. If one fails, say so plainly and let the user decide. Form answers must be truthful; numeric "years of X" questions are often filters. Work authorization goes on the resume only where that is the local norm.
Classify every requirement:
Weight each row: 3 = central (in the title, repeated, or listed first), 2 = important, 1 = generic ("team player", "detail-oriented"). Cap the table at 5–8 musts plus up to 5 nice-to-haves. Mark the 4–6 weight-3 rows: they drive both recruiter search and AI grading.
Read references/jd-analysis.md when the posting is long, vague or senior, when you need hidden-requirement cues, or when the user asks "should I even apply?".
For each row, point to the best evidence on the resume (section → item → bullet) and rate it:
| Strength | Meaning | Default action |
|---|---|---|
| Direct+ | Did it, in a real setting, with an outcome or number | Promote; align the wording to the JD |
| Direct | Did it, no number | Quantify: ask for a number or honest range |
| Adjacent | Same concept, different tool or domain | Ask whether they used the JD's version; else name the real tool |
| Transferable | Same competency, different context | Promote with specifics |
| Unstated | Probably true but not on the resume | Ask; add only after confirmation |
| Learning | A concrete step in progress (course, exam date, repo) | List it as learning, with the date or link |
| None | The user lacks it | Omit; address in the letter only if weight 3 and a credible bridge exists |
"We" hides ownership, and choosing, reviewing or supporting a thing is not doing it: ask what the user did before rating a row Direct.
Actions: Promote (move up), Rephrase (use the JD's term), Quantify, Ask, Add (from an answer), Hide, Letter, Omit.
Output the table with columns # | Requirement (JD wording) | Type | Wt | Evidence | Strength | Action, then one coverage line:
Knockouts 1/1 · Musts 4/5 covered (weighted 82%) · Nice 1/3 · Label: Strong
Coverage % = the sum of weights of Must and Implicit rows rated Direct+, Direct, Adjacent or Transferable, divided by the sum of weights of all Must and Implicit rows. Unstated, Learning and None count as not covered. Labels (an internal heuristic, not research; say so if asked): Strong = all knockouts met and coverage at least 80%; Reasonable stretch = 50–79%; Long shot = below 50% or any knockout unmet. Never present a percentage "match score" as a target.
Ask 3–5 questions per batch, highest weight first, with knockout and letter questions counted in the same cap of 5, and wait for the answers:
Read references/evidence-and-gaps.md when a gap type isn't covered above (years, credentials, domain change, leadership without the title), or the moment the user asks you to add or inflate something.
Positioning line first. Once the answers are in, write one sentence from the weight-3 rows and the team's likely problem (the responsibility verbs; jd-analysis.md §3): "{who} who {does the core job}, proven by {best evidence}." Show it with the updated table. The headline, summary, first two bullets and the letter's hook all serve it, so they tell one story instead of listing matched keywords.
| Element | Do | Don't |
|---|---|---|
| Headline | Real title or the role family the work belongs to, plus 1–2 true differentiators in the JD's terms | Imply a title or seniority never held |
| Summary | 2–4 lines: who (role family, true years or scope), the top 2–3 musts with proof, the domain | Generic adjectives ("results-driven", "passionate") |
| Bullets | Within each role, put weight-3 evidence first; use the JD's nouns; quantify | Reorder roles (keep reverse-chronological); paste JD sentences |
| Items | Hide irrelevant items in the copy. Net length stays the same: for every line added, cut or hide a weaker one; keep the master's page count | Delete from the master; drop sections that show transferable skills |
| Skills | JD order and wording, grouped; only skills a bullet or project backs | Add skills the user lacks; bare soft-skill lists |
| Titles | Keep the official title; a function clarifier is fine: "Analyst II (Product Analytics)" | Retitle a past job to the target title; add a rank never held |
| Section order | Lift Certifications when one is a knockout; for "degree or equivalent", lead with experience | Invent non-standard headings |
| Layout | One column for portal applications | Text in images; skill bars as the only signal |
Term rules:
Review gate. With MCP, show a before/after for every change, summarise the decisions, and get an explicit yes before any write (copy, patch, letter save). Without MCP there is nothing to write: go straight to step 7 and put the before/after pairs in the change log; the user's edits are the review. Read references/rewrite-playbook.md for headline and summary patterns, more before/after pairs, and the no-MCP delivery format.
Agent checks (silent; fix before delivering):
Defensibility (one question to the user): list the changed or new bullets and ask, "Could you talk about each of these for two minutes if asked: what you did, how, and the result? Tell me any you'd hesitate on." Soften or cut those lines. The weight-3 bullets become story prompts for interview-prep.
Tell the user (at most 3 lines): "Before sending: read the whole copy. Export to PDF, select all, paste into a text editor and check that everything is there in reading order with dates next to the right roles. Keep the file under 2.5 MB."
Write one when it is required or the user asks for it, for a career change, relocation or gap, for a stretch on a weight-3 must, or for a referral, small company or named hiring manager. For an optional high-volume portal, suggest skipping it or keeping it under ~180 words; skip it when the posting says no cover letters (tell the user if they asked for one).
When a letter is wanted, add up to 2 letter questions to the gap batch (still at most 5 in total): "What draws you to this team specifically: something you read, used or heard?" and "Hiring manager's name, start date or relocation details to mention?" With no real reason given, open with the strongest evidence paragraph; never invent motivation.
Shape: 150–300 words, shorter when the evidence is thin; never pad to reach a length. A hook with a specific reason tied to the team's problem plus one line of proof; one or two evidence paragraphs, each tied to a weight-3 requirement (situation, what the user did, result); an optional single honest sentence bridging the main gap; a close with the next step. Draft only from the table and the user's answers, then ask the user to add or edit at least one line in their own voice. Since AI-written letters became common, polished JD-matching counts for much less (on one platform its link to callbacks fell by about half); specific, verifiable content and work history count for more.
Read references/cover-letter.md before drafting: template, phrases to avoid, and a worked example.
Sibling skills may not be installed; when one is missing, do the light version yourself and say so.
apply_resume_patch on the master. Without MCP: give a block the user can paste into their master.Tell the user this briefly when they worry about "beating the ATS" (as of 2026; vendor features change, so verify when it matters):
Correct these myths when the user repeats them: "75% of resumes are rejected by ATS before a human sees them" (a 2012 vendor sales pitch with no method); "ATS can't read PDFs" (text PDFs are fine; image-only scans fail); "copy the JD word for word / hit an 80% match score"; "recruiters spend six seconds" (small vendor study, first glance only); "keyword frequency drives ranking"; "white text gets interviews".
Read references/ats-reality.md when the user asks how a specific system works (Workday, Greenhouse, Taleo, Lever, iCIMS, LinkedIn), worries about auto-rejection, asks about PDF vs DOCX or columns, or when an imported resume contains hidden or invisible text.
Input. JD excerpt, "Data Analyst, Growth": Required: 3+ years SQL; experience with dbt; partner with Product to define KPIs; A/B testing. Preferred: Snowflake, Python. On-site in Austin 3 days a week. Resume: headline "Analyst"; "Marketing Analyst, Acme Subscriptions, 2021–present. Created weekly reports for marketing using SQL and Tableau. Worked on data pipelines. Onboarded 2 interns."
First reply. "Standard; say quick or deep to change." Then:
| # | Requirement (JD wording) | Type | Wt | Evidence | Strength | Action |
|---|---|---|---|---|---|---|
| 1 | On-site in Austin 3 days a week | Knockout | – | — | ? | Ask |
| 2 | 3+ years SQL | Must | 3 | Acme → b1 (2021–present) | Direct | Rephrase |
| 3 | Experience with dbt | Must | 3 | Acme → b2 "data pipelines" | Unstated? | Ask |
| 4 | Partner with Product to define KPIs | Must | 3 | — | None | Ask |
| 5 | A/B testing | Must | 2 | — | None | Ask |
| 6 | Snowflake | Nice | 1 | — | None | Ask, else Omit |
| 7 | Python | Nice | 1 | — | None | Ask, else Omit |
Knockouts ?/1 · Musts 1/4 covered (weighted 27%) · Nice 0/2 · Label: pending answers
Questions: 1) Can you be on-site in Austin three days a week? 2) What were the "data pipelines" built in, and roughly how many models or jobs? Did anything get faster? 3) Did you define any of the marketing KPIs, and with whom? 4) Did those reports feed experiments or A/B tests? About how many, and did you design or analyse any of them yourself? 5) Any Snowflake or Python, at work or on a side project?
Answers. On-site is fine. The pipelines were ~40 dbt models on BigQuery; dashboard refresh went from about 6 h to 45 min. Defined 5 funnel KPIs with the Product and Marketing leads. The weekly review picked ~10 A/B tests a quarter; I sized and analysed about half of them myself. No Snowflake; no Python at work.
Second reply (delivered directly; the before/after pairs form the change log).
Knockouts 1/1 · Musts 4/4 covered (weighted 100%) · Nice 0/2 · Label: Strong.Every verb above matches the user's answer (defined, built, sized, analysed), and every "~" survives. Had the user only picked tests, row 5 would stay Adjacent, and "A/B testing" would stay out of the headline and Skills.
Use these tools only when the Reactive Resume MCP server is connected. Read before writing, show the before/after, and get a yes before any change to the user's data. Read references/mcp-recipes.md before the first write, and when the application has no JD or no linked resume.
| Situation | Path |
|---|---|
Application exists with a linked resume and a JD, and sentResumeVersionId is empty | A: api_documents_copy_for_job, then patch the copy |
| Same, and the user wants only a quick AI pass | A-quick: tailor_resume_for_application. It rewrites the summary only, uses the user's AI provider, relinks the application to the new copy and adds a timeline note. Check the new summary claim by claim against the base resume, then continue with path A's patching for anything else |
| No application record | B: duplicate_resume, then patch the copy. Offer to create the application (job-application-manager skill) |
sentResumeVersionId is set (already submitted) | Don't relink: the recorded sent resume can't be replaced, and tailor_resume_for_application would fail after making an orphan copy. Use path B for interview prep or a future application |
Steps:
list_applications (page with offset; match company and role); if more than one matches, ask which. read_application {id} and check resumeId, jobDescription, requirements, status and sentResumeVersionId. Without an application, find the base with list_resumes. Then read_resume {id}.api_rest_match_resume {id: <base resume id>, jobDescription} returns found and missing terms (up to 35, many of them generic phrases). Use missing to check your table, not as a question list: ask only about missing terms that match a weight-2 or weight-3 row, inside the normal batch of at most 5. Never add a missing term without a confirmed answer.api_documents_copy_for_job {resumeId, applicationId, name}. The copy becomes the application's resume only if no sent version exists and either no resume is linked or the stage is saved; otherwise, with the user's agreement, call update_application {id, resumeId: <copy id>}. When the application now points at the copy, tell the user: "Application X now uses the copy '{name}'; your original is unchanged." Path B: duplicate_resume {id, name}. Name copies {Company} — {Role} — YYYY-MM-DD and keep names under ~60 characters so they stay readable in lists (api_documents_copy_for_job accepts up to 100).read_resume on the copy, take updatedAt, then apply_resume_patch {id, operations, expectedUpdatedAt}. Guard edits with test ops, write HTML (never Markdown), always write dates rather than period, and hide with hidden: true. On 409 RESUME_VERSION_CONFLICT, read again and recompute. On 403 RESUME_LOCKED, ask before unlock_resume.api_rest_check_resume {id} on the copy. List its findings one line each; fix layout and date errors the approved plan already covers, and ask before any wording change. download_resume_pdf gives a signed URL for the copy-paste test; it expires after 10 minutes and works for anyone holding it, so don't post it anywhere.score_application_match {id} uses AI and overwrites the saved match score. Use its gaps and strengths as a cross-check, not the number as a target.create_cover_letter {name, content, applicationId, resumeId, layout: "structured"} (body HTML only; the structured layout adds the greeting and sign-off). Or call draft_application_message {id, kind: "cover-letter"} (AI; saves a letter named "{company} — {role}"), review it against the table, and fix it with update_cover_letter {id, expectedRevision, …}.Tools marked AI (tailor_resume_for_application, score_application_match, draft_application_message) send the full resume and JD to the user's configured AI provider: ask first. With no provider set they fail with "No AI provider is configured"; carry on without them, since every core step above works without AI. Keep the copy private unless the user asks otherwise.
© reactive-resume, 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 6 other files (references) in plugins/reactive-resume/skills/resume-tailor of reactive-resume/reactive-resume.
Open the folder on GitHubat commit c6a7b1d
Resume Tailor 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 |
|---|---|---|---|---|---|---|
| Resume Tailor this skillreactive-resume/reactive-resume | 44k | — | ~8.3k | Automated safety check: Pass | MIT | |
| LLM Intern Skillwanyichen06/LLMInternSkill | 326 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Jobgptsickn33/agentic-awesome-skills | 47k | 2 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Job Application OptimizerOneWave-AI/claude-skills | 336 | — | ~785 | Automated safety check: Pass | MIT | |
| Career-Ops Job Search Centercareer-ops-hq/career-ops | 74k | — | ~3.6k | Automated safety check: Pass | MIT | |
| Internship Project Preparation ToolLiuMengxuan04/shushu-internship-tool | 2.1k | — | ~2.3k | Automated safety check: Pass | Custom licence |
wanyichen06/LLMInternSkill
A skill your agent uses when polishing, diagnosing, tailoring, or exporting resumes for LLM, RAG, Agent, Agentic RL, post-training, pretraining, AIGC, search/ranking, multimodal, AI backend, or LLM…
sickn33/agentic-awesome-skills
Job search automation, auto apply, resume generation, application tracking, salary intelligence, and recruiter outreach using the JobGPT MCP server.
OneWave-AI/claude-skills
Optimize job applications by tailoring resumes to job postings, generating customized cover letters, and preparing role-specific interview questions.
career-ops-hq/career-ops
Routes job-search requests to modes for evaluating offers, scanning portals, generating tailored CVs, tracking applications and drafting outreach, starting from a pasted job URL or description.
LiuMengxuan04/shushu-internship-tool
Turns a target internship job description into a resume-ready, interview-ready project by finding and auditing GitHub projects and drafting resume bullets and interview Q&A.
MadsLorentzen/ai-job-search
Evaluates job postings against your profile, then tailors a LaTeX CV and cover letter and prepares interview answers for the roles you pursue.
reactive-resume/reactive-resume
Builds resumes as valid JSON for the open-source Reactive Resume app by interviewing you, and can track job applications through its MCP tools.
reactive-resume/reactive-resume
Prepares the user for a specific interview from their real experience.
reactive-resume/reactive-resume
Runs the job-search pipeline. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Runs a mock interview for a specific job description. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Evaluates and negotiates job offers. An agent skill from reactive-resume/reactive-resume.
reactive-resume/reactive-resume
Turns resume duties into truthful impact bullets. An agent skill from reactive-resume/reactive-resume.
Categories
Tailors one resume to one specific job posting. An agent skill from reactive-resume/reactive-resume. Resume Tailor is an agent skill from reactive-resume/reactive-resume. Tailors one resume to one specific job posting.
Resume Tailor fits situations like: the user says tailor my resume to this job; customize my CV for this posting; match my resume to this job description; what keywords am I missing.
Run `npx skills add reactive-resume/reactive-resume --skill resume-tailor -a claude-code`. Or copy the skill folder (plugins/reactive-resume/skills/resume-tailor in reactive-resume/reactive-resume) into .claude/skills/resume-tailor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add reactive-resume/reactive-resume --skill resume-tailor -a codex`. Or copy the skill folder (plugins/reactive-resume/skills/resume-tailor in reactive-resume/reactive-resume) into .agents/skills/resume-tailor 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 reactive-resume/reactive-resume --skill resume-tailor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resume-tailor, .gemini/skills/resume-tailor, .github/skills/resume-tailor and .opencode/skills/resume-tailor in your project.
SKILL.md names no scripts, command-line tools or credentials: Resume Tailor is instructions for the agent only. Our summary lists: Docker.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Resume Tailor is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 8.3k tokens (SKILL.md is roughly 33k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 19k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Resume Tailor: LLM Intern Skill (wanyichen06/LLMInternSkill, 326 stars), Jobgpt (sickn33/agentic-awesome-skills, 47k stars), Job Application Optimizer (OneWave-AI/claude-skills, 336 stars) and Career-Ops Job Search Center (career-ops-hq/career-ops, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
reactive-resume (a GitHub organization) maintains it in reactive-resume/reactive-resume, which has 44,062 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 9, 2026.
Source: reactive-resume/reactive-resume on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.