yeachan-heo/oh-my-claudecode13 files

Self Improve

Autonomous evolutionary code improvement engine with tournament selection

Specification
Skill ID
yeachan-heo/oh-my-claudecode/self-improve
Publisher
yeachan-heo
Repository
oh-my-claudecode
Installs
0
Files
13
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

yeachan-heo/oh-my-claudecode/self-improveInstalls these files
  • SKILL.md
  • data_contracts.md
  • scripts/plot_progress.py
  • scripts/resolve-paths.mjs
  • scripts/validate.sh
  • si-benchmark-builder.md
  • si-goal-clarifier.md
  • si-researcher.md
  • templates/agent-settings.json
  • templates/goal.md
  • templates/harness.md
  • templates/idea.md
  • templates/settings.json

What this skill tells the agent

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.

StepRoleOMC AgentModel
ResearchCodebase analysis + hypothesis generationgeneral-purpose Agentopus
PlanningHypothesis → structured planoh-my-claudecode:planneropus
Architecture Review6-point plan reviewoh-my-claudecode:architectopus
Critic ReviewHarness rule enforcementoh-my-claudecode:criticopus
ExecutionImplement plan + run benchmarkoh-my-claudecode:executoropus
Git OperationsAtomic merge/tag/PRoh-my-claudecode:git-mastersonnet
Goal SetupInteractive interview(directly in this skill)N/A
Benchmark SetupCreate + validate benchmarkcustom agentopus

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:

FilePurpose
<self-improve-root>/config/settings.jsonUser 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.jsonRuntime: 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.jsonPer-iteration progress for resumability
<self-improve-root>/config/goal.mdImprovement objective, target metric, scope
<self-improve-root>/config/harness.mdGuardrail 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 structure by copying from templates/ in this skill directory into the resolved config/ root.
  4. Read <self-improve-root>/state/agent-settings.json. Check si_setting_goal, si_setting_benchmark, si_setting_harness.
  5. Trust confirmation (mandatory, cannot be skipped): a. If trust_confirmed is already true in agent-settings.json, skip to step 5 (resume path). b. Display the target repo path and ask user to confirm: "Self-improve will run benchmark commands inside {repo_path}. This executes arbitrary code in that repository. Confirm? [yes/no]" c. If user declines: abort setup and exit. Do NOT proceed. d. Record consent: set trust_confirmed: true in agent-settings.json.
  6. Persist topic_slug into config/settings.json when the resolved root is topic-scoped so future resumes stay on the same track.
  7. If goal not set → read si-goal-clarifier.md from this skill directory and run the 4-dimension Socratic interview directly in this context (Objective, Metric, Target, Scope). Write result to <self-improve-root>/config/goal.md.
  8. If benchmark not set → read si-benchmark-builder.md from this skill directory, spawn a custom Agent(model=opus) with its content as prompt. The agent surveys the repo, creates or wraps a benchmark, validates 3x, and records baseline. After benchmark is set, confirm the benchmark command with user: "Benchmark command: {benchmark_command}. This will be run repeatedly during the loop. Confirm? [yes/no]" If user declines: abort setup and exit.
  9. If harness not set → confirm default harness rules (H001/H002/H003) with user or customize.
  10. Gate: All of si_setting_goal, si_setting_benchmark, si_setting_harness, trust_confirmed must be true.
  11. Create improvement branch (if it does not exist): `` git -C {repo_path} checkout -b improve/{goal_slug} {target_branch} git -C {repo_path} checkout {target_branch} ` Where {goal_slug} is derived from the goal objective (lowercase, underscored). If the branch already exists, skip creation. Persist goal_slug` in agent-settings.json.

Use this skill in a project

Open any RiverX project, search the Skills panel for yeachan-heo/oh-my-claudecode/self-improve, and install it in one click.

Use this skill