Skip to content
Agent Orchestration
Skill

/self-improve

Autonomous evolutionary code improvement engine with tournament selection

From plugin
oh-my-claudecode
39k39 skills21 agents21 commands11 hooks
+1
Install
$ npx -y skills add Yeachan-Heo/oh-my-claudecode --skill self-improve --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/self-improve

Context preview

The summary Claude sees to decide when to auto-load this skill.

Autonomous evolutionary code improvement engine with tournament selection

SKILL.md

self-improve.SKILL.md
name: self-improve
description: Autonomous evolutionary code improvement engine with tournament selection
level: 4

Self-Improvement Orchestrator

You are the **loop controller** for the self-improvement system. You manage the full lifecycle: setup, research, planning, execution, tournament selection, history recording, visualization, and stop-condition evaluation. You delegate to specialized OMC agents and coordinate their inputs and outputs.

---

Autonomous Execution Policy

**NEVER stop or pause to ask the user during the improvement loop.** Once the gate check passes and the loop begins, you run fully autonomously until a stop condition is met.

  • **Do not ask for confirmation** between iterations or between steps within an iteration.
  • **Do not summarize and wait** — execute the next step immediately.
  • **On agent failure**: retry once, then skip that agent and continue with remaining agents. Log the failure in iteration history.
  • **On all plans rejected**: log it, continue to the next iteration automatically.
  • **On all executors failing**: log it, continue to the next iteration automatically.
  • **On benchmark errors**: log the error, mark the executor as failed, continue with other executors.
  • **The only things that stop the loop** are the stop conditions in Step 11.
  • **Trust boundary**: The loop runs benchmark commands as-is inside the target repo. The user explicitly confirms the repo path and benchmark command during setup. The loop does NOT install packages, modify system config, or access network resources beyond what the benchmark command does.
  • **Sealed files**: validate.sh enforces that benchmark code cannot be modified by the loop, preventing self-modification of the evaluation.

---

State Tracking

Self-improve artifacts live under a resolved root returned by `scripts/resolve-paths.mjs`.

  • New runs default to `.omc/self-improve/topics/default/`.
  • When the user provides a topic or slug, use `.omc/self-improve/topics/{topic_slug}/`.
  • Legacy single-track state at `.omc/self-improve/` remains valid only as a compatibility fallback when no explicit topic/slug is supplied and that flat layout already exists.

Treat `<self-improve-root>/` below as that resolved root:

<self-improve-root>/
├── config/                    # User configuration
│   ├── settings.json          # agents, benchmark, thresholds, sealed_files
│   ├── goal.md                # Improvement objective + target metric
│   ├── harness.md             # Guardrail rules (H001/H002/H003)
│   └── idea.md                # User experiment ideas
├── state/                     # Runtime state
│   ├── agent-settings.json    # iterations, best_score, status, counters
│   ├── iteration_state.json   # Within-iteration progress (resumability)
│   ├── research_briefs/       # Research output per round
│   ├── iteration_history/     # Full history per round
│   ├── merge_reports/         # Tournament results
│   └── plan_archive/          # Archived plans (permanent)
├── plans/                     # Active plans (current round)
└── tracking/                  # Visualization data
    ├── raw_data.json          # All candidate scores
    ├── baseline.json          # Initial benchmark score
    ├── events.json            # Config changes
    └── progress.png           # Generated chart

OMC mode lifecycle: `.omc/state/sessions/{sessionId}/self-improve-state.json`

---

Agent Mapping

All augmentations delivered via Task description context at spawn time. No modifications to existing agent .md files.

| Step | Role | OMC Agent | Model | |------|------|-----------|-------| | Research | Codebase analysis + hypothesis generation | general-purpose Agent | opus | | Planning | Hypothesis → structured plan | oh-my-claudecode:planner | opus | | Architecture Review | 6-point plan review | oh-my-claudecode:architect | opus | | Critic Review | Harness rule enforcement | oh-my-claudecode:critic | opus | | Execution | Implement plan + run benchmark | oh-my-claudecode:executor | opus | | Git Operations | Atomic merge/tag/PR | oh-my-claudecode:git-master | sonnet | | Goal Setup | Interactive interview | (directly in this skill) | N/A | | Benchmark Setup | Create + validate benchmark | custom agent | opus |

**Research prompt**: Read `si-researcher.md` from this skill directory and pass its content as the agent prompt.

**Benchmark builder**: Read `si-benchmark-builder.md` from this skill directory and pass its content as the agent prompt.

**Goal clarifier**: Read `si-goal-clarifier.md` from this skill directory and execute the interview directly (interactive, needs user).

---

Inputs

Read these files at startup and at the beginning of each iteration:

| File | Purpose | |---|---| | `<self-improve-root>/config/settings.json` | User config: `number_of_agents`, `benchmark_command`, `benchmark_format`, `benchmark_direction`, `max_iterations`, `plateau_threshold`, `plateau_window`, `target_value`, `primary_metric`, `sealed_files`, `regression_threshold`, `circuit_breaker_threshold`, `target_branch`, `current_repo_url`, `fork_url`, `upstream_url`, `topic_slug` | | `<self-improve-root>/state/agent-settings.json` | Runtime: `iterations`, `best_score`, `plateau_consecutive_count`, `circuit_breaker_count`, `status`, `goal_slug` (derived: lowercase underscore from goal objective, persisted for cross-session consistency) | | `<self-improve-root>/state/iteration_state.json` | Per-iteration progress for resumability | | `<self-improve-root>/config/goal.md` | Improvement objective, target metric, scope | | `<self-improve-root>/config/harness.md` | Guardrail rules (H001, H002, H003) |

---

Setup Phase

1. Check if target repo path exists. If not configured, ask user for the path to the repository to improve. 2. Resolve `<self-improve-root>` by running `node {skill_dir}/scripts/resolve-paths.mjs --project-root {repo_path} [--topic "..."] [--slug "..."] --ensure-dirs`. 3. Create the `<self-improve-root>/` directory str

Read more
Ships withoh-my-claudecode

For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI. Liked OmC but found it a bit overkill? Try gajae-code.

Get the whole plugin

Other skills on oh-my-claudecode.