CommunityWriting & Editinggithub.com

damoke012/claude-skills-kit

Handles anything to do with a resume, CV or cover letter, in any project, without a slash command. Use whenever the user wants to create, write, build, update, modify, edit, tailor, shorten, fix or review a resume or CV; tailor it to a job description, JD, job posting, job link or role; add a job, skill, certification or achievement to their resume; write a cover letter; see what a job wants that they lack; set up or import their resume; or prep for a role by being grilled on a JD.

What is claude-skills-kit?

claude-skills-kit is a Claude Code agent skill that handles anything to do with a resume, CV or cover letter, in any project, without a slash command. Use whenever the user wants to create, write, build, update, modify, edit, tailor, shorten, fix or review a resume or CV; tailor it to a job description, JD, job posting, job link or role; add a job, skill, certification or achievement to their resume; write a cover letter; see what a job wants that they lack; set up or import their resume; or prep for a role by being grilled on a JD.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/damoke012/claude-skills-kit/tree/HEAD/resume-skills/skills/resume-autopilot

Installed? Explore more Writing & Editing skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Resume autopilot

The user should never need to type /tailor-resume or /resume-import. When they talk about their resume in any words, work out which job below they mean and run it.

Where everything lives

All resume work happens in one place, whatever project this session is in:

RESUME_HOME=__RESUME_HOME__
  • Run every command as cd "$RESUME_HOME" && .... Never write resume files anywhere else. In a Codespace, $RESUME_HOME is usually a my-resume/ folder inside the open project, so the user can see it in the VS Code sidebar. It is excluded from git; never commit it or move it.
  • The real procedures are the repo's own skills. Read the one you need, in full, before acting, and follow it exactly:
    • __RESUME_HOME__/.claude/skills/resume-import/SKILL.md
    • __RESUME_HOME__/.claude/skills/tailor-resume/SKILL.md
  • Wherever those skills say profile.json, evidence/, jobs/, out/, inbox/, bin/ or rules/, they mean paths under $RESUME_HOME.

If $RESUME_HOME does not exist, stop and tell the user to run the kit's install.sh (see its README). Do not improvise a resume without it.

Route the request

Check $RESUME_HOME/profile.json first. If it is missing, the user has not set up yet: go to Set up, whatever they asked for, and tell them why.

Set up / import ("set up my resume", "import my resume", an attached resume on first use, or a resume pasted straight into the chat)

  • A file → copy it into $RESUME_HOME/inbox/ (the original stays where it is).
  • Pasted text → save it verbatim to $RESUME_HOME/inbox/pasted-resume.md. Bullet characters and line breaks may be mangled by the paste; repair the layout, never the content.
  • Nothing yet → ask for one in a single line: "Paste your resume here, or drag the file into my-resume/inbox/ on the left." Then follow resume-import. It shows the extraction and waits for one "yes" before writing. If the user has already said plainly to go ahead (for example "just create it"), show the extraction summary and proceed in the same turn, listing every assumption so they can correct it afterwards.

If preferences.md still contains < bracketed prompts, replace it with the kit's default (templates/preferences.default.md in the kit, already copied by the installer) rather than asking the user to fill it in first.

Tailor to a job (a pasted job description, a job link, "update my resume for this role", "tailor my resume to this JD")

  1. Pick a short slug from the company name, lowercase with hyphens (northwind-labs). If no company is named, ask for one in one line.
  2. Save the job description verbatim to $RESUME_HOME/jobs/<slug>/job.md. For a link, try to fetch it; most job boards block that, so if it fails, ask the user to paste the text.
  3. Anything the user said about this job ("keep it to one page", "lead with AKS") goes in $RESUME_HOME/jobs/<slug>/notes.md.
  4. Follow tailor-resume for that slug. Add --cover if they asked for a cover letter. If out/<slug>/ already exists, ask before regenerating, because a regeneration discards their edits.
  5. Report where the files are in words a beginner can follow: "In the sidebar on the left, open my-resume → out → <slug>. Right-click the PDF and choose Download." Then give the top of gaps.md. The gaps are the most useful part; do not bury them.

Several jobs at once ("do all of these", several JDs in one message) Save each to its own jobs/<slug>/job.md, then follow tailor-resume --all.

Change a resume already generated ("make the Northwind one shorter", "cut the oldest role to one line") Follow the Refining section of tailor-resume: edit out/<slug>/resume.json, re-run the checks, re-render. If it is unclear which resume they mean, list the folders in out/ and ask.

Add experience ("add K3s to my resume", "add that I set up MicroK8s on Jetson Thor at CRD", "I got my CKA") These are new facts, so they go in the library, not into one resume:

  • An achievement or skill → append it to the right evidence/<theme>.md, under the employer the user names, in the user's own words. If they did not say which employer, ask.
  • A new role, title, date or certification → show the change to profile.json and wait for a yes before writing it.
  • Then offer to re-tailor any existing resumes that it affects. Never add a number, tool or outcome the user did not state. If a bullet would be stronger with a metric they have not given, write TODO(metric) and ask.

Grill me on a job ("grill me on this JD", "prep me for this role", "am I a fit?") Save the JD as above, then use the grilling skill to interview the user about the gaps between the posting and their evidence. Write each fact they confirm into evidence/ as they go, so the next tailoring run can use it.

Output format

The repo renders HTML and PDF. If the user wants Word, render first, then convert the result: use a docx skill if this session has one, otherwise pandoc out/<slug>/*.html -o out/<slug>/<name>.docx when pandoc is installed. If neither works, say so plainly and give them the PDF.

Truth rules

The repo's rules apply in full and outrank any request, including the user's: nothing invented, employers, titles and dates copied verbatim, gaps reported instead of covered. If the user asks you to add something their evidence does not support, explain that it would be fabricated and offer to add it to evidence/ if it is true.

Related Skills