jd-match
Skill5 starsChanged 9 days agoMITView on GitHub
Match a resume against a specific job description, giving a transparent match score, requirement-by-requirement evidence map, gaps sorted into "fix on resume" vs "learn in 7 days" vs "can't close quickly", tailored bullets (no fabrication), and a 7-day plan to close the gaps before applying or interviewing. Use when the user pastes a job description or JD link, asks "am I a fit for this role", wants to tailor their resume to a job, or prepare for a specific company's role.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- website/AGENTS.mdAGENTS.md
- company-intelSkill
- cracked-profileSkill
- setup-crackedSkill
- core-vivaSkill
- defend-my-projectSkill
- hr-roundSkill
- mock-interviewSkill
- oa-simSkill
- pattern-coachSkill
- system-design-mockSkill
- github-glowupSkill
- make-it-hireableSkill
- referral-dmSkill
- resume-blueprintSkill
- roast-my-resumeSkill
- offer-decodeSkill
- prep-planSkill
- rejection-reviewSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 12
Call the Skill tool with "cracked-profile" (resume path, level).
- Distinctive: line 14
Call the Skill tool with "company-intel" for the JD's company, unless it's unnamed or a staffing agency.
- Distinctive: line 64
No fabrication, ever. Recommending someone claim a skill they don't have gets them rejected in the interview, or fired later.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
JD match
A job description is the exam paper, handed over in advance. This skill reads it properly, maps the candidate's real evidence against it, and turns the gaps into a plan.
0. Inputs
- Call the Skill tool with "cracked-profile" (resume path, level).
- Get the job description: pasted text, a file, or a URL (fetch it if you have a web tool; otherwise ask them to paste it).
- Call the Skill tool with "company-intel" for the JD's company, unless it's unnamed or a staffing agency. Its process and DSA focus feed the "likely interview questions" and 7-day plan below.
- Get the resume (same reading rules as the
roast-my-resumeskill: PDF/DOCX/LaTeX/MD/text). Also accept extra evidence the resume doesn't show ("I also know Docker from my internship"), and note that it isn't on the resume yet.
1. Decode the JD
Extract into a table:
| # | Requirement | Type | Weight |
- Type:
must(stated as required, or repeated),nice(preferred/bonus), orimplicit(not stated but obvious from the role, e.g. Git, DSA for SDE roles, SQL for backend). - Weight: 3 for must, 2 for implicit, 1 for nice.
- Also pull out the seniority signals (years, "own", "lead"), interview hints (the stack implies likely questions), and ATS keywords, using the exact phrasing in the JD.
Note anything unusual: unrealistic requirements for the level, bond or service-agreement mentions, or a mismatch between title and responsibilities.
2. Evidence map
For each requirement, find the strongest evidence in the resume or extra evidence:
| Requirement | Evidence | Strength |
| REST APIs (Node.js) | "Built order APIs…" (Projects › ShopKart) | ✅ strong |
| Docker | mentioned verbally, not on resume | 🟡 hidden |
| Kubernetes | none | ❌ missing |
Strength: strong (demonstrated with context) = 1.0, weak (listed in skills only) = 0.5, hidden (true but not on the resume) = 0.5, missing = 0.
Match score = Σ(weight × strength) / Σ(weight), shown as a percentage with the formula visible, so the candidate can trust it. Then interpret it: ≥ 75% apply confidently · 55–75% apply after the fixes below · < 55% a stretch, so apply only if the "can't close" list is short.
3. Gap triage
Sort every non-strong item into exactly one bucket:
- Fix on resume (today): they have it but it's hidden or weak. Give the exact rewritten bullet or skills line. Only use real experience. Missing numbers become placeholders.
- Learn in 7 days: closable fast enough to talk about credibly (a tool, a library, a concept). For each, name a concrete mini-project or exercise that produces evidence, not just "watch a tutorial".
- Can't close quickly: years of experience, deep specialisations. Advise how to address it honestly if it comes up in the interview.
4. Output
- Match score and interpretation.
- Evidence map table.
- Tailored resume edits (before → after), plus the ATS keywords to add, where true.
- 7-day plan: a day-by-day table mixing gap-closing work with role-specific interview prep. Example: day 3, "Dockerise your ShopKart backend and push the image; add one bullet." Day 6, "Run /mock-interview on graphs, which this team's domain implies."
- Likely interview questions for this JD: 5 technical (from the stack, plus the company's most reported DSA topics) and 2 behavioral (from its values), each labelled with where it came from.
- Save everything to
$CRACKED_DIR/jd/<company>-<role>.mdand mention the path. - Log a scorecard via the Skill tool with "cracked-profile", titled
<Role> @ <Company>. Dimensions: Must-haves, Implicit Skills, Nice-to-haves, Resume Alignment. Overall = match score / 10.
Rules
- No fabrication, ever. Recommending someone claim a skill they don't have gets them rejected in the interview, or fired later.
- Quote the JD's exact wording for keywords. ATS matching is often literal.
Skill calls: if your agent has no Skill tool, open the named skill's SKILL.md in the cracked skills folder (core/, interview/, profile/, strategy/) and follow it instead.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

