fact-check
/fact-check
Weryfikuje twierdzenia dziennikarskie, przypisywane źródła, cytowania i szkice publikacji metodą SIFT z Mycroft na potrzeby kontroli redakcyjnej.
- Autor
- buriedsignals ↗
- Repozytorium
- mycroft ↗
- Licencja
- MIT
- Ostatnia zmiana repozytorium
- 27.10.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 8
- Skrypty
- 0
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 1
Brak sygnałów. Repozytorium zmienione 27.10.2026, bez odwołań do wycofanych modeli i API.
MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.
Co robi i kiedy
Weryfikuje twierdzenia dziennikarskie, przypisywane źródła, cytowania i szkice publikacji metodą SIFT z Mycroft na potrzeby kontroli redakcyjnej.
Oryginalny opis (EN)
Fact-check journalistic claims, source assertions, citations, and publication drafts through Mycroft's SIFT recipe. Use for reporting and editorial verification. Do not use for software code, architecture, PRDs, engineering plans, threat models, or release reviews; route those to compound-engineering.
Jak działa
- Default Path
- Spotlight escalation
- Method
- Required Output Contract
- Verdict Rules
- Corrections
- Safety
- Credits
Podgląd SKILL.md
---
name: fact-check
description: Fact-check journalistic claims, source assertions, citations, and publication drafts through Mycroft's SIFT recipe. Use for reporting and editorial verification. Do not use for software code, architecture, PRDs, engineering plans, threat models, or release reviews; route those to compound-engineering.
requires: [epistemic-grounding, shell-safety]
---
# Fact Check
Use this skill when the user asks to verify reporting, inspect citations or source assertions, or
stress-test a story or publication draft.
Load this skill before answering fact-checking requests. Do not rely on general chat behavior for verification work.
Do not use this skill for software code, architecture, PRDs, engineering plans, threat models,
security reviews, or release reviews. The words "draft," "claim," "review," or "adversarial" do
not trigger this skill without a journalistic or editorial verification context. Route engineering
work to the host's compound-engineering or code-review workflow when available; otherwise use the
normal repository engineering-review process.
**Always load these skills before starting work:**
- `epistemic-grounding` — the 5-tier ladder, confidence caps, failure router, claim-decomposition discipline. This skill uses the `fact-check` profile and must emit the full `grounding` object on every claim.
- `shell-safety` — every `mycroft-fetch`, `curl`, and verification command must use safe patterns. Validate URLs, slugs, and paths via `scripts/mycroft_safe.py` before passing to shell.
## Default Path
Use the Mycroft recipe first. The default fact-check path attempts provenance
capture and unsigned manifest generation for every run, but it does not require
Noosphere/C2PA signing.
```sh
goose run --recipe ~/.local/share/goose/mycroft/source/recipes/fact-check.yaml --params draft_path="<path>"
```
If the user provides short pasted text instead of a file:
```sh
goose run --recipe ~/.local/share/goose/mycroft/source/recipes/fact-check.yaml --params draft_text="<text>"
```
For newsroom workflows where provenance must be complete before delivery, pass
`strict_provenance=true`. To request live Noosphere/C2PA signing, pass
`c2pa_sign=true`; signing remains opt-in and fact-check verdicts remain
editorial outputs, not C2PA truth claims.
## Spotlight escalation
If Spotlight is installed and the journalistic request needs active OSINT casework, a source
evidence trail, document or image verification, source contact, or an independent editorial
fact-checker, load the Spotlight runtime contract and fact-checking path:
- Spotlight's install path from `plugins.spotlight.path` in `~/.config/goose/mycroft/mycroft-config.json`, or `SPOTLIGHT_DIR`
- `<spotlight-install>/AGENTS.md`
- `<spotlight-install>/agents/fact-checker.md`
- Canonical Spotlight skills under `~/.agents/skills/spotlight/`
Use Spotlight for deeper casework. Keep the fact-checker independent from the investigator's reasoning: verify structured findings and evidence, not the narrative that produced them. Promote durable findings back into Mycroft through the Spotlight ingest path and preserve links to evidence.
## Method
Apply the `epistemic-grounding` skill (claim decomposition, support classification, confidence caps, failure router) to every claim. This skill adds four fact-check-specific moves:
0. **Extract every claim first.** Follow `references/extraction.md`: write `claims.md` before any search, then gate it with `python3 "$MYCROFT_DIR/tools/claim-density.py" <draft> <claim count>`. Exit 1 means the list is thin; reopen extraction.
1. **Local context first.** Search durable Mycroft knowledge before any web fetch through Mycroft's wiki tool (`tools/wiki-service.py` `search`, `read`, and `resolve` for named entities, with every value on stdin as the knowledge-workspace skill describes). If it reports an error, say "local wiki context unavailable" and verify from external sources only. Surface what's already known, link to it, and do not treat it as automatically verified.
2. **SIFT acquisition.** Stop, investigate the source, find better coverage, trace to origin. Acquire evidence via `mycroft-fetch` first. Every acquisition should produce an evidence item: `mycroft-fetch` records URL, acquisition method, accessed_at, sha256 of saved bytes, content_type, access_method, and the missing-source gate. If provenance tooling is unavailable, continue the fact-check only as a cited editorial review output and report `provenance incomplete` unless `strict_provenance=true`. See `docs/grounding-provenance-spec.md`.
3. **Primary records by tool.** Numbers, papers, filings and rulings have a producing body; go there before reporting about it. Route files in `references/routes/` (markets-economy, quotes-attribution, web-social-archives, science-studies, companies-courts, official-statistics) say where. `tools/marketdata.py` pulls economic series (FRED, Treasury, ECB, Eurostat, EIA…); `tools/evidence-lookup.py` covers Wayback, Crossref, PubMed, arXiv, EDGAR, CourtListener. Run them with `--evidence` to store the raw response as an `E-*` item you can cite. Recompute derived figures yourself.
4. **Verdict mapping.** Translate the grounding analysis to the closed verdict set (below) and emit the output contract.
### Suspect media triage
For images, video, or audio whose authenticity is in question, triage before escalating:
1. **Provenance first.** Check Content Credentials at `contentcredentials.org/verify` (C2PA manifest: signer, capture device, edit history, AI involvement). A valid manifest from a known signer is strong positive provenance — but signing keys get compromised (Nikon Z6 III, 2025), so treat it as evidence, not proof. Absence of a manifest proves nothing: most legitimate media is unsigned, and screenshots or platform re-encoding strip manifests.
2. **Two detectors minimum.** A single-tool verdict is not evidence. Run at least two (Reality Defender has a free tier; AI or Not for fast triage; Hive for volume). TrueMedia.org shut down January 2025 — do not cite it. Detector agreement caps the claim at `medium` confidence; disagreement means escalate, not average.
3. **Eye and ear are triage only.** Current diffusion-class output has eliminated the classic tells; voice cloning is past the indistinguishable threshold for casual listeners, so voice-only verification fails. Remaining leaks: boundary regions (hairlines, glasses edges), shadow physics, catchlight mismatches, phoneme-lip drift, uniform noise texture.
4. **Escalate.** Anything load-bearing goes to Spotlight for forensic casework and source contact. Record each detector run as an evidence item (tool, date, verdict).
This consumes C2PA manifests on incoming media. It is independent of the sift-c2pa signing pipeline, which signs Mycroft's own outputs.
## Required Output Contract
Every fact-check claim must emit:
```json
{
"claim_id": "claim-001",
"claim_text": "specific factual statement",
"verdict": "verified|partially_verified|unverified|contradicted|mischaracterized",
"grounding": {
"support_type": "direct|indirect|inferred|contradicted|insufficient",
"source_role": "primary|secondary|contextual",
"claim_elements_checked": ["actor", "action", "date", "amount"],
"missing_assumptions": [],
"confidence_cap": "high|medium|low",
"misgrounding_risk": "short risk statement",
"assessment": "why this evidence does or does not ground the claim; include the contradiction-search outcome here"
},
"evidence_refs": ["E1", "E2"],
"human_review": "unreviewed|approved|rejected"
}
```
Evidence items in `data/evidence-bundle.json` may use `linked_evidence_ids: [...]` to chain related acquisitions (SERP→scrape, scrape+screenshot, scrape+web-archive). See `docs/grounding-provenance-spec.md` § Search evidence model.
The validator (`tools/validate-grounding.py`) must reject any claim whose stated confidence exceeds its `confidence_cap`, or whose `evidence_refs` do not resolve to evidence items in `data/evidence-bundle.json`. Publication-ready outputs (`publication_ready: true`) additionally require every referenced claim to be `human_review: approved`.
**Right of response.** A claim that rates a named person or organization `contradicted` or `mischaracterized` is not `publication_ready` until the subject has been offered a chance to respond — state the exact claim, give a reasonable deadline (24-48h is a common newsroom norm; deadlines and legal obligations vary by jurisdiction and outlet) — and the response or non-response is logged as an evidence item. This is an editorial gate for the human reviewer, not a validator check.
## Verdict Rules
Use the closed SIFT verdict set:
- verified
- partially_verified
- unverified
- contradicted
- mischaracterized
Every verdict needs at least one `evidence_refs` entry or a clear `assessment` explaining why the claim could not be verified. `unverified` is a legitimate finding — do not conflate it with `contradicted` (per SOUL.md).
For Spotlight casework, preserve Spotlight's verdict taxonomy when writing `cases/{project}/data/fact-check.json`:
- verified
- unverified
- disputed
- false
Add a `grounding_assessment` field on Spotlight handoffs so the Spotlight fact-checker can independently audit how the Mycroft verifier grounded each claim.
## Corrections
When an error surfaces in an already-delivered fact-check or published draft:
| Situation | Action |
|---|---|
| Factual error | Correct immediately; append a dated correction note |
| Missing context | Add context; formal correction optional |
| New information | Update; mark "Updated: [date]" |
| Subject disputes characterization | Re-run the claim through the recipe; correct only if the re-check warrants it |
Re-emit the corrected claim object with the new verdict, reset `human_review` to `unreviewed`, and add the correction to the evidence bundle so the trail preserves both states. If the output was C2PA-signed, the correction is a new claim in the chain — never mutate a signed manifest.
Correction note format: "Correction [date]: an earlier version stated [error]. In fact, [correct information]."
## Safety
- Do not rewrite the user's draft unless asked.
- Do not fabricate sources.
- Keep confidential source identities out of cloud tools unless the user explicitly approves.
- Separate evidence from inference.
---
## Credits
Claim extraction, the density gate, the evidence routes and the lookup tools are adapted from [Big If True](https://verso.ink/big-if-true/) by Verso.
Suspect-media triage, right-of-response gate, and corrections protocol adapted (one-off, 2026-07-06) from Joe Amditis's `source-verification` and `fact-check-workflow` skills (jamditis/claude-skills-journalism, MIT).
Pliki w paczce (8)
- SKILL.md 11 KB
- references/extraction.md 7 KB
- references/routes/companies-courts.md 3 KB
- references/routes/markets-economy.md 8 KB
- references/routes/official-statistics.md 3 KB
- references/routes/quotes-attribution.md 4 KB
- references/routes/science-studies.md 3 KB
- references/routes/web-social-archives.md 3 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · buriedsignals/mycroft | 100 | MIT |
| namedtoaster/the-last-mile | 100 | MIT |
| thu-maic/openmaic | 100 | MIT |
| amethystluna/embedded-workbench | 100 | MIT |
| mronkko/claude-academic-research | 100 | MIT |
| hagaiw/skillroll | 100 | MIT |
| kouko/monkey-skills | 100 | MIT |
| LeeJuOh/claude-code-zero | 100 | MIT |
| carlheath/ogmios | 100 | MIT |
Migawka bazy z 28.10.2026 · wersja paczki 11eaa433017f (skrót SHA-256 całej paczki)
Pobrania w ostatnich 30 dniach: 0 · ranking
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100fact-check-workflow
Prowadzi uporządkowany proces weryfikacji faktów przy publikacji: sprawdzanie twierdzeń, ocenianie ich i ustalanie kontroli przed publikacją. - 100verifying-claims
Weryfikuje twierdzenia i ocenia wiarygodność źródeł: fact-checking, wykrywanie halucynacji, triangulacja dowodów oraz ocena metodami SIFT i RADAR. - 10004-fact-check
Weryfikuje twierdzenia faktograficzne w tekście względem wiarygodnych źródeł i przepisuje tekst z przypisami, łagodząc te niepotwierdzone. - 100fact-checking-explainers
Weryfikuje wyjaśniacz względem źródeł przed dostarczeniem: każde sprawdzalne twierdzenie ma wynikać z cytowanego źródła, a w przypadku kodu z rzeczywistej implementacji. - 90fact-checker
Sprawdza twierdzenia faktograficzne w tekstach na podstawie wiarygodnych źródeł, ocenia poziom poparcia i proponuje bezpieczniejsze sformułowania lub lepsze cytowania, np. w blogach, raportach i materiałach SEO. - 100editorial-fact-reviewer
Sprawdza artykuł, esej lub analizę pod kątem poprawności faktów, poparcia źródłami, wierności cytatów, aktualności i przesadnych twierdzeń przed publikacją.