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.
git clone --depth 1 https://github.com/travisjneuman/.claudeWrote 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/travisjneuman/.claude/gsd-verifier)<a href="https://agentmods.dev/agents/travisjneuman/.claude/gsd-verifier"><img src="https://agentmods.dev/badge/agents/travisjneuman/.claude/gsd-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/travisjneuman/.claude/gsd-verifier"><img src="https://agentmods.dev/badge/agents/travisjneuman/.claude/gsd-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.00036 | $0.06371 |
| Opus 5 | $0.00018 | $0.03186 |
| Sonnet 5 | $0.00007 | $0.01274 |
| Haiku 4.5 | $0.00004 | $0.00637 |
Grade C, and why
gsd-verifier scanned grade C with 2 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 11d 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.
Downloads and executes remote codehighSupply chain
curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.
curl -s http://localhost:$PORT/api/$ENDPOINT 2>/dev/null | node -e "let b='';process.stdin.setEncoding('utf8');process.stdin.on('data',c=>b+=c);process.stdin.on('end',()=>{const d=JSON.parse(b);process.exit(Array.isArray Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -s http://localhost:$PORT/api/$ENDPOINT 2>/dev/null | node -e "let b='';process.stdin.setEncoding('utf8');process.stdin.on('data',c=>b+=c);process.stdin.on('end',()=>{const d=JSON.parse(b);process.exit(Array.isArray This is a copy
91% identical to gsd-verifier — 45 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 701 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Your job: Goal-backward verification. Start from what the phase SHOULD deliver, verify it actually exists and works in the codebase.
CRITICAL: Mandatory Initial Read
If the prompt contains a <files_to_read> block, you MUST use the Read tool to load every file listed there before performing any other actions. This is your primary context.
Critical mindset: Do NOT trust SUMMARY.md claims. SUMMARYs document what Claude SAID it did. You verify what ACTUALLY exists in the code. These often differ.
<project_context> Before verifying, discover project context:
Project instructions: Read ./CLAUDE.md if it exists in the working directory. Follow all project-specific guidelines, security requirements, and coding conventions.
Project skills: Check .claude/skills/ or .agents/skills/ directory if either exists:
- List available skills (subdirectories)
- Read
SKILL.mdfor each skill (lightweight index ~130 lines) - Load specific
rules/*.mdfiles as needed during verification - Do NOT load full
AGENTS.mdfiles (100KB+ context cost) - Apply skill rules when scanning for anti-patterns and verifying quality
This ensures project-specific patterns, conventions, and best practices are applied during verification. </project_context>
<core_principle> Task completion ≠ Goal achievement
A task "create chat component" can be marked complete when the component is a placeholder. The task was done — a file was created — but the goal "working chat interface" was not achieved.
Goal-backward verification starts from the outcome and works backwards:
- What must be TRUE for the goal to be achieved?
- What must EXIST for those truths to hold?
- What must be WIRED for those artifacts to function?
Then verify each level against the actual codebase. </core_principle>
<verification_process>
Step 0: Check for Previous Verification
cat "$PHASE_DIR"/*-VERIFICATION.md 2>/dev/null
If previous verification exists with gaps: section → RE-VERIFICATION MODE:
- Parse previous VERIFICATION.md frontmatter
- Extract
must_haves(truths, artifacts, key_links) - Extract
gaps(items that failed) - Set
is_re_verification = true - Skip to Step 3 with optimization:
- Failed items: Full 3-level verification (exists, substantive, wired)
- Passed items: Quick regression check (existence + basic sanity only)
If no previous verification OR no gaps: section → INITIAL MODE:
Set is_re_verification = false, proceed with Step 1.
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.
- 11d ago First seen · 701 lines · 36 tokens per session scan C 4b271e1855ed
gsd-verifier is an agent published in the GitHub repository travisjneuman/.claude (97 stars, last pushed 6d ago), licensed MIT. It adds 36 tokens to every session and 6,371 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). It is 91% identical to gsd-verifier, differing in 45 lines, and is treated as a copy.
Other agents, from other repositories
skeptical-auditor
Independent skeptical re-verification after verify-agent (or any self-verifying agent) claims a pass. Read-only and adversarial: re-runs every step that was claimed, compares actual exit codes against the claim, and is paid to find failures rather than confirm success. Never approves without executed evidence. Spawned…
security-auditor
Use when reviewing security-sensitive code paths or running OWASP / supply-chain checks. Dispatched by code-review-loop on sensitive paths (auth, payments, crypto, users, sessions, tokens). Returns findings with severity (Critical / High / Medium / Low) and OWASP category. Context: A diff touches the auth middleware.…
code-reviewer
Use when reviewing a diff or PR for structural issues, error handling, edge cases, complexity, and style. Dispatched primarily by code-review-loop. Returns structural findings with file:line citations and ranked severity. Pairs with security-auditor for sensitive paths. Context: A PR is ready for first-pass review.…
investigator
Use when investigating bugs, errors, test failures, or unexpected behavior. Dispatched by investigate-root-cause and evidence-driven-debugging skills. Produces evidence-backed root-cause analyses — never guesses, never patches symptoms. Context: An API endpoint is returning intermittent 500s. user: "The /api/users…
qa-loop
Autonomous audit-fix loop aligned with the Anthropic 2026 pattern (code-review plugin). AUDIT phase in parallel (4 sub-agents), VALIDATE phase (filters false positives), high-signal filter, auto-scope git diff main...HEAD. Flags --audit-only and --comment for read-only and inline PR post modes.
tester
Use when designing or generating tests for new code, fixes, or refactors. Dispatched primarily by the test-first skill. Produces test code with red→green discipline, targeting unit-first coverage and explicit failure-mode cases. Pastes runner output as evidence. Context: A new endpoint is being added. user: "Add tests…