Help us improve
Share bugs, ideas, or general feedback.
From career-navigator
Tailors a resume from the user's ExperienceLibrary and scores it for ATS compatibility. Activates automatically when a job description is pasted or the user expresses intent to apply.
npx claudepluginhub tmargolis/career-navigator --plugin career-navigatorHow this skill is triggered — by the user, by Claude, or both
Slash command
/career-navigator:tailor-resumeThe summary Claude sees in its skill listing — used to decide when to auto-load 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.
Generates ATS-optimized resumes tailored to job postings using profile data and evaluations, outputting clean printable HTML. Auto-activates on 'tailor my resume' or similar requests.
Tailors resumes to specific job postings by fetching details from URLs, parsing requirements/keywords, mapping candidate experience, and identifying gaps.
Generates tailored resumes for job applications: researches company/role, surfaces undocumented experiences via discovery, matches from resume library, outputs MD/DOCX/PDF while preserving facts.
Share bugs, ideas, or general feedback.
Assemble the best possible resume for a specific role, drawn from the user's ExperienceLibrary. Invoke the resume-coach agent to do the work.
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-sourceto 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.
Hand off to the resume-coach agent with:
CareerNavigator/ExperienceLibrary.json)CareerNavigator/profile.md)resume-coach will:
performance_weightsVoice-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.
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?"
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
{SanitizedCompany}-{SanitizedRole}-Resume-{YYYY-MM-DD}.md{user_dir}/{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-letterto generate a matching cover letter."
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."