agentleFS
salalaslamsalalaslam/skills/hill-climb/SKILL.md

hill-climb

Skill0 starsChanged 51 days agoMITView on GitHub

Use when the user says "hill climb", "climb until", or asks to keep improving something until it reaches a score. Works for any work with a result that can be scored: UI, writing, speed, token use, test pass rate, eval results.

5 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 12 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 5 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before any change, write down:

    line 12
  2. Distinctive:

    How it's scored: Prefer a number a program produces: tests passing, an eval, a benchmark, bundle size, token count, response time.

    line 15
  3. Distinctive:

    The target: Default 9/10 for judged work.

    line 18
  4. Distinctive:

    The budget: Default 8 rounds or 4 hours, whichever comes first.

    line 19
  5. Distinctive:

    If the scoring isn't clear, ask the user before starting.

    line 21
  6. Very specific:

    Keep a running log outside the repo (~/.cache/hill-climb/<slug>/log.txt): each round's change, scores and decision.

    line 27
  7. Distinctive:

    Commit, so every round can be undone.

    line 32
  8. Distinctive:

    If the score rose by more than the noise, keep the change.

    line 34
  9. Distinctive:

    Check that nothing that must not get worse did: tests, other categories, earlier gains.

    line 35
  10. Distinctive:

    never change the scorer, tests or rubric to raise the score.

    line 45
  11. Distinctive:

    stop and say so if the score rises but the work looks worse to you, for example a design that turns gray and lifeless.

    line 46
  12. Distinctive:

    Stop at whichever comes first:

    line 50
  13. Distinctive:

    Target reached: every judge scores every category at or above the target.

    line 52
  14. Very specific:

    Never raise the target yourself.

    line 59

“Common” is measured: kept by at least 6 in 10 of the 5 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Hill climb

Improve something in rounds. Each round: change it, score it, keep the change if the score went up, undo it if not. Stop when the target is reached, when progress stalls, or when the budget runs out.

1. Agree on the score first

Before any change, write down:

  • What's being improved, and what must not get worse ("send less data, with no visible UI change").
  • How it's scored. Prefer a number a program produces: tests passing, an eval, a benchmark, bundle size, token count, response time. Programs give the same answer every time.
  • If no program can score it (design, writing, UX), use judge models: Codex gpt-6.1-sol and Claude Opus. Give each the same short rubric, 4–6 categories, each out of 10. Show them the work directly: screenshots for UI, the text for writing.
  • Something to compare against. Judges score honestly only when they see the work next to something else: the version before, competing products, or the best example available. Always include at least one.
  • The target. Default 9/10 for judged work. For program scores, use the user's number.
  • The budget. Default 8 rounds or 4 hours, whichever comes first.

If the scoring isn't clear, ask the user before starting. The agent will push hard on whatever score it's given, even a bad one.

2. Score the starting point

Score the current version and the comparison examples. For judged work, score the same thing twice and note the difference between the two scores. That difference is the noise: a change smaller than it doesn't count as progress.

Keep a running log outside the repo (~/.cache/hill-climb/<slug>/log.txt): each round's change, scores and decision.

3. Each round

  1. Pick the biggest weakness from the last scores and fix it.
  2. Commit, so every round can be undone.
  3. Re-score. Use the cheapest judge first, and add the next judge only after the first one reaches the target.
  4. If the score rose by more than the noise, keep the change. Otherwise revert it, note what didn't work, and try something else.
  5. Check that nothing that must not get worse did: tests, other categories, earlier gains.

Judges:

  • are read-only, and never edit anything.
  • are never told the target. Knowing it pulls their scores toward it.
  • get the same rubric and comparison examples every round.

You:

  • never change the scorer, tests or rubric to raise the score. If the scorer seems wrong, stop and tell the user.
  • stop and say so if the score rises but the work looks worse to you, for example a design that turns gray and lifeless.

4. When to stop

Stop at whichever comes first:

  • Target reached: every judge scores every category at or above the target.
  • Stalled: two rounds in a row each improved by less than the noise (judged work: under ~0.2 points; program scores: under 1%, or no new passing cases). Report where it got stuck and suggest a different approach rather than more of the same.
  • Budget spent.
  • Getting worse: two rounds in a row lowered the score. Go back to the best version.

5. Going past the target

Never raise the target yourself. When it's reached, ask the user (AskUserQuestion in Claude Code, request_user_input in Codex):

  • Stop here (recommended)
  • Push to 9.5: expect at least as many rounds again as it took to get here.
  • Push to 10

Say it plainly: the last half point usually costs more than everything before it, and part of the rise may be judges drifting, not real improvement.

6. Report

  • A score table: each round, each judge, each category, plus the comparison examples.
  • What helped (one line each) and what was tried and undone.
  • Why it stopped: target reached, stalled, budget spent, or getting worse.
  • Time and usage spent, if known.
  • The final commit or PR.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.