Ryanhub - file viewer
filename: .cursor/skills/collect-leads/linkedin.md
branch: main
back to repo
# LinkedIn Jobs

## Before you start

1. Read `goal.md`, `profile/skills.md`, search keywords from goal.
2. Use Playwright MCP (persistent profile keeps login).

## Search URL

```
https://www.linkedin.com/jobs/search/?keywords={query}&f_TPR=r604800
```

Replace `{query}` with URL-encoded terms from goal.md. `f_TPR=r604800` = past week.

## Steps

1. Log in once if needed; save session to `data/browser/storage-state.json`.
2. Open search URL with keywords.
3. Scroll job cards; open promising listings.
4. Capture: title, company, location, salary if shown, full description, apply URL.
5. Skip if URL already in repo (`new_lead.py` rejects duplicates; check `data/leads.csv` optionally).
6. Run `scripts/new_lead.py` with extracted fields. Fill lead body + job-eval on the created file. Sync indexes.

## Hints

- Job cards: `.job-card-container`, `.jobs-search-results__list-item`
- Title: `.job-card-list__title`, `.job-details-jobs-unified-top-card__job-title`
- Company: `.job-card-container__company-name`

## Notes

- LinkedIn rate-limits — small batches.
- Prefer canonical job URL over redirects.