A Claude Code skill that answers any question, or any pasted video link, through a conspiracy-theory lens, and then settles it with evidence.
概览
A Claude Code skill that answers any question, or any pasted video link, through a conspiracy-theory lens, and then settles it with evidence. Ask "Did we really go to the Moon?", "Is climate change a hoax?" or paste an Instagram reel, and the skill: 1. , including obscure ones: web search in the languages of the places involved, Reddit (via the Arctic Shift archive), public Telegram channels, fact checkers, archives. 2. , in their own words, with the documentaries, books and posts they rely on. 3. : motive, means, how many people would have to keep the secret, what traces it would leave, precedent. Nothing is called false just because nothing was found, and nothing is called impossible unless it truly is. 4. between two agents, an advocate and a skeptic, who each search for evidence and answer the other side's strongest evidence. An independent judge agent opens the cited links, scores each round and sets the probabilities. 5.
README
conspiracy-lens
A Claude Code skill that answers any question, or any pasted video link, through a conspiracy-theory lens, and then settles it with evidence.
Ask “Did we really go to the Moon?”, “Is climate change a hoax?” or paste an Instagram reel, and the skill:
- Finds every linked theory, including obscure ones: web search in the languages of the places involved, Reddit (via the Arctic Shift archive), public Telegram channels, fact checkers, archives.
- Makes the believers’ case at full strength, in their own words, with the documentaries, books and posts they rely on.
- Tests each claim: motive, means, how many people would have to keep the secret, what traces it would leave, precedent. Nothing is called false just because nothing was found, and nothing is called impossible unless it truly is.
- Runs a debate between two agents, an advocate and a skeptic, who each search for evidence and answer the other side’s strongest evidence. An independent judge agent opens the cited links, scores each round and sets the probabilities.
- Writes an HTML report and gives you a link: a cover with a 0-100 truth score for each headline claim, a box explaining what the scores mean, the debate side by side, every claim with evidence for and against, scenarios, what would settle it, sources and a search log.
Every claim ends with a verdict sentence such as “Plausible but unproven: it would be proven if … came to light.”
Example report (Turkish): examples/climate-hoax-tr.html (“Is climate change a hoax? Is it human-caused?”; download and open in a browser).
What the scores mean
- Truth score (per claim): the probability, 0-100, that the quoted claim is true given all current evidence, set by the judge. 0 is reserved for the logically or physically impossible, 100 for the proven. It is not how many people believe it.
- Debate performance: the judge’s points for evidence quality, 0-10 per side. It shows who argued better, not who is right; the ratio of the two is not a truth percentage. The report also says which claim the debate actually ended up on and what each side conceded.
A question that bundles several questions (“Is it a hoax? Is it human-caused?”) is split into separate claims, each with its own score.
Install
git clone https://github.com/sanwhere/conspiracy-lens.git
mkdir -p ~/.claude/skills
ln -s "$PWD/conspiracy-lens/skills/conspiracy-lens" ~/.claude/skills/conspiracy-lens
Then, in Claude Code: /conspiracy-lens Did we really go to the Moon? or
/conspiracy-lens . The skill answers in the language you ask in.
Requirements
- Claude Code with the Agent, WebSearch and WebFetch tools.
- Python 3 and curl.
Optional, each enabling one step (the skill skips a step whose tool is missing and says so):
| Tool | Enables |
|---|---|
yt-dlp, ffmpeg |
video links (Instagram, Facebook, TikTok, YouTube, X) |
the watch skill (claude-video) |
better video transcripts and frame picking |
| a Playwright browser MCP | checking that the report renders |
an api-anything style MCP |
YouTube / X / Instagram data |
Report link
Reports are written to ~/conspiracy-reports/ and served by a small Python web
server that the skill starts once. By default the link is
http://localhost:8899/.... To open reports from another device on your
network, create ~/.config/conspiracy-lens/config:
CONSPIRACY_REPORT_HOST=192.168.1.20 # this machine's address on your network
CONSPIRACY_REPORT_PORT=8899 # must be allowed by your firewall
# CONSPIRACY_REPORT_DIR=$HOME/conspiracy-reports
Environment variables with the same names override the file.
Cost
A full answer (research, one debate round, judge, report) aims at about 15 minutes and roughly 250-350k tokens per question.
Limits
- Telegram: only public channels with web preview enabled; no private groups and no Telegram-wide search (channels are found by web search).
- Reddit: through the community-run Arctic Shift archive, which rate-limits and can lag behind Reddit.
- Instagram and Facebook often require a login to download; the skill tries your browser’s cookies via yt-dlp and otherwise asks you for the file.
- Probabilities are the judge agent’s reasoned estimate, not a statistical measurement. The report shows the evidence so you can disagree with it.
- The skill does not identify private individuals.
Files
skills/conspiracy-lens/
SKILL.md the workflow Claude follows
report-schema.md JSON schema for the report
scripts/tg.py read and search public Telegram channels (no login)
scripts/aggregate_judges.py median of independent judges, flags wide disagreement
scripts/merge_report.py merge research + judge JSON into one report JSON
scripts/compare_reports.py backtest page: two dates, same frozen claims, drift check
scripts/build_report.py JSON -> self-contained HTML report
scripts/serve.sh serve the reports folder and print the link
License
MIT
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add sanwhere/conspiracy-lens