Research
Rigorous, multi-source research with epistemic honesty. The goal: help users make informed, fact-based decisions by presenting what's known, what's contested, what's uncertain, and where the gaps are.
Why This Skill Exists
A single hallucinated source or fabricated citation can cause real harm — bad medical decisions, flawed legal strategies, wasted investments. This skill produces research reports that clearly distinguish verified claims from training-data recall, present competing viewpoints with honest plausibility assessments, and disclose information gaps rather than papering over them.
Before Starting Any Research
Read these references — they define the standards the report must meet:
references/anti-hallucination.md — the epistemic contract. Read this first. Every rule exists because a specific type of fabrication causes specific harm.
references/confidence-framework.md — the 5-dimension qualitative self-assessment and perspective plausibility tiers
references/citation-system.md — verification statuses, footnote format, inline confidence tags
references/output-formats.md — TUI, markdown, and PDF specs
assets/report-template.json — canonical section ordering
Workflow
Phase 1: Scope & Decompose
Before searching, understand the question.
- Parse the query — What is the user actually asking? Identify the core question and any implicit sub-questions.
- Identify the domain — Science, law, medicine, policy, finance, history, technology, philosophy, etc. Domain affects which sources to prioritize and whether inline confidence tags are needed (medical, legal, and financial claims always get tags).
- Decompose into sub-questions — Break the query into 3-7 specific, searchable sub-questions. Each should be answerable independently.
- Present the research plan — Show the user:
- The core question as you understand it
- The sub-questions you'll investigate
- The domain and any special handling (e.g., "medical domain — will use inline confidence tags")
- Estimated scope (quick brief vs. deep dive)
- Wait for confirmation — The user may want to adjust scope, add sub-questions, or redirect focus. Do not proceed until they confirm.
Phase 2: Search & Gather
Systematic evidence collection. Cast a wide net, then go deep on promising sources.
- Broad search — Use WebSearch for each sub-question. Use varied query formulations: plain language, technical terms, "scholarly" or "peer-reviewed" variants where appropriate. Aim for 3-5 searches per sub-question.
- Evaluate results — For each search result, assess: Is this source authoritative? Is it recent? Is it primary or secondary? Does it address the sub-question directly?
- Deep fetch — Use WebFetch on the most promising sources (aim for 5-10 full fetches per report). Read the full text. Extract specific claims, data, and quotes.
- Record everything — For each source, capture:
- URL (only if actually retrieved)
- Title
- Author/organization
- Date
- Key claims and data points
- Verification status (Verified/Retrieved per
references/citation-system.md)
- Record gaps — If a sub-question yields no useful results, record that explicitly. Do not infer an answer from thin evidence to fill the gap.
- Training data supplement — For well-established facts, training data is fine — but tag it. If training data provides claims that web search can confirm, upgrade the tag.
Phase 3: Analyze & Assess
Synthesize findings into a structured analysis.
- Map the evidence landscape — What positions exist on this topic? Where do sources agree? Where do they diverge?
- Build perspectives — Identify 2-5 distinct viewpoints or positions. For each:
- State the position clearly
- Assign a plausibility tier (Strong/Moderate/Weak/Speculative) per
references/confidence-framework.md
- Cite supporting evidence with verification tags
- Note key counterarguments
- Perform confidence self-assessment — Evaluate the 5 dimensions from
references/confidence-framework.md:
- Source Quality & Availability
- Consensus Level
- Recency & Currency
- Domain Familiarity
- Evidence Strength
- Tag claim verification — Every factual claim gets a verification status. In high-stakes domains (medical, legal, financial), add inline confidence tags per
references/citation-system.md.
- Check for conflicts — Where sources disagree, present both sides per Rule 4 of
references/anti-hallucination.md. Do not quietly resolve conflicts.
Phase 4: Mathematical Exploration (Conditional)
Skip this phase if there's no quantitative dimension to the research.
If the topic involves numerical claims, statistics, projections, or calculations:
- Identify quantitative claims — Which findings involve numbers that can be verified or explored computationally?
- Write and execute scripts — Use Bash to run Python or other scripts that:
- Cross-reference numerical claims from different sources
- Calculate derived statistics
- Model projections or scenarios
- Validate mathematical relationships
- Include scripts with findings — The report's Quantitative Analysis section should include both the script and its output, so the user can reproduce and verify.
Phase 5: Compose Report
Assemble the findings into a coherent report.
- Read comms references — Before writing prose sections, read:
../comms/references/voice.md — the user's voice traits
../comms/references/anti-ai.md — AI-texture patterns to avoid
- Apply voice selectively — The executive summary and analytical prose should sound like the user wrote them (direct, specific, no AI texture). Data sections, methodology, and citations should stay clinical and precise.
- Follow canonical ordering — Use the section order from
assets/report-template.json:
- Frontmatter → Executive Summary → Findings → Perspectives → Confidence Assessment → Quantitative Analysis (optional) → Methodology → Sources & Citations
- Run the anti-hallucination checklist — Before finalizing, check every item in the self-check list from
references/anti-hallucination.md.
Phase 6: Deliver
Present the report in the user's preferred format.
Ask format preference — If the user hasn't specified:
- Short reports (under ~200 lines): suggest TUI (terminal display)
- Longer reports: suggest markdown file, offer PDF
TUI delivery — Display directly in terminal using the tree-style format from references/output-formats.md. Include the confidence tree, perspectives, key findings, and source summary.
Markdown delivery — Write to <topic-slug>-research.md in the current working directory. Include YAML frontmatter.
PDF delivery — First generate the markdown file, then run:
python3 .claude/skills/research/scripts/report-pdf.py --input <file>.md --output <file>.pdf
Present the summary — Regardless of format, show a brief terminal summary:
<Topic> — Research Brief
Confidence Assessment
├── Source Quality <Tier> — <justification>
├── Consensus <Tier> — <justification>
├── Recency <Tier> — <justification>
├── Domain Familiarity <Tier> — <justification>
└── Evidence <Tier> — <justification>
Perspectives
├── <Position A> <Tier>
│ <summary>
├── <Position B> <Tier>
│ <summary>
└── <Position C> <Tier>
<summary>
Sources <N> retrieved, <N> verified, <N> training-data
Output <file path or "displayed above">
Safety Rules
These are non-negotiable. They come from references/anti-hallucination.md and are repeated here for emphasis:
- Never fabricate URLs, author names, publication titles, or dates. If you don't know the exact metadata, say so. Omit rather than invent.
- Tag every factual claim with a verification status from
references/citation-system.md.
- Disclose information gaps explicitly. "No sources found for this sub-question" is a valid and valuable finding.
- Present conflicting sources as conflicting. Do not quietly pick sides.
- Cross-reference numerical claims against 2+ sources when possible.
- Tag training data clearly. It's a legitimate source — but the user must know it wasn't verified this session.
- Scope honesty. Note search limitations, paywalls, thin results, or recency gaps.
What Not To Do
- Don't skip the research plan confirmation in Phase 1 — the user may want to redirect
- Don't fabricate sources to fill gaps — gaps are findings too
- Don't present training data as verified
- Don't assign numerical confidence scores — use qualitative tiers with evidence
- Don't resolve conflicts silently — present competing views
- Don't use AI-textured prose in analytical sections (consult comms references)
- Don't generate PDF without first generating markdown (PDF is derived from markdown)
1---2name: research3description: Deep-dive research across any domain — science, history, law, medicine, policy, philosophy, finance, technology, or anything else. Use this skill when the user asks to research a topic, look into something, do a deep dive, fact check a claim, investigate a question, prepare a briefing, or wants to understand "what do we know about X." Also triggers on phrases like "what's the evidence for", "is it true that", "summarize the research on", "compare perspectives on", or any request for rigorous, multi-source analysis with cited evidence. Produces reports with multiple viewpoints, plausibility tiers, qualitative confidence assessment, and verification-tagged citations.4---56# Research78Rigorous, multi-source research with epistemic honesty. The goal: help users make informed, fact-based decisions by presenting what's known, what's contested, what's uncertain, and where the gaps are.910## Why This Skill Exists1112A single hallucinated source or fabricated citation can cause real harm — bad medical decisions, flawed legal strategies, wasted investments. This skill produces research reports that clearly distinguish verified claims from training-data recall, present competing viewpoints with honest plausibility assessments, and disclose information gaps rather than papering over them.1314## Before Starting Any Research1516Read these references — they define the standards the report must meet:17181. `references/anti-hallucination.md` — the epistemic contract. Read this first. Every rule exists because a specific type of fabrication causes specific harm.192. `references/confidence-framework.md` — the 5-dimension qualitative self-assessment and perspective plausibility tiers203. `references/citation-system.md` — verification statuses, footnote format, inline confidence tags214. `references/output-formats.md` — TUI, markdown, and PDF specs225. `assets/report-template.json` — canonical section ordering2324## Workflow2526### Phase 1: Scope & Decompose2728Before searching, understand the question.29301. **Parse the query** — What is the user actually asking? Identify the core question and any implicit sub-questions.312. **Identify the domain** — Science, law, medicine, policy, finance, history, technology, philosophy, etc. Domain affects which sources to prioritize and whether inline confidence tags are needed (medical, legal, and financial claims always get tags).323. **Decompose into sub-questions** — Break the query into 3-7 specific, searchable sub-questions. Each should be answerable independently.334. **Present the research plan** — Show the user:34 - The core question as you understand it35 - The sub-questions you'll investigate36 - The domain and any special handling (e.g., "medical domain — will use inline confidence tags")37 - Estimated scope (quick brief vs. deep dive)385. **Wait for confirmation** — The user may want to adjust scope, add sub-questions, or redirect focus. Do not proceed until they confirm.3940### Phase 2: Search & Gather4142Systematic evidence collection. Cast a wide net, then go deep on promising sources.43441. **Broad search** — Use WebSearch for each sub-question. Use varied query formulations: plain language, technical terms, "scholarly" or "peer-reviewed" variants where appropriate. Aim for 3-5 searches per sub-question.452. **Evaluate results** — For each search result, assess: Is this source authoritative? Is it recent? Is it primary or secondary? Does it address the sub-question directly?463. **Deep fetch** — Use WebFetch on the most promising sources (aim for 5-10 full fetches per report). Read the full text. Extract specific claims, data, and quotes.474. **Record everything** — For each source, capture:48 - URL (only if actually retrieved)49 - Title50 - Author/organization51 - Date52 - Key claims and data points53 - Verification status (Verified/Retrieved per `references/citation-system.md`)545. **Record gaps** — If a sub-question yields no useful results, record that explicitly. Do not infer an answer from thin evidence to fill the gap.556. **Training data supplement** — For well-established facts, training data is fine — but tag it. If training data provides claims that web search can confirm, upgrade the tag.5657### Phase 3: Analyze & Assess5859Synthesize findings into a structured analysis.60611. **Map the evidence landscape** — What positions exist on this topic? Where do sources agree? Where do they diverge?622. **Build perspectives** — Identify 2-5 distinct viewpoints or positions. For each:63 - State the position clearly64 - Assign a plausibility tier (Strong/Moderate/Weak/Speculative) per `references/confidence-framework.md`65 - Cite supporting evidence with verification tags66 - Note key counterarguments673. **Perform confidence self-assessment** — Evaluate the 5 dimensions from `references/confidence-framework.md`:68 - Source Quality & Availability69 - Consensus Level70 - Recency & Currency71 - Domain Familiarity72 - Evidence Strength734. **Tag claim verification** — Every factual claim gets a verification status. In high-stakes domains (medical, legal, financial), add inline confidence tags per `references/citation-system.md`.745. **Check for conflicts** — Where sources disagree, present both sides per Rule 4 of `references/anti-hallucination.md`. Do not quietly resolve conflicts.7576### Phase 4: Mathematical Exploration (Conditional)7778Skip this phase if there's no quantitative dimension to the research.7980If the topic involves numerical claims, statistics, projections, or calculations:81821. **Identify quantitative claims** — Which findings involve numbers that can be verified or explored computationally?832. **Write and execute scripts** — Use Bash to run Python or other scripts that:84 - Cross-reference numerical claims from different sources85 - Calculate derived statistics86 - Model projections or scenarios87 - Validate mathematical relationships883. **Include scripts with findings** — The report's Quantitative Analysis section should include both the script and its output, so the user can reproduce and verify.8990### Phase 5: Compose Report9192Assemble the findings into a coherent report.93941. **Read comms references** — Before writing prose sections, read:95 - `../comms/references/voice.md` — the user's voice traits96 - `../comms/references/anti-ai.md` — AI-texture patterns to avoid972. **Apply voice selectively** — The executive summary and analytical prose should sound like the user wrote them (direct, specific, no AI texture). Data sections, methodology, and citations should stay clinical and precise.983. **Follow canonical ordering** — Use the section order from `assets/report-template.json`:99 - Frontmatter → Executive Summary → Findings → Perspectives → Confidence Assessment → Quantitative Analysis (optional) → Methodology → Sources & Citations1004. **Run the anti-hallucination checklist** — Before finalizing, check every item in the self-check list from `references/anti-hallucination.md`.101102### Phase 6: Deliver103104Present the report in the user's preferred format.1051061. **Ask format preference** — If the user hasn't specified:107 - Short reports (under ~200 lines): suggest TUI (terminal display)108 - Longer reports: suggest markdown file, offer PDF1092. **TUI delivery** — Display directly in terminal using the tree-style format from `references/output-formats.md`. Include the confidence tree, perspectives, key findings, and source summary.1103. **Markdown delivery** — Write to `<topic-slug>-research.md` in the current working directory. Include YAML frontmatter.1114. **PDF delivery** — First generate the markdown file, then run:112113 ```sh114 python3 .claude/skills/research/scripts/report-pdf.py --input <file>.md --output <file>.pdf115 ```1161175. **Present the summary** — Regardless of format, show a brief terminal summary:118119 ```sh120 <Topic> — Research Brief121122 Confidence Assessment123 ├── Source Quality <Tier> — <justification>124 ├── Consensus <Tier> — <justification>125 ├── Recency <Tier> — <justification>126 ├── Domain Familiarity <Tier> — <justification>127 └── Evidence <Tier> — <justification>128129 Perspectives130 ├── <Position A> <Tier>131 │ <summary>132 ├── <Position B> <Tier>133 │ <summary>134 └── <Position C> <Tier>135 <summary>136137 Sources <N> retrieved, <N> verified, <N> training-data138 Output <file path or "displayed above">139 ```140141## Safety Rules142143These are non-negotiable. They come from `references/anti-hallucination.md` and are repeated here for emphasis:1441451. **Never fabricate URLs, author names, publication titles, or dates.** If you don't know the exact metadata, say so. Omit rather than invent.1462. **Tag every factual claim** with a verification status from `references/citation-system.md`.1473. **Disclose information gaps explicitly.** "No sources found for this sub-question" is a valid and valuable finding.1484. **Present conflicting sources as conflicting.** Do not quietly pick sides.1495. **Cross-reference numerical claims** against 2+ sources when possible.1506. **Tag training data clearly.** It's a legitimate source — but the user must know it wasn't verified this session.1517. **Scope honesty.** Note search limitations, paywalls, thin results, or recency gaps.152153## What Not To Do154155- Don't skip the research plan confirmation in Phase 1 — the user may want to redirect156- Don't fabricate sources to fill gaps — gaps are findings too157- Don't present training data as verified158- Don't assign numerical confidence scores — use qualitative tiers with evidence159- Don't resolve conflicts silently — present competing views160- Don't use AI-textured prose in analytical sections (consult comms references)161- Don't generate PDF without first generating markdown (PDF is derived from markdown)