literature-discovery
Skill141 starsChanged 5 months agoMITView on GitHub
Systematically discover and shortlist academic literature for a research project. Use when building a reading corpus from scratch, expanding an existing one, filling topic or language gaps, or turning search results into a prioritized intake queue.
In this repository4 other files it gives its agents.
- corpus-buildingSkill
- evidence-reviewSkill
- research-writingSkill
- source-intakeSkill
The file
We split this skill into the rules it gives an agent
10 rules. About 0 are common, 8 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Write one sentence: what is this research about, and what is it *not* about?
- Distinctive: line 37
Do not start by downloading 200 results from a keyword search.
- Distinctive: line 49
Keep a running candidate list.
- Distinctive: line 57
Do not annotate or read deeply at this stage.
- Distinctive: line 61
Before promoting items to intake, ask:
- Very specific: line 68
Only keep-status items move to the next stage (source intake).
- Distinctive: line 79
Search in waves. One wave = one seed's full expansion before starting the next seed.
- Distinctive: line 80
Never download everything from a keyword search in one pass.
- Distinctive: line 82
Keep translated titles and original titles together.
- Very specific: line 88
Read references/search-matrix.md for a reusable matrix template and project-specific axis examples.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Literature Discovery
The core problem
Most researchers start by downloading everything that looks relevant. This creates an unmanageable pile with no structure and no sense of what's missing. The alternative: build the corpus in deliberate waves, starting from a small seed set and expanding outward in three directions.
Workflow
1. Define scope before searching
Write one sentence: what is this research about, and what is it not about? This sentence is your filter for every candidate you encounter.
Then build a search matrix:
| Axis | Examples |
| Topic terms | main concept + synonyms + older names |
| Region/context | geographic or institutional scope |
| Object type | what specific thing you're studying |
| Time period | historical range |
| Language | all relevant languages, not just English |
| Method | field methods you're comparing against |
2. Start from a seed set, not a broad search
Pick 3–5 items you already know are strong:
- One overview or survey paper
- One foundational monograph or book
- One case-study cluster
- One methods paper
Do not start by downloading 200 results from a keyword search.
3. Expand in three directions from each seed
Backward — who does this paper cite? Follow references to earlier foundational work.
Forward — who cites this paper? Use Google Scholar, Semantic Scholar, or OpenAlex to find later work building on it.
Lateral — what related terms or adjacent topics does this paper not cover? Search those gaps explicitly.
4. Record every candidate before annotating
Keep a running candidate list. Add a row for every item you encounter, even if you don't have the PDF yet. Minimum fields per row:
- title, authors, year
- source (where you found it)
- language
- status:
candidate / keep / exclude / needs_pdf / needs_translation - reason (one line)
Do not annotate or read deeply at this stage.
5. Check for coverage bias
Before promoting items to intake, ask:
- Am I over-representing one language, one region, one time period?
- Are there practitioner sources, grey literature, or non-English materials I haven't touched?
- What would a critic say is missing from this list?
6. Promote only strong items
Only keep-status items move to the next stage (source intake). Everything else stays in the candidate list with a reason recorded.
Output expectations
- A reusable search matrix
- A candidate list with statuses and one-line reasons
- A gap list: what's under-covered and why
- A
keepqueue ready for source intake
Rules
- Search in waves. One wave = one seed's full expansion before starting the next seed.
- Never download everything from a keyword search in one pass.
- De-duplicate before promoting: DOI first, then title + year, then manual check.
- Keep translated titles and original titles together.
- Record the search URL and date for every batch — you will need to verify later.
- A candidate list with 200 items and no statuses is not useful. Triage as you go.
References
- Read
references/search-matrix.mdfor a reusable matrix template and project-specific axis examples.
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.

