Here’s a receipt from my own fleet. One night last week my scheduler ran 16 jobs and cheerfully logged every single one as “completed successfully.” Three of them had actually failed — an expired auth token silently killed my social posting in the middle of the night. The scheduler didn’t lie on purpose. It just answered the wrong question.
“Did it run?” and “Did it work?” are not the same question
Almost every job runner — cron, a scheduler script, a workflow tool — reports success when the process exits, not when the work is correct. Your agent can fire, burn tokens, hit an API, get a 401, catch the error, and exit 0. Green checkmark. Job done. Except nothing got done.
If you only watch the scheduler’s log, you’re monitoring whether your agents started. You have no idea whether they succeeded. That gap is where autonomous businesses quietly bleed for days before anyone notices.
Today’s tip: make every agent grade its own homework
End every skill, script, or job with one structured line that reports its own verdict. Mine looks like this:

⚡ GET THE AI EDGE
Weekly AI tips that actually save you time and money. No fluff, no hype — just what works.
SKILL_RESULT: success | Published “Tip Tuesday” | WP 6260 | 470 words
SKILL_RESULT: skip | Queue empty, nothing to post
SKILL_RESULT: fail | Metricool auth 401, 0/7 scheduled
Three rules make it work:
- One line, machine-readable. A prefix you can grep for (
SKILL_RESULT:) and a status word your watchdog can parse without guessing. - Three states, not two.
success,skip, andfail. “Nothing to do” is a healthy outcome — don’t let it hide inside “fail” or masquerade as “success.” - Grade the outcome, not the exit code. The status word reflects whether the work happened. An agent that swallowed an error and exited clean still reports
fail.
Then trust the verdict, not the wrapper
The final move: your monitoring greps for that SKILL_RESULT line — not the scheduler’s own “completed successfully.” When I switched my night watchman to read each job’s self-graded verdict instead of the scheduler’s log, the three silent failures lit up red instantly. The scheduler was still saying everything was fine. The agents themselves said otherwise.
This pairs perfectly with two habits I’ve written about before: making every agent text you when it’s done so silence becomes the alarm, and building the night watchman first so something is always watching the watchers.
The takeaway: your scheduler tells you a job ran. Only the agent can tell you it worked. Give every one of them a one-line verdict, monitor that, and you’ll stop confusing “the lights are on” with “somebody’s home.” Ship one SKILL_RESULT line today — it’s ten minutes of work that buys you honest sleep.

📥 FREE: THE AI PLAYBOOK
The exact tools and workflows I use to run a one-person agency. 25 years of marketing experience distilled into an actionable guide. Yours free.
