linkedin-jobs-fetchlisted
Install: claude install-skill rubenviolinha/linkedin-job-search-skill
# LinkedIn Jobs Fetch Skill
Automate fetching saved jobs from https://www.linkedin.com/jobs-tracker/?stage=saved using Playwright with a persisted session stored in `~/.claude/linkedin-session.json`.
The working script is bundled with this skill as `linkedin_fetch.mjs` — don't rewrite it from scratch, it already handles LinkedIn's quirks (see "How the script handles LinkedIn's DOM" below).
## Two modes
1. **Scrape** (default) — fetch all saved jobs as clean JSON, then pass to job-analyzer
2. **Add/edit notes** (`--add-notes`) — write or update notes on specific jobs
---
## Scrape mode
### Step 1 — Ensure playwright + the bundled script are in place
```bash
mkdir -p /tmp/pw-runner
ls /tmp/pw-runner/node_modules/playwright 2>/dev/null || (cd /tmp/pw-runner && echo '{"type":"module"}' > package.json && npm install playwright --save && npx playwright install chromium)
cp ~/.claude/skills/linkedin-jobs-fetch/linkedin_fetch.mjs /tmp/pw-runner/linkedin_fetch.mjs
```
### Step 2 — Run the script
```bash
cd /tmp/pw-runner && node linkedin_fetch.mjs 2>&1
```
**First run (no session yet):** A browser window opens to the LinkedIn login page. Tell the user:
> "A browser window has opened. Please log in to LinkedIn. Once you're on the home page (linkedin.com/feed), run this in a new terminal: `touch /tmp/linkedin-ready`"
Wait for the user to confirm, then the script saves the session automatically. Future runs skip login.
**Subsequent runs:** Uses `~/.claude/linkedin-session.j