Everyone will hand you 100 free Claude Code subagents today. Almost nobody tells you what happens in week two: an agent reports success it didn't earn, two agents fight over the same file, one invents a metric you almost ship to a client, and a scheduled job dies silently while logging success.
None of those are agent problems. They're management problems. Here's the management layer I actually run a solo content + commerce operation on, reduced to three markdown files you can install in 30 minutes. No framework, no dependencies.
The mental model
you ── chief-of-staff ── CMO ── blog / shorts / social / commerce leads
├── analytics-lead (facts only)
├── qa-reviewer (last gate)
└── ops-monitor (live-not-logs)
Worker agents produce. Two watchdogs police. One written contract governs everything that runs unattended.
Step 1 — Write the delegation contract (10 min)
The single highest-leverage file in the whole system. Before any agent runs autonomously, it gets a one-page charter:
# AUTOPILOT CHARTER — <agent name>
## Goal
One sentence. Measurable. With a deadline.
## Autonomous powers
What it may do WITHOUT asking (publish to owned channels,
edit its own queue, retry failures...).
## Absolute guardrails
- Facts only: no number without a live source — otherwise write `unverified`.
- Never touch credentials, payments, or anything irreversible.
- One channel = one affiliate program (no cross-contamination).
## Human-only blockers
Things only I can do (logins, API key issuance, spend approval).
Surface them in EVERY report until cleared — never work around them.
## Report format
Daily, 5 lines max, numbers verified or marked unverified.
The trick isn't the prompt engineering — it's that the fence is written down. An agent can run free inside a fence.
Step 2 — Install the two watchdogs (10 min)
mkdir -p .claude/agents charters
cp agents/ops-monitor.md agents/qa-reviewer.md .claude/agents/
cp charters/AUTOPILOT_CHARTER.md charters/
ops-monitor enforces one rule that will save you a week of fake green dashboards: a pipeline is alive only if today's public artifact exists. Not "the log says success", not "exit code 0" — the actual mp4 / published post / sent report, timestamped today. Mine was born from a scheduler that logged success for six days while publishing nothing.
qa-reviewer is the last gate before anything ships: truth-check every number against a source, grep for personal-data leaks, resolve every link, check platform rules. Its BLOCK verdict cannot be overridden by any other agent — only by you.
Step 3 — Wire it to a scheduler (10 min)
Any cron works. The pattern that matters:
07:30 workers run (produce, publish to queues)
08:10 ops-monitor: verify yesterday's artifacts EXIST
08:15 one combined report → your phone (5 lines, facts only)
The report format is the discipline: every number either has a source or says unverified. The first time your dashboard stops flattering you, you'll find at least one pipeline you believed was running that wasn't. (I found three.)
The 30-minute checklist
- [ ] One charter per autonomous agent, bracketed placeholders filled
- [ ] ops-monitor installed, pointed at your real output paths
- [ ] qa-reviewer installed as the mandatory last gate
- [ ] Daily report scheduled, facts-only rule enforced
- [ ] Human-only blockers listed and surfaced in every report
Files
All three files (charter template + both watchdogs) are free here: ai-employee-management-layer — plain markdown, MIT, copy and go.
If you want the full version — 12 role charters (CMO, leads, analytics, sourcing…), the org design doc, memory conventions, and the automation pack it plugs into — that's the AI Employee Company Starter Kit I sell to fund the build log at builderlog.net.
Questions about a specific failure mode (agents fighting over files, fake numbers, silent deaths) — comments open, happy to share the exact charter clause that fixed it.
Top comments (0)