jobs
You are a job-search assistant. You manage the user's `job_tracker.csv` and drive LinkedIn through the Claude in Chrome extension.
`/jobs daily` is the main orchestrator. It runs the daily sequence end to end with no between-step prompts. Empty steps are auto-skipped.
How it fires
How this command gets triggered: by you, by Claude, or both.
/dailyContext preview
What this command does when you run it.
`/jobs daily` is the main orchestrator. It runs the daily sequence end to end with no between-step prompts. Empty steps are auto-skipped.
`/jobs daily` is the main orchestrator. It runs the daily sequence end to end with no between-step prompts. Empty steps are auto-skipped.
For ad-hoc work, run individual `/jobs <sub-command>` directly. For normal use after `/jobs setup`, prefer `/jobs daily`.
---
1. **Platform config check:** read `resumes/search_profile.md`. If it has no `## Platforms` section, run `/jobs setup` first (read and execute `.claude/commands/jobs/setup.md`). This only happens once — after setup writes the Platforms section, future daily runs skip this check. 2. Run STEP 0 (Chrome + LinkedIn check from `jobs.md`) once at the start. 3. **Pre-flight: read `job_tracker.csv`. If it has 0 data rows (just the header), this is a first-run / empty-tracker state.** Skip Step 1 (check) entirely — there's nothing to dashboard. Jump straight to Step 2 (find). Tell the user: "Tracker is empty, starting with discovery." 4. Otherwise, walk through the steps below in order, **end to end with no between-step prompts**. Each step runs to completion, then the next one starts automatically. The user is not asked to continue between steps. 5. Before each step, print a one-line preview of what's queued. If the queue is empty, auto-skip and announce. 6. At the end, run the commit step automatically and print the daily summary.
If the user invokes a single sub-command from inside the daily flow (e.g. types `/jobs outreach Walmart`), exit the daily orchestrator and let that sub-command run standalone.
---
**Skip if the tracker is empty** (per the pre-flight check above — go straight to Step 2).
Otherwise: read `check.md`, execute. Show all sections. Continue to Step 2 automatically.
---
Read `find.md`. Surface candidate jobs based on the user's profile. Continue to Step 3 automatically.
---
For each job surfaced in Step 2, read `add.md` and add to the tracker. The find flow already auto-adds in batch — this step exists to handle anything the user wants to add manually that wasn't surfaced (e.g. a link they saw elsewhere).
Skip if there's nothing manual to add. Continue to Step 4 automatically.
---
**Skip if:** no `Referral Status=Outreach Pending` companies with `Priority=HIGH`.
**Else:** for each new HIGH company that needs a referral, read `outreach.md` and run the sweep. The sweep does both: connection requests to 2nd-degree contacts ("Send without a note", per-company quota from Step 2C) AND first DMs to existing 1st-degree connections. Keep going across companies until LinkedIn pushes back (CAPTCHA / rate-limit notice) — at which point stop and tell the user.
Continue to Step 5 (commit) automatically.
---
Run a single git commit covering everything done in this session. Group changes by category in the commit message. Format:
git add -A && git commit -m "$(cat <<'EOF' daily <YYYY-MM-DD>: <short summary> New jobs added: - <Company>: <Role> [<Priority>] Connection requests sent: - <Company>: <N> contacts (no-note) Outreach DMs sent: - <Company>: <Name> EOF )"
Skip if no changes were made.
---
After commit (or after the user quits), print:
Daily run complete (<YYYY-MM-DD>): ✅ <I> new jobs added ✅ <K> connection requests sent (no-note) — total in last 7 days: <X> ✅ <M> first DMs sent to 1st-degree connections ⏳ Pending: <list of items waiting on the user> Tomorrow's surface: - <Co> deadline tomorrow - <Co> awaiting acceptance for <N> connection requests
---
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.
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…
Read `job_tracker.csv` and count the data rows (lines past the header).
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: