baseline
Skill69 starsChanged 5 months agoApache-2.0View on GitHub
Establish the starting point. Use after implement-and-check and before any algorithm. Creates the run directory, freezes the seeded train/val/test split (written once), scores the unmodified seed capability on val, and records it as the candidate every algorithm must beat. Reports the remaining headroom so a saturated seed stops the run before it spends budget.
3 other projects use a version of this.
Adopted by
Most recently taken up by
- JeffreyFerreiras/ai-skillstheir own version, first seen Nov 8, 2026
- AnyOrgName/php-skillstheir own version, first seen Nov 8, 2026
- meshtastic/Meshtastic-Androidtheir own version, first seen Oct 8, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- meshtastic/Meshtastic-Android★ 1.9ksame name
- AnyOrgName/php-skills★ 4same name
- JeffreyFerreiras/ai-skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository22 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- agent-optimizeSkill
- evographSkill
- gepaSkill
- hill-climbSkill
- skilloptSkill
- mcp-toolSkill
- skill-packageSkill
- system-promptSkill
- toolsSkill
- wikiSkill
- run-optimizerSkill
- orchestrateSkill
- using-cap-evolveSkill
- diagnoseSkill
- evaluateSkill
- finalizeSkill
- gateSkill
- implement-and-checkSkill
- intakeSkill
- reportSkill
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 1 is distinctive, and 1 is very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 19
Run implement-and-check first.
- Distinctive: line 24
Fair comparison point: Every algorithm hill-climbs *against* the baseline val score.
“Common” is measured: kept by at least 6 in 10 of the 3 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.
Files
baseline — freeze splits, score the seed
baseline is the first phase that touches data, so it owns the run's one
irreversible decision: the split. It writes splits.json once (seeded), scores
the unmodified seed capability on val, and records that score as the bar every
algorithm must beat.
Run implement-and-check first. baseline re-runs that check itself and exits
non-zero before creating a run dir if it is red — a split frozen against a broken
adapter poisons every number measured afterwards.
Why it matters
- Fair comparison point. Every algorithm hill-climbs against the baseline val score; a candidate that does not beat it is not progress.
- Headroom. The printed JSON carries
headroom(1 - val) andheadroom_verdict:saturatedmeans the seed is already at the ceiling and further iterations buy noise — stop;floor(val at 0) usually means a mis-wired adapter rather than a hard task — re-check before spending budget;okmeans proceed. The same verdict is logged as aheadroomevent so the orchestrator can stop on it with no human reading the number.
Splitting choices
- Seeded ratio split (default
0.5 / 0.25 / 0.25): deterministic given--seed. Reproducible runs partition identically. - Pinned split (
--split-ids): a JSON{train,val,test}of ids — use a benchmark's official split, or set all three equal to fit the whole set with no holdout (the test number is then a fit metric, not a held-out result; the run dir records asplits_warningsaying so). - A ratio split that leaves val or test empty is refused — the gate would
have nothing to decide on and the sealed test number would cover no tasks.
Below 5 val tasks baseline warns: the gate's bar is optimistic at that
n, and a candidate that improves exactly one val task cannot reliably clear it at all (issue #351), so size val with the decisions it has to make in mind.
Reusing a prior baseline (--reuse-baseline PRIOR_RUN_DIR)
Re-scoring the seed is wasteful when the split + seed are unchanged.
--reuse-baseline <prior run_* dir> (spec key reuse_baseline) copies that run's
splits.json, baseline.json, seed snapshot and seed val and train rollouts into the
fresh run dir and skips the baseline eval; the copied test_used flag is reset so this
run can still finalize on test exactly once. The prior run's sealed seed test score
is carried over as a result (reused_seed_test.json, never as test rollouts), and
finalize uses it instead of re-scoring the seed while the seed bytes are unchanged. --resume is the same-run variant:
reopen an existing run dir, skip the eval when baseline.json is already there.
Budget flags (--max-iterations, --stall, --max-usd, …) are accepted here
because the run dir owns the budget and later phases read it from there.
Runs standalone (/cap-evolve:baseline) or headlessly via cap-evolve run; same
scripts/run.py either way.
How to run
python scripts/run.py --base .capevolve --project .capevolve/project \
--capability seed_capability --seed 0 --ratios 0.5,0.25,0.25 \
--max-iterations 10 --stall 2Prints the run-dir path (used by the algorithm + finalize), the split sizes, the
baseline val and the headroom verdict. Use --n-trials ≥ 3 for stochastic
targets so the baseline carries a real stderr rather than 0.
The one failure mode nothing later can repair is re-splitting after this phase: a task migrating out of test leaks the held-out set, and every later number — including the sealed test score — becomes unfalsifiable.
References
references/concepts.md— why the split is frozen once and seeded, how to read the headroom verdict, and why no-holdout runs are fit metrics, with sources.
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
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.

