All projects

live ยท Created 2026-11-05; running daily at 08:00 Central; last recorded run 2026-11-06 with status ok

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.

  • Hermes Agent cron job (expression 0 8 * * *, America/Chicago)
  • A Hermes skill for job applications
  • LinkedIn public job listings API via curl
  • Browser automation over a Chrome DevTools Protocol session
  • Python script to turn Markdown cover letters into PDFs
  • Markdown files as the tracker, the status log and the question queue

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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

Scheduledaily at 08:00 America/Chicago2026-11-06
Consecutive failures0, last status ok2026-11-06
Application folders312026-11-06
Lines marked SUBMITTED in the README14 (counts lines, not unique applications)2026-11-06
Replies, interviews, offersnone recorded2026-11-06
Report length cap150 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.