No One-Off Work

If an agent has to be asked for the same thing twice, it failed the first time. Source: AGENTS.md No One-Off Work Rule; Agent Soul

The Principle

AI agents should not perform disposable work. Every task that will recur must be codified into a skill or automation after the first execution. The system compounds - build it once, it runs forever.

The Rule

When asked to do something that could recur:

  1. Do it manually the first time (3-10 items)
  2. Show the output and ask for approval
  3. If approved, codify it into a SKILL.md or extend an existing skill
  4. If recurring, add it as an automation with a cron schedule
  5. Monitor the first runs and iterate until reliable

MECE Skills

Every type of work has exactly one owner skill. No overlap, no gaps. Before creating a new skill, check if an existing one already covers the task. If it does, extend it. This prevents skill sprawl and ensures clear ownership of every workflow.

MECE = Mutually Exclusive, Collectively Exhaustive. The same principle McKinsey uses for problem decomposition applies to skill organization.

The Codification Lifecycle

Phase Action Output
Concept Describe the process Verbal agreement
Prototype Run on 3-10 real items Raw output, no skill file
Evaluate Review with Kevin, revise Refined approach
Codify Write SKILL.md (via Browser Testing Skills) Installed skill
Automate Create automation with cron automations/<slug>.md
Monitor Check first runs, iterate Stable recurring task

The Test

The first time Kevin asks is discovery. The second time means the agent should have already turned it into a skill running on a cron. Every conversation where Kevin says "can you do X" should end with X being a skill - not a memory of "he asked me to do X that one time."

Enforcement

This rule is enforced at every agent configuration surface:

  • AGENTS.md - top-level section, read by all agents
  • CLAUDE.md - referenced for Claude Code
  • .cursorrules - referenced for Cursor
  • ~/.codex/AGENTS.md - referenced for Codex
  • .cursor/rules/no-one-off-work.mdc - always-apply Cursor rule