terry-li-hm

evaluate-job

0
0
# Install this skill:
npx skills add terry-li-hm/skills --skill "evaluate-job"

Install specific skill from multi-skill repository

# Description

Evaluate LinkedIn job postings for fit. This skill should be used when the user shares a LinkedIn job URL and wants analysis of whether to apply. Triggers on LinkedIn job links, "evaluate this role", or requests to analyze job fit.

# SKILL.md


name: evaluate-job
description: Evaluate LinkedIn job postings for fit. This skill should be used when the user shares a LinkedIn job URL and wants analysis of whether to apply. Triggers on LinkedIn job links, "evaluate this role", or requests to analyze job fit.
requires: browser-automation
platform_note: Requires browser automation with LinkedIn login. Works on Claude Code (Chrome MCP) and OpenClaw (browser tool). OpenCode needs external browser or tavily-extract fallback.


Evaluate Job

Analyze LinkedIn job postings against user's background, current pipeline health, and career criteria. Output a recommendation (APPLY/CONSIDER/PASS) with structured reasoning.

Workflow

  1. Navigate to job posting:
  2. OpenClaw: Use browser tool → snapshot or screenshot to read the page
  3. Claude Code: Use Chrome extension (profile="chrome") or web_fetch
  4. Fallback: mcporter call tavily.tavily-extract urls='["URL"]'
  5. Extract: company name, role title, requirements, responsibilities, preferred qualifications, salary if disclosed, applicant stats

Why browser over fetch for LinkedIn:
- Fetch/extract misses applicant stats (count, seniority breakdown) — requires being logged in
- Browser sees the full page as logged-in user, including competition metrics
- Can click "Show more" to expand full JD if needed

Extraction tip: read_page captures the full accessibility tree including content below the viewport — no scrolling needed. Just navigate, wait 2 seconds for load, then read_page once to get the complete JD.

  1. Check for duplicates (before full analysis):
  2. Search vault for existing note matching company + role (e.g., [[*Role* - *Company*]])
  3. Check [[Job Hunting]] "Applied Jobs" and "Passed On" sections for the company name
  4. If match found:
    • Show user what was found (existing note, application status, date)
    • Ask: "Already evaluated/applied to [match]. Proceed with analysis anyway?"
    • If user says no, stop early — no further analysis needed
  5. This prevents duplicate work and catches related roles at the same company

  6. Load context files (can run in parallel with step 1) — Check user's CLAUDE.md for background, credentials, differentiators, current situation, and job hunting status

  7. Analyze fit across dimensions (see Fit Dimensions below)

  8. Factor pipeline health:

  9. Healthy (5+ active, interviews scheduled): Maintain standards — PASS on poor fits
  10. Thin (<5 active, no interviews): Lower bar — CONSIDER "good enough" roles
  11. Consider urgency of user's situation when weighing trade-offs

  12. Check for red flags (feedback loop from /debrief):

  13. Review [[Job Hunting]] → Market Signals for relevant patterns:
    • Objections: What got pushback in similar roles?
    • Wins: What hooks landed that this role could use?
    • Persona Mismatches: Did similar roles expect different positioning?
  14. Review [[Job Hunting]] → Anti-Signals for known rejection patterns
  15. If role matches a pattern, flag it in analysis and factor into recommendation

  16. Output recommendation: APPLY, CONSIDER, or PASS with clear reasoning

  17. Review with Judge:

  18. Run evaluation through /judge with job-eval criteria
  19. Check: fit_analysis, red_flags, specificity, recommendation, career_direction
  20. If verdict is needs_work: revise analysis (max 2 iterations)
  21. Ensures recommendation is specific and actionable, not vague

  22. Create vault note — MANDATORY for ALL outcomes:

  23. Do this immediately after giving recommendation — don't wait for user to ask
  24. Filename: [[Role Title - Company]]
  25. MUST include full JD details: Copy requirements, responsibilities, qualifications verbatim from the posting
  26. Include: Fit analysis table, recommendation reasoning
  27. This creates a record for future reference, pattern recognition, and duplicate detection

  28. Update job tracking:

    • APPLY: Add to "Applied Jobs" or "To Apply" section in [[Job Hunting]]
    • PASS: Add to "Passed On" section with one-line reason
    • CONSIDER: Note in appropriate section with context
  29. If APPLY:

    • Easy Apply roles: Ask whether to proceed with application now
    • Company website roles: Add to "To Apply" list (external ATS requires more effort; note for later)

Note: No reliable way to close browser tabs via MCP — leave tab open for user to close manually.

Fit Dimensions

Dimension Considerations
Seniority Step up, lateral, or step down from current level?
Role Focus Matches core skills (AI/ML, DS, etc.) or pivot (BI, PM, DE)?
Industry Strategic value? Transferable credibility?
Tech Stack Alignment with user's technical strengths?
Competition Applicant count, seniority distribution, education levels
Salary Compare to current compensation if known
Anti-Signal Does this match a known rejection pattern?

Note Template

# [Role Title], [Company]

**Source:** [LinkedIn URL]
**Discovered:** [Date]
**Status:** [Applied/Passed/Considering]

## Job Details

**Title:**
**Company:**
**Location:**
**Salary:** [if disclosed]
**Applicants:** [count] ([seniority breakdown])

## Requirements

[COPY FULL REQUIREMENTS FROM JD - verbatim bullet points]

## Responsibilities

[COPY FULL RESPONSIBILITIES FROM JD - verbatim bullet points]

## Preferred/Nice-to-Have

[If listed separately in JD]

## Fit Analysis

| Dimension | Assessment | Notes |
|-----------|------------|-------|
| Seniority | ✅/⚠️/❌ | |
| Role Focus | ✅/⚠️/❌ | |
| Industry | ✅/⚠️/❌ | |
| Tech Stack | ✅/⚠️/❌ | |
| Competition | ✅/⚠️/❌ | |
| Salary | ✅/⚠️/❌ | |
| Anti-Signal | ✅/⚠️/❌ | |

## Recommendation

**[APPLY/CONSIDER/PASS]**

[Reasoning]

Passed On Format

- [[Role Title - Company]] (Date) - [One-line reason]

Batch Processing

For multiple jobs, run this skill sequentially on each URL. Start with quick duplicate check before full analysis.

  • chrome-automation — Browser best practices (read_page, wait times, tab creation)
  • vault-pathfinding — Vault paths and conventions (where to read/write notes)
  • /review-saved-jobs — Batch processing of LinkedIn saved jobs (chains to this skill)
  • /debrief — Captures interview signals that feed back into this skill's red flag check

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.