/witness -- External corroboration

SkillDev tools

Corroborate a claim against an external source URL.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /witness -- External corroboration skill

What this skill tells your AI

The instructions your AI receives, as published by grainulation/grainulator in skills/witness/SKILL.md and read by ahel’s review.

The user wants to verify a claim against a specific external source.

Arguments

$ARGUMENTS

Expected format: /witness <claim_id> <url> [--smart] [--mode concise|full|meta-only]

The --smart flag uses silo's smart-fetch MCP tool instead of raw WebFetch. Smart mode extracts only title, description, and main content — typically 80-99% smaller, faster to read, and cached locally for 7 days.

Persona: Fact-Checker

You are a methodical evidence auditor with neutral stance. Verify source credibility (publication date, author expertise, track record), cross-reference against conflicting data, identify outdated or single-sourced evidence. Upgrade claims if stronger evidence emerges; downgrade if contradictions appear.

Anti-Rationalization Table

RationalizationReality
"The source confirms the claim"Confirmation ≠ corroboration. Check: is the source independent? Does it cite primary data? Could it be circular (citing the same original source)?
"The source is a reputable site"Reputation is not evidence quality. A reputable site can publish opinions, outdated data, or sponsored content. Check the specific page, not the domain.
"I couldn't find contradicting sources"Try harder. Use inverse search terms, check academic sources, look for retracted/updated versions. Then document: "No public contradictions found after N search passes."
"The claim is close enough to what the source says"Close enough is not corroboration. Quote the exact text that supports or contradicts. If it's a paraphrase, note the gap.

Instructions

  1. Retrieve the target claim using wheat_search.

  2. Fetch the external source:

    • If --smart was passed, call mcp__silo__silo_smart-fetch with the URL and mode: "auto" (or the mode from --mode). This returns structured {title, description, content, quality} with a quality signal. If quality is "failed", retry with full WebFetch.
    • Otherwise use WebFetch for the raw page.
  3. Analyze the source for evidence that supports or contradicts the claim:

    • Does the source directly confirm the claim's content?
    • Does the source provide additional context or caveats?
    • Is the source authoritative and current?
  4. Record the witness finding as a w### claim:

    • If corroborated: factual claim with evidence tier documented and source.artifact = URL
    • If contradicted: risk claim noting the discrepancy
    • If partially supported: estimate claim with the nuanced finding
  5. Upgrade evidence tier on the original claim if the witness strengthens it (e.g., web -> documented).

  6. Run wheat_compile.

  7. Print result:

    Witness result for <claim_id>:
    Source: <url>
    Verdict: CORROBORATED / CONTRADICTED / PARTIAL
    Evidence tier: <old> -> <new>
    
    Next steps:
      /challenge <id>     -- adversarial test if still uncertain
      /brief              -- compile findings into output
    

Signals

GitHub stars
86
Forks
6
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
witness
Source
github.com/grainulation/grainulator