novelty-check — Claude Code skill: what it does, how to install
Checks proposed research ideas against preprints and conference proceedings like NeurIPS and ICML before you start building.
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a claude-codeWhat novelty-check does
The skill breaks a method description into core technical claims, generates targeted queries, and searches across arXiv, Google Scholar, Semantic Scholar, and venues like ICLR or NeurIPS for 2024–2026. For candidates with overlap, it fetches abstracts and related work sections to inspect details.
Findings are written to a NOVELTY_DOSSIER.md file. It then sends this dossier to a reviewer model via the mcp__codex__codex MCP tool using maximum reasoning effort. The reviewer applies calibrated verdict limits, outputting a score out of 10 and a recommendation of PROCEED, PROCEED WITH CAUTION, or ABANDON.
Running the full pipeline requires active MCP tools, specifically mcp__codex__codex and web fetching utilities. If the Codex MCP route is not configured, the cross-model verification step fails.
What it helps with
- verify research novelty against recent preprints before coding
- search arXiv and conference papers for overlapping approaches
- extract core technical differences from existing baselines
- generate a structured report with prior art comparison tables
Example prompts for the agent
- Check novelty for our approach: routing network packets via graph neural networks
- Run a novelty check on this transformer weight pruning method
- Verify if anyone has already published this training loss formulation on arXiv
How to install novelty-check
1Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a claude-code2Manually: put the files in place
~/.claude/skills/novelty-check/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/novelty-check/
1Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a codex2Manually: put the files in place
.agents/skills/novelty-check/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a cursor2Manually: put the files in place
.cursor/skills/novelty-check/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install wanshuiyin/Auto-claude-code-research-in-sleep novelty-check2Manually: put the files in place
.github/skills/novelty-check/SKILL.md1Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a gemini-cli2Platform CLI
gemini skills install https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep --path skills/novelty-checkManually: put the files in place
.devin/skills/novelty-check/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about novelty-check
How to install novelty-check in Claude Code?
Run npx skills add wanshuiyin/Auto-claude-code-research-in-sleep --skill novelty-check -a claude-code in your terminal.
What does the novelty-check skill do?
It checks whether a proposed technical method has already appeared in recent literature. This prevents wasting months implementing an idea that someone has already published.
Which models and MCP tools does novelty-check depend on?
It relies on WebSearch, WebFetch, and the Codex MCP tool mcp__codex__codex targeting reviewer models like gpt-6-astra with high reasoning effort.
Source text
SKILL.md · MIT
---
name: novelty-check
description: Verify research idea novelty against recent literature. Use when user says "查新", "novelty check", "有没有人做过", "check novelty", or wants to verify a research idea is novel before implementing.
argument-hint: "[method-or-idea-description]"
allowed-tools: Bash(*), WebSearch, WebFetch, Grep, Read, Glob, mcp__codex__codex, mcp__antigravity__antigravity, mcp__antigravity__antigravity-reply, mcp__grok__grok, mcp__grok__grok-reply, mcp__claude-review__review, mcp__claude-review__review_reply, mcp__claude-review__review_start, mcp__claude-review__review_reply_start, mcp__claude-review__review_status
---
# Novelty Check Skill
> **Before each reviewer slot**, follow [Selectable Reviewers](../shared-references/reviewer-backends.md):
> resolve invocation → `.aris/reviewer.json` → Claude Code default (Codex MCP)
> with `reviewer_route.py` through the canonical helper resolver, preserving this
> slot's tier, fresh contexts, source/image inputs and deterministic gates.
> Codex examples/pins below apply only to `backend=codex`; other routes use their
> own first-call/reply contract. Save the route and actual returned identity;
> unavailable selections are `REVIEW_UNAVAILABLE`. Classify acceptance from actual
> families/completion/scope. Forward invocation reviewer/model/effort overrides
> to reviewer-bearing children. Generation workers are unchanged.
Check whether a proposed method/idea has already been done in the literature: **$ARGUMENTS**
## Constants
- REVIEWER_MODEL = `gpt-6-astra` — Model used via Codex MCP. For `backend=codex`, use an OpenAI model (e.g., `gpt-6-astra`, `gpt-6.1-sol`)
## Instructions
Given a method description, systematically verify its novelty:
### Phase A: Extract Key Claims
1. Read the user's method description
2. Identify 3-5 core technical claims that carry the claimed delta:
- What is the method?
- What problem does it solve?
- What is the mechanism?
- What makes it different from obvious baselines?
### Phase B: Multi-Source Literature Search
For EACH core claim, search using ALL available sources:
1. **Web Search** (via `WebSearch`):
- Search arXiv, Google Scholar, Semantic Scholar
- Use specific technical terms from the claim
- Try at least 3 different query formulations per claim
- Include year filters for 2024-2026
2. **Known paper databases**: Check against:
- ICLR 2025/2026, NeurIPS 2025, ICML 2025/2026
- Recent arXiv preprints (2025-2026)
3. **Read abstracts**: For each potentially overlapping paper, WebFetch its abstract and related work section
### Phase C: Cross-Model Verification
Call REVIEWER_MODEL via Codex MCP (`mcp__codex__codex`) with xhigh reasoning.
When the method description plus the Phase-B paper list is more than a short
note, avoid pasting it inline into the MCP prompt. Write a dossier file such as
`NOVELTY_DOSSIER.md` (or a project-local equivalent) containing the method
description, core claims, candidate papers, and the exact questions below, then
send only the file path:
> Resolve this reviewer slot first; the following is the `backend=codex` example.
```
mcp__codex__codex:
model: gpt-6-astra
config: {"model_reasoning_effort": "xhigh"}
prompt: |
Read the novelty dossier at <absolute path to NOVELTY_DOSSIER.md> and
follow all instructions in it.
```
Dossier contents should include:
- The proposed method description
- All papers found in Phase B
- Ask: "Is this method novel? What is the closest prior work? What is the delta?"
- The NOVELTY VERDICT LIMITS block below, verbatim — the reviewer judges under it
### The verdict limits
Copy this block **verbatim** into the reviewer's briefing; the report in
Phase D is judged under it too.
```
=== NOVELTY VERDICT LIMITS (these bound how you judge, never how widely you search) ===
Search exhaustively; judge calibrated. Two failures waste months equally:
passing an idea a published paper already contains, and killing a viable idea
because the territory has neighbors.
1. Proximity is information, not a verdict. Someone working nearby goes in the
report; it is not by itself a reason to reject.
2. ABANDON has exactly one qualification: a specific published paper already
contains this result — name that paper. No named paper, no ABANDON.
3. Crowded-but-deltaed is PROCEED: state the delta in one sentence a reviewer
could verify. Thin or contested delta is PROCEED WITH CAUTION — say what
would make it carry, not why it should die. CAUTION is not a safe middle:
if you cannot name the specific thing that makes the delta thin, the
verdict is PROCEED.
4. Concurrent or competing work is not a veto. That is a race — report it and
let the user decide whether to run it.
5. A direct attack on a central problem is legitimate novelty when nobody has
executed it well. "This area is hot" does not mean "this area is taken."
6. This check is an early gate, never the last one — more triage, pilots, or
external review still stand between any idea and a paper, whatever order
this run uses. A wrongly passed idea dies cheaply at one of them; a wrongly
killed idea is never seen again. When torn between two verdicts, choose the
more permissive one.
Say plainly when an idea clears the check. Do not manufacture overlap.
```
### Phase D: Novelty Report
Output a structured report:
```markdown
## Novelty Check Report
### Proposed Method
[1-2 sentence description]
### Core Claims
1. [Claim 1] — Closest: [paper] — What stays unknown or different: [delta]
2. [Claim 2] — Closest: [paper] — What stays unknown or different: [delta]
...
### Closest Prior Work
| Paper | Year | Venue | Overlap | Key Difference |
|-------|------|-------|---------|----------------|
### Overall Novelty Assessment
- Score: X/10 (anchor: 5/10 = has clear neighbors but a defensible delta worth
a pilot; reserve 1-3 for results a named published paper already contains)
- Recommendation: PROCEED / PROCEED WITH CAUTION / ABANDON (per the verdict
limits: crowded-but-deltaed ground is PROCEED; ABANDON must name the paper)
- Key differentiator: [what makes this unique, if anything]
- Risk: [what a reviewer would cite as prior work]
### Suggested Positioning
[State the delta honestly in one sentence a reviewer could verify]
```
### Important Rules
- Two failures waste months equally: a false novelty claim, and a viable idea
abandoned because the territory has neighbors. Be brutally honest in both
directions — and when an idea clears the check, say so plainly.
- Novelty can live in the combination or the finding even when every
individual claim rates LOW — judge the idea, not each claim in isolation.
Known parts arranged to reveal something unknown are novel.
- "Applying X to Y" earns novelty by what the application reveals — a
non-obvious interaction, failure mode, or insight. Judge the revelation, not
the template.
- Check both the method AND the experimental setting for novelty
- If the method is not novel but the FINDING would be, say so explicitly
- Always check the most recent 6 months of arXiv — the field moves fast
- **Anti-hallucination for Closest Prior Work.** Every paper in the prior-work table must pass pre-search verification via `verify_papers.py` (canonical name resolved per [`shared-references/integration-contract.md`](../shared-references/integration-contract.md) §2; 3-layer arXiv / CrossRef / Semantic Scholar fallback inside the helper itself). Policy D1 (primary + degraded-output fallback): if the helper is unresolved **or** its invocation fails, tag candidate entries `[UNVERIFIED]` and surface the uncertainty rather than dropping them. Never fabricate arXiv IDs, DOIs, or titles from memory. Full protocol in [`shared-references/citation-discipline.md`](../shared-references/citation-discipline.md) § Pre-Search Verification Protocol.
## Review Tracing
After each `mcp__codex__codex` or `mcp__codex__codex-reply` reviewer call, save the trace following `shared-references/review-tracing.md` (Policy C — forensic; never silently skip). Use `save_trace.sh` (resolved per the chain in `shared-references/integration-contract.md` §2) or write files directly to `.aris/traces/<skill>/<date>_run<NN>/`. Respect the `--- trace:` parameter (default: `full`).
© wanshuiyin · MIT · wanshuiyin/Auto-claude-code-research-in-sleep