How I Use Claude to Automate My Job Search

linkedin logo displayed on smartphone and laptop

How I Use Claude to Run My Job Search

I’ve been job hunting for a little while now. Anyone who’s done it recently knows it’s a part-time job on its own — tracking alerts from five different sources, figuring out which roles you’ve already applied for, etc.

I got tired of spending time and effort doing that manually. So I built a Claude workflow to do most of it for me.

The problem it solves

Job alerts pile up fast. LinkedIn sends a digest. Recruiters email you directly. Greenhouse and Lever fire off notifications. Job boards send their own alerts. By the time I sat down each week to review everything, I’d have 40+ emails across multiple threads, half of which were duplicates or companies I’d already contacted.

I was also maintaining a tracker doc in Google Drive — companies I’d applied for. Keeping that in sync manually was its own problem. I’d apply for a job and forget to update the doc. Then I’d get another alert for the same role two weeks later and waste ten minutes figuring out whether I’d already applied.

What you need to set it up

Three connections in Claude:

  • Gmail — so Claude can search your inbox for job alerts and application confirmations
  • Google Drive — to read and update your tracker doc
  • Web search — to look up company funding stage and estimate comp when it’s not posted

You also maintain a file yourself: a Google Drive doc to track applications, which the workflow reads.

What the workflow does

The skill hits Gmail across several search queries simultaneously — LinkedIn digests, ATS notifications from Greenhouse and Lever, direct recruiter outreach, and job board alerts. It pulls the company name, role title, salary (if listed), and a link for each.

Then it deduplicates. Same company, same title showing up from multiple sources — it keeps the best version and drops the rest.

Next, it cross-references your Google Drive tracker. Anything already in the list gets pulled out.

For what’s left, it filters on whatever criteria matter to you — company type, location, comp floor, role level. Roles that don’t clear your bar get dropped. For roles without posted salaries, it estimates from public sources and makes a call.

It also checks Gmail for application confirmation emails — sometimes you’ve applied but forgot to update the tracker. Those get auto-appended to the doc and removed from the output, so you don’t see them again.

Finally, it looks for warm contacts at each remaining company from a file you maintain. That doesn’t change the ranking, but it surfaces the information so you know before you apply whether someone can refer you.

What I’ve learned from using it

I run this twice a week, not daily. Daily creates more urgency than you can actually act on, and you start treating good opportunities like tasks to process rather than decisions to make thoughtfully.

The hardest part of the job search is still the part that the tool can’t do. Deciding whether a company is one you actually want to work at. Writing a cover note that sounds like you and not a template. Asking good questions in interviews. Knowing when to walk away from a process that’s going nowhere.

But the mechanical overhead — sorting, deduplicating, tracking, cross-referencing — that’s fully automated now. It probably saves me four or five hours a week. More importantly, it means I’m spending that time thinking about the right things rather than reviewing emails, sorting out duplicates, maintaining a tracking document, etc.

If you’re running a search and you’re not doing something like this, you’re leaving effort and time on the table. The tools exist. The lost opportunity cost is real. You could be spending that time vibe coding on your favorite pet project. The only barrier is setting it up.

Needed improvements

I haven’t done this yet, but I plan to reformat the already-applied doc into JSON to make it easy for the LLM to encode/retrieve, and also have the skill output the ones to update in JSON format so I can just copy/paste it into the file.

The Claude skill file

Here’s a starting point for building the skill yourself. Replace the bracketed placeholders with your own criteria:

# Job Search Skill
Triggered by "search for jobs".
## Your criteria
- **Role types:** [PUT YOUR ROLES HERE such as Senior Engineer]
- **Comp floor:** [PUT YOUR COMP MINIMUM HERE such as >=$150K]
- **Company type:** [PUT YOUR COMPANY CRITERIA HERE such as series C+ and public]
- **Locations:** [PUT YOUR LOCATIONS HERE such as Remote, Hybrid, San Francisco, etc]
## Step 1 — Search Gmail simultaneously
Run these searches in parallel:
- LinkedIn digests: `subject:(LinkedIn job alert OR job matches for you) newer_than:30d`
- ATS emails: `from:(greenhouse.io OR lever.co OR ashbyhq.com OR workday.com) newer_than:30d`
- Job board alerts: `subject:(job alert OR hiring OR opening) newer_than:30d`
- Recruiter outreach: `subject:(opportunity OR role OR position) from:(recruiting OR recruiter) newer_than:30d`
Extract from each: company name, role title, salary if listed, job link.
## Step 2 — Deduplicate
Same company + role from multiple sources: keep the most complete version.
## Step 3 — Cross-reference your tracker
Fetch your tracker doc: [YOUR GOOGLE DRIVE DOC ID]
Remove any company/role combinations already listed there.
## Step 4 — Filter by your criteria
For each remaining job:
- Company type check: use web search if uncertain (`[COMPANY] funding stage 2024 2025`)
- Comp check: if not posted, estimate via `[COMPANY] [ROLE] salary site:levels.fyi OR site:glassdoor.com`
- Drop anything that doesn't meet your bar.
## Step 5 — Check for prior applications
For each remaining job, search Gmail:
`subject:(confirmation OR applied OR thank you for applying) [COMPANY NAME] newer_than:365d`
- Already applied → append to tracker, remove from output.
## Step 6 — Rank and output
Rank by [YOUR PRIORITY ORDER, e.g. title tier, then recency].
Format each result:
- Role Title — Company — Comp (stated or estimated)
- Link
- Location
- Status: Ready to apply
Include summary: total found, already applied, filtered out, ready to apply.

Leave a Reply

Discover more from Wayne Haber | Engineering Leader

Subscribe now to keep reading and get access to the full archive.

Continue reading