Skip to content

/find-jobs

Search live job boards for roles that match the master resume, then score and rank them by ATS and HR fit. Use when the user wants to discover or find jobs, search openings by title or location, wants remote roles, or asks which live listings best match their background. Uses

From plugin
resume-builder
959 skills4 agents9 commands1 hook
+1

Claude Code

$ npx -y skills add jananthan30/Resume-Builder --skill find-jobs --agent claude-code

SKILL.md

find-jobs.SKILL.md
name: find-jobs
description: Search live job boards for roles that match the master resume, then score and rank them by ATS and HR fit. Use when the user wants to discover or find jobs, search openings by title or location, wants remote roles, or asks which live listings best match their background. Uses the discover_jobs MCP tool and never invents listings.

Find Jobs — Discover & Score

Search live job boards for roles that match the user's resume, scored and ranked by fit.

Input

The user provides a search query (job title, location, and/or a remote preference) when invoking this skill; it may also be blank.

Instructions

You are helping the user discover relevant job opportunities scored against their resume using the `discover_jobs` MCP tool. Follow this workflow precisely.

Step 1: Read Master Resume

Read `config.json` to get `master_resume_path`. Extract the full resume text:

  • `.docx` files: use the `extract_text` MCP tool
  • `.pdf`, `.md`, `.txt` files: read directly

If `config.json` is missing or `master_resume_path` is not set, ask the user to paste their resume text directly.

Step 2: Parse the Search Query

From the user's query, extract:

  • **Job title**: the role to search for (e.g., "Senior Data Scientist", "Clinical Research Associate")
  • **Location**: city, state, or country if mentioned (e.g., "New York", "Boston", "remote")
  • **Remote preference**: if the user said "remote" or "remote only"

If the user provided no arguments at all, do NOT ask. Proceed with empty job_title — the AI will analyze the resume and suggest search terms automatically.

Examples of valid inputs:

  • `Senior Data Scientist in New York`
  • `Clinical Research Associate Boston`
  • `Software Engineer remote`
  • `Medical Director` (no location)
  • _(blank)_ — AI analyzes resume and picks the best search

Step 3: Call discover_jobs

Call the `discover_jobs` MCP tool with:

  • `resume_text`: full resume text from Step 1
  • `job_title`: extracted from Step 2 (empty string if none given)
  • `location`: extracted from Step 2 (empty string if none)
  • `remote_only`: true if user said remote only, false otherwise
  • `max_results`: 10

Step 4: Handle Errors

**If `setup_required` is true** (no API keys): Show this message exactly:

Job discovery needs API keys to search live job boards.

Option 1 — Cloud (easiest, no setup):
  Sign up at https://getresumehq.com
  Then run the setup skill to link your account.

Option 2 — Local (free):
  Get free Adzuna keys at https://developer.adzuna.com/
  Add to your .env file:
    ADZUNA_APP_ID=your_app_id
    ADZUNA_APP_KEY=your_app_key
  Remotive (remote jobs only) works without any key.

**If `jobs` is empty**: Tell the user no results were found and suggest trying a broader job title or different location.

Step 5: Display Results

If the response includes `ai_analysis`, show it first:

Analyzed your resume:
  Recent role:   [recent_title]
  Career level:  [career_level]
  Domain:        [domain]
  Searched for:  [search_queries_used joined with ", "]

Then display the ranked jobs table:

╔═══╦══════════════════════════════════╦══════════════════╦═════╦═════╦════════════════════╗
║ # ║ Job Title                        ║ Company          ║ ATS ║ HR  ║ Salary             ║
╠═══╬══════════════════════════════════╬══════════════════╬═════╬═════╬════════════════════╣
║ 1 ║ Senior Data Scientist            ║ Pfizer           ║ 82% ║ 74% ║ $120k–$150k        ║
║ 2 ║ Data Scientist II                ║ Goldman Sachs    ║ 79% ║ 71% ║ $110k–$140k        ║
╚═══╩══════════════════════════════════╩══════════════════╩═════╩═════╩════════════════════╝

For salary: show "$Xk–$Yk" if both min and max exist, "$Xk+" if only min, "Not listed" if neither.

For each job also show:

  • Location
  • Posted date (if available)
  • Apply link: `[Apply →](url)`
  • Top matched keywords (from `ats_detail.matched_keywords`, first 4)
  • Missing keywords (from `ats_detail.missing_keywords`, first 3) — show as "gaps"

Format each job card like this:

#1  Senior Data Scientist — Pfizer  (New York, NY)
    ATS: 82%  |  HR: 74%  |  $120k–$150k  |  Posted: 2026-02-28
    ✅ Matched: Python, SQL, Machine Learning, Clinical Trials
    ⚠️  Gaps: Spark, Databricks, AWS
    [Apply →](https://...)

Show attribution line at the bottom: `Powered by Adzuna` or `Powered by Adzuna & Remotive`

Step 6: Offer Next Steps

After showing results, offer:

What would you like to do next?

  A) Tailor my resume for job #1 → tailor-resume skill [paste JD]
  B) Generate a cover letter    → cover-letter skill [paste JD]
  C) Search again with different title or location
  D) Show full details for a specific job

If the user picks A or B, remind them to paste the full job description from the apply link since the search results only contain summaries.

Notes

  • Never make up job listings. Only show results returned by the tool.
  • If a job has `scoring_tier: "none"` (no description available), show ATS/HR as "N/A".
  • If HR score is 0 and there's an error in `hr_detail`, show HR as "N/A" rather than 0%.
  • The `attribution` field must always be shown — it's a legal requirement of the Adzuna API terms.
  • Do not show internal fields like `_light_score`, `source`, `id`, or `_combined` to the user.
Read more
@jananthan30
Ships withresume-builder

Every AI resume tool promises to "beat the ATS." This one has a harder rule: it never invents experience — and when a job is a genuine mismatch, it declines to tailor at all and tells you why.

959 skills4 agents1 MCP
Get the whole plugin, auto-invoked

Stars on GitHub

Momentum

stars in total
95
Star history of jananthan30/Resume-Builder on GitHub, a chart by star-history.com

Other skills on resume-builder.

batch-resume
Auto-invoked

batch-resume

Process multiple job descriptions from the batch_jds folder into tailored application packages, each produced by the native…

cover-letter
Auto-invoked

cover-letter

Create a compelling one-page, human-voice cover letter for a job description and generate the final DOCX. Use when the user wants…

job-fit
Auto-invoked

job-fit

Run the deterministic, digest-bound candidate-fit gate that scores the configured master resume against an exact job description…

resume-team
Auto-invoked

resume-team

Run the capability-isolated native Researcher, Writer, Auditor, and Editor runtime to publish a verified Markdown resume draft.…

resume
Auto-invoked

resume

Generate a tailored resume AND cover letter for a job description via the native four-role Resume Team, score both against ATS…

setup
Auto-invoked

setup

One-time setup for Resume Builder — Python dependencies, config.json, cloud or local scoring, and optional LLM features. Use once…

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about find-jobs.

Which coding agents can use find-jobs?
find-jobs installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.