babysit
SkillMonitoring & opsOrchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the babysit skill
What this skill tells your AI
The instructions your AI receives, as published by asymmetric-al/core in .agents/skills/babysit/SKILL.md and read by ahel’s review.
Orchestrate .a5c/runs/<runId>/ through iterative execution.
Dependencies
Babysitter SDK and CLI
Resolve the repository root and read the reviewed SDK version from
docs/ai/skills/babysit/versions.json. Stop immediately if the repository root
or an exact package version cannot be resolved:
REPO_ROOT=$(git rev-parse --show-toplevel) || exit 1
SDK_VERSION=$(
node -e '
const fs = require("node:fs");
const path = require("node:path");
const versionsPath = path.join(
process.argv[1],
"docs/ai/skills/babysit/versions.json",
);
const exactVersionPattern = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
try {
const versions = JSON.parse(fs.readFileSync(versionsPath, "utf8"));
const sdkVersion = versions.sdkVersion;
if (typeof sdkVersion !== "string" || !exactVersionPattern.test(sdkVersion)) {
throw new Error("sdkVersion must be a nonempty exact package version");
}
process.stdout.write(sdkVersion);
} catch (error) {
console.error(`Unable to resolve the pinned Babysitter SDK version: ${error.message}`);
process.exit(1);
}
' "$REPO_ROOT"
) || exit 1
CLI="npx -y @a5c-ai/babysitter-sdk@$SDK_VERSION"
jq
Make sure jq is installed and available in the path. If not, install it.
Instructions
Run the following command to get full orchestration instructions:
$CLI instructions:babysit-skill --harness cursor --json
Follow the instructions returned by the command above to orchestrate the run.
Cursor -- In-Turn Loop Model
IMPORTANT: Cursor does NOT have a Stop hook that can drive the orchestration loop between turns. Unlike Claude Code, there is no hook mechanism to automatically re-enter the orchestration loop.
Therefore, you MUST use in-turn iteration: run the full orchestration loop within a single session turn. The pattern is:
$CLI run:iterate --json-- get pending actions- For each pending action: execute it (run tasks, post results via
task:post) $CLI run:iterate --json-- check for more pending actions- 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=$($CLI 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=$($CLI run:iterate --run-id "$RUN_ID" --json)
STATUS=$(echo "$RESULT" | jq -r '.status')
done
Signals
- GitHub stars
- 391
- Forks
- 7
- Last commit
- Sep 2026
- Hacker News mentions
- 6
Advanced
- Catalog kind
- skill
- Gateway key
babysit-asymmetric-al- Source
- github.com/asymmetric-al/core