← ClaudeAtlas

find-jobslisted

Scan LinkedIn for new roles matching the user's saved search criteria, dedupe against the Role Pipeline artifact's database, add new matches, and refresh listings still open. Use when the user runs /find-jobs or asks to check for new job postings.
robbiehaynes/job-search · ★ 0 · Data & Documents · score 62
Install: claude install-skill robbiehaynes/job-search
# find-jobs Re-scans LinkedIn for roles matching the saved criteria in `search-criteria.json` (same directory as this file), adds genuinely new postings to the **Role Pipeline** artifact's shared database, and refreshes `lastSeenAt` on postings still live. This is Phase 1 of the job-search assistant: **collection only** — no CV tailoring or application filling happens here. The artifact is the source of truth (`db` capability, collection `jobs`, doc id `<source>_<sourceId>`, e.g. `linkedin_4462785422`). `jobs.csv` in the repo root is a generated export, never edited directly. ## Steps 1. **Load config.** Read `search-criteria.json` for `roleKeywords`, `locations` (each with a `group`, a LinkedIn location query string, an optional `workTypeFilter`, and `matchTerms` used to classify listings), `postedWithinDays`, and `fitSignals`. 2. **Load Chrome tools.** If `mcp__claude-in-chrome__*` tools aren't loaded yet, load them in one `ToolSearch` call: `tabs_context_mcp`, `navigate`, `tabs_create_mcp`, `tabs_close_mcp`, `get_page_text`, `read_page`, `computer`. 3. **Load existing jobs.** Use the Artifact tool's `read_db` with `db_op: "query"` on `collection: "jobs"` (paginate with `query.cursor` if `next_cursor` is returned) to get every existing doc id and `title`/`company`/`url`, so new listings can be deduped without extra network calls per listing. 3b. **Load the exclusion list.** Read `excluded-jobs.json` (same directory as this file — an array of `{source, sourceId, title