Skip to content
Productivity
Skill

/BiasCheck

Three-layer bias analysis on any URL, file, or text — auto-fetches the content and any cited study, then audits data-level biases, source conflicts of interest, and journalism-added distortions, separating what the data supports from what's editorialized. USE WHEN bias analysis,

From plugin
lifeos
19k56 skills8 agents7 commands
Install
$ npx -y skills add danielmiessler/personal_ai_infrastructure --skill BiasCheck --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/BiasCheck

Context preview

The summary Claude sees to decide when to auto-load this skill.

Three-layer bias analysis on any URL, file, or text — auto-fetches the content and any cited study, then audits data-level biases, source conflicts of interest, and journalism-added distortions, separating what the data supports from what's editorialized. USE WHEN bias analysis,

SKILL.md

BiasCheck.SKILL.md
name: BiasCheck
version: 1.0.3
description: "Three-layer bias analysis on any URL, file, or text — auto-fetches the content and any cited study, then audits data-level biases, source conflicts of interest, and journalism-added distortions, separating what the data supports from what's editorialized. USE WHEN bias analysis, analyze bias, bias check, check this study, who funded this, is this source biased, fact-check article, methodological flaws, source credibility, what's wrong with this claim. NOT FOR psychological author analysis, research synthesis (use Research), entity due diligence."
disallowed-tools: Edit, Write, NotebookEdit

Customization

**Before executing, check for user customizations at:** `~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BiasCheck/`

If this directory exists, load and apply any `PREFERENCES.md` or additional reference files found there. These override default behavior. If the directory does not exist, proceed with skill defaults.

BiasCheck

Voice Notification

**When executing a workflow, do BOTH:**

1. **Send voice notification**:

   curl -s -X POST http://localhost:31337/notify \
     -H "Content-Type: application/json" \
     -d '{"message": "Running the Check workflow in the BiasCheck skill to audit the source"}' \
     > /dev/null 2>&1 &

2. **Output text notification**:

   Running the **Check** workflow in the **BiasCheck** skill to audit the source...

What It Does

Runs a three-layer bias audit on any source — a URL, a file path, or raw text. It fetches the content plus any study it cites, then checks (1) biases inside the data, (2) conflicts of interest in the source organization, and (3) distortions the journalism added on top. The output separates what the data actually supports from what got editorialized.

The Problem

Most "this is biased" arguments are vibes — a feeling about a source, with nothing concrete underneath. They're not repeatable and they don't tell you where the distortion lives. The other failure is analyzing an article without ever reaching the study it cites, so you critique the headline and never see that the underlying data was fine (or that it was junk). A fixed taxonomy and a fixed output shape fix both: the analysis is repeatable, the gaps are visible, and every claim ties to a specific tell.

How It Works

The skill operates on three layers:

1. **The data itself** — biases inside the underlying study, paper, or dataset (funding, sampling, instrument design, demand characteristics, self-report distance from behavior, causal inflation, missing benchmark, publication availability) 2. **The source organization** — who paid for or produced the work, what they sell, what conclusion would be inconvenient 3. **The journalism on top** — what the reporter/commentator added: headline-to-source distortion, frame escalation, echo-chain amplification, causal claims layered over correlational data

Output cleanly separates **what the data actually supports** from **what was editorialized on top**. Confidence is anchored to specifics — no vibes-based "this seems biased."

Workflow Routing

| Workflow | Trigger | File | |----------|---------|------| | **Check** | "bias check", "analyze bias on", "check this study/source/article" | `Workflows/Check.md` |

Quick Reference

  • **Input:** one argument — URL, file path, raw text, or any combination.
  • **Always tries to find the primary source.** If the input is journalism citing a study, the skill fetches the study itself, not just the article. If the primary source can't be located, that's a finding.
  • **Three-layer output** — never collapse layers; the distortion usually lives in the layer the source is least transparent about.
  • **Hard separation between supported and editorialized** — this is the deliverable shape.
  • **Bias taxonomy reference:** `BiasTaxonomy.md` (load on demand for the full category catalog with definitions and tells).

Examples

**Example 1: Article citing a vendor study**

User: "bias check https://futurism.com/some-article-citing-a-mercer-survey"
→ Invokes Check workflow
→ Fetches the article, identifies the cited Mercer study, fetches Mercer's source
→ Runs three-layer audit: vendor conflict-of-interest, sample/question-design biases, journalism's headline-vs-source swap
→ Returns structured bias report + supported-vs-editorialized split

**Example 2: Raw paste of a study abstract**

User: "bias check this abstract: [pastes 4 paragraphs from a paper]"
→ Invokes Check workflow
→ Skips Layer 3 (no journalism on top — input IS the primary source)
→ Audits Layers 1 + 2 only: funding disclosure, sample, methodology, conflict-of-interest
→ Notes if abstract is insufficient to assess methodology (publication availability bias)

**Example 3: File path**

User: "bias check ~/Downloads/some-report.pdf"
→ Invokes Check workflow
→ Reads file
→ Identifies if report cites further upstream sources; fetches what it can
→ Three-layer audit with specifics

Output Requirements

  • **Format:** Markdown with the fixed section structure defined in `Workflows/Check.md`.
  • **Length:** Scales with source complexity. A single-claim tweet gets ~200 words; a vendor-funded study + viral article gets 800–1500.
  • **Tone:** Plain. Specific. No vibes. Every bias claim ties to a concrete tell — a quoted phrase, a sample-frame fact, a missing disclosure.
  • **Must Include:** Methodology line (sample, dates, instrument availability), the three layers, the supported-vs-editorialized split, a one-paragraph bottom line, sources list with URLs.
  • **Must Avoid:** Hedging ("could potentially be biased"). Diagnose or don't. The reader gets to disagree — but they should know what the analyst actually thinks.

Gotchas

  • **Always try to find the primary source.** The single biggest failure mode is analyzing an article without ever reaching the underlying study. If the input cites a study/report/paper/dataset, the skill MUST
Read more
Ships withlifeos

⛰️ The Life Operating System — an intent engineering platform that moves you from your current state to your ideal state, in life and work.

Get the whole plugin

Other skills on lifeos.