arbor
Helps your agent refine research hypotheses using a structured system. It allows repeatable testing of ideas and comparison of results to optimize science.
What it does
Arbor helps improve an existing project or code through many automatic trial-and-error rounds. It organizes these attempts so learning isn't lost, ensuring improvements are real and not just luck.
When to use it
- ✓When you need to repeatedly improve a piece of code or a model.
- ✓When optimizing a system that can be automatically tested.
- ✓To efficiently organize many research experiments.
Example of what to ask your AI
“Arbor, optimize this machine learning model to reduce processing time, using test dataset A.”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
Arbor creates a hypothesis tree to organize improvement ideas. It tests each idea with 'agents' working on separate copies of the project. A special 'merge gate' ensures only proven improvements are accepted, preventing the system from gaming the tests.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add K-Dense-AI/scientific-agent-skills --skill arborOr download just the file:
curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/arbor/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Arbor — Autonomous Optimization via Hypothesis Tree Refinement
Overview
This skill runs an Autonomous Optimization (AO) loop: starting from an existing artifact and a measurable objective, improve it through many rounds of experiment and evaluation — without step-by-step human supervision, while checking for overfitting to the development signal. It's the right tool when the bottleneck isn't writing one good change, but organizing dozens of trials so that lessons accumulate instead of evaporating.
It implements Hypothesis Tree Refinement (HTR) from Arbor (Jin et al., 2026). The key idea: keep the research state in a persistent hypothesis tree rather than in conversation history. Each node binds a hypothesis, the distilled insight it produced, and a pointer to the artifact version that realizes it. You play the long-lived coordinator that owns this tree and decides where to search; short-lived executor subagents test one hypothesis each in isolated git worktrees and report back. A held-out merge gate admits a change only when it improves on a test evaluator executors do not optimize against. This is what turns trial-and-error into cumulative, auditable research.
Use the scripts/tree.py state manager for all the bookkeeping (creating nodes, writing evidence, propagating insights, pruning, the merge gate, the Observe projection). It records scores and decisions; it does not run evaluators, create worktrees, verify Git refs, or merge Git branches. Only the coordinator writes shared state, serially; executors return evidence. The helper has no multi-writer locking. Its JSON schema is separate from upstream Arbor checkpoints.
When to use this skill
Reach for Arbor when the task is iterative improvement of a concrete artifact under an evaluator:
- Model training: optimizer/architecture/recipe changes to lower loss or hit a target in fewer steps.
- Harness/agent engineering: raising pass rate or accuracy of an agent loop, search harness, or tool-use scaffold.
- Data synthesis: improving a generation/filtering pipeline judged by downstream model behavior.
- Benchmark optimization: MLE-bench / Kaggle-style "improve the submission" tasks.
- Prompt/system optimization where you can score outputs automatically.
The distinguishing signals: there's an artifact you can modify, an objective, a way to score candidates, and you expect to run many experiments. If the user only wants a single fix or a one-shot answer, this is overkill — just do the work directly. If they want open-ended ideation with no evaluator, use hypothesis-generation or scientific-brainstorming instead.
The AO setup — pin this down first
Before any experiments, establish the task tuple (M_0, O, E_dev, E_test). Record the resolved setup, using the user's existing instructions; clarify only missing decisions:
- M_0 — initial material: the artifact to improve (a repo, a script, a config, a prompt). Make sure it's under git and currently runs.
- O — objective: the natural-language goal and the metric direction (maximize accuracy? minimize loss/steps?).
- E_dev — development evaluator: a command you can run freely during search to score a candidate. Fast, repeatable.
- E_test — held-out test evaluator: a separate evaluation protocol (held-out examples or predeclared independent seeds) used only at the merge gate. It must not be used as a search oracle — that's the whole point.
Freeze the evaluator, dataset split, and metric before search, and record their versions with each score. Repeated merge decisions on the same held-out set can still adapt the search to that set; a fresh worktree prevents file contamination, not statistical leakage. Keep a final untouched evaluation set for the final claim, or disclose that the reported result was selected using repeated gate feedback.
If the user hasn't given you a clean dev/test split, construct one and say so. The dev/test separation is the mechanism that catches overfitting: a candidate that wins on dev but not on test isn't a success, it's a warning that you're exploiting the feedback signal. A larger run on the same examples is not an independent holdout. If no defensible holdout exists, label results as development-only.
…
FAQ
What is an 'artifact'?
An artifact is anything you are trying to improve, such as code, a machine learning model, a dataset, or a prompt.
What does 'without step-by-step human supervision' mean?
It means Arbor can run many rounds of testing and evaluation on its own, without you needing to tell it exactly what to do at each step.
Why separate tests into 'dev' and 'test'?
This is crucial to prevent 'overfitting'. The 'dev' test is used to guide improvements, while the 'test' set (which the system doesn't see during optimization) confirms if the improvements are genuine and not just a trick to pass the 'dev' tests.
Details
Original description by the author
Applies Arbor Hypothesis Tree Refinement to research artifacts with repeatable evaluators, including model training, agent harnesses, data synthesis and benchmark optimization. Uses persistent hypotheses, isolated experiments, evidence propagation and held-out candidate comparison for multi-experiment research runs. Includes a standard-library state manager and guidance for the RUC-NLPIR Arbor CLI
Popularity
- GitHub stars
- 51k
- Ranking position
- #1833
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
13c-metabolic-flux
Estimates metabolic fluxes using carbon-13 isotope tracing data. It is useful for analyzing cellular metabolism and biochemical pathways.
K-Dense-AI/scientific-agent-skills
adaptyv
Designs protein characterization experiments using the Adaptyv API. It helps estimate costs, submit sequences, and monitor lab results.
K-Dense-AI/scientific-agent-skills
aeon
Performs machine learning tasks on time series data. It is useful for classifying, forecasting, detecting anomalies, and finding patterns in sequential data.
K-Dense-AI/scientific-agent-skills
alphagenome
Looks up precomputed genomic effects for genetic variants. It provides scores and explanations to understand the impact of variants on the genome.
K-Dense-AI/scientific-agent-skills
Similar skills
dashboard-builder
Helps your agent create useful monitoring dashboards. It turns data into charts that answer important system questions.
affaan-m/ECC
dev-team
Simulates a collaborative development team where different roles respond to a problem together. It's useful for getting multiple perspectives without manually switching agents.
affaan-m/ECC
ecc-council
Has your agent convene a four-voice council for difficult decisions. It's useful when there are multiple good options and debate is needed before choosing.
affaan-m/ECC