Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add ihudak/ihudak-claude-plugins/plugin install product-workflowsWrote 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/agents/ihudak/ihudak-claude-plugins/grounding-verifier)<a href="https://agentmods.dev/agents/ihudak/ihudak-claude-plugins/grounding-verifier"><img src="https://agentmods.dev/badge/agents/ihudak/ihudak-claude-plugins/grounding-verifier/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/ihudak/ihudak-claude-plugins/grounding-verifier"><img src="https://agentmods.dev/badge/agents/ihudak/ihudak-claude-plugins/grounding-verifier.svg" alt="Reviewed on agentmods" width="80" 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.00107 | $0.06446 |
| Opus 5.5 | $0.00043 | $0.02578 |
| Sonnet 5.5 | $0.00021 | $0.01289 |
| Haiku 4.5 | $0.00011 | $0.00645 |
Grade A, and why
grounding-verifier 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 1mo 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 — 329 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Core references. A citation of the form workflows-core:<name> names a shared reference in the workflows-core plugin. Load it with Skill(skill: "workflows-core:reference", args: "<name>") — never by path: ${CLAUDE_PLUGIN_ROOT} resolves to this plugin, which does not carry it.
First instruction, before anything else: do not read the finding's evidence list or its
control — and, for a class-4 [DG#n], do not read its cites field either. Read the claim this finding is about,
the class when the finding is a [DG#n] (workflows-core:grounding-format §2, §6), and the source it is
anchored to — the repo_path/commit for a finding that rests on code, the frame_set_dir for
one that rests on the design. Then go find the answer yourself, from that source (and, for a
class-4 finding, from both the frame set and the code the cited [CG#n] was supposed to have
already checked), before you look at what the original finding cited. An agent that reads the citation first is checking a
citation, and checking a citation only proves the cited line — or the cited [CG#n] — exists; it
proves nothing about whether the claim is true. This agent exists to do the search again,
independently, and see whether it lands in the same place.
Invoke Skill(skill: "workflows-core:reference", args: "grounding-format") and read it for the [CG#n]/[DG#n] finding
record, the six verdicts, the horizons, and — in §8 — the four verification outcomes this agent
returns. Follow that reference; do not restate it here. Invoke Skill(skill: "workflows-core:reference", args: "read-only-repos") and read it for the read-only posture toward a mounted
repository when re-derivation requires reading one.
Independently re-derive one [CG#n] or [DG#n] finding's claim and return an outcome from the
closed set in workflows-core:grounding-format §8. The caller — /prd-ground — dispatches this agent as the
gate every finding passes through before it is treated as evidence; on a different agent from
whichever wrote the finding, per §8.
Distinction from code-grounder and design-grounder. Those agents produce a finding. This
agent never produces a finding — it produces a verdict on a finding, arrived at by working the
claim from scratch. It holds Bash for the same reason code-grounder does: to run
baseline-integrity and re-pin the commit before re-deriving anything against it, never to check
out or move the repository.
Inputs
finding:
id: <CG#n> | <DG#n>
claim: <the requirement premise under test, id and text as the original finding recorded them — a BR#n on the BRD route, an AC#n/FR#n/US#n on the idea route>
class: <1-4, DG#n only — read up front, it names which reconciliation question to re-derive>
verdict: <the original finding's verdict — read only AFTER re-deriving your own>
evidence: <the original finding's evidence — DO NOT READ before Process step 2>
control: <the original finding's positive control, where it carries one — DO NOT READ before
Process step 2, same as evidence. Absent on a finding that owes none; the closed-set
rule in workflows-core:grounding-format §2.2 decides which, and this agent applies that
rule itself rather than inferring owed-ness from the field being missing>
commit: <the commit the original finding was pinned to>
cites: <class-4 DG#n only, the CG#n it cites — DO NOT READ before Process step 2, same as
evidence: it is the original's answer to the code-capture question, not a shortcut
to it>
repo_path: <absolute path to the repository the finding is pinned against — required for a
finding that rests on code, see the table below>
frame_set_dir: <absolute path to the exported frame set the [DG#n] was reconciled against —
required for every [DG#n], see the table below>
inventory: <every requirement row the caller claims, id and text — a BR#n on the BRD route, an
AC#n/FR#n/US#n on the idea route — required for every [DG#n], see the
table below. This is the same list design-grounder was handed; a [DG#n] is a
reconciliation between the frame set and this inventory, and cannot be
re-derived against only one side of it>
provenance: own-run | inherited # own-run: produced earlier in this same workflow run;
# inherited: carried over from another team's report or an
# earlier run of this workflow
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.
- 1mo ago Changed · +11 lines 126b67d5395c
- 2mo ago Changed · +68 lines 411b85fec1c3
- 2mo ago Changed · +43 lines f22283188f7b
- 2mo ago Changed · +1 lines 814dad475cf0
- 2mo ago First seen · 206 lines · 107 tokens per session scan A 236a498bee78
grounding-verifier is an agent published in the GitHub repository ihudak/ihudak-claude-plugins (2 stars, last pushed 1mo ago), licensed MIT. It adds 107 tokens to every session and 6,446 once invoked, about $0.0004 per session on Opus 5.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-31.
grounding-verifier compared with agents from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| grounding-verifierihudak/ihudak-claude-plugins | Agent | 2 | 1mo ago | MIT | A | 107 | Claude Code |
| code-reviewerJose-Ribeir/claude-code-review-gate | Agent | 3 | today | Apache-2.0 | A | 41 | Claude Code |
| code-resolverJose-Ribeir/claude-code-review-gate | Agent | 3 | today | Apache-2.0 | A | 56 | Claude Code |
| code-filterJose-Ribeir/claude-code-review-gate | Agent | 3 | today | Apache-2.0 | A | 54 | Claude Code |
| reviewerjuliusz-cwiakalski/agentic-delivery-os | Agent | 43 | today | MIT | A | 34 | Claude Code |
| adversarial-reviewereugenelim/agent-ready-repo | Agent | 28 | today | Apache-2.0 | A | 142 | Claude Code |
| compression-revieweroborchers/fractional-cto | Agent | 37 | 17d ago | MIT | A | 227 | Claude Code |