Orchestrate .a5c runs via @a5c-ai/babysitter-sdk CLI. Run iterations, get requested effects, perform effects, post results.
View on GitHubSelect agents to install to:
npx add-skill https://github.com/a5c-ai/babysitter/blob/main/plugins/babysitter/skills/babysitter/SKILL.md -a claude-code --skill babysitterInstallation paths:
.claude/skills/babysitter/# babysitter
Orchestrate `.a5c/runs/<runId>/` through iterative execution. Use the SDK CLI to drive the orchestration loop.
make sure you have the latest version of the cli:
```bash
npm i -g @a5c-ai/babysitter @a5c-ai/babysitter-sdk @a5c-ai/babysitter-breakpoints
```
then use the CLI alias: CLI="babysitter"
**Alternatively, use the CLI alias:** `CLI="npx -y @a5c-ai/babysitter-sdk"`
---
## Core Iteration Workflow
The babysitter workflow has 4 steps:
1. **Run iteration** - Execute one orchestration step
2. **Get effects** - Check what tasks are requested
3. **Perform effects** - Execute the requested tasks
4. **Post results** - Tasks auto-record results to journal
### 1. Run Iteration
```bash
$CLI run:iterate .a5c/runs/<runId> --json --iteration <n>
```
**Output:**
```json
{
"iteration": 1,
"status": "executed|waiting|completed|failed|none",
"action": "executed-tasks|waiting|none",
"reason": "auto-runnable-tasks|breakpoint-waiting|terminal-state",
"count": 3,
"metadata": { "runId": "...", "processId": "..." }
}
```
**Status values:**
- `"executed"` - Tasks executed, continue looping
- `"waiting"` - Breakpoint/sleep, pause until released
- `"completed"` - Run finished successfully
- `"failed"` - Run failed with error
- `"none"` - No pending effects
### 2. Get Effects
```bash
$CLI task:list .a5c/runs/<runId> --pending --json
```
**Output:**
```json
{
"tasks": [
{
"effectId": "effect-abc123",
"kind": "node|agent|skill|breakpoint",
"label": "auto",
"status": "requested"
}
]
}
```
### 3. Perform Effects
Run the effect externally (by you, your hook, or another worker). After execution, post the outcome into the run by calling `task:post`, which:
- Writes the committed result to `tasks/<effectId>/result.json`
- Appends an `EFFECT_RESOLVED` event to the journal
- Updates the state cache
if the effect is a breakpoint, you need to run t