Foundation

/ads validate

Validate contracts, runs, capabilities, maturity, or release readiness

Claude Code
/ads validate

Installed as a plugin? The same command is namespaced: /claude-ads:ads validate

What it does

Deterministic validation for contracts, scoring inputs, run bundles, capabilities, source freshness, installs, and release readiness. It is the quality gate: proof that a run, a claimed capability, or the installation itself is sound before anyone relies on it.

Use it to

  • Preflight a project before running an audit or drafting a launch
  • Verify a run bundle is complete before rendering a client report
  • Check that a claimed capability has an implementation, fixtures, and tests behind it
  • Detect stale sources and expired evidence before they leak into deliverables
  • Validate an install or uninstall against the ownership manifest
  • Run a release-readiness audit with a fresh-context verifier

How it works

  1. Choose the narrowest target

    Contract, scores, run, capability, repository, or release: it validates the smallest scope that answers the question.

  2. Run the deterministic validator

    Contracts and bundles go through the core validator, not prompt-side judgment.

  3. Check capability claims

    A capability counts only with an implementation, fixtures, tests, sources, and a truthful mode declaration.

  4. Check evidence freshness

    Expired claims that cannot be reverified are demoted for the run and dependent release-current assertions are blocked.

  5. Report blocker and recovery

    Returns pass or fail per check, the highest-priority blocker, exact evidence, and recovery steps.

Reads & produces

What it reads

  • A contract, finding, or run bundle in versioned JSON
  • Scoring inputs: controls, findings, category weights, and coverage
  • The capability manifest and its implementation, fixture, and test paths
  • Control-plane source and claim entries with refresh dates
  • The ownership manifest and checksums for install and uninstall checks

What it produces

  • Machine-readable pass or fail results for the chosen target
  • The single highest-priority blocker
  • Exact evidence for every failure
  • Concrete recovery steps

Guardrails

What /ads validate will and will not do, by contract. These boundaries are enforced in the skill itself, not left to judgment.

  • Never promotes maturity because documentation looks polished or a prior release passed. Stale evidence and skipped remote CI demote readiness.
  • An expired claim that cannot be reverified fails the current-evidence check, is demoted for the run, and blocks dependent release-current assertions before any recovery guidance.
  • Uninstall validation permits removing only exact paths listed in the matching ownership manifest. It never discovers targets with a name-pattern glob, so unrelated ads-* skills stay untouched.
  • If the ownership manifest is absent, invalid, mismatched, or unsafe, deletion stops before anything is removed and manual review is required.
  • Rejects pipe-to-shell install instructions. Archives require a SHA-256 checksum verified against a trusted release channel before execution.

Questions

What can validate actually check?

Six target levels: a single contract or bundle, scoring inputs, a full run, a claimed capability, the whole repository, or release readiness via a fresh-context verifier. It always picks the narrowest target that answers the question.

Why did validation fail on a claim that used to pass?

Evidence expires. When a source's refresh date passes, the claim is no longer current, and if it cannot be reverified it is demoted for the run. This is deliberate: stale evidence never silently supports a current claim.

Is uninstall validation safe if I have other ads-related skills installed?

Yes. Uninstall only removes exact paths from the Claude Ads ownership manifest. It never matches by name pattern, so an unrelated skill with an ads- prefix is never touched.