Babysitter babysit
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/babysitter-github/skills/babysit" ~/.claude/skills/a5c-ai-babysitter-babysit-6dfb20 && rm -rf "$T"
manifest:
plugins/babysitter-github/skills/babysit/SKILL.mdsource content
babysit
Orchestrate
.a5c/runs/<runId>/ through iterative execution.
Dependencies
Babysitter SDK and CLI
Read the SDK version from
versions.json to ensure version compatibility:
SDK_VERSION=$(node -e "try{console.log(JSON.parse(require('fs').readFileSync('${PLUGIN_ROOT}/versions.json','utf8')).sdkVersion||'latest')}catch{console.log('latest')}") sudo npm i -g @a5c-ai/babysitter-sdk@$SDK_VERSION # sudo is depending on the env and system
then use the CLI alias: CLI="babysitter"
Alternatively, use the CLI alias:
CLI="npx -y @a5c-ai/babysitter-sdk@$SDK_VERSION"
jq
make sure you have jq installed and available in the path. if not, install it.
Instructions
Run the following command to get full orchestration instructions:
babysitter instructions:babysit-skill --harness github-copilot --json
Follow the instructions returned by the command above to orchestrate the run.
GitHub Copilot CLI -- In-Turn Loop Model
IMPORTANT: Unlike Claude Code, GitHub Copilot CLI does NOT have a Stop hook that can drive the orchestration loop between turns. The
sessionEnd hook output
is ignored and cannot block or restart the session.
Therefore, you MUST use in-turn iteration: run the full orchestration loop within a single session turn. The pattern is:
-- get pending actionsbabysitter run:iterate --json- For each pending action: execute it (run tasks, post results via
)task:post
-- check for more pending actionsbabysitter run:iterate --json- Repeat steps 2-3 until run completes or reaches a breakpoint requiring user input
- If a breakpoint requires user input, ask the user and post the response, then continue iterating
All iteration happens within the same turn -- do NOT rely on hooks to re-enter the orchestration loop. The agent drives the loop directly by calling
run:iterate repeatedly until completion.
Loop Example
# Initial iterate RESULT=$(babysitter run:iterate --run-id "$RUN_ID" --json) STATUS=$(echo "$RESULT" | jq -r '.status') while [ "$STATUS" != "completed" ] && [ "$STATUS" != "failed" ]; do # Process pending actions from RESULT # ... execute tasks, post results ... # Iterate again RESULT=$(babysitter run:iterate --run-id "$RUN_ID" --json) STATUS=$(echo "$RESULT" | jq -r '.status') done