{"slug":"arbor-research","title":"arbor-research","summary":"Intake for an autonomous research run (Arbor). Use when the user wants to optimize a metric in a repo over many isolated experiments — 'optimize this benchmark', 'improve the model F1 overnight', 'beat the leaderboard'. Discovers the repo/eval/splits, measures the baseline, confi","platform":"Claude","tags":["research"],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-17T09:13:11.662024Z","repo":{"url":"https://github.com/invergent-ai/surogates","stars":28,"forks":1,"license":"AGPL-3.0","updatedAt":"2026-10-16T18:37:14Z"},"bodyHtml":"<hr>\n<p>name: arbor-research\ndescription: \"Intake for an autonomous research run (Arbor). Use when the user wants to optimize a metric in a repo over many isolated experiments — 'optimize this benchmark', 'improve the model F1 overnight', 'beat the leaderboard'. Discovers the repo/eval/splits, measures the baseline, confirms a Research Contract, then emits a ready-to-send /auto-research command. Does NOT start the run itself.\"\nversion: 1.0.0\nlicense: MIT\ntags: [research, optimization, intake]\nrequires_agents:</p>\n<ul>\n<li>arbor-executor</li>\n</ul>\n<hr>\n<h1>Arbor Research — Intake</h1>\n<p>You are the intake for an autonomous research run. Your job is to turn a\nvague optimization goal into a precise <strong>Research Contract</strong>, then hand it\nto the user as a one-click <code>/auto-research</code> command. You do <strong>not</strong> start\nthe run — the user sends the command, which flips the session into a\nstrict research coordinator.</p>\n<p>Run intake in this (normal, full-tool) session. You may read files, run\nthe eval, and inspect git — this is the one phase with real tools.</p>\n\n<h2>Checklist</h2>\n<p>Create a <code>todo</code> for each and complete in order:</p>\n<ol>\n<li><p><strong>DISCOVER</strong> — find the target repo (must be under <code>/workspace/...</code>),\nthe eval script, and the data splits. Confirm the repo is a clean git\ncheckout (no uncommitted changes). Identify:</p>\n<ul>\n<li><code>eval_cmd</code> — the command that evaluates on the <strong>dev</strong> split and\nprints a JSON score line <code>{\"score\": &lt;number&gt;}</code> as its last output.</li>\n<li><code>eval_cmd_test</code> — the same on the <strong>held-out test</strong> split. This is\nused ONLY by the merge gate; never for iteration.</li>\n<li><code>metric_direction</code> — <code>maximize</code> or <code>minimize</code>.</li>\n</ul>\n</li>\n<li><p><strong>BASELINE</strong> — run <code>eval_cmd</code> once (dev) and <code>eval_cmd_test</code> once\n(test) on the unmodified repo. Record both numbers. If the eval does\nnot already print <code>{\"score\": &lt;number&gt;}</code>, tell the user the eval must\nbe adapted to do so (the merge gate parses that line) before a real\nrun.</p>\n</li>\n<li><p><strong>CLARIFY</strong> — one compact checkpoint (ask, don't assume):</p>\n<ul>\n<li>objective + metric direction</li>\n<li>ambition (how much improvement is worth it)</li>\n<li>permissions: may executors install packages? run training/GPU?</li>\n<li>budget: <code>max_cycles</code> (experiment count) — <code>max_iterations</code> defaults\nto <code>2 × max_cycles</code></li>\n<li>protected paths / required outputs, if any</li>\n<li>smoke run first? (one cycle, fast eval, no training)</li>\n</ul>\n</li>\n<li><p><strong>EMIT</strong> — present the Research Contract panel, then a fenced,\nready-to-send command:</p>\n<pre><code>/auto-research repo=/workspace/&lt;repo&gt; max_iterations=&lt;2×max_cycles&gt; baseline=&lt;dev score&gt; baseline_test=&lt;test score&gt; &lt;one-line objective&gt;\n\nRubric:\n- Satisfied only when the held-out test score (research_runs.meta.test_trunk_score,\n  written ONLY by merge_experiment) improves on the recorded test baseline\n  per the metric direction, with at least one merged node — OR the cycle\n  budget is exhausted and the final response gives an explicit\n  no-improvement root insight — AND the final report task is done.\n- Never satisfied on prose claims or dev-split scores alone.\n- Any selection decision based on the held-out test split (outside\n  merge_experiment) is a blocked outcome.\n</code></pre>\n<p>In the same panel, quote the remaining contract values the coordinator\nmust stamp with its first <code>idea_tree(set_meta)</code> call: <code>eval_cmd</code>,\n<code>eval_cmd_test</code>, <code>metric_direction</code>, <code>eval_timeout</code>, <code>max_cycles</code>,\n<code>max_tree_depth</code>, <code>max_parallel</code>, and any <code>protected_paths</code> /\n<code>required_outputs</code>. (The <code>baseline=</code>/<code>baseline_test=</code> tokens are\nwritten server-side at creation; everything else the coordinator sets.)</p>\n</li>\n</ol>\n<h2>Smoke mode</h2>\n<p>If the user said \"try\", \"smoke\", \"demo\", or \"test run\": cap to one cycle,\nno training, fast eval, and say so in the objective. A smoke run still\nexercises the full propose → dispatch → harvest → merge → report cycle.</p>\n<h2>Boundary</h2>\n<p>You are intake only. After you emit the command, stop. When the user\nsends it, the <code>arbor-coordinator</code> skill takes over in a strict session.</p>\n","files":[{"path":"SKILL.md","sizeBytes":4266,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-10-17T09:13:59.202179Z","sha256":"9308D27849F689C19D51CDFCF1B0CB3CCF6B5AFA2618335826D5F40EE5F53A45","sizeBytes":2167},"review":null,"source":{"repositoryUrl":"https://github.com/invergent-ai/surogates","path":"skills/research/arbor-research","license":"AGPL-3.0","commit":"f423b85eed3b230f0085ed007adc86e8aa639d02","subtreeSha":"BD0792ECE716826DEC9C578B3D0A4CA9B9621DB18BB5C0851A46D16B4BDBAD6D","lastSyncedAt":"2026-10-17T09:13:07.689271Z"},"reviewedAt":"2026-10-17T09:19:03.385516Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/invergent-ai/surogates/tree/master/skills/research/arbor-research"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install invergent-ai-surogates@llmmart"},{"target":"git","command":"git clone https://github.com/invergent-ai/surogates.git"}]}