autodev
Manage the PROGRAM.md operational contract that bounds autonomous development loops. Use when setting up or validating PROGRAM.md/AUTODEV.md, choosing between autodev and evolve, or turning a repeated postmortem -> analyze -> plan -> pre-mortem -> implement -> validate cycle into the v2 autonomous workflow.
Best use case
autodev is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Manage the PROGRAM.md operational contract that bounds autonomous development loops. Use when setting up or validating PROGRAM.md/AUTODEV.md, choosing between autodev and evolve, or turning a repeated postmortem -> analyze -> plan -> pre-mortem -> implement -> validate cycle into the v2 autonomous workflow.
Teams using autodev should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/autodev/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How autodev Compares
| Feature / Agent | autodev | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Manage the PROGRAM.md operational contract that bounds autonomous development loops. Use when setting up or validating PROGRAM.md/AUTODEV.md, choosing between autodev and evolve, or turning a repeated postmortem -> analyze -> plan -> pre-mortem -> implement -> validate cycle into the v2 autonomous workflow.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
SKILL.md Source
# $autodev
`$autodev` manages the repo-local operational contract for autonomous
development. It does not replace `$evolve` or `$rpi`.
- `PROGRAM.md` or `AUTODEV.md` defines the contract: mutable scope, immutable
scope, experiment unit, validation commands, decision policy, escalation rules,
and stop conditions.
- `ao autodev` creates, inspects, and validates that contract.
- `ao evolve` runs the v2 autonomous improvement loop.
- `ao rpi` runs one research -> plan -> implement -> validate lifecycle.
## Codex Lifecycle Guard
When this skill runs in Codex hookless mode (`CODEX_THREAD_ID` is set or
`CODEX_INTERNAL_ORIGINATOR_OVERRIDE` is `Codex Desktop`), ensure startup context
before editing or validating the contract:
```bash
ao codex ensure-start 2>/dev/null || true
```
## Routing
Use this split when the user asks whether the old evolve flow should become a
new command or skill:
| Intent | Action |
|--------|--------|
| define or repair the repo-local autonomous policy | use `$autodev` and `ao autodev` |
| run the autonomous improvement loop | use `$evolve` or `ao evolve` |
| run one bounded lifecycle | use `$rpi` or `ao rpi` |
`PROGRAM.md` takes precedence over `AUTODEV.md`. Treat `AUTODEV.md` as the
compatibility alias.
## Execution Steps
### Step 1: Detect the contract
```bash
if [ -f PROGRAM.md ]; then
PROGRAM_PATH=PROGRAM.md
elif [ -f AUTODEV.md ]; then
PROGRAM_PATH=AUTODEV.md
else
PROGRAM_PATH=
fi
```
If a contract exists, validate before using it:
```bash
ao autodev validate --json ${PROGRAM_PATH:+--file "$PROGRAM_PATH"}
```
If no contract exists and the user asked to initialize or define the loop, create
one:
```bash
ao autodev init "<objective>"
```
Infer the objective from the user request when it is clear. Ask only when the
objective cannot be discovered from repo context and inventing it would make the
contract misleading.
### Step 2: Repair or explain validation failures
When validation fails, inspect the missing fields and patch the program file if
the user asked to create or fix the contract. Required sections:
- `Objective`
- `Mutable Scope`
- `Immutable Scope`
- `Experiment Unit`
- `Validation Commands`
- `Decision Policy`
- `Escalation Rules`
- `Stop Conditions`
Prefer narrow mutable scope and concrete validation commands. If the needed work
crosses immutable scope, create or update a bead instead of silently widening the
contract.
### Step 3: Hand off to the loop
After `ao autodev validate` passes:
- For one lifecycle, run `$rpi "<goal>"` or `ao rpi ...`.
- For the repeated autonomous loop, run `$evolve` or `ao evolve --max-cycles <n>`.
- If both `PROGRAM.md` and `GOALS.md` exist, `GOALS.md` is strategic fitness and
`PROGRAM.md` is the operational execution layer.
Do not mark an autonomous cycle successful only because the main tests pass. The
program validation bundle and stop conditions must also be satisfied.
## Examples
```text
User: turn this postmortem/analyze/plan/pre-mortem/implement/validate loop into
a v2 command.
Agent: Explain that `ao evolve` runs the loop, then create or validate
`PROGRAM.md` with `$autodev` so the loop has explicit scope and gates.
```
```bash
ao autodev init "Continuously improve AgentOps skills within explicit scope."
ao autodev validate
ao evolve --max-cycles 1
```
## Troubleshooting
| Problem | Response |
|---------|----------|
| `PROGRAM.md not found` | Run `ao autodev init "<objective>"` when setup is requested. |
| validation reports missing sections | Patch the missing required sections, then rerun `ao autodev validate --json`. |
| requested work is outside immutable scope | Stop direct edits and create a bead or ask for an explicit contract change. |
| user asks "is this evolve?" | Answer: `autodev` defines the loop contract; `evolve` runs the loop. |Related Skills
vibe
Comprehensive code validation. Runs complexity analysis then multi-model council. Answer: Is this code ready to ship? Triggers: "vibe", "validate code", "check code", "review code", "code quality", "is this ready".
validation
Full validation phase orchestrator. Vibe + post-mortem + retro + forge. Reviews implementation quality, extracts learnings, feeds the knowledge flywheel. Triggers: "validation", "validate", "validate work", "review and learn", "validation phase", "post-implementation review".
update
Reinstall all AgentOps skills globally from the latest source. Triggers: "update skills", "reinstall skills", "sync skills".
trace
Trace design decisions and concepts through session history, handoffs, and git. Triggers: "trace decision", "how did we decide", "where did this come from", "design provenance", "decision history".
test
Test generation, coverage analysis, and TDD workflow. Triggers: "test", "generate tests", "test coverage", "write tests", "tdd", "add tests", "test strategy", "missing tests", "coverage gaps".
status
Single-screen dashboard showing current work, recent validations, flywheel health, and suggested next action. Triggers: "status", "dashboard", "what am I working on", "where was I".
standards
Language-specific coding standards and validation rules. Provides Python, Go, Rust, TypeScript, Shell, YAML, JSON, and Markdown standards. Auto-loaded by $vibe, $implement, $doc, $bug-hunt, $complexity based on file types.
shared
Shared reference documents for multi-agent skills (not directly invocable)
security
Continuous repository security scanning and release gating. Triggers: "security scan", "security audit", "pre-release security", "run scanners", "check vulnerabilities".
security-suite
Composable security suite for binary and prompt-surface assurance, static analysis, dynamic tracing, repo-native redteam scans, contract capture, baseline drift, and policy gating. Triggers: "binary security", "reverse engineer binary", "black-box binary test", "behavioral trace", "baseline diff", "prompt redteam", "security suite".
scenario
Author and manage holdout scenarios for behavioral validation. Scenarios are stored in .agents/holdout/ where implementing agents cannot see them. Triggers: "$scenario", "holdout", "behavioral scenario", "create scenario", "list scenarios".
scaffold
Project scaffolding, component generation, and boilerplate setup. Triggers: "scaffold", "new project", "init project", "create project", "generate component", "setup project", "starter", "boilerplate".