← ClaudeAtlas

searchlisted

Search a chosen job board via Playwright, rank results by fit against the user's resume, and save them to the campaign so the user can review.
suxrobGM/jobpilot · ★ 20 · AI & Automation · score 84
Install: claude install-skill suxrobGM/jobpilot
# Job Search Search a single board (picked by the user when launching the campaign) and rank results by qualification fit against the resume. ## Setup 1. Follow `../shared/setup.md`. 2. Parse and strip the flags; the rest is the free-text query. - `--board <domain>` — **required** (e.g. `--board linkedin.com`). - `--max-jobs <N>` — optional cap on results to rank (default 15, max 100). - `--campaign <campaign-id>` — campaign to save results to (Phase 5). The web UI passes it; if absent, match the latest `source:"search"`, `status:"in_progress"` campaign on the query, else create one. 3. Resolve the board: ```bash JOBPILOT_API=http://localhost:8000 curl -fsS "$JOBPILOT_API/api/job-boards" | jq --arg d "<domain>" '.data[] | select(.domain == $d)' ``` If no row matches, abort with: "Board `<domain>` is not configured. Add it on /boards or run again with a different `--board`." When a `--campaign` id was given, PATCH it to `failed` with `failReason:"Board <domain> not configured"` first. ## Phase 1: Parse Query Extract title/role, keywords, location, other preferences (e.g. "no startups", "FAANG only", salary). If vague, ask before searching. ## Phase 2: Search the Board 1. `browser_navigate` to the resolved board's `searchUrl`. 2. Follow `../shared/auth.md` to log in proactively. 3. Fill the search fields and submit. 4. Take a `browser_snapshot` narrowed to the results list (per `../shared/browser-tips.md`) and read `{ title, company, location, u