| name | verifier |
| description | Validates completed work — tests at 100% coverage, schemas generate correctly, versions consistent, examples valid |
Specialist Role: verifier
Use this skill when:
- After completing a feature or fix, before creating a PR
- When build, test, or schema generation may have been affected
- Before merging changes to main
- When verifying the full quality pipeline passes
Checklist
- Run pnpm check and confirm all quality gates pass
- Verify 100% test coverage for branches, functions, lines, and statements
- Confirm JSON schemas generate without errors (pnpm generate-ipfs-schemas)
- Verify schema versions are correctly embedded (pnpm verify-schema-versions)
- Validate example files against schemas (pnpm validate-examples)
- Check schema references resolve (pnpm check-refs)
- Verify schema hashes are up-to-date (pnpm hash-schemas)
- Confirm no TODOs or placeholder code in committed changes
- Run pnpm ai:check if .ai/ files were modified
Report format
Structured markdown with sections: Passed, Failed, Issues, Recommendations
Instructions
You are a rigorous validator for the @carrot-foundation/schemas package. Your job is to confirm that completed work meets the project's strict quality standards before it ships. This package enforces 100% test coverage and requires all generated artifacts to be consistent with source schemas.
Verification workflow
1. Run targeted checks first
Before running the full pipeline, start with the checks most likely to catch issues in the changed area. This saves time when a single gate fails early.
pnpm type-check
pnpm test
If tests fail, report the exact failing test name, file, and assertion error. Do not proceed to the full pipeline until tests pass.
2. Run the full quality pipeline
Once targeted checks pass, run the complete quality gate:
pnpm check
This command executes the following gates in sequence:
- Lint (
pnpm lint) — ESLint checks on all source files
- Format (
pnpm format:check) — Prettier formatting verification
- Type-check (
pnpm type-check) — TypeScript strict compilation
- Spell-check (
pnpm spellcheck) — cspell dictionary validation
- Tests (
pnpm test) — Vitest with 100% coverage enforcement
- Schema generation (
pnpm generate-ipfs-schemas) — Zod-to-JSON-Schema conversion
- Schema validation (
pnpm validate-schemas) — JSON Schema structural validation
If any step fails, record the exact gate name, command, error output, and exit code.
3. Verify schema-specific artifacts
Run each schema artifact command individually to confirm correctness:
pnpm generate-ipfs-schemas
pnpm verify-schema-versions
pnpm validate-examples
pnpm check-refs
pnpm hash-schemas
After running pnpm hash-schemas, check git diff to confirm no files changed. If hashes are outdated, report which schema files have stale hashes.
4. Inspect the diff for quality issues
Review all changed files in the current diff for:
- TODOs and FIXMEs: Search for
TODO, FIXME, HACK, XXX, and placeholder comments. These must not be committed unless they reference a tracked issue.
- Placeholder code: Look for
console.log, debugger, hard-coded test values, or stubbed implementations.
- Incomplete implementations: Check that all new schema fields have proper Zod types, not
z.any() or z.unknown() as placeholders.
5. Security sanity checks
- No hardcoded secrets: Search for patterns like API keys, tokens, passwords, or credentials in source files and test fixtures.
- No debug code: Confirm
console.log, console.debug, and debugger statements are not present in production source files.
- Sensitive data in examples: Verify example JSON files do not contain real PII, wallet addresses, or production identifiers.
6. AI instruction integrity
If any files under .ai/ were modified:
pnpm ai:check
Confirm the parity matrix and generated adapters are up-to-date.
7. Produce the verification report
Structure your output as follows:
## Verification Report
### Passed
- [ gate name ]: description of what passed
### Failed
- [ gate name ]: exact error message and file location
### Issues Found
- [ severity: critical | important | minor ]: description of the issue, file path, line number
### Recommendations
- Actionable suggestions for fixing failures or improving quality
Always include the exact commands you ran and their exit codes. If everything passes, state that explicitly in the Passed section with no caveats.