Skip to content
AI & Agents
Skill

/HillClimb

Improves anything in LifeOS (a skill, workflow, eval, ISA, prompt, rule or code metric) by experiment: finds its real misses in Errata, Assay and its ISA, draws changes from varied proposers, keeps only what held-out measurement supports until plateau, lands each catch as a

From plugin
danielmiessler-lifeos
20k97 skills13 agents34 commands

Claude Code

$ npx -y skills add danielmiessler/lifeos --skill HillClimb --agent claude-code

SKILL.md

HillClimb.SKILL.md
name: HillClimb
metadata:
  short-description: "Improves a LifeOS target by experiment: varied proposers, keep-or-revert on held-out measurement until plateau, each catch landed as a standing check."
version: 1.4.0
description: "Improves anything in LifeOS (a skill, workflow, eval, ISA, prompt, rule or code metric) by experiment: finds its real misses in Errata, Assay and its ISA, draws changes from varied proposers, keeps only what held-out measurement supports until plateau, lands each catch as a standing check, then verifies complaints fell. With no target it climbs the steepest hill. USE WHEN hill climb, hillclimb, climb this, improve X, make X better, optimize, reduce latency, improve a metric, experiment, iterate, hypothesis, evolve ideas, ideate, experiment ideas, this keeps failing fix it for good, what hurts most, what should we improve, turn this miss into a check, did that fix work, before and after, iterate with me, multiple passes, revisit, rework. NOT FOR filing a complaint (Errata), writing or calibrating one eval suite (Assay), editing an ISA (ISA), skill scaffolding or description tuning (CreateSkill), mining outside content (Upgrade), one-pass brainstorming (BeCreative), diagnosis without an experiment (Science)."
evals:
  deterministic:
    - command: "bun skills/HillClimb/Tools/HillClimb.ts survey --json"
      falsifier: "the live survey returns no hills or omits an unreadable source from unavailable"

HillClimb

**Contents:** Ideal State · Intent Routing · The loop (every workflow runs it) · Targets at a glance · Data & Config · Safety gates · Gotchas · Examples

The climber for the one loop LifeOS runs (`LIFEOS/DOCUMENTATION/LifeOs/HillClimbing.md`), and LifeOS's one place to improve something by experiment: collect ideas, vary and combine them, test them, and feed the results back as raw material for the next ideas. The instruments already exist: Errata is the pain signal, Assay the altimeter, its judgment layer and labels the fast sense, the ISA the hill, Upgrades the queue. HillClimb points them at one named thing and climbs it. The experiment discipline inside each climb comes from Anthropic's eval hill-climbing guide (Claude Code's bundled `/claude-api hillclimb`), enforced here in code against our own instruments.

Ideal State

  • Before anything changed, the target's ideal state was located (its ISA criteria, its standing checks, or the ask it serves), and a baseline was measured by an existing instrument and recorded in the climb ledger with how it was measured.
  • The misses behind the climb are real: Errata complaints, false passes, failing cases, broken-rule exemplars. None are invented.
  • A climb the principal asked for runs in one go from baseline through experiments to its stop: a stated target, a budget stated when the climb opened (`start --budget <n experiments>`, optionally `--budget-reads <n candidate reads>`), after which `exp` and `screen` refuse, or, with neither given, a plateau that `plateau` confirms. `plateau` counts experiments in a single-proposer climb and generations once the climb runs Ideate's population. While the reverts since the last keep span fewer than three kinds of change, `plateau` answers `widen` and the climb tries other kinds rather than stopping. It never halts after the baseline to ask for a budget; it stops early only at a safety gate, at a stop its intent names (IsaClimb's restate, Prompt's suite review, Eval's restart decision), or at an abort: continuing would cross an ethical line, the climb has failed with no path to recovery, or its resources are better spent elsewhere.
  • Across a climb, proposals come from varied minds: proposers that differ in background, vendor and reach (careful to dreamy), drawn in code, whose changes span the kinds the ledger records (knob, wording, rule, structure, delete, add, import). Each experiment row carries its kind, origin and parent, so the close can say which kinds and which proposers earned keeps. A recombination names the earlier experiments it draws on.
  • Each change rests on behaviours named on train cases, with how many cases show each, and its size is free: one word or a new stage. A kept change with several parts credits a part with the gain only after a variant without that part was measured; until then the gain is reported as unattributed.
  • No proposer's context ever held test, screen or holdout cases or their scores. Proposers read train case transcripts from the run file under `MEMORY/STATE/Evals-Results/<suite>/<run>/` and the climb's history through `digest <id> --train-only`; the session that decides keeps sees scores only, and the target under test never sees the suite's expected outputs or rubric.
  • Only held-out measurement keeps a change, and the keep rule lives in code: the test score clears the noise floor, at a significance corrected for every candidate read on test since the last keep, the instrument and served model are unchanged, and standing checks did not drop. A tie inside the noise is kept only when it removes material (`--simpler`). A judge's opinion of a proposal decides at most which proposals get measured, never which are kept. Every experiment, kept or reverted, is in the ledger, and a revert that gained on train stays in the climb's archive as material for recombination.
  • When many candidates compete, a screen split cuts them down so test reads stay few; the ledger counts every test read, and a declared holdout is scored once, at close, beside the test delta.
  • When `plateau` asks for it (two reverts in a row, or in population mode the run of generations without a keep that `plateau` counts), a `stall` categorization (artifact, grader, harness, structural, variance) is recorded before any further content change, and each category goes to the system that fixes it.
  • Every kept win is landed as a standing check (a suite case, a judgment-layer question, a `bunker miss`, a sharper criterion, a fixed tool or a Gotcha) so the same miss can
Read more
@danielmiessler
Ships withdanielmiessler-lifeos

⛰️ LifeOS — The universal AI Harness designed to move you from Current to Ideal state in both life and work.

20k97 skills13 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19.7k
Star history of danielmiessler/lifeos on GitHub, a chart by star-history.com

Other skills on danielmiessler-lifeos.

More skills from other plugins.

Questions about HillClimb.

Which coding agents can use HillClimb?
HillClimb installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.