Agent skills that fact-check the internet: claim-by-claim verification with sources and a 0-10 BS score for any YouTube video, article, tweet, or PDF
# Add to your Claude Code skills
git clone https://github.com/SerhiiKorniienko/bullshit-detectorGuides for using ai agents skills like bullshit-detector.
bullshit-detector is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by SerhiiKorniienko. Agent skills that fact-check the internet: claim-by-claim verification with sources and a 0-10 BS score for any YouTube video, article, tweet, or PDF. It has 63 GitHub stars.
bullshit-detector's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/SerhiiKorniienko/bullshit-detector" and add it to your Claude Code skills directory (see the Installation section above).
bullshit-detector is primarily written in Python. It is open-source under SerhiiKorniienko on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh bullshit-detector against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Agent skills that fact-check the internet. Point your agent at a viral YouTube video, article, tweet, or PDF — get a claim-by-claim verification report with sources and a BS score (0–10) instead of taking "10 WAYS TO MAKE MONEY WITH AI 🤯" at face value.
Portable Agent Skills — plain markdown + self-contained Python. They work in Claude Code, Codex, OpenCode, and any harness that supports the skills format and has web search.
Built in the open with Claude Code — an AI helped build the tool that fact-checks AI hype, and the example report is it auditing its own kind.
Follow @SerhiiFounder for new skills and fact-check experiments, or join the newsletter to get them in your inbox.
Install uv if you don't have it (the fetch script uses it to self-resolve its dependencies).
Run the skills.sh installer and pick the skills and agents you want:
npx skills@latest add SerhiiKorniienko/bullshit-detector
Prefer a managed bundle that updates when a new version ships, instead of copied files you maintain yourself? Inside Claude Code:
/plugin marketplace add SerhiiKorniienko/bullshit-detector
/plugin install bullshit-detector@serhii-korniienko
Two ways to install, two philosophies:
Pick one, not both — installing both gives Claude Code two copies of every skill.
Works beyond Claude Code — the skills are plain markdown + self-contained scripts. Full walkthroughs with caveats per surface live in SETUP.md:
| Agent / app | Support | Guide |
|---|---|---|
| Claude Code CLI | ✅ everything | SETUP.md → Claude Code CLI |
| Claude Desktop app (Code tab) | ✅ everything — same as CLI | SETUP.md → Code tab |
| Claude Desktop / claude.ai (Chat) | ⚠️ analysis skills only (sandbox can't reach YouTube/TikTok) | SETUP.md → Chat |
| OpenAI Codex | ✅ via skills.sh installer | SETUP.md → OpenAI Codex |
| ChatGPT | ⚠️ paste-driven workaround | SETUP.md → ChatGPT |
| OpenCode, Cursor, Gemini CLI, … | ✅ via skills.sh installer | SETUP.md → Other agents |
A finance guy with 1M views tells you the "only 14 ways to make money with AI". How much of it is real? Views, production value, and confidence are not evidence. The fix is boring: extract every claim, check each against independent sources, and score what survives. That's exactly the work agents with web search are good at and humans never bother doing.
The fix: bullshit-detector — per-claim verdicts (✅ confirmed / 🟡 plausible / 🟠 misleading / ❌ false / ❓ unverifiable), a hype-signal scan, an incentive analysis ("who benefits if you believe this"), and a 0–10 BS score. Verdicts require sources — the skill forbids confirming or refuting from model memory alone.
Your agent can't sit through a 27-minute video, and YouTube's official API won't give you captions for videos you don't own. Same story with tweets, where the official API now bills per post, and with paywalled articles.
The fix: fetch-content — one script that turns any URL into clean text + metadata with no API keys: YouTube transcripts and TikTok captions via yt-dlp, articles via readability extraction, PDFs, tweets via free endpoints. Every failure mode produces an actionable hint (paywall → paste, no captions → Whisper) instead of a silent guess.
Ingestion and analysis are different jobs. Scripts do the deterministic work (fetch, parse, normalize); the agent does the reasoning (extract claims, search, judge). Because analysis skills only ever see normalized text + metadata, adding TikTok support one day touches zero analysis logic — and the same detector works on a tweet and a 3-hour podcast.
A real run against a 1.16M-view "make money with AI" video: examples/report-14-ways-to-make-money-with-ai.md.
BS score: 5/10 — real tools, real trends, guru math, and a funnel every four minutes. 12 claims verified: 4 confirmed, 2 plausible, 3 misleading, 0 false, 3 unverifiable. Among the catches: "Renaissance, D.E. Shaw, Two Sigma only trade employees' money" (true for one fund of one firm), and marketplace stats sourced from the marketplace's own PR.
And a TikTok run — a 552K-view "our Sun has a hidden twin" video: examples/report-second-sun-binary-star.md (BS score: 9/10 — real astronomy vocabulary stitched onto a fabricated cosmology).
Someone on Hacker News asked for the obvious test — run it on this README. examples/report-own-readme.md (BS score: 3/10). It caught a two-year-stale API price and a "30-second setup" that began with installing a package manager, both fixed in v0.4.2, and one thing that can't be fixed by editing: the only evidence this tool is accurate is reports it wrote about videos its author picked.
Yes, TikTok works — ask the same way: "is this bullshit? https://vt.tiktok.com/…".
How it works under the hood:
Built-in captions first. Most TikToks ship with creator or auto-generated captions. The fetch-content script handles this natively — TikTok URLs (including vt.tiktok.com short links) return a timestamped transcript plus views/likes/reposts, no video download. The same thing by hand:
uvx yt-dlp --list-subs <tiktok-url> # check what's available
uvx yt-dlp --write-subs --sub-langs "eng-US" --skip-download <tiktok-url> # grab the .vtt
No captions? Whisper fallback. For caption-less TikToks and Reels there's a validated local-transcription prototype (mlx-whisper on Apple Silicon, no system ffmpeg needed — PyAV decodes the audio) graduating from skills/in-progress as the transcribe skill. Use whisper-large-v3-turbo — smaller models garble words badly enough to break claim extraction.
The analysis side doesn't care either way — the detector sees normalized text + metadata whether it came from a 7-minute TikTok or a 3-hour podcast (that's design principle #3).
All skills are model-invoked: you can call them explicitly, and the agent also reaches for them when your request fits ("is this legit?" triggers the detector).
Reason about content. Source-agnostic — they never care where the text came from.
Turn any source into clean text + metadata.
Turn reports into shareable output.
See skills/in-progress: compare (same topic across sources — who's right?), transcribe (Whisper for caption-less TikTok/Reels — working mlx-whisper prototype landed, SKILL.md pending), X thread walking.
I'm building these skills in the open — new detectors, adapters, and real fact-check reports as they land.
MIT