self-improve

Automate benchmark-driven code improvement loops with YAML-configured controllers.

Updated Apr 17, 2026
One-click install
npx skills add https://github.com/dropsyoon/oh-my-claudecode --skill self-improve-dropsyoon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: self-improve
Source: https://github.com/dropsyoon/oh-my-claudecode/tree/main/skills/self-improve
Command: npx skills add https://github.com/dropsyoon/oh-my-claudecode --skill self-improve-dropsyoon

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

It removes the manual trial-and-error of improving a repository by running an end-to-end, benchmark-driven evolution loop that designs, implements, validates, and selects code changes.

Core Features & Use Cases

  • Autonomous improvement lifecycle: Orchestrates research, hypothesis planning, architectural/critic review, execution on isolated worktrees, and tournament-based selection.
  • Benchmark-first optimization: Uses a user-defined benchmark command and stop conditions to iteratively search for measurable gains.
  • Safety and anti-self-modification guardrails: Enforces sealed-file constraints via validate.sh and uses a worktree strategy to isolate experiments and avoid unintended edits.

Real-world use cases:

  • Improve performance or quality metrics in an existing codebase by iteratively testing candidate changes against a deterministic evaluation command.
  • Drive systematic experimentation when you know a target metric but need the loop to generate and verify hypotheses under constraints.

Quick Start

Use the self-improve orchestrator by running the self-improvement session setup, then start the loop to iteratively improve your target repo until a stop condition is reached.

Frequently Asked Questions about self-improve

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate code improvement using benchmark-driven evaluation?

Automated code improvement uses a YAML-configured loop to iteratively generate hypotheses, execute changes in isolated git worktrees, and select winners via benchmark scoring. It eliminates manual trial-and-error by validating performance gains against a deterministic evaluation command.

What is tournament selection for autonomous codebase optimization?

Tournament selection for autonomous codebase optimization is a process where multiple candidate code changes are executed and scored against a benchmark. The highest-scoring changes are selected as winners, driving systematic evolutionary improvement until explicit stop conditions are met.

How do I safely run autonomous code modification without unintended edits?

To safely run autonomous code modification, execute changes in isolated git worktrees and enforce sealed-file constraints using a validation script. This strategy isolates experiments and prevents unintended edits to the repository while testing performance optimization hypotheses.

Can I use this autonomous evolution loop for repository-level performance regression testing?

Yes, you can use this autonomous evolution loop for repository-level performance regression testing by defining a benchmark command and stop conditions. It repeatedly evaluates measurable performance metrics in a trusted local environment to search for verifiable gains.

Do I need a YAML configuration to start an autonomous code improvement loop?

Yes, you need a YAML configuration to start the loop, as it reads goal, benchmark, and harness settings. This configuration drives the orchestrator, delegates tasks to agents, and enforces sealed-file and plan/result JSON schemas throughout the improvement lifecycle.

What are the limitations of using benchmark scoring for code optimization?

A limitation of using benchmark scoring for code optimization is that it requires a deterministic evaluation command and measurable metrics. Without explicit termination conditions and a trusted local environment, the loop cannot safely validate performance gains or stop correctly.