A job scout with agents in Claude Code
Every morning, before I'm even up, an agent has already checked a few job boards, dropped the ones that don't fit, removed the repeats, and left me a table with the good ones. I touched nothing. What does the work isn't a scraper. It's knowing how to hand the task to an agent.
An agent, here, is just Claude Code doing a multi-step task on its own. Instead of coding each step (open this site, pull this field, compare, save), you describe the whole job once and it handles the rest: it reads the pages, filters, removes duplicates, and writes the result. We'll set it up for jobs, but the pattern works for any repetitive search-and-sort task.
Why hand it the whole job instead of coding the steps: the moment a board changes its layout, a scripted scraper breaks and you're back in the code. The agent reads each page fresh on every run, so it bends with the sites instead of snapping. You maintain the criteria; it maintains the reading.
1. Describe the job, not the steps
Open Claude Code in an empty folder and give it the full task, clear and with criteria. The more specific the filter, the better the list:
> Check these three job boards:
[link 1], [link 2], [link 3].
Keep only remote dev or AI-automation roles,
open to LatAm, paying 2000 USD/month or more
(or with no salary listed).
Remove the repeats. Write the result to jobs.md
as a table: Role | Company | Link | Fit (one line). 2. Let it work
Claude Code reads each board (it uses Firecrawl for that, covered in
scrape a web page to JSON), applies your
criteria, drops what doesn't fit, merges the duplicates, and writes the file. You
just watch what it's doing and give it the go-ahead. When it's done,
jobs.md looks like this:
| Role | Company | Link | Fit |
|---------------------|-----------|----------|---------------------------|
| AI Automation Eng. | Paired | [link] | Remote LatAm, your stack |
| Founding Engineer | Acme | [link] | Full-stack + AI, early |
| Growth Engineer | Bolt | [link] | Remote, no salary listed | 3. Tune it by talking
Like anything in Claude Code, you adjust it in conversation. One thing per message:
- "Add a column with the salary if they list it."
- "Drop the ones asking for 8+ years of experience."
- "Sort the table by best fit first."
In a couple of rounds you have exactly the list you wanted, filtered by your criteria, not some job portal's.
4. And to make it run on its own each morning
The above is a one-off: you launch it when you want. The version that keeps working on its own is the same task dropped into a scheduled task: I have mine running early each morning, and when it's done it emails me the table. The agent is identical. The only thing that changes is that a schedule triggers it and a final step sends the email. The full how-to is its own build: make your agent run on a schedule. You don't need it for the idea to be useful, though: the agent you just built already saves you the time of searching by hand.
When something breaks
Where it goes wrong, and the fix:
- It kept roles that don't fit. The filter was too loose. Tighten the criteria in one message: "drop anything not fully remote," "only senior or founding roles."
- It missed a board. That site needs a login or loads jobs after a click, so the agent couldn't read it. Give it a different source, or the page you've already opened.
- Duplicates slipped through. Tell it what counts as the same job: "treat same company and same title as one."
- A link looks made up. Ask it to include only roles with a real, working link and to leave a row out when it isn't sure. Then spot-check before you apply.
Now try this
The same agent, doing more:
- Run it every morning. Hand it to a scheduled task so the table is waiting before you're up.
- Widen the net. Add company career pages or a niche board to the list of sources.
- Score the fit. Ask for a 1 to 5 fit column and to sort by it, so the best ones sit on top.
- Send it somewhere. Append each run to a sheet, or have it ping you on Telegram (the n8n build shows the wiring).
What you just did
You handed an agent a boring multi-step task and it did the whole thing on its own. You didn't code a scraper or maintain selectors that break when the site changes. The pattern (describe it, let it work, tune it) is the same one for watching prices, summarizing news, or going through a pile of pages: the agent does the work, you set the criteria.
Drop your email and I'll ping you when the next build goes up, with the code and prompts I used. No spam.
More tutorials ↗