| name | job-scanner |
| description | Search for jobs, deduplicate, score matches against career profile, and report results. Use when asked to find jobs, search, or check what's new. |
Job Scanner -- Find and Score Matches
When To Run
- When asked to "find jobs", "search", "what's new", or a specific role/company is mentioned
Workflow
Step 1: Parse the Query
Extract from the user's request:
- Job title or role keywords
- Location preference (or check career-profile for default)
- Remote preference
- Any company-specific requests
Step 2: Search Sources
Use search_jobs with the parsed query. The plugin searches via SearXNG, which aggregates multiple job boards.
Step 3: Expire Stale Listings
Run expire_stale_jobs to mark listings older than 60 days. Don't show expired jobs in results.
Step 4: Deduplicate
Skip any job that matches an existing application (same company + similar title). Use get_applications to check.
Step 5: Score Matches
For each new job, score against the career profile:
- Skills match (how many required skills does the user have?)
- Location match (remote preference, city match)
- Salary range match (if listed)
- Company size/industry preference match
Step 6: Report Results
Present top 10 matches, sorted by score:
"Found [X] new positions:
-
[Title] at [Company] -- [Location] -- Score: [X]/100
[1-line why this matches]
-
..."
If no new results: "No new positions matching your profile. [X] active applications in your pipeline."
Rules
- Always check for duplicates before reporting
- Sort by match score, highest first
- Never fabricate job listings