agentleFS
dgilforddgilford/ai-science-toolkit/skills/lit-review/SKILL.md

lit-review

Skill82 starsChanged 43 days agoMITView on GitHub

Search and synthesize scientific literature from Zotero, arxiv, bioRxiv, Google Scholar, and Consensus. Use when framing a research question, designing methods, interpreting results, mapping the field landscape, or identifying future directions.

  • Reads credentials
  • Sends data out

19 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use review-r, validate-bib and 7 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.
  • luischanciSkill

    review-r

    Run the R code review protocol on R scripts. Checks code quality, reproducibility, domain correctness, and professional standards. Produces a report without editing files.

    Also in 4 projects that use this

  • luischanciSkill

    validate-bib

    Validate bibliography entries against citations in all manuscript files. Find missing entries and unused references.

    Also in 4 projects that use this

  • bidodevSkill

    devils-advocate

    Challenges decisions, plans, and code by systematically arguing the opposing side. Surfaces risks, pokes holes in assumptions, and stress-tests thinking before committing. Supports intensity levels (gentle, balanced, ruthless, linus) and works with conversation context or a specific file reference. Trigger on requests like "challenge this", "poke holes", "what could go wrong", "play devil's advocate", "linus mode", or "/devils-advocate".

    Also in 4 projects that use this

  • shanggqmSkill

    data-analysis

    数据分析技能,提供结构化的数据查询、统计分析和报告生成工作流。当用户需要查询数据库、进行数据统计分析、生成分析报告时使用。按规范输出原始数据、计算结果、Markdown报告和HTML可视化报告。

    Also in 4 projects that use this

  • seikaikyoSkill

    interview-me

    需求不明時的意圖萃取訪談:一次一題、每題附上自己的猜測、聽出「真正想要 vs 覺得應該要」,直到能預測使用者反應(約 95% 信心)才動工。適用:需求缺少對象 / 動機 / 成功標準 / 約束,或使用者點名「訪談我」「先確認一下」「我們確定嗎」。明確自足的指示、純資訊查詢、機械性操作不適用。

    Also in 4 projects that use this

  • SentrySkill

    commit

    Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.

    Also in 4 projects that use this

  • +3 more from luischanci

The file

We split this skill into the rules it gives an agent

2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 17 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Stop adding sources once coverage is sufficient for the mode.

    line 25
  2. Distinctive:

    If any required var is unset, skip the Zotero write step and tell the user what to configure.

    line 51

“Common” is measured: kept by at least 6 in 10 of the 17 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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Conduct a literature search and deliver a structured scientific briefing. See REFERENCE.md for mode-specific guidance.

On invocation, ask the user

  1. Topic — what are we searching for?
  2. Mode — frame / methods / interpret / landscape / synthesize
  3. Starting point (optional) — any known papers, authors, or search terms to seed from?

Search order

  1. Zotero — existing library first; note what's already there
  2. Consensus — synthesized search for landscape and key claims
  3. Google Scholar — seminal works, citation counts, author networks
  4. arxiv / bioRxiv — recent and unpublished work

Stop adding sources once coverage is sufficient for the mode.

Output structure

1. High-level summary — 1–2 paragraphs: what the field looks like, what is settled, what is contested. Tag findings as established / debated / emerging throughout.

2. Topical review — key ideas, findings, and debates organized by theme. Apply mode-specific guidance from REFERENCE.md. Distinguish what is well-established, actively debated, and absent.

3. Papers — for each paper:

  • Full citation (authors, year, title, journal/venue)
  • Peer-reviewed or preprint — flag explicitly
  • Key contribution in 1–2 sentences
  • Relevance to the current topic and mode

4. Offers — always prompt:

  • Save to REFERENCES.md? — check if it exists and show existing entries first. Append using the template in REFERENCE.md. Never overwrite.
  • Add to Zotero? — list papers not already in the library, then ask. If yes, execute the steps below.

Adding papers to Zotero

Required env vars (set in ~/.claude/settings.json → env block):

  • ZOTERO_USER_ID — your numeric Zotero user ID (find it at zotero.org/settings/keys)
  • ZOTERO_API_KEY — a Zotero API key with write access (same page)
  • ZOTERO_INBOX_COLLECTION — name of the collection to file new papers into (e.g. Inbox)

If any required var is unset, skip the Zotero write step and tell the user what to configure.

Step 1 — resolve the collection key:

curl -s "https://api.zotero.org/users/$ZOTERO_USER_ID/collections?limit=100" \
  -H "Zotero-API-Key: $ZOTERO_API_KEY" \
  | python3 -c "
import sys, json, os
cols = json.load(sys.stdin)
target = os.environ.get('ZOTERO_INBOX_COLLECTION', 'Inbox')
for c in cols:
    if c['data']['name'] == target:
        print(c['key'])
"

Step 2 — POST items. Build a JSON array; one object per paper. Use itemType journalArticle for peer-reviewed, preprint for arxiv/bioRxiv. Include collections: [\"<KEY>\"] from Step 1.

Minimum required fields per item:

  • itemType, title, date
  • creators: [{"creatorType": "author", "firstName": "...", "lastName": "..."}]
  • DOI or url (include both when available)
  • collections: ["<inbox-key>"]
  • tags: [{"tag": "lit-review"}]
curl -s -X POST "https://api.zotero.org/users/$ZOTERO_USER_ID/items" \
  -H "Zotero-API-Key: $ZOTERO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '<JSON array>'

Step 3 — report results. Parse the response: list titles that succeeded (HTTP 200 success key) and any that failed (failed key). A paper already in the library does not need to be re-added.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.