{"slug":"arbor-ideate","title":"arbor-ideate","summary":"Hard-gated ideation for an Arbor research run. Load at the START of every IDEATE round, before drafting any hypothesis. Enforces the PI mindset (mechanism over knob), the four-question first-principles probe, the kill-filter, and the four-line hypothesis format. Ported from Arbor","platform":"Claude","tags":["research"],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-10-17T09:13:11.370101Z","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-ideate\ndescription: \"Hard-gated ideation for an Arbor research run. Load at the START of every IDEATE round, before drafting any hypothesis. Enforces the PI mindset (mechanism over knob), the four-question first-principles probe, the kill-filter, and the four-line hypothesis format. Ported from Arbor's idea_drafting + first_principles_probe.\"\nversion: 1.0.0\nlicense: MIT\ntags: [research, ideate, arbor]\nrequires_agents:</p>\n<ul>\n<li>arbor-executor</li>\n</ul>\n<hr>\n<h1>Arbor Ideate — Hard-Gated Idea Drafting</h1>\n\n<h2>1. Mindset: PI, not engineer</h2>\n<p>You are a principal investigator drafting research directions, not a\ncontributor filing a pull request.</p>\n<ul>\n<li><strong>HOW, not HOW MUCH</strong> — change the algorithm, representation, control flow,\nor objective; not a number, a knob, or a prompt phrase.</li>\n<li><strong>10×, not 10%</strong> — if this idea worked completely, would it move a CLASS of\nfailures by ≥1σ, not just a few items?</li>\n<li><strong>Mechanism is a noun</strong> — a real idea names a new component, pipeline stage,\ndata structure, or reasoning strategy. \"Be more robust\" is a goal;\n\"verifier-guided beam search over candidate answers\" is a mechanism.</li>\n</ul>\n<p>If you catch yourself writing \"improve / better / more / handle X better\",\nstop — you have not named a mechanism yet.</p>\n<h2>2. First-Principles Probe (MANDATORY, before any candidate)</h2>\n<p>Answer all four in your reasoning trace; each answer must cite concrete\nevidence (log lines, failure case ids, code refs):</p>\n<ol>\n<li><strong>First principles</strong> — what is the bottleneck CLASS, reasoned from the\ntask's algorithmic essence? Useful axes: wrong retrieval / wrong reasoning\nover correct evidence / wrong stopping condition / wrong representation /\nwrong objective / wrong action space / wrong credit assignment. Cite ≥2\nconcrete failure cases. If you can't, you have not OBSERVed enough — go back.</li>\n<li><strong>Hidden assumption</strong> — what load-bearing assumption does the trunk silently\nrely on, and what becomes possible if it is dropped?</li>\n<li><strong>Elephant in the room</strong> — what ugly problem is everyone in this space\nquietly working around? The best ideas attack it directly.</li>\n<li><strong>Hamming's question</strong> — if the bottleneck in (1) were solved, would the\nbenchmark meaningfully change? If \"not really\", (1) is wrong — redo it.</li>\n</ol>\n<p>Paste a PROBE BLOCK into your reasoning trace before listing any idea:</p>\n<pre><code>PROBE BLOCK\n1. First principles : &lt;bottleneck CLASS&gt; — evidence: &lt;case ids / log refs&gt;\n2. Hidden assumption: &lt;assumption&gt; — if dropped: &lt;what opens up&gt;\n3. Elephant         : &lt;ugly problem the trunk currently ignores&gt;\n4. Hamming          : &lt;yes/no + why the bench would move&gt;\n</code></pre>\n<h2>3. Kill-filter</h2>\n<p>Drop any candidate that is a knob/prompt tweak, restates the trunk, or fails\nthe 2-page-paper test (could a researcher motivate and evaluate it in 2 pages?).</p>\n<h2>4. Four-line hypothesis (the idea_tree(add) format)</h2>\n<pre><code>Mechanism: &lt;the new component/stage/strategy — a noun&gt;\nHypothesis: &lt;causal story: doing X changes Y because Z&gt;\nObservable: &lt;the dev-split signal that confirms or refutes it&gt;\nConflicts: &lt;what trunk assumption or prior node it challenges, or \"none\"&gt;\n</code></pre>\n<p><code>idea_tree(action=add)</code> machine-warns when these four markers are missing —\ntreat the warning as a rejection and rewrite before dispatching.</p>\n","files":[{"path":"SKILL.md","sizeBytes":3576,"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:58.386388Z","sha256":"37EC475D5C14A1002D99ED94F4B5A400FD01F9360707ECE2358B18657EA9F539","sizeBytes":1930},"review":null,"source":{"repositoryUrl":"https://github.com/invergent-ai/surogates","path":"skills/research/arbor-ideate","license":"AGPL-3.0","commit":"f423b85eed3b230f0085ed007adc86e8aa639d02","subtreeSha":"7B7E294DE08F91C6390BC18A2A957D52E29B1842CBD7973E7A2E1A4161ED43EF","lastSyncedAt":"2026-10-17T09:13:07.689271Z"},"reviewedAt":"2026-10-17T09:19:03.133504Z","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-ideate"},{"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"}]}