Nov 1, 2026

Make Your Agent Obey the Process: Workflow Enforcement With Babysitter

Babysitter turns your workflow into JavaScript the orchestrator can only follow: every step ends in a mandatory stop, quality gates block progression, and an immutable journal records every decision — across 12 supported harnesses.

#tutorial#workflow#ai-agents

Autonomous agents fail the same way every time: they keep running when they should stop, declare victory past a failing test, and leave no record of what they decided along the way. Babysitter, a 2k-star MIT-licensed tool from A5C AI, attacks all three failures at once by making the workflow itself the authority — the orchestrator can only do what your process code permits.

Why This Skill Matters

Babysitter's mechanism is threefold. Your workflow is JavaScript — real code, not config — so tasks, breakpoints, and gates are written down where both you and the agent can read them. Every step ends in a mandatory stop, enforced by a hook, and the process decides what runs next; the agent cannot "keep running." And gates are enforcement, not suggestions: they block progression until satisfied. Everything — every task, gate, and decision — lands in an event-sourced journal under ~/.a5c/runs/ by default, giving deterministic replay and resume from any point.

As of v6, the README describes Babysitter as harness-agnostic via its Adapters runtime, running the same processes across 12 supported AI coding harnesses — the install matrix covers everything from Claude Code and Codex to Cursor, Gemini CLI, Pi, and OpenCode. A built-in internal harness runs processes with no external agent at all, which is what makes CI pipelines and headless orchestration possible.

Installation

Install the main CLI, then the Claude Code plugin:

npm install -g @a5c-ai/babysitter
claude plugin marketplace add a5c-ai/babysitter-claude
claude plugin install --scope user babysitter@a5c.ai

Restart Claude Code and type /skills to verify that "babysit" appears. Then set up once with the README's first steps: /babysitter:user-install records your breakpoint preferences and expertise areas, /babysitter:project-install analyzes the codebase and configures project workflows, and /babysitter:doctor diagnoses run health.

Real Workflow: Implement a Feature With Gates

The README's quick start is one command:

claude "/babysitter:call implement user authentication with TDD"

Claude creates an orchestration run, executes tasks step-by-step, handles quality checks and approvals, and continues until completion. Four modes pick the oversight level: /babysitter:call pauses interactively for approvals; /babysitter:yolo runs trusted tasks with no breakpoints; /babysitter:plan stops after planning; /babysitter:forever runs periodic tasks indefinitely. Utility commands round it out — /babysitter:observe opens a real-time monitoring dashboard, /babysitter:resume continues an interrupted run.

Reuse comes from blueprints: natural-language instruction sets (Markdown) or deterministic coded processes that the agent executes. The official marketplace covers security (gitleaks, ESLint security rules, audit processes), testing (Vitest/Playwright/pytest setup, coverage gates, TDD processes), deployment (Terraform, Helm, Dockerfiles, multi-environment pipelines), themes, CI/CD, and rate limiting. The docs also put the process library at 2,000+ pre-built processes.

Tips

  • Treat the compression subsystem as opt-out, not opt-in: the README reports that its four hook layers reduce context usage by 50–67% on real sessions while maintaining 99% fact retention, and all compression hooks register automatically with the plugin. BABYSITTER_COMPRESSION_ENABLED=false turns it off; babysitter compression:toggle <layer> <on|off> tunes one layer.
  • The Adapters runtime is a separate CLI: npm install -g @a5c-ai/adapters-cli gives you adapters run claude "explain this codebase" from the shell. It pins Node 22.13.0+ because it loads the gateway's built-in node:sqlite.
  • Breakpoints are where judgment lives — the user-install profile tunes how much oversight you get, so answer it honestly instead of clicking through.
  • For CI, run the internal harness with genty call --harness internal --process .a5c/processes/my-process.js#process --workspace . --no-interactive --json.
  • The README's "Why Babysitter?" table is honest about scope: this is for complex, multi-step workflows — it names "single task execution" as the traditional approach it replaces, not a use case.

When Not to Use This

Process-as-code has a setup cost: writing a real JavaScript process, configuring breakpoints, and learning the command surface pay off on long-horizon, multi-step work — not on a two-file edit or a quick question. And if your harness handles approval flows well enough already, a second enforcement layer adds ceremony; the README's own comparison table frames the value against ad-hoc workflow and lost session state, both of which only matter on long runs.


See the leaderboard for more skills.