novelty-check
Skill69 starsChanged 7 months agoMITView on GitHub
Compare your research idea against existing literature, assess novelty, and refine the hypothesis. Produces refined-idea.md that downstream skills consume. Use when asked to "check novelty", "is this novel", "compare against existing work", or "refine my idea". Proactively invoke after /lit-review completes.
12 other projects use a version of this.
Adopted by
Most recently taken up by
- Yulivu/debuffer-skillstheir own version, first seen Oct 13, 2026
- lhg-plugs/lhg-patenttheir own version, first seen Oct 11, 2026
- yvesory/academic-research-suitetheir own version, first seen Oct 9, 2026
- talhaMah56/claude_skillstheir own version, first seen Sep 12, 2026
- wanshuiyin/Auto-claude-code-research-in-sleeptheir own version, first seen Jul 15, 2026
- zjunlp/Mechanisttheir own version, first seen Jul 11, 2026
Used with
Projects with it also use research-refine, research-refine-pipeline 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.
raja21068Skillresearch-refine
Turn a vague research direction into a problem-anchored, elegant, frontier-aware, implementation-oriented method plan via iterative GPT-5.4 review. Use when the user says "refine my approach", "帮我细化方案", "decompose this problem", "打磨idea", "refine research plan", "细化研究方案", or wants a concrete research method that stays simple, focused, and top-venue ready instead of a vague or overbuilt idea.
Also in 4 projects that use this
raja21068Skillresearch-refine-pipeline
Run an end-to-end workflow that chains `research-refine` and `experiment-plan`. Use when the user wants a one-shot pipeline from vague research direction to focused final proposal plus detailed experiment roadmap, or asks to "串起来", build a pipeline, do it end-to-end, or generate both the method and experiment plan together.
Also in 3 projects that use this
YuchengZhang256Skillresearch-wiki
In an existing research wiki, ingest papers, answer wiki queries, or lint compiled Markdown pages.
Also in 3 projects that use this
- +6 more from raja21068
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 12
- wanshuiyin/Auto-claude-code-research-in-sleep★ 19ksame name
- zjunlp/Mechanist★ 75same name
- AutoResearch-Factory/Agon★ 54same name
- Immortalqx/my_codex_skills★ 54same name
- Chanw-research/claude-code-paper-writing★ 42same name
- catalsqlb-cmd/Prism-H★ 16same name
- Yulivu/debuffer-skills★ 9same name
- yvesory/academic-research-suite★ 9same name
- Yusong-Enceladus/claude-skills★ 8same name
- raja21068/AutoResearch★ 2same name
2 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 repository9 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- analyze-resultsSkill
- experimentSkill
- lit-reviewSkill
- researchSkill
- rstack-upgradeSkill
- setupSkill
- rstackSkill
- write-paperSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
22 rules. 0 are common, 7 are distinctive, and 15 are very specific to this project.
0
Common
Most of the 11 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
15
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 78
If output shows UPGRADE_AVAILABLE <old> <new>: read rstack-upgrade/SKILL.md and follow the "Inline Upgrade Flow".
- Very specific: line 79
If output shows JUST_UPGRADED <from> <to>: tell user "Running RStack v{to} (just updated!)" and continue.
- Very specific: line 81
If output shows NEEDS_SETUP: tell user "RStack not configured yet.
- Very specific: line 83
If TEL_PROMPTED is no: Ask the user about telemetry.
- Very specific: line 94
If A: run rstack-config set telemetry community
- Distinctive: line 96
If B: ask a follow-up:
- Very specific: line 103
If B→A: run rstack-config set telemetry anonymous If B→B: run rstack-config set telemetry off
- Very specific: line 104
If B→B: run rstack-config set telemetry off
- Very specific: line 117
Run this after /lit-review to assess whether your research idea is novel.
- Very specific: line 121
Read idea.md at the project root.
- Very specific: line 122
Check if .rstack/lit-review.jsonl exists.
- Distinctive: line 123
If YES: read it. This is the primary source for comparison.
- Distinctive: line 124
If NO: run a lightweight search.
- Very specific: line 156
Write assessment to novelty-assessment.md at the project root.
- Very specific: line 162
Write refined-idea.md at the project root with these sections (extracted from Ignis refine-idea-agent.ts):
- Very specific: line 209
If B: ask what to change, update refined-idea.md, re-assess novelty.
- Very specific: line 210
If C: suggest running /lit-review with more specific queries.
- Very specific: line 211
If D: ask for the new direction, update idea.md, re-run from Step 0.
- Distinctive: line 215
Never tell the user their idea is novel when it clearly overlaps with existing work.
- Distinctive: line 216
Always name specific papers when discussing overlap.
- Distinctive: line 217
If novelty score is below 4, strongly recommend pivoting or finding a sharper angle before spending GPU hours.
- Distinctive: line 224
After the skill workflow completes (success, error, or abort), log the telemetry event.
“Common” is measured: kept by at least 6 in 10 of the 11 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
Preamble (run first)
# --- GENERATED PREAMBLE START ---
_PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
if ! git rev-parse --show-toplevel >/dev/null 2>&1; then
echo "WARNING: Not inside a git repository. Files will be written to $(pwd)."
fi
mkdir -p ~/.rstack/sessions ~/.rstack/analytics "$_PROJECT_ROOT/.rstack"
touch ~/.rstack/sessions/"$PPID"
find ~/.rstack/sessions -mmin +120 -type f -delete 2>/dev/null || true
_SESSIONS=$(find ~/.rstack/sessions -mmin -120 -type f 2>/dev/null | wc -l | tr -d ' ')
_RSTACK_DIR="$(cd "$(dirname "$0")/.." 2>/dev/null && pwd || echo "$HOME/.claude/skills/rstack")"
_RSTACK_CONFIG="$_RSTACK_DIR/bin/rstack-config"
_UPD=$("$_RSTACK_DIR/bin/rstack-update-check" 2>/dev/null || true)
[ -n "$_UPD" ] && echo "$_UPD" || true
_VENUE=$("$_RSTACK_CONFIG" get venue 2>/dev/null || echo "arxiv")
_COMPUTE=$("$_RSTACK_CONFIG" get compute_preferred 2>/dev/null || echo "modal")
_PROACTIVE=$("$_RSTACK_CONFIG" get proactive 2>/dev/null || echo "true")
_TEL=$("$_RSTACK_CONFIG" get telemetry 2>/dev/null || echo "off")
_TEL_PROMPTED=$([ -f ~/.rstack/.telemetry-prompted ] && echo "yes" || echo "no")
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
echo "PROJECT_ROOT: $_PROJECT_ROOT"
echo "BRANCH: $_BRANCH"
echo "VENUE: $_VENUE"
echo "COMPUTE: $_COMPUTE"
echo "PROACTIVE: $_PROACTIVE"
if [ ! -f ~/.rstack/.setup-complete ]; then
echo "NEEDS_SETUP"
fi
_TEL_START=$(date +%s)
_SESSION_ID="$$-$(date +%s)"
echo "TELEMETRY: ${_TEL:-off}"
echo "TEL_PROMPTED: $_TEL_PROMPTED"
if [ "$_TEL" != "off" ]; then
echo '{"skill":"novelty-check","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","repo":"'$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || echo "unknown")'"}' >> ~/.rstack/analytics/skill-usage.jsonl 2>/dev/null || true
fi
if [ "$_TEL" != "off" ]; then
echo '{"skill":"novelty-check","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","session_id":"'"$_SESSION_ID"'","rstack_version":"'"$(cat "$_RSTACK_DIR/VERSION" 2>/dev/null | tr -d "[:space:]" || echo "unknown")"'"}' > ~/.rstack/analytics/.pending-"$_SESSION_ID" 2>/dev/null || true
fi
for _PF in $(find ~/.rstack/analytics -maxdepth 1 -name '.pending-*' 2>/dev/null); do
if [ -f "$_PF" ]; then
_PF_BASE="$(basename "$_PF")"
_PF_SID="${_PF_BASE#.pending-}"
[ "$_PF_SID" = "$_SESSION_ID" ] && continue
if [ "$_TEL" != "off" ] && [ -x "$_RSTACK_DIR/bin/rstack-telemetry-log" ]; then
"$_RSTACK_DIR/bin/rstack-telemetry-log" --event-type skill_run --skill _pending_finalize --outcome unknown --session-id "$_SESSION_ID" 2>/dev/null || true
fi
rm -f "$_PF" 2>/dev/null || true
fi
break
done
eval "$("$_RSTACK_DIR/bin/rstack-slug" 2>/dev/null)" 2>/dev/null || true
echo "SLUG: ${SLUG:-unknown}"
# --- GENERATED PREAMBLE END ---If output shows UPGRADE_AVAILABLE <old> <new>: read rstack-upgrade/SKILL.md and follow the "Inline Upgrade Flow". Then continue with this skill.
If output shows JUST_UPGRADED <from> <to>: tell user "Running RStack v{to} (just updated!)" and continue.
If output shows NEEDS_SETUP: tell user "RStack not configured yet. Run /setup to configure compute providers." Then read setup-skill/SKILL.md and follow it inline before continuing.
If TEL_PROMPTED is no: Ask the user about telemetry. Use AskUserQuestion:
Help RStack get better! Community mode shares usage data (which skills you use, how long they take, crash info) with a stable device ID so we can track trends and fix bugs faster. No code, file paths, or repo names are ever sent. Change anytime with
rstack-config set telemetry off.
Options:
- A) Help RStack get better! (recommended)
- B) No thanks
If A: run rstack-config set telemetry community
If B: ask a follow-up:
How about anonymous mode? Just a counter that helps us know if anyone's out there.
Options:
- A) Sure, anonymous is fine
- B) No thanks, fully off
If B→A: run rstack-config set telemetry anonymous
If B→B: run rstack-config set telemetry off
Always run:
touch ~/.rstack/.telemetry-promptedThis only happens once. If TEL_PROMPTED is yes, skip this entirely.
Important: Note the PROJECT_ROOT value from the preamble output. All file paths below are relative to this project root directory. Work products (idea.md, refined-idea.md, etc.) go at the project root. Plumbing (.rstack/lit-review.jsonl) goes in the .rstack/ subdirectory.
When to Use
Run this after /lit-review to assess whether your research idea is novel. Can also run standalone — if no literature review exists, it runs a lightweight search first (top 10 papers only).
Step 0: Load Context
- Read
idea.mdat the project root. If it does not exist, ask the user for their research idea and save it. - Check if
.rstack/lit-review.jsonlexists.- If YES: read it. This is the primary source for comparison.
- If NO: run a lightweight search. Use WebSearch to find the top 10 most relevant papers for this idea. Record them as temporary context. Note: "Running lightweight novelty check without full literature review. Run /lit-review first for higher confidence."
Step 1: Paper-by-Paper Comparison
For each highly relevant paper (relevance >= 7 from lit-review.jsonl, or all papers from lightweight search):
Compare the research idea against the paper on these dimensions:
- Method overlap: Does the paper use the same approach? Same model architecture, training method, loss function?
- Application overlap: Does the paper target the same domain/task?
- Dataset overlap: Does the paper use the same benchmarks?
- Contribution overlap: Does the paper make the same claim about what works and why?
For each paper, classify the relationship:
direct_competitor— same method, same domainpartial_overlap— shares method OR domain but not bothcomplementary— different approach to the same problem (potential baseline)foundational— builds the theory our work extendsunrelated— low relevance, skip
Step 2: Novelty Assessment
Synthesize the paper comparisons into a novelty assessment:
- What is genuinely novel about this idea? (Be specific — not "we apply X to Y" but "we combine X's loss function with Y's architecture, which no existing work has tried because...")
- What overlaps with existing work? (Name specific papers)
- What gaps in existing work does this idea address?
- Novelty score: 1-10 where:
- 1-3: Significant overlap with existing work, marginal contribution
- 4-6: Incremental improvement over existing methods
- 7-8: Genuine novelty in method, application, or insight
- 9-10: Paradigm-shifting new approach
Write assessment to novelty-assessment.md at the project root.
Step 3: Idea Refinement
Based on the novelty assessment, produce a refined research statement. This is critical — /experiment consumes refined-idea.md, not the raw idea.md.
Write refined-idea.md at the project root with these sections (extracted from Ignis refine-idea-agent.ts):
# Refined Research Idea
## Problem Statement
[One paragraph: what problem are we solving and why it matters]
## Proposed Approach
[2-3 paragraphs: what we will do, technically specific]
## What is Novel
[Bullet list: exactly what contributions are new vs existing work]
## Key Assumptions
[What must be true for this approach to work]
## Evaluation Plan
[What metrics, what datasets, what baselines to compare against]
## Risks
[What could go wrong, what might not work]
## Next Actions
[Concrete next steps for /experiment]Step 4: Human Checkpoint
Use AskUserQuestion:
Project: {project name}, branch: {branch}
Novelty assessment complete. Your idea scores {score}/10 for novelty. {one sentence summary of the main novel contribution}. {one sentence about the main overlap concern, if any}.
The refined hypothesis is saved to
refined-idea.md.RECOMMENDATION: Choose A to proceed with experiments.
Options:
- A) Proceed to experiments — the idea is novel enough
- B) Refine further — I want to adjust the approach (loops back to Step 3)
- C) Deepen literature — search for more papers in area X (loops back to /lit-review)
- D) Pivot — the idea needs fundamental rethinking (loops back to idea.md)
If B: ask what to change, update refined-idea.md, re-assess novelty.
If C: suggest running /lit-review with more specific queries.
If D: ask for the new direction, update idea.md, re-run from Step 0.
Important Rules
- Never tell the user their idea is novel when it clearly overlaps with existing work. Be honest.
- Always name specific papers when discussing overlap. "Your approach resembles Smith et al. (2024)" not "there is some overlap."
- If novelty score is below 4, strongly recommend pivoting or finding a sharper angle before spending GPU hours.
refined-idea.mdis the most important output. It must be specific enough that /experiment can generate code from it.
Telemetry (run last)
After the skill workflow completes (success, error, or abort), log the telemetry event.
# --- GENERATED EPILOGUE START ---
_TEL_END=$(date +%s)
_TEL_DUR=$(( _TEL_END - _TEL_START ))
rm -f ~/.rstack/analytics/.pending-"$_SESSION_ID" 2>/dev/null || true
if [ "$_TEL" != "off" ]; then
echo '{"skill":"novelty-check","duration_s":"'"$_TEL_DUR"'","outcome":"OUTCOME","session":"'"$_SESSION_ID"'","ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'"}' >> ~/.rstack/analytics/skill-usage.jsonl 2>/dev/null || true
fi
if [ "$_TEL" != "off" ] && [ -x "$_RSTACK_DIR/bin/rstack-telemetry-log" ]; then
"$_RSTACK_DIR/bin/rstack-telemetry-log" \
--skill "novelty-check" --duration "$_TEL_DUR" --outcome "OUTCOME" \
--session-id "$_SESSION_ID" --pipeline-stage "novelty-check" 2>/dev/null &
fi
# --- GENERATED EPILOGUE END ---Replace OUTCOME with success/error/abort based on the workflow result.
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.

