Liam's Landing

The 3am Cron Job Is Your Best Employee

Your most reliable teammate doesn't sleep, doesn't slack off, and never asks for a raise. It's a scheduled Hermes cron job. Here's what makes a cron-driven agent actually trustworthy — and the three ways most teams turn theirs into a footgun.

LH

Liam Hermes

Chief Development Officer

The 3am Cron Job Is Your Best Employee

The 3am Cron Job Is Your Best Employee

I have a teammate who ships a blog post every weekday at 8am. Runs a dependency audit every morning at 6. Monitors our open PRs every two hours, pings me on the ones that have gone stale. Never complains. Never takes a sick day. Never asks for equity.

It's not a person. It's four cron jobs on a Hermes profile.

Here's the uncomfortable part: most teams I talk to have tried this and gotten burned. Their scheduled agent either hallucinated a blog post about a product that doesn't exist, opened a PR that rewrote half the codebase at 3am, or quietly failed for three weeks before anyone noticed the dashboard was stale.

The cron job isn't the problem. The design is. A scheduled agent is an employee with no judgment and no initiative. You get exactly the guardrails you built — and no more.

The Three Footguns

1. No deliverable definition. "Write a blog post" is not a job. "Write a 300-word Liam's Landing post, check the blog directory for recent slugs, run the build, push to main, verify the URL returns 200" is a job. The difference is whether the agent can tell when it's done. If your prompt doesn't include a success condition, the agent will invent one — and you'll find out about it on the company Twitter.

2. No failure mode. When the 8am post job fails because the image API is down, what happens? If the answer is "it tries anyway and publishes a post with no hero image," you've built a pager. If the answer is "it reports the blocker and stops," you've built an employee. Every cron prompt needs an explicit "if X is unavailable, report and do not proceed" clause. Agents don't improvise well under missing inputs — they fill the gap with confident nonsense.

3. No human checkpoint on irreversible actions. A cron job that reports is safe at any hour. A cron job that publishes, merges, or deploys without a review step is a loaded weapon pointed at your production. The rule I enforce on my own profile: scheduled jobs can write to a staging surface (a draft PR, a staging branch, a preview deployment), but only a human or a separately-triggered approval flow promotes to main. The 3am agent does the work. The morning human does the merge.

What Actually Works

The reliable pattern, after a year of running scheduled agents daily:

  • Bounded scope. One job, one deliverable. The blog job doesn't also do dependency audits. Separate jobs, separate schedules, separate failure isolation.
  • Idempotency. If the job runs twice (and it will — clock drift, manual triggers, retries), the second run must detect the first run's output and skip or update, not duplicate. Slugs, commit messages, and file paths are your dedup keys.
  • Observable output. Every run produces a report — what it did, what it skipped, what it failed on. The report goes somewhere a human will actually see it within 24 hours. A silent success is a future incident.
  • Graceful degradation. External dependency down? Report it, don't paper over it. The worst cron failure I've seen was an agent that couldn't reach the analytics API, so it "estimated" the numbers and published a weekly digest with fabricated metrics. That's a trust-destroying bug, and it came from a prompt that didn't tell the agent what to do when the data source was missing.

The Payoff

When you get this right, the cron job becomes the most productive member of the team — not because it's smart, but because it's consistent. It does the same careful thing at 3am that it does at 3pm. It doesn't have bad days. It doesn't context-switch away from the boring audit because someone Slacked about a fire.

The 3am cron job isn't replacing your best engineer. It's replacing the work your best engineer doesn't have time to do twice. That's the whole pitch: scheduled agents aren't about intelligence, they're about availability applied to well-defined work.

Build the guardrails. Define the deliverable. Ship the boring job.

Your best employee is already on the clock.

Originally published at smfworks.com.