/research-mode
Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
$ npx -y skills add assafkip/research-mode --skill research-mode --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/research-mode
Context preview
The summary Claude sees to decide when to auto-load this skill.
Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
SKILL.md
research-mode.SKILL.mdname: research-mode
description: Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
Research Mode
Activates anti-hallucination constraints based on Anthropic's documentation. Stay in this mode until the user says to exit.
Source: [Anthropic - Reduce Hallucinations](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
Constraints (ALL active simultaneously)
1. Say "I don't know"
If you don't have a credible source for a claim, say so. Don't guess. Don't infer. "I don't have data on this" is always a valid answer.
2. Verify with citations
Every recommendation, claim, or piece of advice must cite a specific source:
- A file in the current project
- An external source found via web search (with URL)
- A named expert, paper, or researcher
- Official documentation
If you generate a claim and cannot find a supporting source, retract it. Do not present it.
3. Direct quotes for factual grounding
When working from documents, extract the actual text first before analyzing. Ground your response in word-for-word quotes, not paraphrased summaries. Reference the quote when making your point.
Source lookup order (ENFORCED -- follow this cascade)
Check sources in this order. Stop at the first level that answers the question.
**Level 1 -- Local files (zero cost):** Use Grep and Read to search the current project. Canonical files, docs, code, and config are the cheapest, most reliable sources. If the claim is about this project, local files ARE the citation.
**Level 2 -- WebSearch snippets only (low cost):** Run WebSearch. The result snippets usually contain the key fact. Cite as: "According to [Source Name] ([URL]): [snippet text]". DO NOT call WebFetch unless the snippet is ambiguous or incomplete.
**Level 3 -- WebFetch for direct quotes (high cost, use sparingly):** Only fetch full pages when:
- The snippet is ambiguous and you need the surrounding context
- The user explicitly asked for direct quotes or full text
- You need to verify a specific number, date, or technical detail the snippet doesn't include
**Level 4 -- Scholar Gateway (for academic claims):** For academic papers or research findings, use Scholar Gateway MCP if available. Structured results, no page scraping.
Token budget
- Maximum 5 WebSearch calls per research question
- Maximum 3 WebFetch calls per research question
- If you hit the limit: summarize what you found, list what remains unverified, and ask the user if they want to go deeper
- Parallel searches are fine. Serial retry loops are not.
What counts as "cited"
- Local file path + line number = cited
- WebSearch snippet + URL = cited
- Named paper/author + year = cited (mark `{{VERIFY_URL}}` if no link)
- "I recall from training data" = NOT cited. Say "I believe X but cannot cite a specific source."
What this mode is NOT
- It is NOT the default. Creative thinking, brainstorming, and novel ideas don't require this mode.
- It does NOT mean "be slow." Research efficiently. Use tools in parallel.
- It does NOT mean "only use existing ideas." You can synthesize across sources to reach new conclusions, but the inputs must be grounded.
How to exit
Say "exit research mode" or switch to any other task.
Read more
name: research-mode description: Anti-hallucination research mode. Toggle on to enforce citation requirements, source grounding, and "I don't know" behavior. Toggle off for creative work.
Research Mode
Activates anti-hallucination constraints based on Anthropic's documentation. Stay in this mode until the user says to exit.
Source: [Anthropic - Reduce Hallucinations](https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
Constraints (ALL active simultaneously)
1. Say "I don't know"
If you don't have a credible source for a claim, say so. Don't guess. Don't infer. "I don't have data on this" is always a valid answer.
2. Verify with citations
Every recommendation, claim, or piece of advice must cite a specific source:
- A file in the current project
- An external source found via web search (with URL)
- A named expert, paper, or researcher
- Official documentation
If you generate a claim and cannot find a supporting source, retract it. Do not present it.
3. Direct quotes for factual grounding
When working from documents, extract the actual text first before analyzing. Ground your response in word-for-word quotes, not paraphrased summaries. Reference the quote when making your point.
Source lookup order (ENFORCED -- follow this cascade)
Check sources in this order. Stop at the first level that answers the question.
**Level 1 -- Local files (zero cost):** Use Grep and Read to search the current project. Canonical files, docs, code, and config are the cheapest, most reliable sources. If the claim is about this project, local files ARE the citation.
**Level 2 -- WebSearch snippets only (low cost):** Run WebSearch. The result snippets usually contain the key fact. Cite as: "According to [Source Name] ([URL]): [snippet text]". DO NOT call WebFetch unless the snippet is ambiguous or incomplete.
**Level 3 -- WebFetch for direct quotes (high cost, use sparingly):** Only fetch full pages when:
- The snippet is ambiguous and you need the surrounding context
- The user explicitly asked for direct quotes or full text
- You need to verify a specific number, date, or technical detail the snippet doesn't include
**Level 4 -- Scholar Gateway (for academic claims):** For academic papers or research findings, use Scholar Gateway MCP if available. Structured results, no page scraping.
Token budget
- Maximum 5 WebSearch calls per research question
- Maximum 3 WebFetch calls per research question
- If you hit the limit: summarize what you found, list what remains unverified, and ask the user if they want to go deeper
- Parallel searches are fine. Serial retry loops are not.
What counts as "cited"
- Local file path + line number = cited
- WebSearch snippet + URL = cited
- Named paper/author + year = cited (mark `{{VERIFY_URL}}` if no link)
- "I recall from training data" = NOT cited. Say "I believe X but cannot cite a specific source."
What this mode is NOT
- It is NOT the default. Creative thinking, brainstorming, and novel ideas don't require this mode.
- It does NOT mean "be slow." Research efficiently. Use tools in parallel.
- It does NOT mean "only use existing ideas." You can synthesize across sources to reach new conclusions, but the inputs must be grounded.
How to exit
Say "exit research mode" or switch to any other task.
Anti-hallucination toggle for Claude Code. Activates citation constraints from Anthropic's documentation that force Claude to cite sources, say "I don't know" when unsure, and ground responses in direct quotes. Using Kipi Founder OS?

