From grainulator
Corroborates claims against external URLs by fetching content with smart-fetch or WebFetch, analyzing credibility, and recording findings as evidence or risks. Useful for verifying statements in code docs or research.
npx claudepluginhub grainulation/grainulator --plugin grainulatorThis skill uses the workspace's default tool permissions.
The user wants to verify a claim against a specific external source.
Verifies factual claims by isolating assertions, sourcing primary evidence, assessing context, and issuing verdicts like True/Mostly True/False with confidence levels. For stats, quotes, history, science reports.
Adversarially tests claims by seeking counterevidence, identifying logical fallacies, and demanding empirical proof using Wheat tools and web searches.
Evaluates claims by triangulating sources, rating evidence quality (primary/secondary/tertiary), assessing source credibility, and reaching confidence-rated conclusions. For fact-checking, due diligence, and verifying conflicting evidence.
Share bugs, ideas, or general feedback.
The user wants to verify a claim against a specific external source.
$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.
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.
| Rationalization | Reality |
|---|---|
| "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. |
Retrieve the target claim using wheat_search.
Fetch the external source:
--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.Analyze the source for evidence that supports or contradicts the claim:
Record the witness finding as a w### claim:
documented and source.artifact = URLUpgrade evidence tier on the original claim if the witness strengthens it (e.g., web -> documented).
Run wheat_compile.
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