From vibeos
Force VibeOS back into full autonomous session mode. Use when the user says "go autonomous", "stop checking in", "run on your own", "stay in autonomous mode", or wants VibeOS to keep building until it hits a real blocker, finishes the plan, or needs an explicit risk decision.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vibeos:autonomousThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn on a temporary full-autonomous session override, record the session state, and continue building without routine check-ins. For 24-48 hour runs, use the long-run autonomy control plane: heartbeat files, checkpoints, audit cadence, failure detection, recovery planning, recovery resolution, and resumable handoff state.
Turn on a temporary full-autonomous session override, record the session state, and continue building without routine check-ins. For 24-48 hour runs, use the long-run autonomy control plane: heartbeat files, checkpoints, audit cadence, failure detection, recovery planning, recovery resolution, and resumable handoff state.
Follow the full USER-COMMUNICATION-CONTRACT.md (docs/USER-COMMUNICATION-CONTRACT.md). Key rules:
Skill-specific addenda:
Before enabling autonomous mode, verify these exist:
project-definition.jsondocs/planning/DEVELOPMENT-PLAN.mddocs/planning/WO-INDEX.mdIf planning files are missing, explain that VibeOS needs discovery and planning before it can run autonomously.
.vibeos/config.json if it exists..vibeos/config.json so it includes:{
"autonomy": {
"level": "wo|phase|major",
"negotiated_at": "ISO-8601 timestamp",
"session_override": {
"mode": "autonomous",
"active": true,
"set_at": "ISO-8601 timestamp",
"set_by": "/vibeos:autonomous"
},
"long_run": {
"active": true,
"target_hours": 24,
"max_hours": 48,
"heartbeat_interval_minutes": 30,
"checkpoint_interval_minutes": 60,
"audit_interval_minutes": 180,
"evidence_dir": ".vibeos/autonomy",
"stop_conditions": [
"security_or_secret_risk",
"destructive_or_irreversible_action",
"unclear_product_decision",
"repeated_gate_failure",
"provider_or_session_limit",
"repeated_no_progress_loop",
"plan_complete"
]
}
}
}
If the file does not exist, create .vibeos/ and write a valid config file that includes the override.
Create or update .vibeos/session-state.json.
Use this shape:
{
"session_id": "ISO timestamp or CLAUDE_SESSION_ID",
"mode": "autonomous",
"active": true,
"started_at": "ISO-8601 timestamp",
"last_updated": "ISO-8601 timestamp",
"started_from_wo": "WO-NNN or unknown",
"completed_wos": [],
"phase_checkpoints": [],
"last_audit_report": null,
"last_audited_at": null,
"long_run": {
"run_id": "longrun-session-id",
"active": true,
"target_hours": 24,
"max_hours": 48,
"heartbeat_interval_minutes": 30,
"checkpoint_interval_minutes": 60,
"audit_interval_minutes": 180,
"loop_iteration": 0,
"last_heartbeat_at": "ISO-8601 timestamp",
"last_checkpoint_at": null,
"last_audit_at": null
}
}
If a session file already exists:
completed_wos and phase_checkpointsactive back to truemode to autonomousended_at or paused_at fieldsEnsure .vibeos/build-log.md exists, then append a log entry like:
[timestamp] autonomy session autonomous [enabled] full autonomous session override requested
If .vibeos/scripts/autonomy-heartbeat.py exists, record the first heartbeat before continuing:
python3 ".vibeos/scripts/autonomy-heartbeat.py" \
--status running \
--iteration 0 \
--summary "autonomous long-run session enabled" \
--next-action "continue build loop"
This creates .vibeos/autonomy/heartbeats/*.json, updates .vibeos/session-state.json, and gives future sessions a durable resume point.
Then write the first supervisor plan:
python3 ".vibeos/scripts/autonomy-supervisor.py" --project-dir "."
python3 ".vibeos/scripts/autonomy-runner.py" --project-dir "." --json
This creates .vibeos/autonomy/resume-plan.json, which records whether the next loop should continue building, record a heartbeat, run a checkpoint, run an audit, or stop.
The runner writes .vibeos/autonomy/runner-report.json, blocks untrusted shell commands, and marks Codex/Claude continuation steps as handoff-required model work.
External schedulers or runtime adapters can call python3 ".vibeos/scripts/autonomy-loop.py" --project-dir "." --json to run one deterministic supervisor-plus-runner tick and write .vibeos/autonomy/loop-state.json.
When the loop reports handoff_required, python3 ".vibeos/scripts/autonomy-runtime-adapter.py" --project-dir "." --json writes the Codex/Claude handoff plan without launching it. Use --execute only when the surrounding automation is intentionally allowed to start a new runtime process.
If loop ticks, runtime handoffs, runner blocks, lease conflicts, or provider/session limit signals repeat, run python3 ".vibeos/scripts/autonomy-failure-detector.py" --project-dir "." --json and then python3 ".vibeos/scripts/autonomy-recovery-planner.py" --project-dir "." --json. Use python3 ".vibeos/scripts/autonomy-recovery-resolution.py" --project-dir "." --action-id "<ACTION_ID>" --summary "<what changed>" --evidence "<path-or-note>" --json to record evidence for resolved recovery actions. python3 ".vibeos/scripts/autonomy-scheduler-guard.py" --project-dir "." --json must pass before scheduling another tick.
Before installing a scheduler profile, generate it with python3 ".vibeos/scripts/autonomy-scheduler-profile.py" --project-dir "." --json and run python3 ".vibeos/scripts/autonomy-smoke.py" --runtime-provider codex --json against a disposable target or reviewed project path.
Tell the user, in plain English:
If $ARGUMENTS includes a scope reminder, include that reminder in the confirmation.
After updating config and session state:
skills/build/SKILL.mdWhile the override is active:
autonomy-loop.py for scheduler-safe loop ticks when a non-model process is driving the session.vibeos/autonomy/run-lease.json; if a lease conflict appears, treat another autonomy driver as activeautonomy-runtime-adapter.py for dry-run-first Codex/Claude runtime handoff planningautonomy-failure-detector.py for repeated handoff loops, runner blocks, runtime failures, lease conflicts, and provider/session limitsautonomy-recovery-planner.py for plan-only recovery actions after failure detectionautonomy-recovery-resolution.py to record summary and evidence for resolved recovery actionsautonomy-scheduler-guard.py to block scheduler-driven ticks while recovery actions lack matching resolution evidenceautonomy-scheduler-profile.py only to generate reviewed profile files; it does not install cron, launchd, or CI jobsautonomy-smoke.py before trusting a scheduler profileautonomy-runner.py; use --execute only for allowlisted local VibeOS scriptsWhen the user later says "stop autonomous mode", "change autonomy", or the autonomous session finishes:
.vibeos/config.json autonomy.session_override.active to false.vibeos/session-state.json with active: false and an ended_at timestamppython3 ".vibeos/scripts/autonomy-heartbeat.py" --status complete --summary "autonomous session complete" --next-action "run session audit"
python3 ".vibeos/scripts/validate-long-run-autonomy.py" --project-dir "." --require-closed
| Artifact | Path | Purpose |
|---|---|---|
| Config | .vibeos/config.json | Preserves negotiated autonomy and temporary autonomous-session override |
| Session state | .vibeos/session-state.json | Tracks the current or most recent autonomous session |
| Build log | .vibeos/build-log.md | Records when autonomous mode was enabled |
| Heartbeats | .vibeos/autonomy/heartbeats/*.json | Durable evidence and resume points for 24-48 hour autonomous runs |
| Run lease | .vibeos/autonomy/run-lease.json | Active driver lease preventing concurrent loop/runtime mutation |
| Lease evidence | .vibeos/autonomy/last-lease.json | Last acquired and released lease evidence |
| Lease conflict | .vibeos/autonomy/lease-conflict.json | Latest blocked concurrent driver attempt |
| Loop state | .vibeos/autonomy/loop-state.json | Latest scheduler-safe supervisor-plus-runner tick state |
| Loop history | .vibeos/autonomy/loop-history.jsonl | Append-only loop tick history for stuck-loop detection |
| Runner report | .vibeos/autonomy/runner-report.json | Records safe resume-plan classification, execution, blocked commands, and model handoffs |
| Runtime adapter plan | .vibeos/autonomy/runtime-adapter-plan.json | Planned or executed Codex/Claude handoff command |
| Runtime adapter history | .vibeos/autonomy/runtime-adapter-history.jsonl | Append-only runtime handoff history for repeated failure detection |
| Failure report | .vibeos/autonomy/failure-report.json | Repeated loop, blocked runner, runtime, lease, and provider/session failure report |
| Recovery plan | .vibeos/autonomy/recovery-plan.json | Plan-only recovery actions for detected autonomy failure classes |
| Recovery resolution | .vibeos/autonomy/recovery-resolution.json | Evidence-backed resolution state for recovery-plan actions |
| Recovery resolution history | .vibeos/autonomy/recovery-resolution-history.jsonl | Append-only recovery resolution history |
| Scheduler guard report | .vibeos/autonomy/scheduler-guard-report.json | Pre-tick guard result for unresolved recovery actions |
| Scheduler profile | .vibeos/autonomy/scheduler-profile.json | Generated scheduler profile manifest |
| Smoke report | .vibeos/autonomy/smoke-report.json | Disposable autonomy smoke-test result |
npx claudepluginhub chieflatif/codex-vibeos-plugin --plugin vibeosProvides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.