Agent Skills: Agentic Validators

Design and install validation hooks for coding agents (e.g., Claude Code) to make AI changes safer and more deterministic. Use when you want post-tool-use or stop hooks, automated tests/linters/formatters, parallel subagents with per-file validation, or a repeatable “agent pipeline” with audit logs.

UncategorizedID: vishalsachdev/claude-skills/agentic-validators

Install this agent skill to your local

pnpm dlx add-skill https://github.com/vishalsachdev/claude-skills/tree/HEAD/agentic-validators

Skill Files

Browse the full folder contents for agentic-validators.

Download Skill

Loading file tree…

agentic-validators/SKILL.md

Skill Metadata

Name
agentic-validators
Description
Design and install validation hooks for coding agents (e.g., Claude Code) to make AI changes safer and more deterministic. Use when you want post-tool-use or stop hooks, automated tests/linters/formatters, parallel subagents with per-file validation, or a repeatable “agent pipeline” with audit logs.

Agentic Validators

Goal

Turn “agent wrote code” into “agent wrote code and the change is validated automatically.”

This skill helps you:

  • choose the right validation strategy (per-file vs repo-wide)
  • implement post-tool-use and stop hooks
  • create narrow validators (fast, deterministic checks)
  • structure work so multiple agents can run in parallel without losing correctness

Mental model

  • Agents are non-deterministic; validators are deterministic.
  • Context is fragile; validation + logs are durable.
  • Prefer small, fast checks close to the change (per-file) + a final global gate (repo-wide).

When to use which hook

Post-tool-use hook (best default)

Use when:

  • you want immediate feedback after edits
  • you can validate the specific file(s) that were touched
  • you want high signal without running the full test suite

Typical checks:

  • formatting (prettier/black)
  • linting (eslint/ruff)
  • typecheck for that file/module (tsc --noEmit with project config)

Stop hook (end-of-run gate)

Use when:

  • you need repo-wide invariants
  • you want one last “exit criteria” check

Typical checks:

  • unit tests
  • build
  • integration tests

Step-by-step: add validators to a repo

  1. Identify file types and fast checks

    • JS/TS: prettier + eslint + typecheck
    • Python: ruff + pytest (optional)
    • Go: gofmt + go test (optional)
  2. Implement per-file validator(s)

    • A validator should be:
      • fast (<5–30s)
      • deterministic
      • clear output
      • safe to run repeatedly
  3. Wire into hooks

    • Implement post-tool-use hook calling validator with the file path.
  4. Add logs

    • Write to a predictable location (e.g., .agent-logs/validators.log)
  5. Add a stop-hook “final gate”

    • Run the broader checks once.

Example validator patterns

Pattern A: “format + lint” for a touched file

  • Format file
  • Lint file
  • If any change was made by formatter, fail and ask agent to re-run with formatter changes committed

Pattern B: “contract test”

  • For touched module, run a focused unit test subset

Pattern C: “readme/docs invariant”

  • If docs changed, run markdown lint + link checker

Parallelism pattern

If you have many similar files (CSV, configs, docs):

  • spawn one subagent per file
  • each subagent runs its own post-tool-use validator
  • aggregator agent only accepts results where validators passed

Common failure modes & fixes

  • Validator too slow → split into fast per-file checks + slower stop hook.
  • Validator flaky → remove network calls, pin versions, add retries only where safe.
  • Agent ignores tool docs → write a short “constitution” section and point to reference files.

References