Skip to content
Automation
Skill

/rescan-skipped

Re-score a campaign's skipped jobs and promote the eligible ones to `approved` for later applying. Recovers jobs wrongly dropped for location, a sparse JD, 1099, or seniority. Does not apply.

From plugin
jobpilot
10432 skills4 agents2 MCP

Claude Code

$ npx -y skills add suxrobGM/jobpilot --skill rescan-skipped --agent claude-code

SKILL.md

rescan-skipped.SKILL.md
name: rescan-skipped
description: Re-score a feed's skipped jobs and promote the eligible ones to approved for later applying. Recovers jobs wrongly dropped for location, a sparse posting, 1099, or seniority. Does not apply.
argument-hint: "<feed-id> [--jobs key1,key2,...] [--min-score N]"

Rescan skipped

Re-score a feed's `skipped` jobs and move the eligible ones to `approved`. Never apply and never change the feed's status.

Setup

Follow `../_shared/setup.md`. `GET /api/feeds/<feed-id>`. `THRESHOLD` is `--min-score` when given, else the feed's `config.minScore`, else `GET /api/pilot` `config.minScore`.

1. Targets

Every `skipped` job (`GET /api/feeds/<feed-id>/jobs --query status=skipped`), or only the `--jobs` keys, each read with `GET /api/feeds/<feed-id>/jobs/<key>`. A 404 there means the key is wrong: say so, never that the job was removed. Leave these alone:

  • Always: `skipReason` starting `Already applied`, `CAPTCHA`, `Payment required` or `No visa

sponsorship (JD:`, or one citing a stated citizenship or clearance requirement.

  • Whole-feed runs (no `--jobs`) also leave the user's own choices: `Removed by user`, `Not

selected by user`, `Skipped by user...`, `User cancelled...`, `Max applications limit reached`, `Feed paused by user`.

Low-score, zero-score and reason-less jobs are all targets: their stored score came from the run that wrongly skipped them. Count the targets first and process every one.

2. Each job

1. **Brief**: parse the stored `brief`. Rich means non-empty `skills` and `requirements` or `responsibilities`. 2. **Read again** when the brief is thin or the old reason was invalid (location, sparse posting, 1099, seniority): open the posting (narrowed snapshot; sign in per `../_shared/auth.md` if walled) and rebuild the brief. 3. **Score**: always a fresh `POST /api/fit-scores` `{brief, minScore:<THRESHOLD>}`. `verdict` `trust`: use `score`; `deliberate`: reason from `strongMatches`, `partialMatches` and `gaps`. Eligibility follows `../_shared/eligibility.md`; a low score alone (common at defense employers) is not a disqualifier. 4. **Decide** and write `$JOBPILOT_TEMP/rescan-<key>.json`:

  • Eligible and `score >= THRESHOLD`: `{"decision":"approved","matchScore":<n>,"matchReason":"<one

line>","brief":"<brief JSON string>","description":"<posting text or empty>"}`.

  • Below threshold after a fair read: `decision:"skipped"`, the new score and reason, and

`skipReason:"Below minimum match score (<score> < <THRESHOLD>)"`.

  • A stated citizenship, clearance or no-sponsorship bar found on rereading: `decision:"skipped"`

with that reason.

   jobpilot-api POST /api/feeds/<feed-id>/jobs/<key>/rescan --data @"$JOBPILOT_TEMP/rescan-<key>.json"

3. Finish

Promoted + left skipped + left alone must equal the target count; keep going until it does. Print a short table of promoted and still-skipped jobs with reasons, plus the tally ("228 skipped, 226 targets: 19 promoted, 207 left skipped"). Point the user to `$JOBPILOT_WEB/pipeline?feed=<feed-id>` to apply the promoted jobs.

Read more
@suxrobgm
Ships withjobpilot

An AI agent that applies to jobs for you, using the Claude or Codex subscription you already have. Open JobPilot → · Docs · How it works · Changelog Watch it full size → Applying for jobs takes hours.

10432 skills4 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
104
Star history of suxrobGM/jobpilot on GitHub, a chart by star-history.com

Other skills on jobpilot.

add-api-route

add-api-route

Add a new JobPilot API route or module the standard way - contracts schema, controller, service, response schema, optional web…

@suxrobgm@suxrobgmInstall Skill
commit

commit

Write a git commit with a one-sentence Conventional Commits subject and no narrative body. Use whenever the user asks to commit,…

@suxrobgm@suxrobgmInstall Skill
db-migrate

db-migrate

Create and apply a Prisma migration safely against the remote (tunneled) PostgreSQL. Use for schema changes - "create a…

@suxrobgm@suxrobgmInstall Skill
knip-cleanup

knip-cleanup

Add knip to a TypeScript project and use it to remove dead exports, collapse pass-through barrels, and narrow every export to…

@suxrobgm@suxrobgmInstall Skill
pr-review

pr-review

Review a JobPilot pull request on its own branch, resolve merge conflicts with main, remove over-engineering, redundancy,…

@suxrobgm@suxrobgmInstall Skill
release

release

Bump the unified JobPilot version (host + plugin), update the changelog, commit, and tag a new release

@suxrobgm@suxrobgmInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n11d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about rescan-skipped.

Which coding agents can use rescan-skipped?
rescan-skipped 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.