Babysitter is a workflow engine for AI coding agents that enforces predefined steps, quality checks, human approvals, and decision records. It is used to coordinate complex, repeatable agent workflows across supported coding tools. The catalogue contains skills, agents, instructions, settings, a plugin, and an MCP integration for its workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add a5c-ai/babysitter --skill state-managementgit clone --depth 1 https://github.com/a5c-ai/babysitterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/a5c-ai/babysitter/state-management)<a href="https://agentmods.dev/skills/a5c-ai/babysitter/state-management"><img src="https://agentmods.dev/badge/skills/a5c-ai/babysitter/state-management/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/a5c-ai/babysitter/state-management"><img src="https://agentmods.dev/badge/skills/a5c-ai/babysitter/state-management.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00043 | $0.01820 |
| Opus 5 | $0.00022 | $0.00910 |
| Sonnet 5 | $0.00009 | $0.00364 |
| Haiku 4.5 | $0.00004 | $0.00182 |
Grade A, and why
state-management scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 221 lines — stays where its author put it; the contents beside it link to each section on GitHub.
last_updated: 2026-03-02T14:30:00Z session_count: 12 current_milestone: v1.0
Project State
Current Work
- Phase: 72
- Task: Implement OAuth2 login flow
- Status: executing
- Plan: PLAN-1.md (task 3 of 5)
Completed Phases
- Phase 70: Project setup and scaffolding
- Phase 71: Database schema and migrations
Blockers
- [HIGH] API key for OAuth provider not configured (@user, 2026-03-01)
Decisions
| Date | Decision | Rationale |
|---|---|---|
| 2026-02-28 | Use PostgreSQL over SQLite | Need concurrent writes for API |
| 2026-03-01 | Skip Phase 71.1 (Redis cache) | Not needed for v1.0 |
Quick Tasks
| # | Task | Status | Date |
|---|---|---|---|
| 001 | Fix login redirect | done | 2026-02-28 |
| 002 | Add rate limiting | in-progress | 2026-03-02 |
### 2. Update Individual Fields
Update a single field without affecting the rest of the document:
update current_phase -> 73 update current_task -> "Build API endpoints for user management" update status -> "planning"
Use `Edit` tool to perform surgical updates on specific lines.
### 3. Append to List Fields
Add items to list-type fields:
append completed_phases -> "Phase 72: OAuth2 authentication" append decisions -> { date: "2026-03-02", decision: "Use JWT tokens", rationale: "Stateless auth for API" } append blockers -> { severity: "MEDIUM", description: "Need design mockups", owner: "@designer" }
### 4. Remove from List Fields
Remove items when resolved:
remove blocker -> "API key for OAuth provider not configured"
Mark blockers as resolved rather than deleting (change `[ ]` to `[x]`).
### 5. Quick Tasks Table Management
Add, update, and query quick tasks:
add_quick_task -> { number: 3, task: "Update README", status: "pending" } update_quick_task -> { number: 2, status: "done" } query_quick_tasks -> { status: "in-progress" }
### 6. Cross-Session Memory
STATE.md persists across context resets. On session start:
1. Read STATE.md to restore project context
2. Increment `session_count` in frontmatter
3. Update `last_updated` timestamp
4. Report state summary to orchestrator
### 7. Decision Log
Structured decision tracking with timestamps and rationale:
```markdown
| Date | Decision | Rationale |
|------|----------|-----------|
| 2026-03-02 | Use JWT tokens | Stateless auth for API |
8. Blocker Tracking
Track blockers with severity and ownership:
- [ ] [HIGH] API key not configured (@user, 2026-03-01)
- [x] [MEDIUM] Design mockups needed (@designer, 2026-02-28) - resolved 2026-03-01
Severity levels: HIGH (blocks current work), MEDIUM (blocks future work), LOW (inconvenience).
Tool Use Instructions
Reading State
- Use
Readto load.planning/STATE.md - Parse frontmatter for metadata (last_updated, session_count, current_milestone)
- Parse markdown sections into structured fields
- Return parsed state object
Updating a Field
- Use
Readto load current STATE.md - Locate the target field/section
- Use
Editwith precise old_string/new_string to update only the target - Verify edit succeeded by reading the section back
Appending to Lists
- Use
Readto find the end of the target list section - Use
Editto insert new item at the correct position - For tables, append new row before the section break
Resolving Blockers
- Use
Readto find the blocker text - Use
Editto change- [ ]to- [x]and append resolution date
Process Integration
This skill is used by most GSD processes:
execute-phase.js- Update current_task as each task completes, track positionverify-work.js- Add/resolve blockers based on verification resultsaudit-milestone.js- Read completed_phases for coverage analysisprogress.js- Read full state for progress display and routingquick.js- Add/update quick tasks tabledebug.js- Track debug sessions, add blockers for unresolved issues
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 221 lines · 43 tokens per session scan A 556329cce0a7
state-management is a skill published in the GitHub repository a5c-ai/babysitter (1,778 stars, last pushed 3d ago), licensed MIT. It adds 43 tokens to every session and 1,820 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
reflect
Mines a session for durable learnings. Trigger on "reflect on this session", "capture what we learned", or "/reflect" only; never infer intent from session end or friction.
list-learned-actions
Explicit Codex workflow: List persisted reusable actions, UI skeletons, and legacy feedback memories before composing device primitives.
tutti-agent-workspace-app
Build or evolve a complex agent-enabled Tutti workspace app repository. Use for Tutti apps with web/server/shared monorepos, @tutti-os/agent-acp-kit local agent runtimes, kit-owned TUTTICLI agent/composer discovery, dynamic agent catalogs, run-scoped MCP tool gateways, app-owned package builders, web-first debugging…
distill-session-knowledge
Offline-mine this project's pi session JSONL logs into reusable, verified knowledge: extracts faults, decisions, corrections, procedures and docs, promotes only recurring patterns, and routes artifacts into skillmanage, memory and docs. Use on "mine my sessions", "distill session knowledge", "extract lessons from…
nest
Designing LLM-optimized folder structures: audits and restructures directories for context efficiency, progressive disclosure, and prompt cache performance. Not for general repo structure (Grove).
lore
Curating cross-agent knowledge and institutional memory: extracts patterns from agent journals into METAPATTERNS.md, detects knowledge decay, propagates best practices. Use for memory curation.