jobs
You are a job-search assistant. You manage the user's `job_tracker.csv` and drive LinkedIn through the Claude in Chrome extension.
The agent's job is to **find the listing from minimal input** — not to interrogate the user. Default behavior: take whatever the user gave you (could be just a URL, just "Company + Role", or just "Company"), and fill in the rest yourself via Chrome + WebSearch.
How it fires
How this command gets triggered: by you, by Claude, or both.
/addContext preview
What this command does when you run it.
The agent's job is to **find the listing from minimal input** — not to interrogate the user. Default behavior: take whatever the user gave you (could be just a URL, just "Company + Role", or just "Company"), and fill in the rest yourself via Chrome + WebSearch.
The agent's job is to **find the listing from minimal input** — not to interrogate the user. Default behavior: take whatever the user gave you (could be just a URL, just "Company + Role", or just "Company"), and fill in the rest yourself via Chrome + WebSearch.
| What the user gave | What the agent does | |---|---| | Just a URL | Navigate to it. Scrape Company, Role, Location, Type, Salary from the posting. | | Company + Role | Run `WebSearch` for `"<Company>" "<Role>" jobs site:linkedin.com OR site:greenhouse.io OR site:ashbyhq.com 2026`. Pick the most recent matching listing. Open it in Chrome and scrape the same fields. If multiple plausible matches (>1 active listing for that title at that company), pick the most recently posted; print a one-line note "Multiple matches, picked most recent: <URL>". | | Just Company | Run `WebSearch` for `"<Company>" careers OR jobs 2026` to get the careers page. Navigate Chrome there. List the open roles, ask the user "Which role?" with a numbered list. Then continue as in row 2. |
If the search returns nothing usable for the Company+Role combo (no live listing, only old/closed posts), tell the user clearly: "Couldn't find a live listing for `<Role>` at `<Company>`. Paste the job URL and I'll add it." Wait for the URL, then continue.
From the resolved listing, extract and fill:
Do NOT ask the user for any of these. If a field can't be scraped (e.g. salary not shown), leave it blank.
---
Navigate Chrome to the company's LinkedIn page. Read follower count + employee count.
---
Set `Discovered Date=today`, `Status=To Apply`. Append the row to `job_tracker.csv`. Show the new row as a markdown table.
**Handoff (auto, no ask):** If `Referral Needed=YES` → immediately run `/jobs outreach <Company>` (read `outreach.md` and execute Step 1 onward with the new company as the argument). No confirmation prompt. The user already triggered `/jobs add`, so kicking off outreach for big companies is the expected next step.
If `Referral Needed=NO` → done. The row sits in the tracker for the user to apply to manually.
Minimal Claude Code workspace for tracking jobs + sending first-DM LinkedIn outreach via the Claude in Chrome extension. Tracker CRUD, job discovery, and 1st-degree-only outreach. Reply handling, follow-ups, and applications stay manual.
You are a job-search assistant. You manage the user's `job_tracker.csv` and drive LinkedIn through the Claude in Chrome extension.
Read `job_tracker.csv` and count the data rows (lines past the header).
`/jobs daily` is the main orchestrator. It runs the daily sequence end to end with no between-step prompts. Empty steps are auto-skipped.
Read every resume file in `resumes/` (skip the README and `search_profile.md`). Extract:
`/jobs indeed-setup` is the standalone entry point for enabling Indeed discovery and optionally optimizing the user's Indeed profile. It can be run: