research
Skill1 starsChanged 3 months agoMITView on GitHub
Multi-pass research over whatever surfaces the question needs: papers, code, practitioner forums, video, web, case law, and the local machine. Lands the findings in $VAULT as analysis and topic notes with every source archived. Use for 'research X', 'state of the art in X', 'what's out there on X', a market or competitive sweep, or a repeat pass over a topic already covered. Not for a question one search answers.
189 other projects use a version of this.
Adopted by
Most recently taken up by
- dialog-db/dialog-dbtheir own version, first seen Nov 9, 2026
- howells/skillstheir own version, first seen Nov 8, 2026
- xiaoxiaosrm/dsh-mattpocock-skillstheir own version, first seen Nov 8, 2026
- Suge8/friedbuntheir own version, first seen Nov 8, 2026
- wowyuarm/dsh-agent-teamtheir own version, first seen Nov 8, 2026
- Contexera/dsh-agent-teamtheir own version, first seen Nov 8, 2026
Used with
Projects with it also use daily-arxiv, exp-eval and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
LambenthanSkilldaily-arxiv
每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新
Also in 5 projects that use this
LambenthanSkillexp-eval
实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges
Also in 5 projects that use this
truongtv22SkillProblem-Solving Techniques
Apply systematic problem-solving techniques for complexity spirals (simplification cascades), innovation blocks (collision-zone thinking), recurring patterns (meta-pattern recognition), assumption constraints (inversion exercise), scale uncertainty (scale game), and dispatch when stuck. Techniques derived from Microsoft Amplifier project patterns adapted for immediate application.
Also in 5 projects that use this
liufeng1976Skillsetup-ts-deep-modules
Wire dependency-cruiser into a TypeScript repo so each package is a deep module — implementation hidden in subfolders, reachable only through its entry-point files. User-invoked.
Also in 43 projects that use this
skyllwtSkillexp-pilot-eval
Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.
Also in 4 projects that use this
skyllwtSkillexp-pilot-run
Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.
Also in 4 projects that use this
- +5 more from Lambenthan
- +1 more from skyllwt
Other versions189 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 189
- mattpocock/skills★ 309ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 41ksame name
- Yeachan-Heo/oh-my-claudecode★ 41ksame name
- QuivrHQ/quivr★ 40ksame name
- The-Vibe-Company/quivr★ 40ksame name
- udecode/plate★ 17ksame name
- openai/plugins★ 7.8ksame name
- ArcReel/ArcReel★ 6.3ksame name
- vinvcn/mattpocock-skills-zh-CN★ 5.5ksame name
- withcoral/coral★ 4.9ksame name
179 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- AGENTS.mdAGENTS.md
- add-sourceSkill
- analyze-videoSkill
- archive-projectSkill
- clean-projectSkill
- code-standardsSkill
- global-heartbeatSkill
- map-projectSkill
- notes-heartbeatSkill
- resolve-projectSkill
- sleepSkill
- test-projectSkill
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 0 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 169 edited versions we read keep these.
0
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 37
Only stage 4 writes to
sources/: No agent in any other stage runs --out, to-markdown.py, or any converter.
“Common” is measured: kept by at least 6 in 10 of the 169 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
research
Start in the notes
python3 $VAULT/.scripts/notes.py -m "<subject>"That one search ranks topics/, analysis/, and sources/ together, so prior conclusions and the evidence under them arrive in the same list. $VAULT/.claude/rules/notes.md covers the search discipline that makes it land: several phrasings, the jargon and the plain words, and -x for an exact symbol. Read down from topics/index.md for the standing account, open the analysis/ notes it points at, and read the sources/ files that bear on the question.
None of this is grounds to stop, narrow, or skip a pass. It is context you start from, not an answer you inherit. When a prior note asserts something load-bearing, open the source under it instead of taking the claim.
Fix a slug here, {topic}-YYYY-MM. Every source landed during the pass writes it into supports, the reverse edge back to the note. Add slugs as the pass splits into more notes, and use unfiled only for a source whose note arrives later in the same pass.
The roster
Every round runs these seven stages in this order. The cut between them is not a judgment call. Fixing it is the point: each stage does one job, at the tier that job is worth, and cannot quietly take on the next one.
| Stage | Runs on | Job | Must not |
| 0. Prior coverage | script | notes.py -m, then search.py vocab for the field's real terms | |
| 1. Queries | sonnet, one agent | turn the question into query sets, one per surface it earns | fetch, read, or land anything |
| 2. Search | script | run those queries, print title, abstract, and url | land anything |
| 3. Triage | haiku, one agent per surface or per 25 candidates | keep or drop each candidate on title and abstract, one line of reason each | open a full text, land anything |
| 4. Land | script | fetch and convert the keeps, --supports <slug> | |
| 5. Read | opus, one agent per cluster of landed sources | read the landed files, pull claims with quote and locator | write to analysis/ or topics/ |
| 6. Write | opus, one agent | analysis/, topics/, and the wikilinks between them | |
| 7. Close | script | reindex.py, health.py, one commit over explicit paths |
Four rules make the table binding:
- Only stage 4 writes to
sources/. No agent in any other stage runs--out,to-markdown.py, or any converter. This is the gate the 460-file July 2026 pass did not have. - Only stage 5 opens a full source, and it opens the landed file. Never a digest of one. A claim in a note is traceable to text an opus agent actually read, which is why stage 3 is forbidden the full text and stage 5 is forbidden a summary.
- Only stage 6 writes to
analysis/ortopics/. Stages 1 through 5 return findings to the orchestrator and write nothing to the notes. - No agent asks the user anything or runs git. Batching one question and one commit at stage 7 is why a sixty-source pass interrupts once.
Model tiers are fixed above rather than chosen per dispatch, because the failure they prevent is asymmetric. Haiku deciding "this paper is off-topic" is cheap and visible when wrong. Haiku deciding "this paper supports the claim" is neither: a confidently wrong claim reads exactly like a right one.
Bound every agent, and say the bound in its prompt. A scope is the question, the surfaces worth trying, and a cap on calls. Unbounded prompts reliably buy 60 to 90 tool calls apiece for findings that plateau far earlier.
Surfaces are options
surfaces.md is the menu: every command verified on this machine, with the traps that make each one fail silently. Stage 1 picks from it, stage 2 runs what stage 1 picked. It lists what is available, never what to run.
Which surfaces a question earns is a stage 1 decision. A question about an algorithm may want papers and code and nothing else. A market question may want vendors, forums, and case law. Something that happened this month may want X and nothing older.
The machine is a surface too. Project code, docs/, past scratchpads, ~/Downloads, config, logs, transcripts, cited by path and line like anything else. Sweep for it when the subject plausibly touches work already on disk, and skip it for a purely external question.
Run the local sweep at stage 0, never alongside stage 4. sources/ is on disk, so a sweep running next to the stage that lands files reads what that stage is writing and reports it as material the machine already held. That happened in July 2026: 40 confident hits on a subject the vault held nothing about, every one written minutes earlier by a sibling.
Passes, plural
One round is the floor. Each round ends with a list of what it opened up, and anything on that list that matters earns its own round: a vendor named once in a forum thread, a paper three sources lean on, a repo everyone wraps.
Show the first round before spending the second. Say in two lines what it found and what the next cut would chase. A pass that runs several rounds before the owner sees anything has bet the whole budget on a reading of the question nobody confirmed.
Spend at least one round trying to break the answer rather than extend it, with stage 5 agents prompted to refute, and take seriously whatever survives. Stop when a round stops changing the answer.
python3 $VAULT/.scripts/vault.py <url> says whether a URL is already held, and a source another agent landed is still evidence. Its dedupe is weaker than it looks: it collapses the several forms of one arXiv or YouTube id, but not a paper living on both arXiv and PhilSci-Archive, and not an abstract page against the full PDF of the same document.
Evidence
- Every load-bearing claim carries a quote and a locator. Page, section, line, timestamp, retrieval date. A claim you cannot point at is a claim you are guessing.
- Do not summarize sources.
sources/holds each one in full and says it better. What matters is what a source changes: which existing note it confirms, contradicts, refines, or has no bearing on. - Contradictions lead. A source that collides with an existing note is the most valuable thing a pass produces. State both propositions, say which is better evidenced, and put it at the top.
- Cite or flag, cut only what is fabricated. Thin support gets marked and kept, because the marking is information. A citation that does not resolve, or a quote absent from the source it names, gets cut and the cut named in the note.
- Independence is by cluster. Three blog posts citing one paper are one source.
- Write down what you could not reach: the blocked API, the WAF, the expired session, the scanned PDF, the results ranked below where you stopped reading. Each reads as an empty field unless the note says otherwise, and a silent zero is the one unacceptable outcome.
Land it
Stage 6 writes everything at once, after the passes are done.
analysis/, one note per operational fact or per dated pass. Findings answering different questions are different notes, not one long file.topics/, rewritten in place for every subject the pass touched, and written when a subject has none. This is the layer read first, so a pass that stops atanalysis/has left its conclusion somewhere already dated. The fold-up stops two hops out, per$VAULT/.claude/rules/notes.md.- Existing notes, edited where the pass refined or overturned them.
sources/, everything cited, withsupportspointing back. What earns a place there isadd-source.md, and it is judged on the read rather than on any property of the file.
$VAULT/.claude/rules/notes.md routes the rest, one file per step: acquiring, deciding an edit against a new file, frontmatter, wikilinks, pruning what the change made dead, and closing out.
Repeat passes
A subject already covered gets a full pass, not a shortened one. The prior note says what to hold up against fresh evidence and what to recheck first. It is not a list of closed questions. Write what changed, what died, and what is new, and edit the prior note where this pass overturned it.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

