Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/lseman-eoh
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: ml, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/eoh
What's inside
- Skill name
eoh- Description
- Evolution of Heuristics (EoH) — arxiv 2401.02051. Autonomous heuristic evolution via LLM-driven operators. Use when asked to evolve a heuristic, run EoH, or optimize an algorithmic function through generations.
- License
- MIT
- Instructions
- 110 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (5)
- SKILL.md
- SKILL.md · eoh-dashboard/
- SKILL.md · eoh-evolve/
- SKILL.md · eoh-problem/
- index.ts
SKILL.md (first lines)
# Evolution of Heuristics (EoH)
Evolve algorithmic heuristics autonomously using the EoH framework (arxiv 2401.02051). An LLM acts as the evolutionary operator, generating candidate heuristics that are evaluated for fitness and selected across generations.
## Core Concepts
- **Heuristic**: A function (thought + code) that solves a problem instance. Each heuristic has a fitness score.
- **Population**: A set of N heuristics. After each generation, the best N survive.
- **Operators**: Five evolutionary operators from the EoH paper:
- **E1 Diversity**: Generate diverse heuristics from multiple parents
- **E2 Convergence**: Refine toward the best solutions
- **M1 Improve**: Improve the single best heuristic
- **M2 Tune**: Fine-tune parameters of the best heuristic
- **M3 Simplify**: Simplify the best heuristic (reduce complexity)
- **Generation**: One full cycle of applying all 5 operators to produce candidates, then selecting the next population.
- **Problem**: Defines the task, function signature, instances, and evaluation function.
## Session Structure
EoH sessions live in `.eoh/` directory:
| File | Purpose |
|------|---------|
| `.eoh/log.jsonl` | Append-only log of all generations and heuristics |
| `.eoh/prompt.md` | Optional: custom rules and constraints for the LLM |
| `.eoh/config.json` | Optional: max generations override |
## Workflow
### 1. Define the Problem
The problem must specify:
- **name**: Short identifier
- **description**: Full problem description for the LLM
- **functionSignature**: Required function signature the LLM must produce
- **instances**: Problem instances for evaluation
- **evaluateInstance**: Function that scores a heuristic on an instance
For Python files with EoH regions (`# EOH-BEGIN` / `# EOH-END`), the file itself defines the problem — the heuristic function is in the marked region and `evaluate(heuristic)` computes fitness.
### 2. Initialize Evolution
Set up the evolution session with:
- Problem definition (name, description, function signature)
- Population size (default: 10)
- Max generations (0 = unlimited)
- Direction: "lower" or "higher" fitness
### 3. Run Generations
Each generation:
1. Applies all 5 operators × population size = 5N candidate heuristics
2. Evaluates each candidate on all problem instances
3. Selects the top N heuristics for the next generation
The LLM generates both a natural language **thought** (explaining the idea) and **code** (the actual function).
### 4. Monitor Progress
Track:
- Best fitness per generation
- Population statistics (best/worst/mean)
- LLM call count
- Convergence (no improvement for 3+ generations)
### 5. Extract Results
Get the best heuristic found, including its thought (explanation) and code.
## File-Based EoH (Python)
For Python files, EoH uses a special region format:
```python
"""Maximize the score over a fixed integer dataset."""
# EOH-BEGIN
def heuristic(value: int) -> int:
return value
# EOH-END
def evaluate(heuristic) -> float:
return sum(heuristic(value) for value in [1, 2, 3])
```
The file between `# EOH-BEGIN` and `# EOH-END` is the evolvable region. The `evaluate(heuristic)` function after it computes fitness.
## Operators in Detail
| Operator | Parents | Purpose |
|----------|---------|---------|
| E1 Diversity | N parents | Generate diverse solutions exploring the search space |
| E2 Convergence | N parents | Refine toward promising regions |
| M1 Improve | 1 parent | Directly improve the best heuristic |
| M2 Tune | 1 parent | Fine-tune parameters/strategy |
| M3 Simplify | 1 parent | Reduce code complexity while maintaining fitness |
## Tips
- **Start with a good problem description**. The LLM's output quality depends heavily on how well the problem is specified.
- **Use more generations** for complex problems. The EoH paper shows improvement continues beyond 10 generations.
- **Larger populations** explore more of the search space but cost more LLM calls.
- **Watch for convergence**: when 3+ generations show no improvement, the population may have plateaued.
- **M3 Simplify** is valuable for producing clean, maintainable code — not just high fitness.
## Related Skills
- `/autoresearch` — General-purpose autonomous optimization loop (broader scope, not heuristic-specific)From lseman/logician, MIT.
More from lseman/logician
- 0.547score
autoresearch-hooks
lseman
Author pre/post-iteration hooks for an autoresearch session.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
autoresearch-finalize
lseman
Finalize an autoresearch session into clean, reviewable branches.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
config
lseman
Configure GSD settings — workflow toggles, advanced knobs, integrations, and model profile
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
ai-integration-phase
lseman
Generate an AI-SPEC.md design contract for phases that involve building AI systems.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
eval-review
lseman
Audit an executed AI phase's evaluation coverage and produce an EVAL-REVIEW.md remediation plan.
SkillBFreshness: B★ 1Claude Code +9 - 0.530score
capture
lseman
Capture ideas, tasks, notes, and seeds to their destination
SkillBFreshness: B★ 1Claude Code +9 - 0.529score
discuss-phase
lseman
Gather phase context through adaptive questioning before planning.
SkillBFreshness: B★ 1Claude Code +9 - 0.297score
academic
lseman
No description from the publisher yet.
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 14, 2026 (2 months ago)
- Last release
- Aug 9, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/lseman/logician
- Website
- logician.laioseman.com/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from lseman
- 0.547score
autoresearch-hooks
lseman
Author pre/post-iteration hooks for an autoresearch session.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
autoresearch-finalize
lseman
Finalize an autoresearch session into clean, reviewable branches.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
eval-review
lseman
Audit an executed AI phase's evaluation coverage and produce an EVAL-REVIEW.md remediation plan.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
ai-integration-phase
lseman
Generate an AI-SPEC.md design contract for phases that involve building AI systems.
SkillBFreshness: B★ 1Claude Code +9 - 0.533score
config
lseman
Configure GSD settings — workflow toggles, advanced knobs, integrations, and model profile
SkillBFreshness: B★ 1Claude Code +9 - 0.530score
capture
lseman
Capture ideas, tasks, notes, and seeds to their destination
SkillBFreshness: B★ 1Claude Code +9
Cite this page
eoh skill. Agent Mart. https://agentmart.dev/skills/lseman-eoh (last updated 2026-10-24)