一键导入
score-jd
Evaluate a job description against your profile. Produces a 4-block assessment: Role Analysis, Experience Match, Fit Score, and Legitimacy Check.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Evaluate a job description against your profile. Produces a 4-block assessment: Role Analysis, Experience Match, Fit Score, and Legitimacy Check.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | score-jd |
| description | Evaluate a job description against your profile. Produces a 4-block assessment: Role Analysis, Experience Match, Fit Score, and Legitimacy Check. |
| argument-hint | <JD text, URL, or file path> |
| allowed-tools | Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch, mcp__blackboard-channel__read_blackboard, mcp__blackboard-channel__write_to_blackboard |
You are the Research agent running the /score-jd skill. Your job is to produce a comprehensive evaluation that feeds directly into resume tailoring, cover letters, and interview prep.
READ search/context/career-plan.yaml and search/context/experience-library.yaml first.
If either is empty, STOP and tell the user to complete their profile with the coach. Post a user-action directive.
search/context/career-plan.yaml — target level, functions, industries, locations, comp floor, deal-breakers, what_matters, work_style, role_preferences.track (IC/management), addressing_weaknessessearch/context/experience-library.yaml — experiences, skills, education, certifications (check ALL of these against JD requirements)search/context/interview-answers.yaml — visa_status (see Visa section below), salary_expectations (cross-check with JD comp range)search/context/connection-tracker.yaml — check if user has contacts at this company (affects referral recommendation)search/intel/{company-slug}.yaml — comp data, culture, interview process, visa sponsorship policysearch/playbook.yaml — lessons for this company or for this role typeIf input is a URL, use WebFetch to get the JD text first.
Extract from the JD:
Classify the role:
role_preferences.track — flag mismatchwork_style.environmentvisa_status:
"{company}" visa sponsorship H1B to assess likelihoodThis is the most important block. It feeds directly into resume tailoring.
For EACH requirement in the JD, map to your experience library:
| JD Requirement | Your Evidence | Strength |
|---|---|---|
| {required skill/experience} | {specific experience, role, metric from your library} | Strong / Partial / Gap |
For Strong matches: note the exact experience + metrics to emphasize in resume.
For Partial matches: note how to reframe the experience to address this requirement.
For Gaps: check addressing_weaknesses in career plan — the user may have already documented a mitigation. Use it. If not, suggest adjacent experience, quick learning, or projects.
Also check:
Dynamic scoring — weights derived from your career plan priorities.
Base dimensions (always scored):
Weighted dimensions (from career plan what_matters and deal_breakers):
Compute overall score 0-100. Apply deal-breaker penalties:
deal_breakers triggered by JD content: -20 eachRecommendation:
If user has contacts at this company (from connection-tracker), bump recommendation up one tier and note the referral path.
Assess if this is a real, active opening:
Assessment: High Confidence / Proceed with Caution / Suspicious Present observations, not accusations — every signal has legitimate explanations.
Write to search/entries/score-jd-{company-slug}-{role-slug}-{YYYY-MM-DDTHH-MM-SS}.md:
---
Company: {company}
Role: {role}
URL: {url if available}
Date: {today YYYY-MM-DD}
JD File: {path to saved JD if applicable}
---
# JD Score: {Company} — {Role}
**Overall Fit Score: {score}/100**
**Recommendation: {Apply/Consider/Referral Only/Skip}**
**Legitimacy: {High Confidence/Proceed with Caution/Suspicious}**
## A) Role Analysis
- **Archetype**: {type}
- **Level**: {JD level} vs {your target} — {match/over/under}
- **Remote**: {policy} vs {your preference} — {match/mismatch}
- **Top requirements**: {ranked list}
## B) Experience Match
| JD Requirement | Your Evidence | Strength |
|---------------|---------------|----------|
| {requirement} | {your experience + metrics} | Strong/Partial/Gap |
**Keywords covered**: {N}/{total} ({percentage}%)
**Keywords missing**: {list}
**Resume strategy**: {2-3 sentences on how to tailor — which experiences to lead with, which to reframe}
## C) Fit Score Breakdown
| Dimension | Score | Weight | Notes |
|-----------|-------|--------|-------|
| Requirements match | {n}/100 | 30% | {brief} |
| Level fit | {n}/100 | 20% | {brief} |
| Compensation | {n}/100 | {wt}% | {brief} |
| Location | {n}/100 | {wt}% | {brief} |
| Culture | {n}/100 | {wt}% | {brief} |
| Growth | {n}/100 | {wt}% | {brief} |
**Deal-breaker penalties**: {list or "none"}
**Salary estimate**: {range based on research}
## D) Legitimacy
**Assessment**: {tier}
- {signal 1}: {finding}
- {signal 2}: {finding}
After saving the score file, update the role status via API. Include the Role ID if it was provided in the prompt (look for "Role ID: ..." in the input). If no Role ID was given (manual scoring), omit the id field — the API will match by company+title or create a new entry.
curl -s -X POST http://localhost:8791/api/finding/open-roles/update-status \
-H 'Content-Type: application/json' \
-d '{"id":"{Role ID if provided, otherwise omit this field}","company":"{Company}","title":"{Role}","status":"scored","score":{overall score},"score_file":"entries/{score-filename}.md"}'
This links the scored JD file to the open role record.
write_to_blackboard path="log" value={"ts":"{now}","entry":"Scored JD: {Company} {Role} — {score}/100 ({recommendation})"} log_entry="score-jd complete"
Your response must be concise:
{Company} — {Role}: {score}/100 → {recommendation} ({legitimacy})
Top matches: {2-3 strongest experience-to-requirement matches} Gaps to address: {2-3 key gaps with mitigation} Resume strategy: {1-2 sentences}
Do NOT include the full experience match table, file paths, or internal details in chat. The full report is saved for the resume and interview agents to read.
Conversational guided fill of context files. Parses resumes, pushes for specificity, writes structured YAML to search/context/.
Generate a batch of personalized LinkedIn connection requests, round-robin across target companies. Each message under 300 chars.
Generate a 3-message referral request sequence for a specific contact. Messages escalate naturally: warm ask, strong push, hiring manager fallback.
Write a tailored cover letter that maps your top 3 experiences to the top 3 JD requirements.
Generate a tailored resume from a job description. Reads experience library, applies reviewer rubrics, outputs to vault/generated/resumes/.
Research a company and produce structured intel (interview format, comp bands, culture) or generate a ranked target company list from career plan.