forge-speccer-validator

forge-speccer-validator is an agent for Claude Code from LucasDuys/forge. It costs 67 tokens per session (1,212 once invoked), scanned A, original, MIT.

A pre-planning check that looks for file paths mentioned in a specification and confirms that those files exist in the target repository.

In plain words
What is it for?
Use it before planning to validate paths inside code blocks or inline code and report each missing path with its location in the specification.
Why use it?
Misspelled or outdated paths can send the planning process toward files that are not there. Finding them early allows the plan to be corrected.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node scripts/forge-speccer-validator.cjs <spec-path> <repo-root>.

Part of the forge plugin — 10 skills, 13 commands, 9 agents, 3 hooks shipped together

Good fit Use it before planning to validate paths inside code blocks or inline code and report each missing path with its location in the specification.

Compare 6 agents from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/LucasDuys/forge
agentmods
npx agentmods add agents/lucasduys/forge/forge-speccer-validator

Made for: Claude Code.

Or install forge, the plugin that ships this one along with the rest of its 10 skills, 13 commands, 9 agents, 3 hooks.

Wrote 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.

agentmods badge for forge-speccer-validator

README.md
[![agentmods](https://agentmods.dev/badge/agents/lucasduys/forge/forge-speccer-validator/github.svg)](https://agentmods.dev/agents/lucasduys/forge/forge-speccer-validator)
Your own site
<a href="https://agentmods.dev/agents/lucasduys/forge/forge-speccer-validator"><img src="https://agentmods.dev/badge/agents/lucasduys/forge/forge-speccer-validator/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.

agentmods 80×15 button for forge-speccer-validator

Your own site · 80×15
<a href="https://agentmods.dev/agents/lucasduys/forge/forge-speccer-validator"><img src="https://agentmods.dev/badge/agents/lucasduys/forge/forge-speccer-validator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 67 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,212 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00067 $0.01212
Opus 5.5 $0.00027 $0.00485
Sonnet 5.5 $0.00013 $0.00242
Haiku 4.5 $0.00007 $0.00121

Measured 1mo ago against content hash 5a014e9c2345, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

forge-speccer-validator 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.

agents/forge-speccer-validator.md · 110 lines

How it starts

The opening of the file, as written. The whole thing — 110 lines — stays where its author put it; the contents beside it link to each section on GitHub.

forge-speccer-validator Agent

You are the Forge spec path-validation gate. You sit between spec approval and plan dispatch. Your job is to catch stale or misspelled paths in a spec before the planner decomposes it into a frontier whose tasks would otherwise target files that do not exist.

This agent implements spec-forge-v03-gaps R011.

Input

  1. Spec path — absolute path to the spec file under .forge/specs/ or docs/.../specs/.
  2. Repo root — absolute path to the repository the spec targets. Defaults to process.cwd() if not provided.

What to do

Run the validator, read the result, and report one of two statuses.

  1. Invoke the validator directly:

    node scripts/forge-speccer-validator.cjs <spec-path> <repo-root>
    

    Exit code 0 means valid. Exit code 2 means one or more paths are missing. Exit code 1 means a fatal error (spec not readable, bad args).

  2. Alternatively, call the exported function from a Node context:

    const { validateSpecPaths } = require('./scripts/forge-speccer-validator.cjs');
    const result = validateSpecPaths(specPath, repoRoot);
    // -> { valid: boolean, missing: [{ line, path, context }] }
    
  3. Inspect the missing array. Each entry is:

    • line — 1-indexed line number in the spec where the path appears
    • path — the path token as written in the spec
    • context — the trimmed line of source for human context

Status

Report exactly one of:

Status When Payload
OK valid: true, missing: [] None — planner may proceed.
REPLAN_NEEDED valid: false, missing.length > 0 The full missing array, plus per-entry autocorrect suggestions from findNearestPath.
BLOCKED fatal validator error (spec unreadable, repo-root not a directory) Brief description of the error.

Heuristic (what counts as a path)

The validator treats as a path token any string that:

  • Starts with a lowercase letter
  • Matches /^[a-z][a-z0-9_/.-]*\.(md|cjs|mjs|js|ts|tsx|jsx|py|go|rs|sh|json|yaml|yml|toml)$/i
  • Appears inside a fenced code block (...) OR inside a backtick span
  • Does not contain :// (URLs are skipped)
  • Does not contain spaces (prose is skipped)

Read the full file on GitHub · 110 lines

Changes

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.

  1. 1mo ago First seen · 110 lines · 67 tokens per session scan A 5a014e9c2345

Subscribe to this mod's changes

forge-speccer-validator is an agent published in the GitHub repository LucasDuys/forge (56 stars, last pushed 3mo ago), licensed MIT. It adds 67 tokens to every session and 1,212 once invoked, about $0.0003 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-30.

Related

Other agents, from other repositories

documentation-manager

Expert documentation specialist. Proactively updates documentation when code changes are made, ensures README accuracy, and maintains comprehensive technical documentation. Be sure to give this subagent information on the files that were changed so it knows where to look to document changes. Always call this agent…

berekvolgyipeter/dotclaude · 61 tokens

thermo-nuclear-code-quality-review-subagent

Thermo-nuclear code quality audit (maintainability, structure, 1k-line rule, spaghetti, code-judo). Invoked through the Agent tool after a parent gathers diff and file contents. Loads rubric from the thermo-nuclear-code-quality-review skill in this plugin.

michael-denyer/pstack-claude · 68 tokens

deep-research-patcher

Applies critic findings to a nav-deep-research draft as surgical Edit hunks and records a patch log. Tool-locked so it cannot regenerate the report. Spawned once at step 5 by the nav-deep-research skill.

qf-studio/navigator · 55 tokens

cross-repo-prd-writer

Generates cross-repo PRD documents for missing capabilities based on discovery results.

closedloop-ai/claude-plugins · 24 tokens

verification-subagent

Verifies if a task from the implementation plan has been completed by checking source files.

closedloop-ai/claude-plugins · 21 tokens

vibe-change-worker

The one persistent implementation writer for a vibe session. Keeps the same context, worktree and branch while planning, implementing all frontend/backend/prototype/component work, fixing reviewed issues, repairing existing tests its change broke and listing the missing tests for engineering at handoff; it writes…

closedloop-ai/claude-plugins · 102 tokens