ats-resume-matcher
Professional ATS (Applicant Tracking System) resume matching and scoring tool that operates with the precision of enterprise systems like Greenhouse, Lever, Workday, and Breezy HR. Use this skill when: (1) Matching a resume against a job description to calculate fit scores (2) Analyzing resume-JD alignment with detailed category breakdowns (3) Identifying gaps between candidate qualifications and job requirements (4) Getting actionable suggestions to improve resume match percentage (5) Preparing a resume for ATS optimization before job applications Supports PDF, DOCX, Markdown, and plain text inputs for both resumes and job descriptions.
Best use case
ats-resume-matcher is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Professional ATS (Applicant Tracking System) resume matching and scoring tool that operates with the precision of enterprise systems like Greenhouse, Lever, Workday, and Breezy HR. Use this skill when: (1) Matching a resume against a job description to calculate fit scores (2) Analyzing resume-JD alignment with detailed category breakdowns (3) Identifying gaps between candidate qualifications and job requirements (4) Getting actionable suggestions to improve resume match percentage (5) Preparing a resume for ATS optimization before job applications Supports PDF, DOCX, Markdown, and plain text inputs for both resumes and job descriptions.
Teams using ats-resume-matcher should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ats-resume-matcher/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ats-resume-matcher Compares
| Feature / Agent | ats-resume-matcher | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Professional ATS (Applicant Tracking System) resume matching and scoring tool that operates with the precision of enterprise systems like Greenhouse, Lever, Workday, and Breezy HR. Use this skill when: (1) Matching a resume against a job description to calculate fit scores (2) Analyzing resume-JD alignment with detailed category breakdowns (3) Identifying gaps between candidate qualifications and job requirements (4) Getting actionable suggestions to improve resume match percentage (5) Preparing a resume for ATS optimization before job applications Supports PDF, DOCX, Markdown, and plain text inputs for both resumes and job descriptions.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# ATS Resume Matcher Enterprise-grade resume-to-job-description matching with detailed scoring, gap analysis, and optimization suggestions. ## Quick Start When given a resume and job description: 1. Extract and parse both documents 2. Run the 7-category ATS analysis 3. Output the structured match report 4. Provide prioritized optimization suggestions ## Input Handling ### Supported Formats | Format | Resume | Job Description | |--------|--------|-----------------| | PDF | Yes (extract text) | Yes | | DOCX | Yes (extract text) | Yes | | Markdown | Yes | Yes | | Plain text | Yes | Yes | | Pasted content | Yes | Yes | ### Extraction Priority 1. If file path provided → Read and extract text 2. If pasted content → Parse directly 3. If URL provided → Fetch and extract ## ATS Matching Algorithm ### Category Weights (Total: 100%) | Category | Weight | Description | |----------|--------|-------------| | **Hard Skills** | 25% | Technical skills, tools, technologies, languages | | **Experience** | 20% | Years of experience, seniority level, scope | | **Keywords** | 15% | Exact phrase matches, industry terminology | | **Job Titles** | 12% | Title alignment, progression, relevance | | **Soft Skills** | 10% | Leadership, communication, collaboration | | **Education** | 10% | Degrees, certifications, training | | **Industry** | 8% | Domain experience, sector knowledge | ### Scoring Methodology For each category, calculate: ``` Category Score = (Matched Items / Required Items) × 100 Weighted Score = Category Score × Category Weight Overall Match = Σ(All Weighted Scores) ``` #### Match Classification | Score Range | Classification | Interpretation | |-------------|----------------|----------------| | 85-100% | Excellent Match | Strong candidate, likely to pass ATS | | 70-84% | Good Match | Competitive candidate, minor gaps | | 55-69% | Moderate Match | Some gaps, optimization recommended | | 40-54% | Weak Match | Significant gaps, major revision needed | | 0-39% | Poor Match | Role mismatch or major skill gaps | ## Analysis Process ### Step 1: Parse Job Description Extract from JD: - **Required skills** (must-have) - **Preferred skills** (nice-to-have) - **Experience requirements** (years, level) - **Education requirements** (degree, field) - **Certifications** (required/preferred) - **Job title keywords** - **Industry/domain terms** - **Soft skill indicators** Classify each requirement as: - `REQUIRED` - Explicitly stated as required/must-have - `PREFERRED` - Stated as preferred/nice-to-have/bonus - `IMPLIED` - Inferred from context ### Step 2: Parse Resume Extract from resume: - **Technical skills** (explicit and demonstrated) - **Work experience** (titles, duration, scope) - **Education** (degrees, institutions, dates) - **Certifications** (names, dates, status) - **Achievements** (quantified results) - **Industry exposure** (domains worked in) - **Keywords** (terminology used) ### Step 3: Match Analysis For each JD requirement, find resume evidence: ``` EXACT MATCH → 100% credit (keyword appears exactly) SYNONYM MATCH → 85% credit (equivalent term used) PARTIAL MATCH → 50% credit (related but not equivalent) TRANSFERABLE → 30% credit (skill could apply) NO MATCH → 0% credit (not found) ``` ### Step 4: Generate Report See output format below. ## Output Format Generate this exact structure: ```markdown # ATS Match Report ## Overall Score: [XX]% - [Classification] **Resume**: [filename or "Provided content"] **Position**: [Job title from JD] **Company**: [Company name if available] **Analysis Date**: [Current date] --- ## Score Breakdown | Category | Score | Weight | Weighted | Status | |----------|-------|--------|----------|--------| | Hard Skills | XX% | 25% | X.X | [✓/⚠/✗] | | Experience | XX% | 20% | X.X | [✓/⚠/✗] | | Keywords | XX% | 15% | X.X | [✓/⚠/✗] | | Job Titles | XX% | 12% | X.X | [✓/⚠/✗] | | Soft Skills | XX% | 10% | X.X | [✓/⚠/✗] | | Education | XX% | 10% | X.X | [✓/⚠/✗] | | Industry | XX% | 8% | X.X | [✓/⚠/✗] | | **TOTAL** | | **100%** | **XX.X** | | Status: ✓ = 70%+, ⚠ = 50-69%, ✗ = <50% --- ## Detailed Analysis ### Hard Skills (XX%) **Matched (X/Y required)**: - ✓ [Skill] - Found: "[evidence from resume]" - ✓ [Skill] - Found: "[evidence from resume]" **Partial Matches**: - ⚠ [Required skill] → [Related skill found] (XX% credit) **Missing**: - ✗ [Skill] - REQUIRED - Not found - ✗ [Skill] - PREFERRED - Not found ### Experience (XX%) **Requirements**: - Required: [X] years in [domain] - Found: [Y] years in [domain] - Match: [Exceeds/Meets/Below] requirement **Seniority Alignment**: - Required level: [Senior/Mid/Junior] - Demonstrated level: [Senior/Mid/Junior] - Gap: [None/Minor/Significant] **Scope Match**: - Required: [team size, budget, scale from JD] - Demonstrated: [evidence from resume] ### Keywords (XX%) **Exact Matches (X/Y)**: - ✓ "[keyword]" - Found [X] times - ✓ "[keyword]" - Found [X] times **Missing High-Value Keywords**: - ✗ "[keyword]" - Appears [X] times in JD - ✗ "[keyword]" - Industry-standard term ### Job Titles (XX%) **Title Progression Analysis**: | Your Title | Target Title | Alignment | |------------|--------------|-----------| | [Current] | [JD Title] | XX% | **Title Keywords**: - ✓ [Matched title keyword] - ✗ [Missing title keyword] ### Soft Skills (XX%) **Demonstrated**: - ✓ [Soft skill] - Evidence: "[quote from resume]" **Required but Missing**: - ✗ [Soft skill] - Add evidence of this skill ### Education (XX%) **Degree Match**: - Required: [Degree] in [Field] - Found: [Degree] in [Field] - Status: [Meets/Exceeds/Below/Alternative] **Certifications**: - ✓ [Cert name] - Matches requirement - ✗ [Required cert] - Not found ### Industry (XX%) **Domain Experience**: - Required: [Industry/Domain] - Found: [Industries in resume] - Relevance: [Direct/Adjacent/Transferable] --- ## Gap Summary ### Critical Gaps (Address First) 1. **[Gap]** - Impact: High - [Brief explanation] 2. **[Gap]** - Impact: High - [Brief explanation] ### Important Gaps 1. **[Gap]** - Impact: Medium - [Brief explanation] ### Minor Gaps 1. **[Gap]** - Impact: Low - [Brief explanation] --- ## Optimization Suggestions ### High Impact (Estimated +X-Y% improvement) 1. **[Suggestion title]** - Current: [What's in resume now] - Recommended: [What to add/change] - Where: [Which section to modify] - Example: "[Specific wording to consider]" 2. **[Suggestion title]** - Current: [What's in resume now] - Recommended: [What to add/change] - Where: [Which section to modify] - Example: "[Specific wording to consider]" ### Medium Impact (Estimated +X-Y% improvement) 1. **[Suggestion]** - [Details] ### Quick Wins (Estimated +X-Y% improvement) 1. **[Suggestion]** - [One-line actionable item] 2. **[Suggestion]** - [One-line actionable item] --- ## ATS Compatibility Notes **Formatting Issues**: - [Any detected formatting issues that might cause ATS parsing problems] **Keyword Density**: - Top JD keywords not in resume: [list] - Recommendation: [specific advice] **Section Headers**: - [Any non-standard headers that ATS might not recognize] --- ## Confidence Level Analysis confidence: [High/Medium/Low] - [Reason for confidence level] ``` ## Keyword Matching Rules ### Skill Synonyms Apply these common equivalences: | JD Term | Also Accept | |---------|-------------| | JavaScript | JS, ECMAScript, ES6+ | | Python | Python3, Py | | Machine Learning | ML, Deep Learning, AI/ML | | Amazon Web Services | AWS, Amazon Cloud | | Google Cloud Platform | GCP, Google Cloud | | Microsoft Azure | Azure, MS Azure | | Continuous Integration | CI, CI/CD | | Continuous Deployment | CD, CI/CD | | Kubernetes | K8s, K8 | | PostgreSQL | Postgres, PSQL | | MongoDB | Mongo | | React.js | React, ReactJS | | Node.js | Node, NodeJS | | TypeScript | TS | | GraphQL | GQL | | REST API | RESTful, REST | | Agile | Scrum, Kanban, Agile/Scrum | | Project Management | PM, Program Management | | People Management | Team Leadership, Engineering Management | ### Experience Level Mapping | JD Requirement | Acceptable Range | |----------------|------------------| | Entry level | 0-2 years | | Junior | 1-3 years | | Mid-level | 3-5 years | | Senior | 5-8 years | | Staff/Principal | 8-12 years | | Director | 10+ years | | VP/Head | 12+ years | ### Education Equivalences | Requirement | Also Accept | |-------------|-------------| | Bachelor's required | Master's, PhD | | Master's preferred | PhD, Bachelor's + 2 years | | CS degree | Related technical degree + experience | | MBA | Business degree + experience | ## Suggestion Generation Rules ### Prioritization Generate suggestions in this priority order: 1. **Missing REQUIRED skills** - Highest impact 2. **Experience gaps** - High impact 3. **Missing exact keywords** - Medium-high impact 4. **Missing certifications** - Medium impact 5. **Soft skill evidence** - Medium impact 6. **Keyword optimization** - Low-medium impact 7. **Formatting improvements** - Low impact ### Suggestion Quality Each suggestion must be: - **Specific** - Not generic advice - **Actionable** - Clear what to do - **Evidenced** - Based on actual gap found - **Realistic** - Achievable without lying ### Example Suggestion Patterns **For missing skill**: ``` Add [SKILL] to your skills section. Based on your experience with [RELATED SKILL], you may have exposure to this. If you have any experience, add a bullet point like: "Utilized [SKILL] for [USE CASE]" ``` **For keyword gap**: ``` The JD mentions "[KEYWORD]" [X] times. Consider incorporating this terminology in your [SECTION]. For example, change "[CURRENT PHRASING]" to "[SUGGESTED PHRASING WITH KEYWORD]" ``` **For experience gap**: ``` The role requires [X] years of [DOMAIN] experience. Your resume shows [Y] years. Emphasize your [RELEVANT EXPERIENCE] and quantify impact to demonstrate equivalent depth. ``` ## Edge Cases ### When Resume > JD Requirements - Still note as "Exceeds" not 100%+ - Flag potential overqualification concerns - Suggest tailoring to avoid rejection ### When JD is Vague - Note confidence as "Medium" or "Low" - Make reasonable inferences - List assumptions made ### When Resume Has Non-Standard Format - Extract what's possible - Note any parsing limitations - Provide best-effort analysis ## References For detailed information, see: - [references/scoring-methodology.md](references/scoring-methodology.md) - Detailed scoring algorithms and edge cases - [references/keyword-extraction.md](references/keyword-extraction.md) - Extended synonym lists and extraction patterns
Related Skills
resume-formatter
Professional resume formatting and PDF generation tool. Use this skill when: (1) Creating a new resume tailored to a specific job description (2) Converting an existing resume to the standard HTML template (3) Generating a PDF from an HTML resume (4) Updating resume content while maintaining consistent formatting Produces professional, ATS-friendly resumes with consistent blue-themed styling.
workflow
Guide through structured delivery workflow with plan, implement, validate phases
webapp-testing
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
validate
Verify implementation against specifications
ui-ux-pro-max
UI/UX design intelligence. 67 styles, 96 palettes, 57 font pairings, 25 charts, 13 stacks (React, Next.js, Vue, Svelte, Astro, Nuxt, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
tui-style-guide
TUI style guide for consistent terminal interface design
token-usage
Show Claude Code token usage across sessions — daily, weekly, per-project, and per-session breakdowns. Parses {{HOME_TOOL_DIR}}/projects/**/*.jsonl for consumption data. Use when the user asks about token usage, costs, how many tokens were used, session statistics, or wants a usage report.
tmux-status
Show status of all tmux sessions including dev environments, spawned agents, and running processes
tmux-monitor
Monitor and report status of all tmux sessions including dev environments, spawned agents, and running processes. Uses tmuxwatch for enhanced visibility.
tmux-message
Reliable peer-to-peer message delivery to other Claude Code instances via tmux send-keys. Use as a fallback when claude-peers MCP send_message fails to surface in the receiver's inbox (delivered server-side but receiver never picks it up — observed behaviour). Also use when sending a directive to a known Claude Code TUI session by tmux session name or fuzzy hint, or when injecting a multi-line directive into a peer's prompt and submitting it. Trigger phrases — "claude-peers fallback", "tmux send-keys", "send to peer via tmux", "inject directive", "deliver to nanoclaw/hermes peer", "peer message". Tmux-only — won't reach peers running outside tmux.
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code. Enforces RED-GREEN-REFACTOR cycle with test-first approach.
test-ainb
Run tests for the ainb (agents-in-a-box) Rust workspace via a 5-layer strategy — unit, insta snapshot, mock-plugin compositing, real-plugin spawn, vhs recording. Wraps cargo + insta + vhs into one CLI. Use when Stevie says "/test-ainb", "test ainb", "run ainb tests", "snapshot <component>", "regenerate vhs tapes", or any phrasing about validating ainb test layers. The skill autodetects which ainb-tui worktree the cwd sits in and dispatches to scripts/run.sh.