Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add grainulation/grainulator --skill witnessgit clone --depth 1 https://github.com/grainulation/grainulatorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/grainulation/grainulator/witness)<a href="https://agentmods.dev/skills/grainulation/grainulator/witness"><img src="https://agentmods.dev/badge/skills/grainulation/grainulator/witness.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00015 | $0.00779 |
| Opus 5 | $0.00008 | $0.00390 |
| Sonnet 5 | $0.00003 | $0.00156 |
| Haiku 4.5 | $0.00002 | $0.00078 |
Grade A, and why
witness scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/witness -- External corroboration
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
| 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. |
Instructions
-
Retrieve the target claim using
wheat_search. -
Fetch the external source:
- If
--smartwas passed, callmcp__silo__silo_smart-fetchwith the URL andmode: "auto"(or the mode from--mode). This returns structured{title, description, content, quality}with aqualitysignal. If quality is "failed", retry with full WebFetch. - Otherwise use WebFetch for the raw page.
- If
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 72 lines · 15 tokens per session scan A fb8f3bcd84b6
witness is a skill published in the GitHub repository grainulation/grainulator (86 stars, last pushed 4mo ago), licensed MIT. It adds 15 tokens to every session and 779 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
domain-expert
Use this skill during /plan (between scope validation and writing the plan artifact) to inject domain-specific context, gap questions, and regulatory concerns into the plan. Triggers automatically when the plan skill evaluates the task and scope.md against the domain registry in domains/index.json using semantic…
discord-intent-application
Helps write the justification text for Discord Developer Portal privileged intent applications (Message Content, Server Members, Presence) for a specific bot. Takes a plain-text description of the bot's functionality and/or an uploaded/local codebase, screens the bot's features against Discord's known rejection…
start
Use this skill when the user runs /start, says "start", "enable the SDLC workflow", "I want to build", "I want to fix", "set up", "get started", or otherwise signals they want to activate or re-enable the SDLC workflow. Handles three distinct paths based on marker state — fresh install (opt-in activation), re-enable…
plan
Use this skill at the START of every coding task — new builds, bug fixes, and change requests. Classifies the work item, validates it against project scope, produces a high-level estimate, proposes a technology stack, and checks stack compatibility. Writes a plan artifact to .claude/sdlc/plans/ that every downstream…
configure
Use this skill when the user runs /configure, /configure --needs, or /configure --check. Also auto-invoked by env-detect.sh on fresh install (Layer 0) and by skills that find required config missing at runtime (Layer 2). Guides setup of config/tools.json and config/tools.local.json through a question bank; handles…
status
Use this skill when the user asks "where am I", "what's the current task", "what's blocking me", "show status", "what needs sign-off", or "what's next". Prints a snapshot of the active plan, gate, sign-off progress, and next action. Reads only — writes nothing.