بنقرة واحدة
scan-jobs
Scan a job portal for matching projects/roles, assess fit against profile, track evaluated ads
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Scan a job portal for matching projects/roles, assess fit against profile, track evaluated ads
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
Debrief a voice simulation — analyze transcript against coached answers, track anti-patterns, log session
Guided coaching conversation to discover your professional identity, strengths, values, and narrative patterns
Import an existing CV into structured data files — additive merge with existing data, can be run repeatedly
Multi-perspective deep-dive CV review (recruiter, hiring manager, competitor, skeptic, copy editor, source data auditor)
Fast quality-gate review of a generated CV against its target role
Generate a recruiter simulation prompt for the Claude App (voice mode) from a CV and job ad URL
استنادا إلى تصنيف SOC المهني
| name | scan-jobs |
| description | Scan a job portal for matching projects/roles, assess fit against profile, track evaluated ads |
| argument-hint | <portal-url-or-name> [search query] |
| user-invocable | true |
| allowed-tools | WebFetch(*), Read(*), Edit(.claude/skills/scan-jobs/cache.md), Write(.claude/skills/scan-jobs/cache.md) |
Scan a job portal for projects/roles matching the candidate's profile, deduplicate against a persistent cache of already-evaluated ads, assess fit for new listings, and output a ranked table with links.
$ARGUMENTS: <portal> [search query]
upwork.com, indeed.com, or a full search URL)Examples:
/scan-jobs upwork.com — scan with auto-derived query/scan-jobs upwork.com "project manager" OR "product owner"/scan-jobs indeed.com "data engineer" remote/scan-jobs https://www.example.com/jobs?q=frontend&type=contract — full search URLRead the candidate's profile to build a matching baseline. Read in parallel:
data/project-index.md — project overview for matchingdata/skills.md — skill inventory with experience levelsdata/certifications.md — active certificationsdata/profile.md — languages, location, availability, ratesBuild a mental profile summary from these files:
Derive disqualifiers from the profile:
If no search query was provided, derive a default query from the top 2-3 Expert-rated skills, joined with OR.
Read the evaluated ads cache:
.claude/skills/scan-jobs/cache.md
Parse two things:
If a full search URL was provided: Fetch it directly.
If only a portal domain was provided:
data/profile.md (e.g. freelance, contract, permanent — if the portal supports this filter)data/profile.md (remote, hybrid, onsite — if the portal supports this filter)WebFetch prompt — use this exact prompt to maximise data extraction:
Extract ALL project/job listings from this page as a structured list. For each listing extract:
1. EXACT project title
2. Company/intermediary name
3. Start date
4. Duration
5. Location and remote percentage
6. ALL skills/technologies mentioned
7. Daily/hourly rate if shown
8. Industry/sector
9. The href URL path for the project detail page (look for <a> tags linking to detail pages)
Number each listing. Extract every single one on the page.
If the portal's structure is too complex to parse or requires authentication, inform the user and suggest they provide a direct search URL with results visible.
Compare each ad from the search results against the cache (match by Title + Company, case-insensitive, fuzzy). If already evaluated, skip it entirely.
Report: "Found X total, Z already in cache, N new ads to evaluate."
If there are zero new ads, report that and stop — do not re-evaluate cached ads.
For each new (non-cached) ad, fetch its detail page to read the actual listing text. Do NOT assess fit based only on the search result tags — the detail page contains the real requirements, which often differ from the tag summary.
Fetch all detail pages in parallel (they are independent). Use this WebFetch prompt:
Extract the COMPLETE listing text in the original language. Include every section: description, tasks/responsibilities, requirements/qualifications, nice-to-haves, location/remote details, and any other content. Do not summarize — reproduce the full text. Also extract: contract type, start date, duration, rate if shown, and language requirements.
If a detail URL was not extracted from the search results, skip that ad's detail fetch — assess it from search results only (note this limitation in the assessment).
For each new (uncached) ad, assess fit against the candidate's profile using the detail page text from Step 4b:
Fit scoring guidelines:
Automatic disqualifiers (mark as skip regardless of tech match):
Status values:
applied — application sentshortlisted — worth applying, high fitmaybe — borderline, worth exploringskip — not a matchdead — was a match but disqualified (e.g. requirement discovered later)Present results as a markdown table:
## Job Scan — [portal] — [date]
Query: [query] | Period: last N days | Filter: [filters applied]
Found: X total | Z cached | **N new**
### New Listings
| # | Role | Company | Start | Duration | Key Skills | Fit | Status | Link |
|---|------|---------|-------|----------|------------|-----|--------|------|
| 1 | ... | ... | ... | ... | ... | 80% | shortlisted | [Details](URL) |
### Shortlist (including previously cached high-fit ads)
| Priority | Role | Company | Fit | Status | Link |
|----------|------|---------|-----|--------|------|
| 1 | ... | ... | 80% | shortlisted | [Details](URL) |
The Shortlist section should include ALL ads with status shortlisted or applied from both new evaluations AND the cache — this gives a running view of actionable opportunities.
Append all newly evaluated ads to the cache file. Use the Edit tool to add rows to the table in cache.md.
Important:
— if no URL was extracted.End with a brief summary: