Arbor Research Agent
Use this as the single user-facing entrypoint. The user should be able to say
$arbor-research-agent plus a plain-language goal, similar to using arbor,
without knowing the internal phase skills.
This skill performs Arbor-style intake and clarification, then hands control to
arbor-agent-orchestrator.
Entry Protocol
- Treat the launch cwd as the default target project unless the user names a
different path.
- Read available local context before asking: README summaries, config/eval
hints, cached metrics, dataset notes, and git state.
- Decide whether the request is clear enough to start. If not, ask concise
Arbor-style clarification questions before optimizing.
- Once the contract is clear, load
arbor-agent-orchestrator and continue
with its phase loading order.
Do not ask for information that can be discovered safely from local files.
Ask only for decisions, permissions, missing objectives, or ambiguous tradeoffs.
Intake Context Budget
Keep wrapper intake small. Its job is to determine the run contract, not to
fully analyze the target project.
- Start with
pwd, git branch/status, rg --files, and concise slices such as
README/config/eval metadata.
- Use
rg to locate metric/eval/data hints before opening files. Prefer
focused sed -n ranges over full-file reads.
- Do not bulk-read long logs, notebooks, lockfiles, generated outputs, or large
source files during wrapper intake.
- For training logs or progress logs, avoid raw
cat, raw grep, or broad
tail. If arbor-agent-tools is available, use arbor_state.py parse-log;
otherwise normalize carriage returns with tr '\r' '\n' and inspect only the
metric lines needed for the contract.
- Defer deep code reading to
arbor-agent-setup-intake, arbor-agent-executor,
or the relevant phase skill after the orchestrator is loaded.
Clarification Gate
If any of these are missing or ambiguous after local inspection, ask before
starting the optimization loop:
- Target: project directory, repo branch, and whether the current branch is
acceptable.
- Objective: what should improve and whether the run is maximize/minimize.
- Metric/eval: command, score field, B_dev/B_test split, and whether cached
baseline evidence may be used.
- Data: data location, protected/private paths, and whether preparation or
downloads are allowed.
- Permissions: whether source edits, worktrees, commits, package installs,
internet, GPU jobs, long training, and merge attempts are allowed.
- Budget: smoke vs real run, max cycles, wall-clock/training budget, and
stop condition.
- Scope preference: novelty-leaning, effect-leaning, performance-first, or
mixed.
- Human gates: auto, direction, review, or collaborative mode.
Ask as one compact checkpoint, not a long interview. Example:
I can start, but I need these defaults confirmed:
- target: <cwd>
- objective/metric: <inferred metric, direction>
- eval: <inferred command or unknown>
- run mode: smoke / real
- permissions: may edit code? may run training/GPU? may install packages?
- budget: <cycles/time>
Reply "yes" to accept, or edit any line.
If the user already gave enough information or explicitly says to use defaults,
do not block on extra confirmation. Proceed with the best conservative contract.
Contract To Pass Down
Before loading the orchestrator, form a concise contract containing:
- target cwd and git branch;
- instruction/task;
- metric name and direction;
- B_dev/B_test policy;
- baseline status;
- eval command or smoke/cached parser;
- protected files and allowed edit surface;
- run mode and budget;
- user interaction mode;
- any unresolved caveats.
Then load arbor-agent-orchestrator and pass this contract as the run
instruction. The orchestrator owns phase loading from that point.
Run Mode Defaults
- If the user asks to "try", "test", "validate", "demo", or "see behavior",
default to smoke-only.
- If the project eval is known to run training, downloads, GPU jobs, or
minute-scale work, ask before running it.
- In smoke mode, load
arbor-agent-tools when native Arbor tools are absent,
use cached metrics or arbor_state.py parse-log, generate
prompt-executor --smoke, then run check, report, and a final
artifact-level check.
- In real mode, still complete setup and contract confirmation before any long
eval, training, package install, or merge.
Bootstrap Sequence
After intake:
- Load
arbor-agent-orchestrator.
- Ensure
arbor-agent-setup-intake receives the contract.
- If the target is not eval-ready (no runnable eval, no dev/test split, or a
dirty/absent git repo), the
arbor-agent-setup-intake phase scaffolds the
measurement plumbing via the scaffold_benchmark tool and persists
ARBOR_CONTRACT.md + research_config.yaml. The entry point stays a thin
shell — it does not scaffold directly.
- Let the orchestrator load phase skills as needed:
arbor-agent-coordinator
arbor-agent-ideate
arbor-agent-executor
arbor-agent-merge-eval
arbor-agent-search
arbor-agent-plugins-hitl-budget
arbor-agent-resume-report
arbor-agent-tools
- Keep the user-facing behavior at the Arbor level. Do not expose internal
skill mechanics unless useful for debugging or reporting.
Expected User Experience
The user can write:
$arbor-research-agent optimize this repo for leaderboard score overnight
or:
$arbor-research-agent try a simplified smoke run on this autoresearch repo
Expected behavior:
- inspect project and infer what can be inferred;
- ask a compact clarification/permission checkpoint if needed;
- create or select
.arbor/sessions/<run_name>/;
- initialize durable Idea Tree state;
- run the Arbor loop through orchestrator and phase skills;
- use executor/worktree/report discipline rather than ad hoc edits;
- keep B_test protected;
- stop according to budget or smoke instruction;
- report durable artifacts and caveats.
- once
REPORT.md and expected smoke artifacts exist, stop promptly with a
concise final response instead of continuing to polish reports or run extra
cycles.
Hard Rules
- Do not begin optimization when objective, edit permissions, or expensive eval
permission is genuinely ambiguous.
- Do not run training, data downloads, package installs, GPU jobs, or long eval
commands before the user has allowed them or the contract clearly permits
them.
- Do not use B_test for routine iteration.
- Do not modify protected data/eval/private paths.
- Do not bypass the orchestrator after intake; this skill is the public shell,
not a second coordinator implementation.
- Do not spend wrapper context recreating setup, coordinator, or executor logic;
once the contract is clear, load the orchestrator.
- Do not continue running after the requested budget is complete and final
artifacts have been validated. Finalize with artifact paths, scores, and
caveats.
1---2name: arbor-research-agent3description: Public entrypoint for the Arbor skill suite. Use when a user wants to run an Arbor-style autonomous research or optimization workflow from a natural-language goal, including initial clarification of objective, target project, data, metric, evaluation, permissions, budget, run mode, and then automatic bootstrapping into arbor-agent-orchestrator and phase skills.4---56# Arbor Research Agent78Use this as the single user-facing entrypoint. The user should be able to say9`$arbor-research-agent` plus a plain-language goal, similar to using `arbor`,10without knowing the internal phase skills.1112This skill performs Arbor-style intake and clarification, then hands control to13`arbor-agent-orchestrator`.1415## Entry Protocol16171. Treat the launch cwd as the default target project unless the user names a18 different path.192. Read available local context before asking: README summaries, config/eval20 hints, cached metrics, dataset notes, and git state.213. Decide whether the request is clear enough to start. If not, ask concise22 Arbor-style clarification questions before optimizing.234. Once the contract is clear, load `arbor-agent-orchestrator` and continue24 with its phase loading order.2526Do not ask for information that can be discovered safely from local files.27Ask only for decisions, permissions, missing objectives, or ambiguous tradeoffs.2829## Intake Context Budget3031Keep wrapper intake small. Its job is to determine the run contract, not to32fully analyze the target project.3334- Start with `pwd`, git branch/status, `rg --files`, and concise slices such as35 README/config/eval metadata.36- Use `rg` to locate metric/eval/data hints before opening files. Prefer37 focused `sed -n` ranges over full-file reads.38- Do not bulk-read long logs, notebooks, lockfiles, generated outputs, or large39 source files during wrapper intake.40- For training logs or progress logs, avoid raw `cat`, raw `grep`, or broad41 `tail`. If `arbor-agent-tools` is available, use `arbor_state.py parse-log`;42 otherwise normalize carriage returns with `tr '\r' '\n'` and inspect only the43 metric lines needed for the contract.44- Defer deep code reading to `arbor-agent-setup-intake`, `arbor-agent-executor`,45 or the relevant phase skill after the orchestrator is loaded.4647## Clarification Gate4849If any of these are missing or ambiguous after local inspection, ask before50starting the optimization loop:5152- **Target**: project directory, repo branch, and whether the current branch is53 acceptable.54- **Objective**: what should improve and whether the run is maximize/minimize.55- **Metric/eval**: command, score field, B_dev/B_test split, and whether cached56 baseline evidence may be used.57- **Data**: data location, protected/private paths, and whether preparation or58 downloads are allowed.59- **Permissions**: whether source edits, worktrees, commits, package installs,60 internet, GPU jobs, long training, and merge attempts are allowed.61- **Budget**: smoke vs real run, max cycles, wall-clock/training budget, and62 stop condition.63- **Scope preference**: novelty-leaning, effect-leaning, performance-first, or64 mixed.65- **Human gates**: auto, direction, review, or collaborative mode.6667Ask as one compact checkpoint, not a long interview. Example:6869```text70I can start, but I need these defaults confirmed:71- target: <cwd>72- objective/metric: <inferred metric, direction>73- eval: <inferred command or unknown>74- run mode: smoke / real75- permissions: may edit code? may run training/GPU? may install packages?76- budget: <cycles/time>7778Reply "yes" to accept, or edit any line.79```8081If the user already gave enough information or explicitly says to use defaults,82do not block on extra confirmation. Proceed with the best conservative contract.8384## Contract To Pass Down8586Before loading the orchestrator, form a concise contract containing:8788- target cwd and git branch;89- instruction/task;90- metric name and direction;91- B_dev/B_test policy;92- baseline status;93- eval command or smoke/cached parser;94- protected files and allowed edit surface;95- run mode and budget;96- user interaction mode;97- any unresolved caveats.9899Then load `arbor-agent-orchestrator` and pass this contract as the run100instruction. The orchestrator owns phase loading from that point.101102## Run Mode Defaults103104- If the user asks to "try", "test", "validate", "demo", or "see behavior",105 default to smoke-only.106- If the project eval is known to run training, downloads, GPU jobs, or107 minute-scale work, ask before running it.108- In smoke mode, load `arbor-agent-tools` when native Arbor tools are absent,109 use cached metrics or `arbor_state.py parse-log`, generate110 `prompt-executor --smoke`, then run `check`, `report`, and a final111 artifact-level `check`.112- In real mode, still complete setup and contract confirmation before any long113 eval, training, package install, or merge.114115## Bootstrap Sequence116117After intake:1181191. Load `arbor-agent-orchestrator`.1202. Ensure `arbor-agent-setup-intake` receives the contract.121 - If the target is not eval-ready (no runnable eval, no dev/test split, or a122 dirty/absent git repo), the `arbor-agent-setup-intake` phase scaffolds the123 measurement plumbing via the `scaffold_benchmark` tool and persists124 `ARBOR_CONTRACT.md` + `research_config.yaml`. The entry point stays a thin125 shell — it does not scaffold directly.1263. Let the orchestrator load phase skills as needed:127 - `arbor-agent-coordinator`128 - `arbor-agent-ideate`129 - `arbor-agent-executor`130 - `arbor-agent-merge-eval`131 - `arbor-agent-search`132 - `arbor-agent-plugins-hitl-budget`133 - `arbor-agent-resume-report`134 - `arbor-agent-tools`1354. Keep the user-facing behavior at the Arbor level. Do not expose internal136 skill mechanics unless useful for debugging or reporting.137138## Expected User Experience139140The user can write:141142```text143$arbor-research-agent optimize this repo for leaderboard score overnight144```145146or:147148```text149$arbor-research-agent try a simplified smoke run on this autoresearch repo150```151152Expected behavior:153154- inspect project and infer what can be inferred;155- ask a compact clarification/permission checkpoint if needed;156- create or select `.arbor/sessions/<run_name>/`;157- initialize durable Idea Tree state;158- run the Arbor loop through orchestrator and phase skills;159- use executor/worktree/report discipline rather than ad hoc edits;160- keep B_test protected;161- stop according to budget or smoke instruction;162- report durable artifacts and caveats.163- once `REPORT.md` and expected smoke artifacts exist, stop promptly with a164 concise final response instead of continuing to polish reports or run extra165 cycles.166167## Hard Rules168169- Do not begin optimization when objective, edit permissions, or expensive eval170 permission is genuinely ambiguous.171- Do not run training, data downloads, package installs, GPU jobs, or long eval172 commands before the user has allowed them or the contract clearly permits173 them.174- Do not use B_test for routine iteration.175- Do not modify protected data/eval/private paths.176- Do not bypass the orchestrator after intake; this skill is the public shell,177 not a second coordinator implementation.178- Do not spend wrapper context recreating setup, coordinator, or executor logic;179 once the contract is clear, load the orchestrator.180- Do not continue running after the requested budget is complete and final181 artifacts have been validated. Finalize with artifact paths, scores, and182 caveats.