evolve

Evolves faster implementations of pure functions using OpenEvolve driven by the Claude Code CLI.

Updated Aug 26, 2026
One-click install
npx skills add https://github.com/ulebule/claude-skills --skill evolve-ulebule
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: evolve
Source: https://github.com/ulebule/claude-skills/tree/main/plugins/evolve/skills/evolve
Command: npx skills add https://github.com/ulebule/claude-skills --skill evolve-ulebule

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Manually optimizing a hot function is slow and speculative, and naive automated evolution cheats by returning wrong answers quickly. This Skill runs OpenEvolve against a function with a rigorously designed judge — a frozen reference implementation, seeded fuzzing, and speedup-ratio scoring — so evolution finds genuinely faster code instead of code that does less work. ## Core Features & Use Cases - Fitness screening: Decides up front whether a task suits evolution (pure function, measurable metric, frozen meaning, fast evaluation) and refuses bad fits like UI, stateful code, or taste-based changes. - Judge design rules: Encodes the harness pattern — hard-coded expected answers, same-seed fuzzing across candidates, in-process speedup ratios, and compiler output fed back into the prompt as artifacts. - Guided run and verification: Covers config setup (claude_code provider, language/file_suffix), baseline noise measurement, background runs with logs, and a strict post-run procedure: understand the winner, re-measure, port in repo style, run the full test suite, and let the user decide. - Use Case: You have a hot string-normalization function in a Swift package. The Skill builds a lab directory with the current implementation, a judge harness, and an evaluator, runs 20 OpenEvolve iterations via the Claude Code CLI, and hands you a verified faster candidate with before/after timings. ## Quick Start Ask the AI to use the evolve skill to find a faster implementation of a specific pure function in your project.

Frequently Asked Questions about evolve

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

FAQPage Schema
How do I use OpenEvolve to optimize a function?

Set up a lab directory with the current implementation, a judge harness containing a frozen reference and test cases, an evaluator returning metrics, and a config using the claude_code provider. Then run openevolve-run for 10-20 iterations and verify the winner against the full test suite.

Does OpenEvolve need an API key with Claude Code?

No API key is needed when using the Claude Code CLI backend. Usage is billed through the existing claude login, configured via a shared claude-code.yaml config with provider claude_code.

When is code evolution not a good fit?

Evolution is a bad fit for anything involving UI, filesystem, network, or state, for changes where better is a matter of taste like readability, for solutions you already know, and for one-off bug fixes. It only suits pure functions with a measurable metric and frozen meaning.

Why does evolution produce fast but wrong code?

Without a frozen reference implementation in the judge, evolution finds functions that do less work, such as always returning false. The score must stay zero until the candidate matches the reference on every case, including same-seed fuzzed inputs.

How do I measure speedup reliably during evolution?

Measure the candidate and reference in the same process and score the speedup ratio, never absolute nanoseconds. First evaluate the original against itself; deviation from 1.0 is noise, and anything below that threshold is not a real improvement.