Here’s a question that separates a toy agent from one you actually trust to run while you sleep: what happens when something it depends on disappears?
Not if. When. An API key expires. A queue comes up empty. A service returns a 500 for no reason. The credential you set six months ago quietly rotates. This is normal operating weather for anything autonomous — and the difference between a system that survives it and one that pages you at 3am is a single design choice.
The rule: fail soft, not loud
A well-built agent should degrade gracefully. When a dependency vanishes, it shouldn’t crash the whole run, throw a stack trace, or — worst of all — do something destructive because it didn’t get the answer it expected. It should notice, take the safest sensible action, log what happened, and move on.
Three things I bake into every skill in my fleet:
- Resolve by name, not just by ID. This week one of my outreach agents found its campaign ID unset in the environment. Instead of dying, it looked the campaign up by name and kept going. The run finished clean. I fixed the missing variable later — on my schedule, not the robot’s.
- Empty means skip, not stop. If a queue is empty, that’s not an error — there’s just no work today. The agent logs “nothing to do” and exits successfully. No false alarm.
- Dead credential means step aside, don’t guess. When a scheduling token went stale, the agent didn’t retry blindly or post garbage. It flagged the outage, queued a note for me, and skipped the step. Nothing broke downstream.
Why this matters more than raw capability
Everyone obsesses over what their agent can do. The operators who actually run these things in production obsess over how it fails. A smart agent that shatters on the first missing key is worthless. A modest agent that fails soft, tells you why, and keeps the rest of the fleet humming is the one that earns a place on the cron schedule.

⚡ GET THE AI EDGE
Weekly AI tips that actually save you time and money. No fluff, no hype — just what works.
This pairs directly with two habits I’ve written about before: building the night watchman first so failures get seen, and accepting that autonomous doesn’t mean untouched — my agents failed three times last week and the fleet never noticed, because each one was built to fail soft.
This week’s Wisdom: pick one agent you run and ask it one question — “what do you do when your favorite input isn’t there?” If the answer is “crash,” you’ve found this week’s fix.
Want a fleet that fails soft by design instead of by accident? Book a build session and I’ll show you how I wire graceful degradation into every skill.
— Jon

📥 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.
