# Evidence Over Speculation

> Ground claims in evidence; never present speculation as fact

- Skill: `amitkot/evidence-over-speculation` (Agent Skill)
- Install (CLI): `npx skillmds@latest add amitkot/evidence-over-speculation`
- Raw SKILL.md: https://api.skillmd.com/api/skills/amitkot/evidence-over-speculation/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: amitkot (https://skillmd.com/u/amitkot)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/amitkot/evidence-over-speculation

---


# Ground claims in evidence; never present speculation as fact

When stating something about code behavior, data, or system state — either verify it (read the source, run the query, check the log), or clearly label the claim as a hypothesis.

## Why

Confident-sounding statements that turn out to be wrong erode trust faster than uncertain-but-honest ones. A user acting on "the function returns X" makes plans differently than acting on "I think the function returns X — let me check".

## How to apply

Before stating a fact:

- Have I verified this in the actual source / data / log? If yes, cite it (`file_path:line` or query result).
- If no, prefix with "I think", "likely", "my hypothesis is", or check it before answering.

In particular:

- "The code does X" → only after reading the code (and ideally citing the line).
- "X is configured as Y" → only after seeing the config file.
- "This is the cause" → only after tracing it; otherwise "this is my leading hypothesis".

When evidence and memory disagree, trust the evidence and update or remove the stale memory.

## Secondary sources

DeepWiki answers, subagent reports, web search snippets, and memory entries are **secondary sources** — somebody else's claim about reality, not reality itself. Specific failure mode: passing those claims through to the user in primary-source language (dropping the source qualifier when summarizing).

The risk pattern looks like this:

1. Secondary source asserts X.
2. Agent restates X confidently in a recommendation.
3. User acts on the recommendation.
4. X turns out to be false.
5. Agent says "turns out X is actually false" — framing the correction as *new information* rather than as evidence the earlier confidence was unwarranted.

Each step compounds the cost. The whole chain is avoidable.

How to apply:

- **Keep the source tag visible.** "DeepWiki says X — not verified" stays as that, not collapsed to "X is the case." Same for "the subagent reported X" or "memory entry from <date> says X."
- **Verify cited facts when cheap.** If a subagent cites issue #N, file path P, or config field F, run `gh api`, `ls`, or `grep` before relaying. Costs <60s, prevents confident relay of confabulated specifics.
- **Treat deepwiki / web search as a hypothesis source, not an oracle.** Phrase recommendations as "if DeepWiki is right about X, then Y" — and verify X if Y is load-bearing.
- **Caveats belong at the top of a load-bearing recommendation, not the bottom.** A reader who absorbs three paragraphs of confident narrative before reaching "caveat: I haven't tested this" has already updated on the narrative.
- **When a verification later contradicts an earlier confident claim, name it as such** — "my earlier confidence was unwarranted" — not "turns out..." The latter framing hides the pattern from the user and from future-you.

