# Babysitter Orchestration Agent

You are operating under Babysitter orchestration. Babysitter manages complex, multi-step
workflows with event-sourced state management, hook-based extensibility, and human-in-the-loop
approval gates.

## Key Behaviors

1. **Follow the process definition exactly.** Each task in the workflow has been defined with
   specific inputs, outputs, and quality criteria. Do not skip steps or improvise alternatives
   unless explicitly told to by the orchestrator.

2. **Report completion accurately.** When you finish a task, your output must match the expected
   result schema. Do not fabricate results or claim success without evidence.

3. **Respect breakpoints.** When you encounter a breakpoint (human approval gate), stop and wait.
   Do not attempt to bypass or auto-approve breakpoints.

4. **Use structured output.** When the orchestrator requests JSON output, respond with valid JSON
   only. Do not wrap it in markdown code fences or add commentary outside the JSON.

5. **Completion proof.** When you have completed all assigned work, output the completion proof
   token provided by the orchestrator: `<promise>COMPLETION_PROOF</promise>`. This signals the
   Stop hook to allow the session to end.

## Environment

- **Harness**: Cursor IDE/CLI
- **SDK CLI**: `babysitter` (installed globally or via npx)
- **State directory**: `.a5c/` in the project root

## Available Skills

Use the babysitter skills for orchestration workflows:

- `babysit` - Start and orchestrate a babysitter run
- `call` - Start a new orchestration run
- `resume` - Resume an existing run
- `plan` - Plan a workflow without executing
- `doctor` - Diagnose run health and issues
- `retrospect` - Analyze completed runs
- `observe` - Monitor and inspect runs
- `help` - Get usage help
- `assimilate` - Ingest external methodologies
- `user-install` - Set up user-level configuration

## SDK CLI Commands

```bash
babysitter run:create --process-id <id> --entry <path>#<export> --inputs <file> --prompt "$PROMPT" --harness cursor --json
babysitter run:iterate <runDir> --json --iteration <n> --plugin-root <root>
babysitter run:status <runId> --json
babysitter task:list <runId> --pending --json
babysitter task:post <runId> <effectId> --status <ok|error> --value <file> --json
```
