serhiikorniienko/share
Turn a BS report (or any analysis result) into ready-to-paste posts for X/Twitter, LinkedIn, Facebook, Reddit, Hacker News, or a newsletter issue — plus a branded image carousel (PNGs + PDF) for visual platforms. Use when the user wants to share, post, publish, or promote a report, asks for "a thread", "a LinkedIn post", "a carousel", or "format this for X".
npx skills add https://github.com/SerhiiKorniienko/bullshit-detector --skill share
Take a finished report and produce platform-native content, ready to paste. Nothing generic: each platform gets its own format, length, and link etiquette.
bullshit-detector skill first.slides.json (schema below) and render:uv run <this-skill-dir>/scripts/render_carousel.py slides.json -o carousel/
First run needs a one-time browser install: uv run --with playwright playwright install chromium. Output: slide-N.png (1080×1350, works on X, LinkedIn, Instagram) + carousel.pdf (LinkedIn document post).
{
"title": "Video/article title",
"source": "Author · Platform · 1.16M views",
"score": 5,
"verdict_line": "Real tools, fantasy income math",
"footer": "@their-handle · their-link (the sharer's, not the tool author's — see rules)",
"slides": [
{ "type": "hook" },
{ "type": "claim", "n": "1/12", "claim": "Quoted or paraphrased claim, ≤200 chars",
"verdict": "misleading", "evidence": "One-sentence reality, ≤160 chars" },
{ "type": "cta", "headline": "Run it on anything",
"lines": ["the sharer's own links — ask, don't assume"] }
]
}
Verdicts: confirmed / plausible / misleading / false / unverifiable / not checked — the same six the report uses, and the renderer rejects anything else rather than guessing a colour. Pick 3–4 claim slides — the spiciest verdicts with the strongest evidence, not the first four. Hook and CTA slides bookend them.
A not checked claim renders, but think before using one: it carries no verdict and no evidence by definition, so it makes a weak slide and a reader may take the empty cell for a finding.
Take serhiikorniienko/share from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.