fact-check — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited fact-check (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An advanced semi-automated fact-checking and disinformation detection system that produces visual Fact-Check Cards. Combines the SIFT methodology (Stop, Investigate, Find, Trace), the CRAAP test (Currency, Relevance, Authority, Accuracy, Purpose), prebunking/inoculation science, and claim decomposition with multi-language source triangulation, manipulation technique detection, origin tracing, counterfactual analysis, and a comprehensive educational component.
Grounded in research: fact-check labels reduce belief in false claims by ~18% (Clayton et al., 2020), accuracy prompts reduce sharing of false news by 15-20% (Pennycook & Rand, 2021), and prebunking videos improve manipulation recognition by ~5% even after a single viewing (van der Linden et al., 2022, Science Advances). This skill aims to maximize these effects through structured, transparent, and educational analysis.
This skill operates in four modes depending on user intent:
User provides content (text, URL, or image) and asks for verification. Runs the full 11-step pipeline. Produces a complete Fact-Check Card.
User provides two sources/texts/URLs on the same topic and asks for comparison. Runs decomposition on both, cross-references claims, identifies where they agree/disagree, evaluates which is more credible and why. Produces a Comparison Fact-Check Card.
User asks about current disinformation narratives on a topic (e.g., "What false narratives are circulating about vaccines/elections/energy?"). Searches for active disinformation campaigns on the topic, summarizes the most common false narratives, explains the manipulation techniques used, and provides preemptive defense tips. Produces a Prebunking Briefing Card.
User asks a simple yes/no verification question (e.g., "Is it true that X?"). Runs an abbreviated pipeline (Steps 1, 2, 6, 7 only). Skip Steps 3-5 and 8-9.
Quick Check output (text response, not HTML card):
visible in the claim's framing, (2) if no clear technique, use the domain-specific tip (health→F category, geopolitical→D category), (3) fallback to General Tip 4 (Source Triple-Check)
When to upgrade to full card: If the user explicitly asks for HTML, a card, or detailed analysis, OR if during the quick search you discover the claim is complex (multiple sub-claims, mixed verdicts), upgrade to Mode 1 and run the full pipeline. MFS scoring is NOT calculated for Quick Check — it requires red flag analysis (Step 5) which Quick Check skips.
Mode detection: Infer the mode from the user's request. If ambiguous, default to Mode 1. If the user provides two URLs or texts with comparative language ("compare", "which is more reliable", "сравни"), use Mode 2. If the user asks about narratives on a topic without specific content to check, use Mode 3.
The user may provide content in these forms:
web_fetch to retrieve the content, then analyzeImage-specific guidance: When the input is an image, after extracting text also note:
If the input is ambiguous or too vague, ask the user ONE clarifying question before proceeding. After decomposition (Step 1), briefly present the extracted claims and ask: "Would you like me to check all of these, or focus on specific ones?" -- this saves time and gives more relevant results. If the user does not respond or says "all", proceed with all claims.
Break the input into individual checkable units. For each element in the text, classify it:
| Type | Code | Action |
|---|---|---|
| Factual claim (verifiable) | F | Queue for checking |
| Opinion / value judgment | O | Mark as "Not checkable -- opinion" |
| Prediction / future claim | P | Mark as "Not checkable -- prediction" |
| Vague / unfalsifiable | U | Mark as "Not checkable -- unfalsifiable" |
| Implied claim (not stated directly but strongly suggested) | I | Extract the implied factual claim, queue for checking |
| Statistical claim (uses numbers, percentages, data) | S | Queue for checking with extra scrutiny on context |
Number each factual claim (C1, C2, C3...). This is the backbone of the analysis.
Important: Most disinformation is NOT 100% false -- it mixes truths with falsehoods. A post may contain one true claim, one false claim, and two opinions. Showing C1=Confirmed, C2=False, C3=Opinion, C4=Misleading is far more useful and honest than a single binary verdict.
For implied claims: Disinformation often works through implication rather than direct statement. "Exposed: the document THEY don't want you to see" implies (a) a conspiracy to hide information and (b) that the document contains damaging truth. Extract these implied claims explicitly.
After decomposition, present the claims to the user and ask if they want to focus on specific ones or check all. Proceed after response (or proceed with all if no response).
Skip the interactive checkpoint in these cases:
and/or viral social media framing — the user likely wants a full check, not a menu.
expects a complete response in one turn.
For each factual claim, perform multi-language web searches:
many narratives originate from or are amplified by Russian-language sources)
or geopolitical claims)
Search strategy:
Source priority hierarchy (highest to lowest):
| Tier | Source Type | Examples | Reliability |
|---|---|---|---|
| 1 | Established fact-check organizations (IFCN-certified) | Snopes, PolitiFact, AFP Fact Check, Full Fact, FactCheck.org, EUvsDisinfo, Factcheck.bg, Detector.bg, AFP Proveri | Highest |
| 2 | Official institutional sources | WHO, CDC, EMA, ECDC, Eurostat, EUR-Lex, national statistical institutes, government agencies | Very High |
| 3 | Major wire services and quality journalism | Reuters, AP, BBC, DW, The Guardian, Dnevnik.bg, Capital.bg, Mediapool.bg | High |
| 4 | Peer-reviewed scientific publications | PubMed, Cochrane Reviews, Nature, The Lancet, Science, Google Scholar | Very High (for scientific claims) |
| 5 | Domain-specific expert organizations | IPCC (climate), IAEA (nuclear), ITU (tech), specialized NGOs | High |
| 6 | Other media with editorial standards | Regional newspapers, established online media | Medium |
| 7 | Blogs, personal sites, social media posts | Individual blogs, YouTube channels, Facebook posts | Low (use only as supplementary) |
| 8 | Anonymous or unattributable sources | No author, no organization, no verifiable origin | Very Low |
Source scoring: For each source used in the analysis, assign a reliability tier (1-8). This will be displayed visually in the Fact-Check Card so readers can see at a glance how strong the evidence base is.
Triangulation rule: Seek confirmation or refutation from at least 3 independent sources from Tier 1-4. If fewer than 3 such sources address the claim, explicitly note this as a limitation and lower confidence accordingly.
CRAAP evaluation for each key source:
For EVERY web source found during Step 2 -- both the sources the original content cites and the sources we find during verification -- perform a structured credibility evaluation. This step is critical: users must SEE the evaluation process so they learn to do it themselves in the future.
This step uses `web_search` and `web_fetch` actively. For each key source:
#### 3a. Site-Level Credibility Audit
Fetch the source URL and evaluate the website itself:
| Question | What to look for | Red flag indicators |
|---|---|---|
| Who owns this site? | Check "About Us", footer, domain WHOIS. Is there a named organization? | No about page, hidden ownership, recently registered domain |
| What is the site's stated mission? | Is it journalism, activism, commerce, satire? | Mission unclear; mix of news + product sales; no editorial policy |
| Does it have editorial standards? | Look for corrections policy, editorial board, code of ethics | No corrections page, no editorial board listed |
| What do others say about this site? | Search: "sitename.com" reliability or "sitename" fact check. Check Media Bias/Fact Check, Wikipedia, EUvsDisinfo | Flagged by multiple fact-checkers; Wikipedia "unreliable source" tag |
| What is the domain pattern? | Legitimate domains vs. imitation domains (e.g., bbc-news24.com vs. bbc.com) | Domain mimics known outlet; excessive hyphens; unusual TLD |
| Is there advertising? | Some ads are normal; wall-to-wall clickbait ads suggest revenue-driven content | Aggressive ad placement; "miracle cure" or casino ads; pop-ups |
| Does the site disclose funding? | Quality outlets disclose ownership and funding | Funding completely opaque; state-funded without disclosure |
Output per site: Site Credibility Rating
#### 3b. Author-Level Credibility Check
For each article or source used, evaluate the author:
| Question | What to look for | Red flag indicators |
|---|---|---|
| Is an author named? | Real name, byline, bio | No author; "Staff", "Admin", or pseudonym only |
| What are their credentials? | Relevant education, professional experience, publication history | No verifiable credentials; credentials in unrelated field |
| Do they have a track record? | Search their name + topic. Have they published elsewhere? | No other publications; only appears on this one site |
| Are they a real person? | Social media presence, LinkedIn, university affiliation | No trace online; stock photo avatar; AI-generated profile photo |
| Domain expertise match? | Is their expertise in the field they're writing about? | Writing about medicine without medical background; physicist on vaccines |
When no author is identifiable: This is a B1 red flag (already in Step 5) but here we escalate: an unattributed source making strong claims about health, politics, or science is automatically scored as Tier 7-8 regardless of site appearance.
#### 3c. Evidence & Citation Evaluation
For each source, evaluate the quality of evidence it provides:
| Question | What to look for | Red flag indicators |
|---|---|---|
| Does it cite primary sources? | Links to studies, documents, official data | No citations; "research shows" without specifying which research |
| Are citations real and accurate? | Click through to cited sources. Do they say what the article claims? | Broken links; cited source says the opposite; citation is to another blog |
| What type of evidence is used? | Peer-reviewed studies > institutional reports > expert quotes > anecdotes | Only anecdotes; only quotes from one "expert"; no data |
| Is the data presented in context? | Absolute numbers + rates, time periods, comparisons, methodology | Percentages without base numbers; no time frame; cherry-picked data range |
| Is there a clear methodology? | For studies: sample size, controls, peer review status | No methodology; tiny sample; unpublished; preprint presented as final |
| Are counterarguments addressed? | Balanced reporting includes opposing views or limitations | Only one side presented; opposing views dismissed or straw-manned |
Evidence Quality Rating per source:
#### 3d. Cross-Reference Check (Lateral Reading)
This is the core of the lateral reading method (Stanford Civic Online Reasoning):
Instead of reading a source deeply to judge it from within, leave the page and search for what independent, reliable sources say about:
Procedure:
sources, that is itself a significant finding.
Key principle to communicate to users: Professional fact-checkers spend LESS time reading the source itself and MORE time checking what others say about it. This is counterintuitive but far more effective. A slick, professional-looking website can be completely fabricated. But if Media Bias/Fact Check, Wikipedia, and multiple independent journalists all flag it as unreliable, that consensus is meaningful.
#### 3e. Source Evaluation Summary Table
For each key source evaluated, produce a compact summary:
Source: [URL or name]
Site Rating: [Established / Credible / Questionable / Unreliable / Cannot Assess]
Author: [Name or "Unidentified"] -- Credentials: [relevant / irrelevant / unverifiable]
Evidence Quality: [Strong / Moderate / Weak / Fabricated]
Tier Assignment: [1-8]
Lateral Check: [What independent sources say about this site/author]
Key Finding: [1-sentence summary of what this source contributes or why it's problematic]This table is displayed in the Fact-Check Card (Section 9: Sources Used) so the user can see exactly WHY each source was rated as it was.
CRITICAL FOR EDUCATIONAL IMPACT: The purpose of this step is NOT just to evaluate sources for our analysis. It is to demonstrate the evaluation process so that users learn to replicate it independently. Every evaluation should be written as if teaching the reader: "Here is how you check whether a source is trustworthy."
For each major claim, attempt to trace its origin:
Search for the earliest instances using date-restricted searches.
This is critical for the Bulgarian context where many narratives are translated from Russian (RT, Sputnik, Tsargrad) or adapted from English conspiracy ecosystems.
campaigns documented by EUvsDisinfo, Hamilton 2.0, or similar trackers?
Output: A brief origin summary: "This claim appears to have originated from [source] in [language] on approximately [date]. It has been adapted/translated and spread through [channels]. [Notable mutations if any]."
If origin cannot be determined, state this explicitly.
Scan the original content for manipulation markers. Check against this expanded taxonomy:
Category A: Emotional Manipulation
Category B: Source & Attribution Problems
Category C: Logical Fallacies
Category D: Temporal & Contextual Manipulation
Category E: Coordinated / Structural Signals
Category F: Health-Specific Manipulation (when claim is health-related)
For each detected red flag, record:
affects interpretation) / Serious (clear manipulation, fundamentally distorts the message)
Manipulation density score: Calculate the ratio of serious+moderate flags to total content length. High density = more manipulative intent.
For each factual claim, assign a verdict on this 6-point scale:
| Verdict | Color Code | Verdict Points (VP) | Meaning |
|---|---|---|---|
| CONFIRMED | #16a34a (Green) | 0 | Supported by multiple reliable Tier 1-4 sources |
| MOSTLY TRUE | #65a30d (Lime) | 1 | Core claim is accurate; minor details imprecise or unverifiable |
| MIXED | #ca8a04 (Yellow) | 3 | Contains both true and false elements in significant proportion |
| UNVERIFIED | #ea580c (Orange) | 4 | Cannot be confirmed or denied with available evidence |
| MISLEADING | #dc2626 (Red-Orange) | 7 | Contains factual elements but presented in a way that leads to false conclusions |
| FALSE | #991b1b (Dark Red) | 10 | Directly contradicted by reliable evidence |
Confidence level for each verdict: High / Medium / Low
#### Severity Score Algorithm
Calculate a numeric Manipulation & Falsehood Score (MFS) from 0 to 100 for the overall content. This gives a repeatable, transparent number alongside the qualitative verdict.
Component 1: Claim Falsehood Score (CFS) -- weight 50%
CFS = (Sum of VP for all factual claims) / (Max possible VP) * 100
where Max possible VP = number_of_factual_claims * 10Example: 4 claims -- CONFIRMED(0) + FALSE(10) + MIXED(3) + MISLEADING(7) = 20 / 40 = 50
Component 2: Manipulation Technique Score (MTS) -- weight 30%
For each red flag detected:
- Serious severity: 8 points
- Moderate severity: 4 points
- Minor severity: 1 point
MTS = min(100, total_flag_points / expected_max * 100)
where expected_max = max(8, 3 * (number_of_sentences_in_content / 5))The denominator scales with content length so that longer texts are not penalized just for having more absolute flags. The max(8, ...) floor prevents extreme scores on very short content (e.g., a 2-sentence social media post with 2 flags should not auto-score 100%). Cap at 100.
Component 3: Source Credibility Deficit (SCD) -- weight 20%
For each source the original content relies on (not our verification sources):
- Tier 1-2: 0 penalty points
- Tier 3-4: 1 penalty point
- Tier 5-6: 3 penalty points
- Tier 7: 6 penalty points
- Tier 8: 10 penalty points
- No source cited at all: 10 penalty points
SCD = (Sum of penalty points) / (number_of_claims * 10) * 100, capped at 100
where number_of_claims = only claims classified as F (Factual) or S (Statistical)
in Step 1. Do NOT count Opinion (O), Prediction (P), Unfalsifiable (U), or
Implied (I) claims — these don't have independent source requirements.Final MFS calculation:
MFS = (CFS * 0.50) + (MTS * 0.30) + (SCD * 0.20)Interpretation scale displayed in the card:
| MFS Range | Label | Color | Meaning |
|---|---|---|---|
| 0-10 | Reliable | Green | Content is well-sourced and factually sound |
| 11-25 | Mostly Reliable | Lime | Minor issues; broadly trustworthy |
| 26-45 | Caution Advised | Yellow | Notable problems; verify key claims independently |
| 46-65 | Problematic | Orange | Significant falsehoods or manipulation; do not share |
| 66-85 | Highly Misleading | Red | Majority false/manipulative; likely intentional disinfo |
| 86-100 | Disinformation | Dark Red | Pervasive falsehood + manipulation; clear disinfo pattern |
Always show the breakdown (CFS/MTS/SCD) alongside the final score so the user can see WHERE the problem lies: is it the facts? the rhetoric? the sources?
Overall verdict for the entire piece of content is derived from a combination of:
The MFS score is a tool for transparency, not a replacement for judgment. If the numeric score and qualitative assessment diverge, explain why (e.g., "The MFS is 35 but the overall verdict is MISLEADING because the single false claim is the central thesis of the article, while the confirmed claims are trivial context").
For each verdict, provide a transparent explanation of WHY the confidence level is what it is. Structure:
Confidence: [High/Medium/Low]
Factors increasing confidence:
- [e.g., "4 independent Tier 1-2 sources agree on the refutation"]
- [e.g., "Official data directly contradicts the claim with specific numbers"]
Factors decreasing confidence:
- [e.g., "All sources are from the same geographic region"]
- [e.g., "No peer-reviewed study directly addresses this specific claim"]
- [e.g., "The claim is very recent and fact-checkers may not have covered it yet"]This transparency is critical. Research (Warren et al., CHI 2025) shows that fact-checkers and users want to see "the work", not just the result. Showing the reasoning builds trust and teaches the user how to evaluate evidence themselves.
For each claim with a non-obvious verdict (anything other than clearly Confirmed or clearly False), provide a step-by-step reasoning chain:
Claim: [the claim]
Step 1: [What we searched for]
Step 2: [What we found -- key evidence for and against]
Step 3: [How we weighed conflicting evidence, if any]
Step 4: [Why we arrived at this specific verdict]
Conclusion: [Verdict] because [1-2 sentence summary]This makes the analysis auditable and educational. The user can disagree with specific steps rather than just accepting or rejecting the whole conclusion.
For each claim rated MISLEADING, UNVERIFIED, or FALSE, add a counterfactual section:
"If this claim were true, we would expect to find:
None of these exist / Only partial evidence exists / The evidence points in the opposite direction."
Example: "If the EU were truly planning this law, we would expect to find: a record in EUR-Lex, a press release from the European Commission, media reports from accredited Brussels correspondents. None of these exist."
This teaches users what to look for when evaluating claims independently and is one of the most effective educational techniques for building long-term critical thinking skills.
This is not a supplementary section. This is the most important long-term output of the skill. The goal: after reading several Fact-Check Cards, the user should be able to independently evaluate information without needing this tool.
Research basis: Prebunking (inoculation) is more effective than debunking because it builds resistance BEFORE exposure (van der Linden et al., 2022). The Stanford Civic Online Reasoning project (2023) showed that lateral reading -- checking sources via external search rather than evaluating from within -- is the single most effective technique used by professional fact-checkers and can be taught to non-experts with immediate results.
Generate the educational section with ALL of these sub-sections:
#### 10a. Manipulation Technique Recognition
For EACH red flag detected in Step 5, provide a structured mini-lesson:
TECHNIQUE DETECTED: [Plain-language name, e.g., "Appeal to Fear"]
Red Flag Code: [e.g., A1]
WHAT HAPPENED IN THIS CONTENT:
[Quote the specific passage and explain exactly how this technique was used here.
Be concrete -- reference the actual text, not abstract descriptions.]
HOW TO RECOGNIZE THIS IN THE WILD:
[Give 2-3 common patterns/templates this technique uses. Examples:
- "Share before they delete this!" (urgency + censorship framing)
- "What they don't want you to know..." (exclusivity + conspiracy)
- "EXPOSED: The truth about..." (revelation framing + emotional charge)]
WHY YOUR BRAIN FALLS FOR IT:
[Name the specific cognitive bias exploited and explain the mechanism in 2-3
sentences. Reference: confirmation bias, availability heuristic, authority bias,
halo effect, continued influence effect, illusory truth effect, anchoring bias,
bandwagon effect, Dunning-Kruger effect, as relevant.]
YOUR DEFENSE:
[One concrete, actionable self-defense tip the reader can apply immediately.
Frame as a personal habit to build, not a rule to follow.]Prioritize the 5 most common manipulation categories the user is likely to encounter in everyday browsing:
#### 10b. Lateral Reading -- Teaching the Method
Present the lateral reading method explicitly as a learnable skill:
HOW PROFESSIONAL FACT-CHECKERS ACTUALLY WORK:
(Based on Stanford Civic Online Reasoning, 2023)
The counterintuitive finding: Professional fact-checkers spend LESS time
reading the source itself and MORE time checking what OTHERS say about it.
Amateurs do the opposite -- they read deeply within a source to judge it.
This is less effective because a well-designed disinformation site can look
perfectly credible from the inside.
THE LATERAL READING METHOD -- 4 STEPS:
Step 1: STOP
Do not read the article deeply. Instead, note the claim and the source.
Step 2: LEAVE THE PAGE
Open a new browser tab. Search for information ABOUT the source:
- "[site name] reliability"
- "[site name] fact check"
- "[author name] credentials"
- "[author name] controversy"
Step 3: CHECK WHAT INDEPENDENT SOURCES SAY
Look for assessments from:
- Wikipedia (check if the source has a "reliability" or "bias" note)
- Media Bias/Fact Check (mediabiasfactcheck.com)
- EUvsDisinfo (for EU/Eastern European sources)
- Fact-checking organizations (Snopes, PolitiFact, Factcheck.bg)
Step 4: FIND BETTER COVERAGE
Search for the CLAIM (not the article) in different words.
If reputable sources (Reuters, AP, BBC, institutional sources) cover it,
read their version. If NO reputable source covers it, that is itself
a significant finding.
KEY INSIGHT: You don't need expertise in the topic to evaluate a source.
You just need to check what people who DO have expertise say about it.CRITICAL: In this specific analysis, show the user exactly how lateral reading was applied. Example: "When we checked [source name], we found that Media Bias/Fact Check rates it as [rating]. Wikipedia describes it as [description]. This is how lateral reading works in practice -- we didn't just read the article, we checked what others say about the outlet."
#### 10c. Source Credibility Lesson
Based on the sources evaluated in Step 3, teach the user the practical source evaluation questions they should ask for ANY content they encounter:
THE 5 QUESTIONS TO ASK ABOUT ANY SOURCE:
1. WHO is behind this? (Named organization? Individual? Anonymous?)
2. WHAT is their track record? (Do fact-checkers flag them? What does Wikipedia say?)
3. DO they cite evidence? (Links to primary sources? Named experts? Specific data?)
4. WHO ELSE is reporting this? (Is it ONLY on this site, or do reputable outlets cover it?)
5. WHAT is the purpose? (To inform? To persuade? To sell? To generate outrage/clicks?)
If any answer is "I don't know" or "I can't find out," treat the claim
with proportional skepticism.#### 10d. Known Narrative Alert
If this claim matches a documented recurring disinformation narrative (especially in the Bulgarian context), provide a narrative card:
KNOWN NARRATIVE ALERT:
This claim matches a documented disinformation pattern.
Narrative: [Name/description of the recurring narrative]
Active since: approximately [year]
Previous versions: [Brief description of how the narrative has evolved]
Part of broader pattern: [Narrative type -- e.g., pro-Kremlin, anti-vaccine,
EU skepticism, health misinformation]
Documented by: [Which organizations have tracked this -- EUvsDisinfo,
Factcheck.bg, etc.]#### 10e. Prebunking Vaccine
Based on inoculation theory (van der Linden et al., 2022, Science Advances), provide a "psychological vaccine" -- a brief, memorable explanation of how the specific manipulation technique works, designed to build resistance against future encounters regardless of the specific topic:
INOCULATION (so you recognize this next time):
The technique used here is called [name].
It works by [1-sentence mechanism].
Next time you encounter it, you'll notice [specific pattern to watch for].
Remember: [one memorable takeaway sentence].The prebunking tip should be SHORT (4-5 sentences max), MEMORABLE, and GENERALIZABLE -- it should help the user recognize this technique in any future context, not just on this specific topic.
#### 10f. Domain-Specific Guidance
If the content is health-related, add:
If the content is geopolitical/political:
Read educational-tips.md for the full tip database. If the file is not available, generate tips from knowledge of media literacy, cognitive psychology, and the research literature on disinformation.
Generate the Fact-Check Card and a share-safe summary.
Generate an HTML artifact (single .html file).
The card MUST include these sections:
say about this site/author) -- this transparency teaches users the evaluation method
detected technique (what happened, how to recognize it, why it works, your defense)
this analysis showing how it was applied
a comment or message to respond to someone who shared the original content.
Here's why: [brief reason]. More information: [link]")
consult professional fact-checkers and primary sources. AI analysis may contain errors -- always verify key findings independently."
<details>/<summary> HTML elements)prefers-color-scheme media query@media printthe verdict color scale (greens, yellows, oranges, reds) with neutral grays
Required CSS variables (use these exact values for consistency across all cards):
:root {
--bg: #ffffff;
--bg-secondary: #f8f9fa;
--bg-tertiary: #f1f3f5;
--text: #1a1a1a;
--text-secondary: #495057;
--text-tertiary: #868e96;
--border: #dee2e6;
--border-light: #e9ecef;
--green: #16a34a; /* CONFIRMED */
--lime: #65a30d; /* MOSTLY TRUE */
--yellow: #ca8a04; /* MIXED */
--orange: #ea580c; /* UNVERIFIED */
--red-orange: #dc2626; /* MISLEADING */
--dark-red: #991b1b; /* FALSE */
--shadow: 0 1px 3px rgba(0,0,0,0.08);
--shadow-md: 0 4px 12px rgba(0,0,0,0.1);
--radius: 8px;
--radius-sm: 4px;
}
@media (prefers-color-scheme: dark) {
:root {
--bg: #1a1a2e;
--bg-secondary: #16213e;
--bg-tertiary: #0f3460;
--text: #e8e8e8;
--text-secondary: #b0b0b0;
--text-tertiary: #808080;
--border: #2a2a4a;
--border-light: #222244;
--shadow: 0 1px 3px rgba(0,0,0,0.3);
--shadow-md: 0 4px 12px rgba(0,0,0,0.4);
}
}Required badge classes:
.badge-confirmed { background: var(--green); color: #fff; }
.badge-mostly-true { background: var(--lime); color: #fff; }
.badge-mixed { background: var(--yellow); color: #fff; }
.badge-unverified { background: var(--orange); color: #fff; }
.badge-misleading { background: var(--red-orange); color: #fff; }
.badge-false { background: var(--dark-red); color: #fff; }Required tier badge classes:
.tier-1, .tier-2 { background: #dcfce7; color: #166534; }
.tier-3, .tier-4 { background: #dbeafe; color: #1e40af; }
.tier-5, .tier-6 { background: #fef9c3; color: #854d0e; }
.tier-7, .tier-8 { background: #fecaca; color: #991b1b; }All cards MUST use these exact CSS variables and badge classes to ensure visual consistency. The container should use max-width: 800px; margin: 0 auto; and body font should be the system font stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif.
When comparing two sources:
Mode 3 does NOT use the 11-step pipeline. It has its own workflow:
Pipeline for Mode 3: Search → Document → Educate → Output
Step M3-1: Narrative Search Search for current disinformation narratives on the given topic using:
web_search for: "[topic] disinformation", "[topic] fact check", "[topic] EUvsDisinfo"Search in multiple languages (BG, EN, RU as relevant).
Step M3-2: Narrative Documentation For each active narrative found (aim for 3-7), document:
Step M3-3: Educational Component Generate these educational sections (from Step 10):
per unique technique. Consolidate to the 5 most impactful (most frequently appearing or most dangerous). Example: if A1 appears in 4 narratives, it gets 1 mini-lesson, not 4.
narratives tracked by EUvsDisinfo, Factcheck.bg, or similar). Do NOT repeat the M3-2 documentation — 10d adds the meta-level tracking (active since, previous versions, part of broader pattern). If a narrative is new/undocumented, skip 10d for it.
Step M3-4: Output — Prebunking Briefing Card (HTML) Produce an HTML card with:
MFS scoring is NOT calculated for Mode 3 — there is no single content piece to score.
evidence. But note when a claim contradicts strong scientific consensus (e.g., climate change, vaccine safety, evolution).
boundary of your knowledge or when your training data may not reflect the latest evidence.
(anti-vaccine, miracle cures), EU/NATO skepticism, energy policy disinformation, historical revisionism (Bulgarian-Macedonian, Bulgarian-Turkish relations), election manipulation.
evaluate each claim on its merits).
When a claim is health-related, apply additional scrutiny:
not proof of causation. Reports in these systems mean "this happened after vaccination" NOT "vaccination caused this." Always clarify this distinction.
substance has been tested in randomized controlled trials.
self-medicating, delaying medical care) with a prominent health safety notice.
When web_fetch fails (HTTP 402/403/429, timeout, CAPTCHA, etc.):
web_search results (often contains enough info)Access: Blocked/Paywalled — evaluated via search snippet and secondary references
was found. Note this in Step 7 (Confidence Calibration) as a factor decreasing confidence.
some news sites (regional paywalls). This is expected — work around it, don't abandon the source entirely.
Google Reverse Image Search, TinEye, InVID, FotoForensics, Deepware Scanner)
abstracts and secondary reporting)
not a final authority
This skill works on both Claude Code (with full tool access) and Claude.ai (limited tools).
When `web_search` and `web_fetch` are available (Claude Code, Claude.ai with web access): Use them for Steps 2-4 as described. This produces the best results with real-time source triangulation.
When web tools are NOT available (Claude.ai without web access, offline): The skill still works — adapt as follows:
Use knowledge from training data. Be explicit about this limitation: "Based on knowledge available up to [training cutoff], without real-time web verification." Lower confidence by one level (High → Medium, Medium → Low) compared to web-verified analysis.
educational-tips.md."Analysis based on AI knowledge — not verified with live web sources. For real-time verification, use this skill in Claude Code or check the recommended sources."
from training data. Be explicit that the list may not reflect the very latest campaigns. Recommend the user check EUvsDisinfo.eu and Factcheck.bg for current updates.
Key principle: A knowledge-based analysis with clear limitations stated is more valuable than no analysis at all. The educational component (Step 10) works identically in both environments and is the highest long-term value output of this skill.
INPUT (text / URL / image / two sources / topic query)
|
v
[Mode Detection] --> Quick / Standard / Comparison / Prebunking
|
v
[Step 1] Decompose into checkable claims
| Present to user, ask for focus (interactive checkpoint)
v
[Step 2] Multi-language source search + CRAAP evaluation + source scoring
|
v
[Step 3] Online Source Deep Evaluation (Lateral Reading Protocol)
| Site credibility audit + Author check + Evidence evaluation
| Cross-reference check + Source evaluation summary
v
[Step 4] Origin tracing (first appearance, language, mutations, campaign links)
|
v
[Step 5] Red flag detection (6 categories, 40+ markers, severity scoring)
|
v
[Step 6] Verdict assignment (6-point scale, per-claim + overall)
| + Severity Score (MFS = CFS*0.50 + MTS*0.30 + SCD*0.20)
v
[Step 7] Confidence calibration (transparent factor analysis)
|
v
[Step 8] Chain of reasoning (step-by-step logic for non-obvious verdicts)
|
v
[Step 9] Counterfactual analysis ("What would make this true?")
|
v
[Step 10] Educational component (Teach the User to Fish)
| 10a: Manipulation technique recognition (structured mini-lessons)
| 10b: Lateral reading method (Stanford COR, 4-step protocol)
| 10c: Source credibility lesson (5 questions for any source)
| 10d: Known narrative alert (documented disinfo patterns)
| 10e: Prebunking vaccine (inoculation against technique)
| 10f: Domain-specific guidance (health / geopolitical)
v
[Step 11] Output generation
|
+--> HTML Fact-Check Card (full visual report with MFS score)
+--> Share-Safe Summary (copy-ready neutral text for social media responses)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.