{"id":"3ccba060-a346-4122-8867-f4ff120bc008","shortId":"ZcJyUn","kind":"skill","title":"investigate","tagline":"Run investigation cycles that test hypotheses through proof verification, counterexample search, or security analysis, with keep-or-discard discipline. Use when asked to investigate, verify, prove, or disprove claims.","description":"# Investigate\n\nThe core research loop. Run N investigation cycles, each testing a hypothesis and applying keep-or-discard discipline.\n\n## Usage\n\nInvoke this skill by name with an optional cycle count. On slash-command hosts, prefix with `/` (e.g. `/investigate 10`).\n\n```\n# Run 10 investigation cycles\ninvestigate 10\n\n# Default: 5 cycles\ninvestigate\n```\n\nDefault: 5 cycles if no argument given.\n\n## Inputs\n\n**Always read** before starting:\n- `reaper-workspace/notes/problem-statement.md` — model assumptions and property definitions\n- `reaper-workspace/notes/ideas.md` — the ideas to investigate\n- `reaper-workspace/notes/current-understanding.md` — the \"branch tip\" of accumulated knowledge\n- `reaper-workspace/notes/results.md` — what's been tried and what happened\n\n**Lazy-load only when needed** (do not read upfront — load only if a cycle's hypothesis requires it or the \"when stuck\" protocol calls for it):\n- `reaper-workspace/notes/paper-summary.md` — the source paper (if provided)\n- `reaper-workspace/notes/literature.md` — known prior work (organized by same-goal and same-approach)\n- `reaper-workspace/papers/` — downloaded PDFs and per-paper notes (`<id>-notes.md`) from the literature review\n- `../reaper/references/methodology.md` — proof/analysis patterns\n\n\n## The Batch Loop\n\nInvestigation runs in **batches**, not sequential cycles. Independent hypotheses are investigated in parallel by default; sequential execution is the fallback when dependencies exist.\n\n### Overview: Plan → Dispatch → Merge → Repeat\n\n```\nwhile cycles_remaining > 0 and not converged:\n    Plan:     read ideas.md + notes/results.md → dependency graph → batch of independent hypotheses\n    Dispatch: spawn one subagent per hypothesis (parallel, in one message)\n    Merge:    collect results → update notes/results.md → integrate \"keep\" insights into current-understanding.md\n```\n\n### Plan Batch\n\n1. Read `ideas.md` and `notes/results.md`\n2. Identify all **unresolved** hypotheses. Check `notes/results.md` to avoid repeating failed approaches.\n3. Build a dependency graph: does resolving H2 require knowing the outcome of H1? If so, H2 depends on H1.\n4. Select the largest set of **independent** hypotheses that can run concurrently. Cap the batch size at `cycles_remaining`.\n5. Allocate cycle numbers: pre-assign a contiguous range per subagent (e.g., batch 1 gets 001-003, batch 2 gets 004-006). Each subagent gets one or more consecutive numbers from its range.\n6. If all remaining hypotheses form a dependency chain, the batch size is 1 — this is the **sequential fallback** (see below).\n7. If all hypotheses are resolved, **stop and return control** to the orchestrator. The orchestrator will call `/brainstorm` to generate new ideas if needed.\n\n### Dispatch Batch\n\nSpawn one subagent per hypothesis in the batch using your host's parallel-subagent mechanism (e.g. Claude Code's `Agent` tool, or the equivalent task/spawn primitive on other hosts; if the host has no parallel primitive, fall back to sequential execution). **Launch all subagents in a single message** for true parallelism. Each subagent receives:\n\n- Its assigned cycle number(s)\n- The hypothesis to investigate\n- A **hypothesis-relevant excerpt** of `current-understanding.md` (read-only for the duration of the batch) — extract only the 2-3 findings most relevant to this subagent's hypothesis, not the full file. This keeps subagent context lean. Include a note: \"For additional context, see current-understanding.md.\"\n- The full single-cycle protocol (Steps A–E below)\n- Instructions to return: cycle rows for `notes/results.md`, keep/discard verdict, and if keep: the insight to merge\n\n**Context efficiency**: Do NOT send the full `current-understanding.md` to every subagent. Instead, read it once in the main agent, identify which findings are relevant to each hypothesis, and send only those. A typical excerpt is 200-500 words vs 2000-5000 for the full file.\n\nEach subagent runs the single-cycle protocol independently:\n\n#### Step A: Create Investigation Directory\n\nIf this cycle revisits a hypothesis that already has an investigation directory, **reuse that directory** — update its `analysis.md` and `proof.md` inline rather than creating a new directory. The cycle number in the directory name stays the same (the original); the `notes/results.md` row will be updated with the new cycle number.\n\nFor a new hypothesis, create `reaper-workspace/investigations/NNN-<slug>/` where:\n- `NNN` is the assigned zero-padded cycle number (001, 002, ...)\n- `<slug>` is a short descriptor (e.g., `proof-lemma3`, `counterex-2party`, `alt-reduction`)\n\n#### Step B: Investigate\n\nDo the actual research. This is the core intellectual work. Depending on the hypothesis:\n\n- **Proof verification**: Check each step of an existing proof. Look for gaps, implicit assumptions, boundary cases. Consult `../reaper/references/methodology.md` for patterns.\n- **Proof attempt**: Try to prove the claim. Start with the simplest approach. If it works, check if a simpler proof exists. All proofs must follow the formal proof structure below.\n- **Counterexample search**: Try to disprove the claim. Start small (2 parties, 1 round). Construct a specific adversary strategy and execution trace.\n- **Security analysis**: Enumerate threat models, check if reductions go through, verify simulator constructions. Security proofs must follow the formal proof structure below.\n- **Comparison**: Compare approaches along specific dimensions (complexity, assumptions, properties).\n- **Performance analysis**: Prove complexity bounds, communication costs, round complexity, or other quantitative metrics. All performance claims must follow the formal proof structure below.\n\nWrite all work — reasoning, attempts, dead ends, insights — to `reaper-workspace/investigations/NNN-<slug>/analysis.md`. If revisiting, **edit the existing `analysis.md` inline** — update conclusions, revise reasoning, and integrate new findings into the existing structure rather than appending a new section. The file should always reflect the current best understanding of this hypothesis.\n\n##### Intra-Cycle Parallelism\n\nWithin a single cycle, subagents MAY spawn sub-subagents for concurrent attack:\n\n- **Proof + counterexample race**: When a hypothesis could go either way, run proof-attempt and counterexample-search as parallel sub-subagents. The first to reach a definitive result wins; the other's partial work is logged in the investigation directory.\n- **Parallel literature search**: When stuck and searching for related work, run IACR + arXiv + WebSearch as parallel sub-subagents, then merge results.\n\nUse intra-cycle parallelism when the hypothesis is genuinely uncertain. If prior cycles strongly suggest the claim is true (or false), prefer the targeted approach.\n\n##### Formal Proof Structure\n\nFor theoretical research (proving properties, security guarantees, or performance metrics), every claim must be stated and proved formally. Write proofs in `reaper-workspace/investigations/NNN-<slug>/proof.md` using this structure:\n\n```markdown\n## Theorem/Lemma/Proposition N: <name>\n\n**Statement.** <precise mathematical statement of the claim>\n\n**Assumptions.**\n- <each assumption listed explicitly, e.g., threat model, computational hardness, network model>\n\n**Proof.**\n<the proof body — each logical step explicit and justified>\n\n1. <step>  *(by <justification: definition / assumption / prior lemma / cited result>)*\n2. <step>  *(by ...)*\n...\n\n∎\n\n**Proof technique:** <e.g., reduction, induction, simulation, hybrid argument, game hopping>\n```\n\nConsult `../reaper/references/methodology.md` for the proof techniques catalog, reduction quality gate, and performance sanity checks. State the chosen proof technique in the proof header. If it doesn't work after a genuine attempt, log which technique failed and why, then try an alternative in the next cycle.\n\nRequirements for formal proofs:\n\n- **Properties**: State as a formal predicate. Prove under stated assumptions.\n- **Performance metrics**: State as a formal claim. Prove by construction or reduction. Distinguish worst/average/amortized.\n- **Security properties**: State the definition, construct the reduction, prove the bound. Make it tight or state the gap.\n- **Impossibility results**: State what's impossible, under which model. Prove by contradiction or reduction.\n\nIf a proof attempt fails or has gaps:\n- Document exactly where the proof breaks down\n- State what additional assumption would close the gap\n- Log the cycle as `inconclusive` with the gap described\n\nDo not claim a property or metric holds without a proof. Conjectures must be clearly labeled as such.\n\n<!-- TODO: Add Lean-based formal verification step. When proofs are complete, translate them into Lean 4 and machine-check them. This would replace confidence levels with verified/unverified status and catch subtle gaps that manual proofs miss. Requires: Lean 4 toolchain, a library of common crypto/protocol primitives in Lean, and a skill or subscript to invoke the Lean checker. -->\n\n#### Step C: Evaluate\n\nDid this cycle produce **genuine progress**? A cycle counts as progress if it:\n\n- Confirms or refutes a hypothesis (fully or partially)\n- Narrows the search space on an important question\n- Identifies a new important question not previously considered\n- Simplifies an existing argument (fewer assumptions, shorter proof)\n- Corrects a prior error in understanding\n\n**Simplicity criterion**: A proof that achieves the same result with fewer assumptions is better. Replacing a 3-page case analysis with a one-paragraph reduction is progress even if the \"result\" is unchanged. Don't accumulate tangential findings that don't serve the research goal.\n\n**One \"ping\" per cycle**: The cycle's outcome should be statable in a single sentence. If it can't be, the cycle tried to do too much — note this and decompose in the next cycle.\n\n##### Classify Proof Issues Precisely\n\nWhen a proof issue is found, do not just say \"found a gap.\" Classify it:\n\n- **Gap (fillable)**: A step is missing but the overall approach is sound. The gap can likely be closed with additional argument. Log as `partially-confirmed`.\n- **Gap (structural)**: The proof strategy fundamentally cannot work as written — e.g., the simulator doesn't handle a class of adversary behaviors, the reduction has exponential loss, the induction hypothesis is too weak. Log as `inconclusive` and pivot to whether the theorem itself is true via an alternative proof.\n- **Error (theorem likely false)**: The proof fails because the claimed property actually doesn't hold — you can construct a concrete counterexample or execution trace that violates it. Log as `refuted`.\n- **Overclaim**: The proof is correct but proves something strictly weaker than what's claimed — e.g., the paper claims adaptive security but the proof only handles static corruption, or claims async but requires partial synchrony. Log as `partially-confirmed` with the precise weakening stated.\n\n##### Composition Awareness\n\nWhen a core property is confirmed, note the composition implications. Consult `../reaper/references/definitional-standards.md` for domain-specific composition considerations (e.g., rewinding, shared setup, standalone vs compositional security).\n\nLog composition limitations in the investigation's `analysis.md` even if the original hypothesis didn't ask about composition — this is critical context for the final report.\n\n#### Step D: Log\n\nPrepare a row for `reaper-workspace/notes/results.md`:\n\n```\n| NNN | H# | action-type | outcome | confidence | status | one-sentence description |\n```\n\nWhere:\n- **action-type**: proof-verification, proof-attempt, counterexample-search, security-analysis, performance-analysis, comparison, literature-search, reformulation\n- **outcome**: confirmed, refuted, partially-confirmed, inconclusive, new-hypothesis, reformulate\n- **confidence**: high, medium, low (see calibration below)\n- **status**: keep or discard\n\n**Update-in-place rule**: If this cycle revisits a hypothesis that already has a row in `notes/results.md`, the subagent should flag this as an update (not a new row). The main agent will update the existing row inline during the merge phase rather than appending a duplicate. The cycle number, outcome, confidence, and description should all reflect the latest result. The previous investigation directory remains in `investigations/` for the audit trail.\n\nSubagents return this row to the main agent rather than appending directly.\n\n**Cycle log**: After preparing the results row, write a cycle log to `reaper-workspace/logs/cycle-NNN-<slug>.md` (using the same NNN and slug as the investigation directory). This is an append-only snapshot — never modify it after creation. Include:\n\n```markdown\n# Cycle NNN: <hypothesis title>\n\n- **Hypothesis**: H# — <statement>\n- **Action**: <action-type>\n- **Outcome**: <outcome> (confidence: <confidence>)\n- **Verdict**: keep / discard\n\n## Summary\n<1-3 paragraph narrative: what was attempted, what was found, why the verdict>\n```\n\nWhen revisiting a hypothesis, create a new log file with the new cycle number (e.g., `cycle-005-proof-lemma3.md` even if `cycle-001-proof-lemma3.md` already exists). The slug may differ if the approach changed.\n\n##### Confidence Calibration\n\nDefault to one level LOWER than your instinct. If you think \"high,\" write \"medium\" unless every single step is airtight.\n\n- **High**: The argument is complete, every step is justified by definition / assumption / prior lemma / cited result, and you can see no way it could be wrong. You could present this at a seminar and defend every step under questioning. For reductions: the Reduction Quality Gate is fully passed.\n- **Medium**: The argument is plausible and mostly complete, but at least one step relies on intuition rather than rigorous justification, or there is a step you believe is correct but haven't fully verified. A careful reviewer might find an issue.\n- **Low**: The argument has significant gaps, relies on unverified assumptions, or is based on analogy/heuristic rather than proof. This is a conjecture with supporting evidence, not a result.\n\n#### Step E: Keep or Discard\n\nDetermine the verdict:\n\n**keep** — The cycle produced genuine progress. Return the insight to merge into `current-understanding.md`.\n\n**discard** — The cycle was a dead end. The investigation directory stays for the audit trail.\n\nSubagents do NOT write to `current-understanding.md` directly — they return their verdict and insight to the main agent.\n\n### Merge\n\nAfter all subagents in a batch complete:\n\n1. **Update or append rows** in `reaper-workspace/notes/results.md`. If a cycle revisits a hypothesis that already has a row, **update the existing row inline** with the new cycle number, outcome, confidence, and description — do not append a duplicate. Only append a new row for hypotheses appearing in the table for the first time. Keep rows ordered by hypothesis number.\n2. **Integrate \"keep\" insights** into `reaper-workspace/notes/current-understanding.md` — the main agent writes this, preserving the single-writer constraint. Write as if explaining at a whiteboard — crystallize understanding, don't just append notes. The file should be coherent end-to-end, not a chronological log.\n3. **Check for new hypotheses** generated by the batch (subagents may propose them). Add to `ideas.md`. If a hypothesis's status changed (resolved, deprioritized, subsumed), **update it inline** in `ideas.md`.\n4. **Write batch summary** to `reaper-workspace/notes/results.md` after the row table:\n   ```markdown\n   ## Batch Summary (Cycles NNN-MMM)\n   Keep findings:\n   - [1 sentence per keep cycle: what was found and why it matters]\n   Discard patterns:\n   - [1 sentence summarizing why cycles were discarded, if any pattern emerges]\n   ```\n   These summaries serve two purposes: (a) `/brainstorm` can read summaries instead of full investigation directories, and (b) `/synthesize` can read summaries instead of loading all `analysis.md` files.\n5. **Re-read updated state** and plan the next batch.\n\n### Sequential Fallback\n\nWhen all remaining hypotheses form a dependency chain (H2 requires H1's result, H3 requires H2's, ...), the batch size is 1. This is equivalent to the traditional sequential loop — no subagents needed, the main agent runs Steps A–E directly and writes to `current-understanding.md` immediately on keep.\n\n### Repeat\n\nPlan the next batch. Do not pause, do not ask if you should continue.\n\n## Never-Stop Policy\n\nRun all N cycles. The only valid early stop is **genuine convergence**: all hypotheses resolved with high confidence, and no new hypotheses worth pursuing. Uncertainty about whether the human wants you to continue is NEVER a reason to stop.\n\n## When Stuck\n\nIf a cycle is going nowhere, follow the escalation protocol in `../reaper/references/methodology.md` (section \"When Stuck: 8-Step Escalation\"). The steps progress from re-reading existing materials, through searching for new literature (see `../reaper/references/search-tools.md` for search commands, which use the `arxiv.py` and `iacr.py` scripts in the `/search-paper` skill), to trying radically different approaches.\n\nWhen searching for new literature mid-investigation, download relevant papers to `reaper-workspace/papers/`, write per-paper notes (`<id>-notes.md`), and **integrate findings into `reaper-workspace/notes/literature.md` inline** — add new entries to the appropriate existing sections rather than appending a separate \"Mid-Investigation Additions\" section. Log the search as a cycle with action-type `literature-search` in `notes/results.md`.\n\nIf all escalation tactics are exhausted and the hypothesis remains stuck, log the cycle as `inconclusive` and continue to the next hypothesis. The orchestrator will call `/brainstorm` after the batch to generate new ideas based on the pattern of failures.\n\n## Negative Result Protocol\n\nIf after 3 cycles a hypothesis trends toward refutation (counterexample attempts partially succeed, proof attempts consistently fail at the same point, or you keep hitting the same structural gap):\n\n1. **Pivot explicitly** to proving the negative. Construct the strongest possible negative result — a concrete attack, execution trace, or reduction to a known impossibility. A clean impossibility result is more valuable than a vague \"we couldn't prove it.\"\n2. **Identify the minimal fix.** What is the weakest additional assumption that would make the positive result hold? (e.g., \"Safety holds if we additionally assume synchronous message delivery in the view-change sub-protocol.\")\n3. **A clean negative result is a KEEP, not a failure.** It resolves the hypothesis (by refutation) and advances understanding. Log it with outcome `refuted` and status `keep`.\n4. **Signal for new ideas.** Note in the cycle's result description that the hypothesis was refuted and what was learned. The orchestrator will call `/brainstorm` to generate follow-up hypotheses (e.g., proving the impossibility formally, exploring the minimal fix).\n\nDo not spend 10 cycles attempting minor variations of the same failed proof strategy. Three failures at the same point is a signal to change direction.\n\n## Re-Formalization Protocol\n\nIf an investigation cycle reveals that the problem formulation itself is wrong (not just that a hypothesis failed, but that the model assumptions, core question, or property definitions are mis-specified), trigger re-formalization:\n\n1. Log the cycle with outcome `reformulate` and status `keep`.\n2. In the cycle's `analysis.md`, write a section `## Re-Formalization Signal` containing:\n   - What is wrong with the current formulation\n   - What evidence from this cycle demonstrates the problem\n   - What the corrected formulation should look like (proposed changes to model assumptions, core question, or properties)\n3. Write `REFORMULATE` as the first line of the cycle description in `notes/results.md`, followed by a one-sentence summary.\n4. **Stop the current investigation batch** and return control to the orchestrator. Do not continue investigating hypotheses based on a known-incorrect formulation.\n\nThe orchestrator will re-invoke the `/formalize-problem` skill incorporating the re-formalization signal before resuming investigation.\n\nIf any cycle in a batch returns outcome `reformulate`, stop dispatching further batches and return control to the orchestrator with a re-formulation signal.\n\n## Quality Criteria\n\n- Every hypothesis has exactly one row in `notes/results.md` reflecting its latest state — revisits update inline, not append\n- `current-understanding.md` only changes on keep cycles\n- Each investigation directory has an `analysis.md` reflecting the current best understanding (edited inline on revisit)\n- The \"one ping\" test: every cycle's outcome can be stated in one sentence\n- No cycles wasted on tangential exploration that doesn't serve the research goal\n- When stuck, the 8-step protocol is followed before giving up on a hypothesis\n- Independent hypotheses are batched in parallel by default; sequential only when dependencies exist\n- `current-understanding.md` is written only by the main agent during the merge phase, never by subagents","tags":["investigate","reaper","sebastianelvis","agent-skills","ai-research","arxiv","claude-code","cline","codex-cli","cryptography","cursor","dblp"],"capabilities":["skill","source-sebastianelvis","skill-investigate","topic-agent-skills","topic-ai-research","topic-arxiv","topic-claude-code","topic-cline","topic-codex-cli","topic-cryptography","topic-cursor","topic-dblp","topic-distributed-systems","topic-gemini-cli","topic-iacr"],"categories":["reaper"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/SebastianElvis/reaper/investigate","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add SebastianElvis/reaper","source_repo":"https://github.com/SebastianElvis/reaper","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (21,193 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:08:57.077Z","embedding":null,"createdAt":"2026-05-18T13:14:41.598Z","updatedAt":"2026-05-18T19:08:57.077Z","lastSeenAt":"2026-05-18T19:08:57.077Z","tsv":"'-003':347 '-006':352 '-3':495,1781 '-500':583 '-5000':587 '/analysis.md':846 '/brainstorm':402,2213,2498,2672 '/formalize-problem':2860 '/investigate':71 '/investigations/nnn-':664,845,1018 '/logs/cycle-nnn-':1743 '/notes/current-understanding.md':115,2091 '/notes/ideas.md':107 '/notes/literature.md':172,2437 '/notes/paper-summary.md':163 '/notes/problem-statement.md':98 '/notes/results.md':125,1585,2031,2168 '/papers':188,2423 '/proof.md':1019 '/reaper/references/definitional-standards.md':1534 '/reaper/references/methodology.md':201,725,1064,2366 '/reaper/references/search-tools.md':2388 '/search-paper':2401 '/synthesize':2224 '0':238 '001':346,675 '002':676 '004':351 '1':274,344,377,769,1049,1780,2022,2182,2196,2268,2544,2754 '10':72,74,78,2691 '2':279,349,494,767,1051,2083,2583,2764 '200':582 '2000':586 '2party':687 '3':291,1289,2130,2517,2619,2809 '4':311,2160,2647,2829 '5':80,84,330,2234 '6':364 '7':385 '8':2370,2966 'accumul':120,1309 'achiev':1278 'action':1589,1600,1773,2465 'action-typ':1588,1599,2464 'actual':696,1458 'adapt':1495 'add':2143,2439 'addit':517,1186,1392,2455,2592,2606 'advanc':2637 'adversari':774,1418 'agent':431,565,1676,1723,2013,2094,2282,2997 'airtight':1843 'alloc':331 'along':804 'alreadi':613,1656,1812,2039 'alt':689 'alt-reduct':688 'altern':1104,1445 'alway':91,875 'analogy/heuristic':1947 'analysi':15,780,811,1292,1613,1616 'analysis.md':623,852,1556,2232,2769,2926 'appear':2069 'append':868,1689,1726,1759,2025,2059,2063,2115,2449,2914 'append-on':1758 'appli':46 'approach':184,290,739,803,990,1382,1820,2407 'appropri':2444 'argument':88,1060,1262,1393,1846,1894,1935 'arxiv':955 'arxiv.py':2395 'ask':24,1564,2305 'assign':336,467,669 'assum':2607 'assumpt':100,721,808,1027,1029,1122,1187,1264,1284,1855,1942,2593,2740,2804 'async':1506 'attack':900,2559 'attempt':729,837,914,1094,1172,1607,1786,2525,2529,2693 'audit':1714,1995 'avoid':287 'awar':1522 'b':692,2223 'back':449 'base':1945,2506,2846 'batch':205,210,248,273,325,343,348,374,410,418,490,2020,2138,2162,2174,2244,2265,2299,2501,2834,2876,2883,2980 'behavior':1419 'believ':1918 'best':879,2930 'better':1286 'bodi':1042 'bound':814,1147 'boundari':722 'branch':117 'break':1182 'build':292 'c':1220 'calibr':1638,1823 'call':157,401,2497,2671 'cannot':1405 'cap':323 'care':1927 'case':723,1291 'catalog':1069 'chain':372,2254 'chang':1821,2151,2615,2712,2801,2917 'check':284,710,743,784,1076,2131 'chosen':1079 'chronolog':2128 'cite':1858 'claim':31,734,764,825,982,1005,1129,1203,1456,1490,1494,1505 'class':1416 'classifi':1354,1371 'claud':428 'clean':2569,2621 'clear':1215 'close':1189,1390 'code':429 'coher':2121 'collect':263 'command':66,2391 'communic':815 'compar':802 'comparison':801,1617 'complet':1848,1899,2021 'complex':807,813,818 'composit':1521,1531,1539,1547,1550,1566 'comput':1035 'conclus':855 'concret':1466,2558 'concurr':322,899 'confid':1592,1633,1696,1775,1822,2054,2331 'confirm':1235,1398,1515,1528,1623,1627 'conjectur':1212,1954 'consecut':359 'consid':1258 'consider':1540 'consist':2530 'constraint':2102 'construct':771,791,1132,1142,1464,2551 'consult':724,1063,1533 'contain':2777 'context':511,518,547,1570 'contigu':338 'continu':2309,2346,2489,2843 'contradict':1166 'control':394,2837,2886 'converg':241,2325 'core':34,701,1525,2741,2805 'correct':1267,1481,1920,2795 'corrupt':1503 'cost':816 'could':907,1867,1871 'couldn':2579 'count':62,1230 'counterex':686 'counterex-2party':685 'counterexampl':11,758,902,917,1467,1609,2524 'counterexample-search':916,1608 'creat':603,629,660,1797 'creation':1766 'criteria':2897 'criterion':1274 'critic':1569 'crystal':2110 'current':878,2783,2832,2929 'current-understanding.md':271,481,520,554,1981,2002,2291,2915,2990 'cycl':4,40,61,76,81,85,147,213,236,328,332,468,525,534,598,608,634,654,673,886,891,968,978,1108,1194,1224,1229,1322,1324,1340,1353,1651,1693,1728,1737,1769,1805,1971,1984,2034,2051,2176,2186,2200,2317,2357,2462,2485,2518,2655,2692,2721,2757,2767,2789,2818,2873,2920,2941,2951 'cycle-001-proof-lemma3.md':1811 'cycle-005-proof-lemma3.md':1808 'd':1576 'dead':838,1987 'decompos':1349 'default':79,83,221,1824,2984 'defend':1878 'definit':103,929,1141,1854,2745 'deliveri':2610 'demonstr':2790 'depend':228,246,294,308,371,704,2253,2988 'depriorit':2153 'describ':1200 'descript':1597,1698,2056,2658,2819 'descriptor':680 'determin':1966 'didn':1562 'differ':1817,2406 'dimens':806 'direct':1727,2003,2287,2713 'directori':605,617,620,632,638,942,1708,1754,1991,2221,2923 'discard':20,50,1643,1778,1965,1982,2194,2202 'disciplin':21,51 'dispatch':232,252,409,2881 'disprov':30,762 'distinguish':1135 'document':1177 'doesn':1088,1412,1459,2957 'domain':1537 'domain-specif':1536 'download':189,2416 'duplic':1691,2061 'durat':487 'e':529,1962,2286 'e.g':70,342,427,681,1032,1055,1409,1491,1541,1807,2601,2679 'earli':2321 'edit':849,2932 'effici':548 'either':909 'emerg':2206 'end':839,1988,2123,2125 'end-to-end':2122 'entri':2441 'enumer':781 'equival':435,2271 'error':1270,1447 'escal':2363,2372,2474 'evalu':1221 'even':1301,1557,1809 'everi':556,1004,1839,1849,1879,2898,2940 'evid':1957,2786 'exact':1178,2901 'excerpt':479,580 'execut':223,452,777,1469,2560 'exhaust':2477 'exist':229,715,748,851,864,1261,1680,1813,2045,2380,2445,2989 'explain':2106 'explicit':1031,1046,2546 'explor':2684,2955 'exponenti':1423 'extract':491 'fail':289,1098,1173,1453,2531,2699,2735 'failur':2511,2629,2703 'fall':448 'fallback':226,382,2246 'fals':986,1450 'fewer':1263,1283 'file':507,591,873,1801,2118,2233 'fillabl':1374 'final':1573 'find':496,568,861,1311,1930,2181,2432 'first':925,2075,2814 'fix':2587,2687 'flag':1665 'follow':752,795,827,2361,2676,2822,2970 'follow-up':2675 'form':369,2251 'formal':754,797,829,991,1011,1111,1117,1128,2683,2716,2753,2775,2866 'formul':2726,2784,2796,2852,2894 'found':1363,1368,1789,2189 'full':506,522,553,590,2219 'fulli':1240,1890,1924 'fundament':1404 'game':1061 'gap':719,1154,1176,1191,1199,1370,1373,1386,1399,1938,2543 'gate':1072,1888 'generat':404,2135,2503,2674 'genuin':974,1093,1226,1973,2324 'get':345,350,355 'give':2972 'given':89 'go':787,908,2359 'goal':180,1318,2962 'graph':247,295 'guarante':1000 'h':1587,1772 'h1':304,310,2257 'h2':298,307,2255,2262 'h3':2260 'handl':1414,1501 'happen':132 'hard':1036 'haven':1922 'header':1085 'high':1634,1835,1844,2330 'hit':2539 'hold':1208,1461,2600,2603 'hop':1062 'host':67,421,440,443 'human':2342 'hybrid':1059 'hypothes':7,215,251,283,318,368,388,2068,2134,2250,2327,2335,2678,2845,2978 'hypothesi':44,149,257,415,472,477,503,573,611,659,707,883,906,972,1239,1427,1561,1631,1654,1771,1796,2037,2081,2148,2480,2493,2520,2633,2661,2734,2899,2976 'hypothesis-relev':476 'iacr':954 'iacr.py':2397 'idea':109,406,2505,2651 'ideas.md':244,276,2145,2159 'identifi':280,566,1251,2584 'immedi':2292 'implic':1532 'implicit':720 'import':1249,1254 'imposs':1155,1160,2567,2570,2682 'includ':513,1767 'inconclus':1196,1433,1628,2487 'incorpor':2862 'incorrect':2851 'independ':214,250,317,600,2977 'induct':1057,1426 'inlin':626,853,1682,2047,2157,2438,2912,2933 'input':90 'insight':269,544,840,1977,2009,2086 'instead':558,2217,2228 'instinct':1831 'instruct':531 'integr':267,859,2084,2431 'intellectu':702 'intra':885,967 'intra-cycl':884,966 'intuit':1907 'investig':1,3,26,32,39,75,77,82,111,207,217,474,604,616,693,941,1554,1707,1711,1753,1990,2220,2415,2454,2720,2833,2844,2870,2922 'invok':53,2858 'issu':1356,1361,1932 'justif':1911 'justifi':1048,1852 'keep':18,48,268,509,542,1641,1777,1963,1969,2077,2085,2180,2185,2294,2538,2626,2646,2763,2919 'keep-or-discard':17,47 'keep/discard':538 'know':300 'knowledg':121 'known':173,2566,2850 'known-incorrect':2849 'label':1216 'largest':314 'latest':1703,2908 'launch':453 'lazi':134 'lazy-load':133 'lean':512 'learn':2667 'least':1902 'lemma':1857 'lemma3':684 'level':1827 'like':1388,1449,2799 'limit':1551 'line':2815 'list':1030 'literatur':199,944,1619,2386,2412,2468 'literature-search':1618,2467 'load':135,143,2230 'log':938,1095,1192,1394,1431,1474,1511,1549,1577,1729,1738,1800,2129,2457,2483,2639,2755 'logic':1044 'look':717,2798 'loop':36,206,2276 'loss':1424 'low':1636,1933 'lower':1828 'main':564,1675,1722,2012,2093,2281,2996 'make':1148,2596 'markdown':1023,1768,2173 'materi':2381 'matter':2193 'may':893,1816,2140 'md':1744 'mechan':426 'medium':1635,1837,1892 'merg':233,262,546,963,1685,1979,2014,3000 'messag':261,459,2609 'metric':822,1003,1124,1207 'mid':2414,2453 'mid-investig':2413,2452 'might':1929 'minim':2586,2686 'minor':2694 'mis':2748 'mis-specifi':2747 'miss':1378 'mmm':2179 'model':99,783,1034,1038,1163,2739,2803 'modifi':1763 'most':1898 'much':1345 'must':751,794,826,1006,1213 'n':38,1025,2316 'name':57,639 'narrat':1783 'narrow':1243 'need':138,408,2279 'negat':2512,2550,2555,2622 'network':1037 'never':1762,2311,2348,3002 'never-stop':2310 'new':405,631,653,658,860,870,1253,1630,1672,1799,1804,2050,2065,2133,2334,2385,2411,2440,2504,2650 'new-hypothesi':1629 'next':1107,1352,2243,2298,2492 'nnn':666,1586,1748,1770,2178 'nnn-mmm':2177 'note':195,515,1346,1529,2116,2428,2652 'notes.md':196,2429 'notes/results.md':245,266,278,285,537,646,1661,2471,2821,2905 'nowher':2360 'number':333,360,469,635,655,674,1694,1806,2052,2082 'one':254,260,356,412,1296,1319,1595,1826,1903,2826,2902,2937,2948 'one-paragraph':1295 'one-sent':1594,2825 'option':60 'orchestr':397,399,2495,2669,2840,2854,2889 'order':2079 'organ':176 'origin':644,1560 'outcom':302,1326,1591,1622,1695,1774,2053,2642,2759,2878,2943 'overal':1381 'overclaim':1477 'overview':230 'pad':672 'page':1290 'paper':166,194,1493,2418,2427 'paragraph':1297,1782 'parallel':219,258,424,446,462,887,920,943,958,969,2982 'parallel-subag':423 'parti':768 'partial':935,1242,1397,1509,1514,1626,2526 'partially-confirm':1396,1513,1625 'pass':1891 'pattern':203,727,2195,2205,2509 'paus':2302 'pdfs':190 'per':193,256,340,414,1321,2184,2426 'per-pap':192,2425 'perform':810,824,1002,1074,1123,1615 'performance-analysi':1614 'phase':1686,3001 'ping':1320,2938 'pivot':1435,2545 'place':1647 'plan':231,242,272,2241,2296 'plausibl':1896 'point':2535,2707 'polici':2313 'posit':2598 'possibl':2554 'pre':335 'pre-assign':334 'precis':1357,1518 'predic':1118 'prefer':987 'prefix':68 'prepar':1578,1731 'present':1872 'preserv':2097 'previous':1257,1706 'primit':437,447 'prior':174,977,1269,1856 'problem':2725,2792 'produc':1225,1972 'progress':1227,1232,1300,1974,2375 'proof':9,683,708,716,728,747,750,755,793,798,830,901,913,992,1013,1039,1041,1053,1067,1080,1084,1112,1171,1181,1211,1266,1276,1355,1360,1402,1446,1452,1479,1499,1603,1606,1950,2528,2700 'proof-attempt':912,1605 'proof-lemma3':682 'proof-verif':1602 'proof.md':625 'proof/analysis':202 'properti':102,809,998,1113,1138,1205,1457,1526,2744,2808 'propos':2141,2800 'protocol':156,526,599,2364,2514,2618,2717,2968 'prove':28,732,812,997,1010,1119,1130,1145,1164,1483,2548,2581,2680 'provid':168 'purpos':2211 'pursu':2337 'qualiti':1071,1887,2896 'quantit':821 'question':1250,1255,1882,2742,2806 'race':903 'radic':2405 'rang':339,363 'rather':627,866,1687,1724,1908,1948,2447 're':2236,2378,2715,2752,2774,2857,2865,2893 're-form':2714,2751,2773,2864 're-formul':2892 're-invok':2856 're-read':2235,2377 'reach':927 'read':92,141,243,275,483,559,2215,2226,2237,2379 'read-on':482 'reaper':96,105,113,123,161,170,186,662,843,1016,1583,1741,2029,2089,2166,2421,2435 'reaper-workspac':95,104,112,122,160,169,185,661,842,1015,1582,1740,2028,2088,2165,2420,2434 'reason':836,857,2350 'receiv':465 'reduct':690,786,1056,1070,1134,1144,1168,1298,1421,1884,1886,2563 'reflect':876,1701,2906,2927 'reformul':1621,1632,2760,2811,2879 'refut':1237,1476,1624,2523,2635,2643,2663 'relat':951 'relev':478,498,570,2417 'reli':1905,1939 'remain':237,329,367,1709,2249,2481 'repeat':234,288,2295 'replac':1287 'report':1574 'requir':150,299,1109,1508,2256,2261 'research':35,697,996,1317,2961 'resolv':297,390,2152,2328,2631 'result':264,930,964,1156,1281,1304,1704,1733,1859,1960,2259,2513,2556,2571,2599,2623,2657 'resum':2869 'return':393,533,1717,1975,2005,2836,2877,2885 'reus':618 'reveal':2722 'review':200,1928 'revis':856 'revisit':609,848,1652,1794,2035,2910,2935 'rewind':1542 'rigor':1910 'round':770,817 'row':535,647,1580,1659,1673,1681,1719,1734,2026,2042,2046,2066,2078,2171,2903 'rule':1648 'run':2,37,73,208,321,594,911,953,2283,2314 'safeti':2602 'same-approach':182 'same-go':178 'saniti':1075 'say':1367 'script':2398 'search':12,759,918,945,949,1245,1610,1620,2383,2390,2409,2459,2469 'section':871,2367,2446,2456,2772 'secur':14,779,792,999,1137,1496,1548,1612 'security-analysi':1611 'see':383,519,1637,1863,2387 'select':312 'seminar':1876 'send':551,575 'sentenc':1333,1596,2183,2197,2827,2949 'separ':2451 'sequenti':212,222,381,451,2245,2275,2985 'serv':1315,2209,2959 'set':315 'setup':1544 'share':1543 'short':679 'shorter':1265 'signal':2648,2710,2776,2867,2895 'signific':1937 'simpler':746 'simplest':738 'simplic':1273 'simplifi':1259 'simul':790,1058,1411 'singl':458,524,597,890,1332,1840,2100 'single-cycl':523,596 'single-writ':2099 'size':326,375,2266 'skill':55,2402,2861 'skill-investigate' 'slash':65 'slash-command':64 'slug':1750,1815 'small':766 'snapshot':1761 'someth':1484 'sound':1384 'sourc':165 'source-sebastianelvis' 'space':1246 'spawn':253,411,894 'specif':773,805,1538 'specifi':2749 'spend':2690 'standalon':1545 'start':94,735,765 'statabl':1329 'state':1008,1077,1114,1121,1125,1139,1152,1157,1184,1520,2239,2909,2946 'statement':1026 'static':1502 'status':1593,1640,2150,2645,2762 'stay':640,1992 'step':527,601,691,712,1045,1219,1376,1575,1841,1850,1880,1904,1916,1961,2284,2371,2374,2967 'stop':391,2312,2322,2352,2830,2880 'strategi':775,1403,2701 'strict':1485 'strong':979 'strongest':2553 'structur':756,799,831,865,993,1022,1400,2542 'stuck':155,947,2354,2369,2482,2964 'sub':896,922,960,2617 'sub-protocol':2616 'sub-subag':895,921,959 'subag':255,341,354,413,425,455,464,501,510,557,593,892,897,923,961,1663,1716,1997,2017,2139,2278,3004 'subsum':2154 'succeed':2527 'suggest':980 'summar':2198 'summari':1779,2163,2175,2208,2216,2227,2828 'support':1956 'synchron':2608 'synchroni':1510 'tabl':2072,2172 'tactic':2475 'tangenti':1310,2954 'target':989 'task/spawn':436 'techniqu':1054,1068,1081,1097 'test':6,42,2939 'theorem':1439,1448 'theorem/lemma/proposition':1024 'theoret':995 'think':1834 'threat':782,1033 'three':2702 'tight':1150 'time':2076 'tip':118 'tool':432 'topic-agent-skills' 'topic-ai-research' 'topic-arxiv' 'topic-claude-code' 'topic-cline' 'topic-codex-cli' 'topic-cryptography' 'topic-cursor' 'topic-dblp' 'topic-distributed-systems' 'topic-gemini-cli' 'topic-iacr' 'toward':2522 'trace':778,1470,2561 'tradit':2274 'trail':1715,1996 'trend':2521 'tri':129,730,760,1102,1341,2404 'trigger':2750 'true':461,984,1442 'two':2210 'type':1590,1601,2466 'typic':579 'uncertain':975 'uncertainti':2338 'unchang':1306 'understand':880,1272,2111,2638,2931 'unless':1838 'unresolv':282 'unverifi':1941 'updat':265,621,650,854,1645,1669,1678,2023,2043,2155,2238,2911 'update-in-plac':1644 'upfront':142 'usag':52 'use':22,419,965,1020,1745,2393 'vagu':2577 'valid':2320 'valuabl':2574 'variat':2695 'verdict':539,1776,1792,1968,2007 'verif':10,709,1604 'verifi':27,789,1925 'via':1443 'view':2614 'view-chang':2613 'violat':1472 'vs':585,1546 'want':2343 'wast':2952 'way':910,1865 'weak':1430 'weaken':1519 'weaker':1486 'weakest':2591 'websearch':956 'whether':1437,2340 'whiteboard':2109 'win':931 'within':888 'without':1209 'word':584 'work':175,703,742,835,936,952,1090,1406 'workspac':97,106,114,124,162,171,187,663,844,1017,1584,1742,2030,2090,2167,2422,2436 'worst/average/amortized':1136 'worth':2336 'would':1188,2595 'write':833,1012,1735,1836,2000,2095,2103,2161,2289,2424,2770,2810 'writer':2101 'written':1408,2992 'wrong':1869,2729,2780 'zero':671 'zero-pad':670","prices":[{"id":"62048db1-b25d-4910-bd17-7cfcb480f3bb","listingId":"3ccba060-a346-4122-8867-f4ff120bc008","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"SebastianElvis","category":"reaper","install_from":"skills.sh"},"createdAt":"2026-05-18T13:14:41.598Z"}],"sources":[{"listingId":"3ccba060-a346-4122-8867-f4ff120bc008","source":"github","sourceId":"SebastianElvis/reaper/investigate","sourceUrl":"https://github.com/SebastianElvis/reaper/tree/main/skills/investigate","isPrimary":false,"firstSeenAt":"2026-05-18T13:14:41.598Z","lastSeenAt":"2026-05-18T19:08:57.077Z"}],"details":{"listingId":"3ccba060-a346-4122-8867-f4ff120bc008","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"SebastianElvis","slug":"investigate","github":{"repo":"SebastianElvis/reaper","stars":8,"topics":["agent-skills","ai-research","arxiv","claude-code","cline","codex-cli","cryptography","cursor","dblp","distributed-systems","gemini-cli","iacr","openalex","research","scientific-research","semantic-scholar","skills"],"license":"apache-2.0","html_url":"https://github.com/SebastianElvis/reaper","pushed_at":"2026-05-02T06:06:07Z","description":"AI-native scientific research pipeline. Takes a research goal and autonomously runs multi-step academic research on Cursor, Codex CLI, Cline, Continue, Gemini CLI, Copilot, Windsurf, Claude Code, and 40+ more.","skill_md_sha":"c79cfb5134bcf4ac6f111acfcdde0baf297eb6e3","skill_md_path":"skills/investigate/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/SebastianElvis/reaper/tree/main/skills/investigate"},"layout":"multi","source":"github","category":"reaper","frontmatter":{"name":"investigate","license":"Apache-2.0","description":"Run investigation cycles that test hypotheses through proof verification, counterexample search, or security analysis, with keep-or-discard discipline. Use when asked to investigate, verify, prove, or disprove claims.","compatibility":"Best on hosts with parallel-subagent primitives (e.g. Claude Code's Agent tool); falls back to sequential execution otherwise."},"skills_sh_url":"https://skills.sh/SebastianElvis/reaper/investigate"},"updatedAt":"2026-05-18T19:08:57.077Z"}}