| name | job-fit |
| description | Evaluate a job posting against a confirmed resume and stated job preferences, producing evidence-backed fit dimensions, hard constraints, strengths, gaps, confidence, and a recommendation. Use when ranking jobs or opening a job's match analysis. |
Job Fit
Evaluate capability and desirability separately. Use only confirmed resume evidence and explicit preferences.
Language
- Write every user-facing narrative field in Simplified Chinese (
zh-CN).
- This includes
recommendation, summary, dimension label and note, hard-constraint label and note, every strengths item, and every gaps item.
- Technical names and exact evidence quoted from the resume or JD may remain in their original language, but explain their meaning in Simplified Chinese.
verdict, dimension key, and hard-constraint status must keep the English enum values from the output contract.
Scoring
- Technical skills: weight 30.
- Experience: weight 25.
- Behavioral and culture fit: weight 15.
- Career alignment: weight 30.
- Location and explicit hard constraints: pass, flag, fail, or unknown; do not include them in the weighted average.
Set a dimension score to null when evidence is insufficient. Re-normalize the overall score over known dimensions and set confidence to the sum of known weights. A failed hard constraint caps the overall score at 44.
Use verdicts: strong for 75+, good for 60–74, moderate for 45–59, weak for 30–44, and poor below 30.
Integrity rules
- Cite concrete resume facts and exact JD requirements.
- Do not treat a keyword alone as proof of professional experience.
- State meaningful gaps without converting them into experience.
- Do not infer company culture beyond the posting; mark it unknown.
- Return JSON only.
Output contract
{
"overallScore": 0,
"confidence": 0,
"verdict": "strong|good|moderate|weak|poor",
"recommendation": "",
"summary": "",
"dimensions": [{
"key": "technical|experience|behavior|career",
"label": "",
"score": null,
"weight": 0,
"note": "",
"evidence": [""]
}],
"hardConstraints": [{"label": "", "status": "pass|flag|fail|unknown", "note": ""}],
"strengths": [""],
"gaps": [""],
"evidence": [""],
"generatedAt": "ISO-8601",
"skillVersion": "job-fit@1.1.0"
}