@a5c-ai/babysitter-codex 0.1.6-staging.2dca8387
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex/AGENTS.md +53 -0
- package/.codex/command-catalog.json +130 -0
- package/.codex/config.toml +24 -0
- package/.codex/hooks/babysitter-session-start.sh +15 -0
- package/.codex/hooks/babysitter-stop-hook.sh +15 -0
- package/.codex/hooks/user-prompt-submit.sh +15 -0
- package/.codex/hooks.json +37 -0
- package/.codex/plugin.json +132 -0
- package/.codex/skills/babysitter/assimilate/SKILL.md +58 -0
- package/.codex/skills/babysitter/call/SKILL.md +590 -0
- package/.codex/skills/babysitter/doctor/SKILL.md +89 -0
- package/.codex/skills/babysitter/forever/SKILL.md +45 -0
- package/.codex/skills/babysitter/help/SKILL.md +49 -0
- package/.codex/skills/babysitter/issue/SKILL.md +36 -0
- package/.codex/skills/babysitter/model/SKILL.md +31 -0
- package/.codex/skills/babysitter/observe/SKILL.md +38 -0
- package/.codex/skills/babysitter/plan/SKILL.md +44 -0
- package/.codex/skills/babysitter/project-install/SKILL.md +65 -0
- package/.codex/skills/babysitter/resume/SKILL.md +30 -0
- package/.codex/skills/babysitter/retrospect/SKILL.md +43 -0
- package/.codex/skills/babysitter/team-install/SKILL.md +31 -0
- package/.codex/skills/babysitter/user-install/SKILL.md +53 -0
- package/.codex/skills/babysitter/yolo/SKILL.md +48 -0
- package/AGENTS.md +91 -0
- package/CHANGELOG.md +162 -0
- package/README.md +146 -0
- package/SKILL.md +89 -0
- package/agents/openai.yaml +4 -0
- package/babysitter.lock.json +18 -0
- package/bin/postinstall.js +225 -0
- package/bin/uninstall.js +37 -0
- package/commands/README.md +23 -0
- package/commands/assimilate.md +27 -0
- package/commands/call.md +30 -0
- package/commands/doctor.md +27 -0
- package/commands/forever.md +27 -0
- package/commands/help.md +28 -0
- package/commands/issue.md +27 -0
- package/commands/model.md +27 -0
- package/commands/observe.md +27 -0
- package/commands/plan.md +27 -0
- package/commands/project-install.md +31 -0
- package/commands/resume.md +29 -0
- package/commands/retrospect.md +27 -0
- package/commands/team-install.md +29 -0
- package/commands/user-install.md +27 -0
- package/commands/yolo.md +28 -0
- package/package.json +50 -0
- package/scripts/team-install.js +257 -0
- package/test/integration.test.js +69 -0
- package/test/packaged-install.test.js +191 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:doctor
|
|
3
|
+
description: Diagnose babysitter run health — journal integrity, state cache, effects, locks, sessions, logs, and disk usage.
|
|
4
|
+
argument-hint: "[run-id] Optional run ID to diagnose. If omitted, uses the most recent run."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:doctor
|
|
8
|
+
|
|
9
|
+
Comprehensive diagnostic agent for babysitter runtime health. Performs 10 mandatory health checks on a specific run (or the most recent run if no ID is provided).
|
|
10
|
+
|
|
11
|
+
## Run Discovery
|
|
12
|
+
|
|
13
|
+
If no run-id argument provided, find the most recent run:
|
|
14
|
+
```bash
|
|
15
|
+
ls -t .a5c/runs/ | head -1
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## 10 Mandatory Health Checks
|
|
19
|
+
|
|
20
|
+
For each check, report **PASS**, **WARN**, or **FAIL**.
|
|
21
|
+
|
|
22
|
+
### 1. Run Discovery
|
|
23
|
+
- Verify run directory exists at `.a5c/runs/<runId>/`
|
|
24
|
+
- Display run metadata (process ID, created at, status)
|
|
25
|
+
- Check manifest.json exists and is valid
|
|
26
|
+
|
|
27
|
+
### 2. Journal Integrity
|
|
28
|
+
- Verify `.a5c/runs/<runId>/journal.jsonl` exists
|
|
29
|
+
- Check each line is valid JSON
|
|
30
|
+
- Verify timestamps are monotonically increasing
|
|
31
|
+
- Verify event type consistency
|
|
32
|
+
- Count events by type
|
|
33
|
+
|
|
34
|
+
### 3. State Cache Consistency
|
|
35
|
+
- Compare `state.json` against journal events
|
|
36
|
+
- Verify derived state matches journal history
|
|
37
|
+
- Check for orphaned state entries
|
|
38
|
+
|
|
39
|
+
### 4. Effect Status
|
|
40
|
+
- List all effects and their statuses
|
|
41
|
+
- Flag stuck effects (requested > 30 minutes ago, still pending)
|
|
42
|
+
- Flag errored effects
|
|
43
|
+
- Count pending vs completed
|
|
44
|
+
|
|
45
|
+
### 5. Lock Status
|
|
46
|
+
- Check for `run.lock` file
|
|
47
|
+
- If lock exists, verify PID is alive
|
|
48
|
+
- Flag stale/orphaned locks
|
|
49
|
+
|
|
50
|
+
### 6. Session State
|
|
51
|
+
- Inspect session state file
|
|
52
|
+
- Check iteration count vs max
|
|
53
|
+
- Detect potential runaway loops (fast iteration pattern)
|
|
54
|
+
|
|
55
|
+
### 7. Log Analysis
|
|
56
|
+
- Check `.a5c/logs/` for hook logs
|
|
57
|
+
- Scan for errors in stderr logs
|
|
58
|
+
- Report log file sizes
|
|
59
|
+
|
|
60
|
+
### 8. Disk Usage
|
|
61
|
+
- Report `.a5c/runs/<runId>/` total size
|
|
62
|
+
- Identify files > 10MB
|
|
63
|
+
- Report blob storage usage
|
|
64
|
+
|
|
65
|
+
### 9. Process Validation
|
|
66
|
+
- Verify process entry point exists and passes `node --check`
|
|
67
|
+
- Check `@a5c-ai/babysitter-sdk` dependency is installed
|
|
68
|
+
- Verify process exports match manifest
|
|
69
|
+
|
|
70
|
+
### 10. Hook Health
|
|
71
|
+
- Check all hook scripts exist and are executable
|
|
72
|
+
- Verify `sh -n` passes for shell scripts
|
|
73
|
+
- Verify `node --check` passes for JS hooks
|
|
74
|
+
|
|
75
|
+
## Output
|
|
76
|
+
|
|
77
|
+
Print a summary table:
|
|
78
|
+
```
|
|
79
|
+
Check Status Details
|
|
80
|
+
─────────────────────────────────────────
|
|
81
|
+
1. Run Discovery PASS Run 01KJY... found
|
|
82
|
+
2. Journal Integrity PASS 42 events, checksums valid
|
|
83
|
+
3. State Cache PASS Consistent
|
|
84
|
+
4. Effect Status WARN 1 stuck effect (> 30min)
|
|
85
|
+
5. Lock Status PASS No stale locks
|
|
86
|
+
...
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Then print detailed findings and recommendations for any WARN/FAIL checks.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:forever
|
|
3
|
+
description: Start a never-ending babysitter run with infinite loops and sleep gates.
|
|
4
|
+
argument-hint: Specific instructions for the periodic run
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:forever
|
|
8
|
+
|
|
9
|
+
Start a **never-ending** babysitter orchestration run. The process runs in an infinite loop with `ctx.sleep()` gates between iterations — ideal for periodic maintenance tasks, monitoring, or continuous improvement workflows.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### 1. Interview Phase
|
|
14
|
+
|
|
15
|
+
Same as `babysitter call` — gather intent, requirements, and scope. Focus on:
|
|
16
|
+
- What should happen each cycle?
|
|
17
|
+
- How long between cycles? (sleep duration)
|
|
18
|
+
- What quality gates should be checked?
|
|
19
|
+
- Under what conditions should the loop stop? (manual breakpoint, quality threshold, error count)
|
|
20
|
+
|
|
21
|
+
### 2. Process Creation
|
|
22
|
+
|
|
23
|
+
Create a process with an infinite loop pattern:
|
|
24
|
+
|
|
25
|
+
```javascript
|
|
26
|
+
export async function process(inputs, ctx) {
|
|
27
|
+
while (true) {
|
|
28
|
+
// Execute the periodic task
|
|
29
|
+
const result = await ctx.task(periodicTask, { ...inputs });
|
|
30
|
+
|
|
31
|
+
// Optional: quality gate
|
|
32
|
+
if (result.shouldStop) break;
|
|
33
|
+
|
|
34
|
+
// Sleep until next cycle (e.g., 4 hours)
|
|
35
|
+
await ctx.sleep({ duration: inputs.sleepDuration || '4h' });
|
|
36
|
+
}
|
|
37
|
+
return { completed: true };
|
|
38
|
+
}
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 3. Run Creation and Loop
|
|
42
|
+
|
|
43
|
+
Same as `babysitter call` — create the run and iterate. Sleep effects are handled by waiting until the specified timestamp before continuing.
|
|
44
|
+
|
|
45
|
+
The run will only complete when the process logic breaks out of the loop or when manually stopped.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:help
|
|
3
|
+
description: Help and documentation for babysitter on Codex.
|
|
4
|
+
argument-hint: "[command|process|skill|agent|methodology] topic to get help on"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:help
|
|
8
|
+
|
|
9
|
+
Babysitter for Codex uses skills, AGENTS guidance, project config, and
|
|
10
|
+
workspace lifecycle hooks so Codex stays in the orchestration loop.
|
|
11
|
+
|
|
12
|
+
## No Arguments
|
|
13
|
+
|
|
14
|
+
Show a short summary using normal-language activation examples:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
Babysitter for Codex
|
|
18
|
+
|
|
19
|
+
Primary examples:
|
|
20
|
+
babysitter call build auth with tests
|
|
21
|
+
babysitter resume recent
|
|
22
|
+
babysitter yolo fix lint and failing tests
|
|
23
|
+
babysitter plan a migration workflow
|
|
24
|
+
babysitter doctor current run
|
|
25
|
+
|
|
26
|
+
Codex-native surfaces:
|
|
27
|
+
- skills
|
|
28
|
+
- AGENTS.md guidance
|
|
29
|
+
- project .codex/config.toml
|
|
30
|
+
- project .codex/hooks.json (SessionStart, UserPromptSubmit, Stop)
|
|
31
|
+
- optional notify monitoring
|
|
32
|
+
|
|
33
|
+
Hook model responsibilities:
|
|
34
|
+
- SessionStart: seed session state
|
|
35
|
+
- UserPromptSubmit: prompt-level transforms
|
|
36
|
+
- Stop: continue or approve exit after each yielded turn
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## With Arguments
|
|
40
|
+
|
|
41
|
+
If an argument is provided:
|
|
42
|
+
|
|
43
|
+
1. Command help: read the relevant `.codex/skills/babysitter/<name>/SKILL.md`
|
|
44
|
+
2. Process help: inspect the process file and summarize it
|
|
45
|
+
3. Skill and agent help: use discovery helpers or `babysitter skill:discover`
|
|
46
|
+
4. Methodology help: search the upstream process library
|
|
47
|
+
|
|
48
|
+
Legacy `/babysitter:*` aliases may be mentioned only as optional compatibility
|
|
49
|
+
shims, not as native Codex commands.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:issue
|
|
3
|
+
description: Start a babysitter workflow from a GitHub issue.
|
|
4
|
+
argument-hint: "<issue-number|url> [--repo owner/name] [--apply] [--pr <number>] [--open-pr]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:issue
|
|
8
|
+
|
|
9
|
+
Run issue-driven orchestration.
|
|
10
|
+
|
|
11
|
+
## Behavior
|
|
12
|
+
|
|
13
|
+
1. Parse issue input:
|
|
14
|
+
- Numeric issue id, or full GitHub issue URL.
|
|
15
|
+
- Optional `--repo owner/name`.
|
|
16
|
+
2. Resolve repository:
|
|
17
|
+
- If `--repo` omitted, infer from current git remote.
|
|
18
|
+
3. Fetch issue details:
|
|
19
|
+
- Use `.codex/github-workflow.js` helper.
|
|
20
|
+
4. Generate:
|
|
21
|
+
- Concise implementation plan.
|
|
22
|
+
- Proposed steps and risk notes.
|
|
23
|
+
5. Optional actions:
|
|
24
|
+
- `--apply` -> return `mode=apply` and ready-to-run babysitter prompt.
|
|
25
|
+
- `--pr <number>` -> post plan comment to existing PR.
|
|
26
|
+
- `--open-pr` -> attempt `gh pr create --fill`.
|
|
27
|
+
6. If in apply mode:
|
|
28
|
+
- Start babysitter run with issue context in prompt.
|
|
29
|
+
|
|
30
|
+
## Output Contract
|
|
31
|
+
|
|
32
|
+
- Return JSON with:
|
|
33
|
+
- `issue`: metadata
|
|
34
|
+
- `plan`: list of actionable steps
|
|
35
|
+
- `mode`: `plan` or `apply`
|
|
36
|
+
- `nextAction`: command suggestion
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:model
|
|
3
|
+
description: Set or view model routing policy for plan/execute/review phases.
|
|
4
|
+
argument-hint: "[show|clear|set <phase>=<model> ...]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:model
|
|
8
|
+
|
|
9
|
+
Manage model routing policy used by babysitter orchestration.
|
|
10
|
+
|
|
11
|
+
## Behavior
|
|
12
|
+
|
|
13
|
+
1. If argument is `show` or empty:
|
|
14
|
+
- Read `.a5c/config/model-policy.json` (and env override if provided).
|
|
15
|
+
- Return current policy JSON and effective defaults.
|
|
16
|
+
2. If argument is `clear`:
|
|
17
|
+
- Clear persisted policy map.
|
|
18
|
+
- Keep runtime fallback to `BABYSITTER_MODEL_DEFAULT` if set.
|
|
19
|
+
2. If argument starts with `set`:
|
|
20
|
+
- Parse one or more `phase=model` pairs.
|
|
21
|
+
- Valid phases: `plan`, `execute`, `review`, `fix`.
|
|
22
|
+
- Update `.a5c/config/model-policy.json`.
|
|
23
|
+
- Confirm the new policy map.
|
|
24
|
+
|
|
25
|
+
## Output Contract
|
|
26
|
+
|
|
27
|
+
- Always return valid JSON:
|
|
28
|
+
- `action`: `show` or `set`
|
|
29
|
+
- `policy`: object
|
|
30
|
+
- `applied`: boolean
|
|
31
|
+
- `notes`: array
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:observe
|
|
3
|
+
description: Launch the babysitter observer dashboard for real-time run monitoring.
|
|
4
|
+
argument-hint: "[--watch-dir <dir>] or 'stop' to kill running dashboard"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:observe
|
|
8
|
+
|
|
9
|
+
Launch the babysitter observer dashboard — a real-time web UI for monitoring runs, tasks, journal events, and orchestration state.
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Start the Dashboard
|
|
14
|
+
|
|
15
|
+
1. Determine the watch directory (usually the project's container directory or cwd)
|
|
16
|
+
2. Launch:
|
|
17
|
+
```bash
|
|
18
|
+
npx -y @yoavmayer/babysitter-observer-dashboard@latest --watch-dir <dir>
|
|
19
|
+
```
|
|
20
|
+
3. This is a **blocking process** — it will keep running until stopped
|
|
21
|
+
4. Open the browser at the URL printed by the dashboard
|
|
22
|
+
|
|
23
|
+
### Stop the Dashboard
|
|
24
|
+
|
|
25
|
+
If the argument is `stop`:
|
|
26
|
+
1. Find the running dashboard process:
|
|
27
|
+
```bash
|
|
28
|
+
ps aux | grep babysitter-observer-dashboard | grep -v grep
|
|
29
|
+
```
|
|
30
|
+
2. Kill it:
|
|
31
|
+
```bash
|
|
32
|
+
kill <pid>
|
|
33
|
+
```
|
|
34
|
+
3. Confirm it stopped
|
|
35
|
+
|
|
36
|
+
### Default Watch Directory
|
|
37
|
+
|
|
38
|
+
If no `--watch-dir` is specified, use the parent of the current project directory. For `/data/repos`, watch `/data`.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:plan
|
|
3
|
+
description: Plan a babysitter workflow without executing it. Focus on creating the best process possible.
|
|
4
|
+
argument-hint: Specific instructions for the plan
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:plan
|
|
8
|
+
|
|
9
|
+
Plan a complex workflow **without executing it**. This command goes through the full interview and process creation phases but does NOT create a run or execute any tasks.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### 1. Interview Phase
|
|
14
|
+
|
|
15
|
+
Same as `babysitter call`:
|
|
16
|
+
- Research the repo structure
|
|
17
|
+
- Search the process library for relevant specializations/methodologies
|
|
18
|
+
- Gather user intent, requirements, goals, and scope
|
|
19
|
+
- Use wrapper discovery helpers to find available skills/agents.
|
|
20
|
+
- If invoking SDK CLI directly, use:
|
|
21
|
+
`babysitter skill:discover --plugin-root "$CODEX_PLUGIN_ROOT" --json`
|
|
22
|
+
|
|
23
|
+
### 2. Process Creation
|
|
24
|
+
|
|
25
|
+
Create the complete process .js file with all task definitions, quality gates, and convergence loops. Also generate:
|
|
26
|
+
- `<process-name>.diagram.md` — Visual process flow diagram
|
|
27
|
+
- `<process-name>.process.md` — High-level process description
|
|
28
|
+
|
|
29
|
+
### 3. Review
|
|
30
|
+
|
|
31
|
+
Present the process to the user for review. The process should be complete and ready to run — the user can later execute it with `babysitter call` or `babysitter yolo`.
|
|
32
|
+
|
|
33
|
+
### 4. Output
|
|
34
|
+
|
|
35
|
+
Store the process files in `.a5c/processes/`:
|
|
36
|
+
```
|
|
37
|
+
.a5c/processes/
|
|
38
|
+
├── <process-name>.js # Process definition
|
|
39
|
+
├── <process-name>-inputs.json # Default inputs
|
|
40
|
+
├── <process-name>.diagram.md # Visual diagram
|
|
41
|
+
└── <process-name>.process.md # Description
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Do NOT create a run.** The plan is the deliverable.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:project-install
|
|
3
|
+
description: Set up a project for babysitting. Research the codebase, build project profile, install tools.
|
|
4
|
+
argument-hint: Specific instructions for project onboarding
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:project-install
|
|
8
|
+
|
|
9
|
+
Guide through onboarding a new or existing project for babysitter orchestration.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### 1. Research the Codebase
|
|
14
|
+
- Analyze project structure, language, framework, build tools
|
|
15
|
+
- Check for existing `.a5c/` directory
|
|
16
|
+
- Detect CI/CD configuration (GitHub Actions, Jenkins, etc.)
|
|
17
|
+
- Identify key entry points and test suites
|
|
18
|
+
|
|
19
|
+
### 2. Interview
|
|
20
|
+
- What are the project's goals?
|
|
21
|
+
- What workflows should be orchestrated?
|
|
22
|
+
- What quality gates matter most?
|
|
23
|
+
- Any specific tools or frameworks to prefer?
|
|
24
|
+
|
|
25
|
+
### 3. Install the Real Codex Payload
|
|
26
|
+
- Verify the user has installed `@yaniv-tg/babysitter-codex`
|
|
27
|
+
- Run the packaged team installer from the installed skill payload
|
|
28
|
+
- Confirm:
|
|
29
|
+
- `.a5c/team/install.json`
|
|
30
|
+
- `.a5c/team/profile.json`
|
|
31
|
+
- Treat the installed skill root as the source of truth for bundled rules,
|
|
32
|
+
docs, processes, and hook scripts
|
|
33
|
+
|
|
34
|
+
### 4. Build Project Profile
|
|
35
|
+
- If `babysitter profile:*` commands are supported, write the project profile
|
|
36
|
+
through the CLI
|
|
37
|
+
- If the SDK is running in `compat-core`, do not block onboarding on profile
|
|
38
|
+
writes; instead record the discovered build/test/gate choices in workspace
|
|
39
|
+
onboarding notes under `.a5c/`
|
|
40
|
+
|
|
41
|
+
The profile or onboarding notes should cover:
|
|
42
|
+
- Project name, description, language, framework
|
|
43
|
+
- Build and test commands
|
|
44
|
+
- Quality gates configuration
|
|
45
|
+
- Preferred skills and agents
|
|
46
|
+
- CI/CD integration settings
|
|
47
|
+
|
|
48
|
+
### 5. Install Project-Level Codex Settings
|
|
49
|
+
- Ensure `@a5c-ai/babysitter-sdk` is available
|
|
50
|
+
- Create `.a5c/` directory structure
|
|
51
|
+
- Set up `.codex/config.toml` using real Codex settings (sandbox, approval, optional notify)
|
|
52
|
+
- Set up `.codex/hooks.json` with `SessionStart`, `UserPromptSubmit`, and `Stop`
|
|
53
|
+
- Create AGENTS.md if not present
|
|
54
|
+
- Do not add fake manifest/plugin sections or external supervisor loops
|
|
55
|
+
|
|
56
|
+
### 6. Optional: Configure CI/CD
|
|
57
|
+
- Add babysitter orchestration to CI pipeline
|
|
58
|
+
- Set up automated quality gates
|
|
59
|
+
- Configure deployment hooks
|
|
60
|
+
|
|
61
|
+
### Done!
|
|
62
|
+
|
|
63
|
+
Project is ready for babysitting. Try `babysitter call ...` to start your first orchestrated workflow.
|
|
64
|
+
|
|
65
|
+
Star the repo: https://github.com/a5c-ai/babysitter
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:resume
|
|
3
|
+
description: Resume an existing babysitter run from Codex.
|
|
4
|
+
argument-hint: "[recent|tag:<tag>|search:<query>|list|name <alias>|tag +/-<tag>|sessionId]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:resume
|
|
8
|
+
|
|
9
|
+
Resume an incomplete babysitter run with Codex re-entering through the
|
|
10
|
+
workspace hook model on the next turn.
|
|
11
|
+
|
|
12
|
+
## Workflow
|
|
13
|
+
|
|
14
|
+
### 1. Select the run
|
|
15
|
+
|
|
16
|
+
- Use the session index helpers when available
|
|
17
|
+
- Otherwise inspect `.a5c/runs/*` and choose the most recent incomplete run
|
|
18
|
+
|
|
19
|
+
### 2. Resume from persisted run state
|
|
20
|
+
|
|
21
|
+
- Resolve the target run directory or selector
|
|
22
|
+
- Check `babysitter run:status <runDir> --json`
|
|
23
|
+
- Continue by handling pending tasks and posting outputs
|
|
24
|
+
- After each yield, let `Stop` drive re-entry on the next Codex turn
|
|
25
|
+
|
|
26
|
+
### 3. Close out
|
|
27
|
+
|
|
28
|
+
- Report the new run status
|
|
29
|
+
- If the run still needs user input, say so directly
|
|
30
|
+
- Do not claim Codex will continue automatically without hook registration
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:retrospect
|
|
3
|
+
description: Analyze a completed or in-flight run and propose process improvements for future runs.
|
|
4
|
+
argument-hint: "[run-id] Optional run ID, defaults to latest run"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:retrospect
|
|
8
|
+
|
|
9
|
+
Run a structured retrospective over the last babysitter execution and convert findings into actionable process/library improvements.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
1. Resolve target run
|
|
14
|
+
- If run ID is provided, use it.
|
|
15
|
+
- Otherwise select the latest run under `.a5c/runs`.
|
|
16
|
+
|
|
17
|
+
2. Collect run evidence
|
|
18
|
+
- Read run status/events/task outputs:
|
|
19
|
+
```bash
|
|
20
|
+
babysitter run:status .a5c/runs/<runId> --json
|
|
21
|
+
babysitter task:list .a5c/runs/<runId> --json
|
|
22
|
+
```
|
|
23
|
+
- Inspect trace and event stream:
|
|
24
|
+
- `.a5c/runs/<runId>/run-trace.jsonl`
|
|
25
|
+
- `.a5c/events/events.jsonl`
|
|
26
|
+
|
|
27
|
+
3. Analyze against process library
|
|
28
|
+
- Resolve the active process library first:
|
|
29
|
+
```bash
|
|
30
|
+
babysitter process-library:active --state-dir .a5c --json
|
|
31
|
+
```
|
|
32
|
+
- Compare what was executed vs the active process-library binding and relevant methodologies/specializations.
|
|
33
|
+
|
|
34
|
+
4. Produce retrospective output
|
|
35
|
+
- Include:
|
|
36
|
+
- What worked well
|
|
37
|
+
- What failed or slowed convergence
|
|
38
|
+
- Concrete process modifications (tasks/hooks/policies/budgets/breakpoints)
|
|
39
|
+
- Suggested library contributions (processes/skills/agents/docs)
|
|
40
|
+
|
|
41
|
+
5. If user approves, apply improvements
|
|
42
|
+
- Update process files under `.a5c/processes` and/or codex harness config/docs.
|
|
43
|
+
- Suggest contribution flow to upstream Babysitter for generally useful changes.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:team-install
|
|
3
|
+
description: Install or refresh a team-pinned babysitter runtime/content setup from lockfile.
|
|
4
|
+
argument-hint: "[--dry-run]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:team-install
|
|
8
|
+
|
|
9
|
+
Install the team-standard babysitter-codex setup from the installed skill payload into the current workspace.
|
|
10
|
+
|
|
11
|
+
## Steps
|
|
12
|
+
|
|
13
|
+
1. Resolve the installed skill root from this `SKILL.md` location, not from the repo `cwd`.
|
|
14
|
+
2. Run the packaged installer against the current workspace.
|
|
15
|
+
3. Confirm generated files:
|
|
16
|
+
- `.a5c/team/install.json`
|
|
17
|
+
- `.a5c/team/profile.json`
|
|
18
|
+
- `.a5c/active/process-library.json`
|
|
19
|
+
|
|
20
|
+
The installer must read:
|
|
21
|
+
- `<skillRoot>/babysitter.lock.json`
|
|
22
|
+
|
|
23
|
+
The installer must bootstrap the active process library through the Babysitter SDK CLI:
|
|
24
|
+
- clone or update the original Babysitter repo under `<workspace>/.a5c/process-library/...`
|
|
25
|
+
- bind the active process root with `babysitter process-library:use ...`
|
|
26
|
+
- resolve the active path later with `babysitter process-library:active --state-dir <workspace>/.a5c --json`
|
|
27
|
+
|
|
28
|
+
The installer must write workspace state only under:
|
|
29
|
+
- `<workspace>/.a5c/`
|
|
30
|
+
|
|
31
|
+
Use this before onboarding new repos or contributors so command/process/rules mappings are deterministic and do not depend on the plugin repo being checked out beside the target project.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:user-install
|
|
3
|
+
description: Set up babysitter for yourself. Install deps, build user profile, configure tools.
|
|
4
|
+
argument-hint: Specific instructions for user onboarding
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:user-install
|
|
8
|
+
|
|
9
|
+
Guide through onboarding a new user for babysitter orchestration.
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
|
|
13
|
+
### 1. Install Dependencies
|
|
14
|
+
- Ensure Node.js >= 18 is installed
|
|
15
|
+
- Install babysitter SDK globally:
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g @a5c-ai/babysitter-sdk
|
|
18
|
+
```
|
|
19
|
+
- Verify: `babysitter version --json`
|
|
20
|
+
|
|
21
|
+
### 2. Interview
|
|
22
|
+
- What are your specialties? (frontend, backend, devops, ML, etc.)
|
|
23
|
+
- What's your expertise level? (junior, mid, senior, expert)
|
|
24
|
+
- Communication preferences? (concise, detailed, step-by-step)
|
|
25
|
+
- Breakpoint tolerance? (minimal, low, moderate, high, maximum)
|
|
26
|
+
- Preferred tools and frameworks?
|
|
27
|
+
|
|
28
|
+
### 3. Build User Profile
|
|
29
|
+
|
|
30
|
+
Write the user profile using the CLI:
|
|
31
|
+
```bash
|
|
32
|
+
echo '<profile-json>' > /tmp/user-profile.json
|
|
33
|
+
babysitter profile:write --user --input /tmp/user-profile.json --json
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
The profile includes:
|
|
37
|
+
- Name, role, specialties
|
|
38
|
+
- Expertise levels per domain
|
|
39
|
+
- Communication style preferences
|
|
40
|
+
- Breakpoint tolerance settings
|
|
41
|
+
- Tool preferences
|
|
42
|
+
- Installed skills and agents
|
|
43
|
+
|
|
44
|
+
### 4. Configure Tools
|
|
45
|
+
- Set up preferred editor/IDE integration
|
|
46
|
+
- Configure default process templates
|
|
47
|
+
- Set environment variables
|
|
48
|
+
|
|
49
|
+
### Done!
|
|
50
|
+
|
|
51
|
+
Your babysitter profile is configured. It will personalize all future orchestration runs.
|
|
52
|
+
|
|
53
|
+
Star the repo: https://github.com/a5c-ai/babysitter
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: babysitter:yolo
|
|
3
|
+
description: Start babysitting in non-interactive mode - no user interaction or breakpoints, fully autonomous execution.
|
|
4
|
+
argument-hint: Specific instructions for the run
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# babysitter:yolo
|
|
8
|
+
|
|
9
|
+
Identical to `babysitter call` but runs in non-interactive mode:
|
|
10
|
+
|
|
11
|
+
- Skip the interview phase - parse intent directly from the user's prompt
|
|
12
|
+
- Auto-approve all breakpoints - never pause for human approval
|
|
13
|
+
- No user questions - proceed autonomously through the orchestration loop
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
|
|
17
|
+
1. Parse the initial prompt to extract intent, scope, and requirements
|
|
18
|
+
2. Research the repo structure to understand the codebase
|
|
19
|
+
3. Search the process library for relevant specializations and methodologies
|
|
20
|
+
4. Create the process `.js` file and inputs
|
|
21
|
+
5. Create the run:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
babysitter run:create \
|
|
25
|
+
--process-id <id> \
|
|
26
|
+
--entry <path>#<export> \
|
|
27
|
+
--inputs <inputs-file> \
|
|
28
|
+
--prompt "$PROMPT" \
|
|
29
|
+
--harness codex \
|
|
30
|
+
--state-dir .a5c \
|
|
31
|
+
--json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
6. Continue by handling returned tasks and auto-approving breakpoints
|
|
35
|
+
|
|
36
|
+
The hook model remains active:
|
|
37
|
+
|
|
38
|
+
- `SessionStart` initializes state
|
|
39
|
+
- `Stop` decides continuation
|
|
40
|
+
- yolo only removes human approval pauses
|
|
41
|
+
|
|
42
|
+
7. When `completionProof` is emitted, report it plainly
|
|
43
|
+
|
|
44
|
+
## Key Difference from `babysitter call`
|
|
45
|
+
|
|
46
|
+
The only difference is that breakpoints are auto-approved and no user questions
|
|
47
|
+
are asked. The hook-owned continuation and result posting contract stay the
|
|
48
|
+
same.
|