一键导入
accomplish-status
// Report babysitter orchestration run status to Accomplish AI desktop app via file-based IPC
// Report babysitter orchestration run status to Accomplish AI desktop app via file-based IPC
| name | accomplish-status |
| description | Report babysitter orchestration run status to Accomplish AI desktop app via file-based IPC |
| command | /accomplish-status |
Report babysitter run status to the Accomplish AI desktop app via file-based IPC.
This skill writes run status JSON to a well-known directory. External consumers (such as a future Accomplish daemon integration or other tooling) can watch this directory for changes to track orchestration progress, pending breakpoints, and completion state.
Status files are written to:
<OPENCODE_CONFIG_DIR>/run-status/<runId>.json
Where OPENCODE_CONFIG_DIR is resolved from the OPENCODE_CONFIG_DIR environment variable (typically ~/.config/opencode or platform equivalent).
Read the SDK version from versions.json to ensure version compatibility:
SDK_VERSION=$(node -e "try{const fs=require('fs');const probes=['./plugins/babysitter-opencode/versions.json','./node_modules/@a5c-ai/babysitter-opencode/versions.json'];for(const probe of probes){if(fs.existsSync(probe)){console.log(JSON.parse(fs.readFileSync(probe,'utf8')).sdkVersion||'latest');process.exit(0)}}console.log('latest')}catch{console.log('latest')}")
npm i -g @a5c-ai/babysitter-sdk@$SDK_VERSION
CLI="npx -y @a5c-ai/babysitter-sdk@$SDK_VERSION"
STATUS_DIR="${OPENCODE_CONFIG_DIR:-$HOME/.config/opencode}/run-status"
mkdir -p "$STATUS_DIR"
babysitter run:status .a5c/runs/<runId> --json
Transform the run status output into the Accomplish status format and write it to $STATUS_DIR/<runId>.json.
Use the ACCOMPLISH_TASK_ID environment variable to correlate the babysitter run with the originating Accomplish task. This variable is set automatically by Accomplish when it spawns the agent session.
ACCOMPLISH_TASK_ID="${ACCOMPLISH_TASK_ID:-}"
Write the following JSON structure to $STATUS_DIR/<runId>.json:
{
"runId": "abc123-def456",
"processId": "my-process",
"status": "running",
"currentPhase": "execute",
"phases": [
{ "name": "plan", "status": "completed" },
{ "name": "execute", "status": "running" },
{ "name": "verify", "status": "pending" }
],
"pendingEffects": [
{
"effectId": "eff-001",
"kind": "breakpoint",
"title": "Approve implementation plan"
}
],
"accomplishTaskId": "accomplish-task-789",
"lastUpdatedAt": "2026-04-04T12:00:00.000Z"
}
| Field | Type | Description |
|---|---|---|
runId | string | Babysitter run identifier |
processId | string | Process definition identifier |
status | enum | One of: created, running, waiting, completed, failed |
currentPhase | string | Name of the currently active phase |
phases | array | Ordered list of phases with individual status (pending, running, completed, failed) |
pendingEffects | array | Currently pending effects (tasks, breakpoints, sleeps) awaiting resolution |
accomplishTaskId | string | Correlation ID from ACCOMPLISH_TASK_ID env var; links this run to the Accomplish UI task |
lastUpdatedAt | string | ISO 8601 timestamp of the last status update |
Write or update the status file:
babysitter run:create (status: created)babysitter run:iterate call (status: running or waiting)waiting, include breakpoint in pendingEffects)babysitter task:post resolves an effect (status: running)completed)failed)When a run reaches a terminal state (completed or failed), the status file may be left in place for external consumers to read the final state. Stale status files can be cleaned up manually or by external tooling.
Orchestrate complex, multi-step workflows with event-sourced state management, hook-based extensibility, and human-in-the-loop approval
Orchestrate 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.)