mcpField
E
explore-sota

explore-sota

github.com/vincenzoimpProductivity476 installsUpdated 14w ago
Repository

About explore-sota

Explore SOTA is a skill for systematic discovery of frontier papers, for survey research and targeted literature expansion. It iterates through a candidate queue, citation chasing, and anti-echo-chamber checks until a stated stopping rule is met.

Key features

  1. 01Define research scope and stopping rule
  2. 02Search candidates through scholarly MCPs
  3. 03Follow citations and references
  4. 04Deduplicate and record provenance and triage
  5. 05Send accepted papers into the digestion process

Use cases

  1. 01Build and expand a candidate set for a survey
  2. 02Follow citation leads from existing papers
  3. 03End exploration at a budget limit or literature saturation

MCP support

It uses scholarly MCPs to search papers and citation links, requiring arxiv and at least one of semantic-scholar, dblp, or openalex to respond. Exploration stops if the capability preflight is unmet.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/vincenzoimp/academic-research-skills --skill explore-sota

After installing, type/explore-sotain Claude Code to confirm it loaded.

Bundled filesreferences/citation-chasing.md

Details

From the project README

Explore SOTA

Run the SOTA exploration loop: discover candidate papers, triage them in sota/queue.md, digest the accepted ones, and repeat until the declared stopping rule is met. Works for long autonomous sessions and for small targeted expansions alike.

Read First

  • sota/README.md — digestion rules and formats
  • sota/queue.md — the Scope block and the current frontier
  • references/citation-chasing.md — frontier discipline, anti-echo-chamber rules, review scales

MCP Preflight (hard gate)

Same gate as digest-paper: by capability, never by API key. arxiv must respond AND at least one of semantic-scholar, dblp, or openalex. If the gate is unmet: STOP and report. A missing key only throttles; a reachable source being down degrades the cross-check, not a stop. No fallback to model memory or web scraping.

Procedure

  1. Scope. Read the Scope block at the top of sota/queue.md. If empty or stale, write it now: research question, keywords/synonyms/adjacent terms, inclusion and exclusion criteria, review scale (quick-scan ~8–15 papers / focused-sota ~20–40 / full-survey 50+), stopping rule. In an interactive session confirm it with the user; in an autonomous session derive it from README.md and record it before searching.
  2. Seeds. Build a diversified seed set: user-named papers, already digested papers, seminal works found via MCP search, recent frontier papers. Never start from a single author group, venue, or survey.
  3. Search. Run keyword queries on every configured scholarly MCP — the always-on arxiv, semantic-scholar, dblp, and the paper-search aggregator, plus openalex when enabled. Short, high-signal queries; record productive terms in the Scope block.
  4. Chase. For each digested seed, fetch outgoing references and incoming citations via semantic-scholar — one hop at a time, per references/citation-chasing.md.
  5. Dedupe. Before adding a candidate to the queue, check it is not in sota/index.md or already in sota/queue.md (match DOI, arXiv id, S2 id, then title + first author + year).
  6. Triage. Add each new candidate to queue.md with provenance ("found via") and decide against the criteria: accepted, rejected: <reason>, or pending. A candidate no MCP can resolve gets unresolvable-via-mcp and is never cited.
  7. Digest. For each accepted candidate, run the digest-paper skill procedure (all-or-nothing). New digests yield new citation leads — feed them back into the queue.
  8. Learn. After each digestion round, add newly learned terminology, benchmarks, venues, and author groups to the scope terms and re-search.
  9. Stop. Before declaring saturation, run the anti-echo-chamber checks in references/citation-chasing.md. Stop at saturation (a hop yields mostly duplicates or out-of-scope work) or at the declared budget — in that case record the unexpanded frontier as pending rows, never silently.
  10. Run make check and leave no untriaged row before ending the session.

Rules

  • Every candidate enters queue.md before any digestion decision; the queue is the only frontier record.
  • Rejections always carry a reason tied to the exclusion criteria.
  • Citation counts and graph centrality are discovery signals, not relevance or quality judgments.
  • Never pad toward the paper budget: scale targets are budgets, not goals.

Done When

  • No pending row remains, or the unexpanded frontier is explicitly recorded and reported to the user
  • The Scope block reflects the final criteria and the saturation/budget outcome
  • make check passes

Comments

Markdown supported