Job-search agent: a daily scheduled AI scout with honesty rules
A cron-scheduled Hermes agent that searches for entry-level remote support roles every morning, drafts tailored letters, logs everything, and stops to ask me when it is unsure.
My role
I directed AI to build it. I authorised it, set the rules (remote only, pay floor, eligibility limits) and handle anything needing a human, such as email codes, CAPTCHAs and logins. The agent does the searching, drafting and form filling. I am not a software developer and the agent's prompt says so explicitly. No one else worked on it.
What it is
Every morning at 08:00 a scheduled agent searches for entry-level remote IT support and AI-operations roles. It first reads its own tracker so it never repeats an application, filters out roles that are senior, onsite or need a degree, and creates one folder per strong match with a status file, a tailored cover letter and a resume.
It then submits through the employer's own page where it can and updates the tracker. Anything it cannot do alone goes into a question queue for me instead of being guessed: email verification codes, CAPTCHAs, logins and decisions. Its final report is capped at 150 words, or it stays silent if there is nothing to say.
The most important part is a written honesty rule inside the prompt: I am not a software developer, so letters must never claim I wrote code myself and must say I directed AI to build things. It is a small, real example of supervising an autonomous agent with guardrails. No replies, interviews or offers are recorded, so I make no claim about results.
How it was built
- Define the task and the limits in plain wordsThe goal is the best-paying realistic entry-level remote support or AI-operations roles. Limits written into the prompt: remote only, a pay floor, eligibility constraints, and 'apply as much as you want' as the explicit authorisation dated 2026-11-05.
- Create a scheduled Hermes jobOne cron entry, job-search-daily, runs at 08:00 America/Chicago with a skill attached and a working folder. It delivers its result back to the chat it was created from. Created 2026-11-05 at 08:36 local; the next run was already scheduled for 2026-11-07 at 08:00.
- Make the tracker the agent's memoryThe working folder has a README summary, a tracker table, a master resume, a cover-letter template, a morning brief and a meeting queue. At the start of every run the agent reads the tracker to avoid duplicates.
- Search using a free public listings endpointThe agent calls LinkedIn's guest jobs listing endpoint with curl, then filters by remote, seniority and degree requirements before opening anything.
- One folder per live matchEach strong match gets its own folder containing a status file, a tailored cover letter and a resume copy. A listing of the applications directory on 2026-11-06 showed 31 such folders after the first full day.
- Generate documents with a small scriptA Python script converts the Markdown letter to PDF using reportlab, run through uv so no global install is needed.
- Submit through the browser, with a human for the hard partsThe agent drives a dedicated browser session over the DevTools protocol. Email codes, CAPTCHAs and logins are done by me; the agent writes the question into the meeting queue and moves on to the next role.
- Record every action and lessonREADME and tracker lines are marked SUBMITTED; the README also holds lessons learned, for example that some application forms that need an email code cannot finish across reset browser sessions, so other form providers are preferred.
- Cap the reportThe run ends with a report under 150 words, or the single token [SILENT] when nothing needs attention, so the chat stays quiet on empty days.
Decisions and why
- Put an honesty rule in the agent's prompt
- An agent writing in my voice could overclaim. The rule says never write that I built or coded something myself; write that I directed AI to build it.
- Humans do verification steps, the agent never works around them
- Email codes, CAPTCHAs and logins are security checks. Bypassing them would be unsafe and against the sites' rules.
- Use files as memory and a question queue instead of guessing
- A tracker prevents duplicate applications, and a queue turns uncertainty into a question for me rather than a risky action.
- Prefer application platforms that can finish in one browser session
- Learned from the first day's failures with forms that need a code sent to an email inbox.
- Silent on empty days, short on busy days
- A daily report that is always long gets ignored.
Hardest problems
- Letters could overclaim authorship or skills
- The explicit honesty rule in the prompt plus a letter template that frames the work as directed AI.
- Some application forms need an email code and the browser session resets between steps, so they could not be finished
- Recorded in the README as a lesson; the agent now prefers other form providers and leaves code-gated ones to me.
- The pool of remote entry-level help-desk roles ran dry within about a week
- Noted in the README on 2026-11-05. The fix is not documented in the files I read, so this is an open problem.
Numbers
| Schedule | daily at 08:00 America/Chicago | 2026-11-06 |
|---|---|---|
| Consecutive failures | 0, last status ok | 2026-11-06 |
| Application folders | 31 | 2026-11-06 |
| Lines marked SUBMITTED in the README | 14 (counts lines, not unique applications) | 2026-11-06 |
| Replies, interviews, offers | none recorded | 2026-11-06 |
| Report length cap | 150 words or [SILENT] | 2026-11-05 |
Timeline
- 2026-11-05Job created with explicit authorisation text; first applications logged
- 2026-11-05Lessons about code-gated forms and a shrinking role pool written into the README
- 2026-11-06Second daily run completed with status ok
What I took from it
- Autonomous agents need a written honesty rule, not just a task description.
- Design the hand-off to a human: a question queue is better than a guess.
- Use plain files as the agent's memory so every run starts from the same truth.
- Count carefully: 31 folders and 14 submitted lines are different measures, and neither is a result like an interview.