AgentSkillsCN

schema-validate

根据 JSON 模式验证 JSON 数据。当用户要求按照模式验证 JSON、检查 JSON 是否符合模式、测试 JSON 数据的有效性,或验证 JSON 结构是否与模式定义相符时,可使用此功能。

SKILL.md
--- frontmatter
name: schema-validate
description: Validate JSON data against a JSON Schema. Use when the user asks to validate JSON against a schema, check if JSON conforms to a schema, test JSON data validity, or verify JSON structure matches a schema definition.

Validate JSON Against Schema

Validate JSON data files against a JSON Schema definition.

Usage

bash
npx tsx scripts/validate.ts <json-file> --schema=<schema-file> [options]

Arguments

ArgumentRequiredDescription
json-fileYesPath to the JSON file to validate

Options

OptionDescription
--schema=FILEPath to the JSON Schema file (required)
--all-errorsReport all errors, not just the first
--strictEnable strict mode validation
--verboseShow detailed validation output
--formatOutput format: text (default), json

Output

Valid JSON:

code
Valid
  Schema: user-schema.json
  File: user.json

Invalid JSON:

code
Invalid (3 errors)
  1. /email: must match format "email"
  2. /age: must be >= 0
  3. /name: must be string

Script Execution

bash
npx tsx scripts/validate.ts data.json --schema=schema.json
npx tsx scripts/validate.ts data.json --schema=schema.json --all-errors
npx tsx scripts/validate.ts data.json --schema=schema.json --format=json

Run from the json-schema plugin directory: ~/.claude/plugins/cache/json-schema/

Batch Validation

Validate multiple files against the same schema using glob patterns:

bash
# Validate all JSON files in a directory
for f in data/*.json; do npx tsx scripts/validate.ts "$f" --schema=schema.json; done

JSON Output Format

When using --format=json:

json
{
  "valid": false,
  "file": "user.json",
  "schema": "user-schema.json",
  "errors": [
    {
      "path": "/email",
      "message": "must match format \"email\"",
      "keyword": "format"
    }
  ]
}

Error Messages

Common validation errors:

  • must be string - Type mismatch
  • must match format "..." - Format validation failed
  • must be >= N / must be <= N - Number range violation
  • must NOT have additional properties - Unknown property
  • must have required property '...' - Missing required field
  • must match pattern "..." - String pattern mismatch

Related Skills

  • Use schema-meta to validate that a schema is well-formed
  • Use schema-check to validate a JSON file against its embedded $schema