# Schema.linter

> Validate and lint structured data files (YAML, JSON, TOML) for consistency, required fields, syntax errors, and schema compliance.

- Skill: `majiayu000/schema-linter` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/schema-linter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/schema-linter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/schema-linter

---


# schema.linter

## Purpose

Validate configuration files, JSON schemas, and structured data files against defined rules to catch errors before runtime. This is a shared skill applicable across all Carbon ACX file types.

## When to Use

**Trigger Patterns:**
- "Validate all config files"
- "Check schemas for errors"
- "Lint JSON/YAML files"
- "Verify wrangler.toml is valid"
- Pre-commit hook integration

**Do NOT Use When:**
- Validating Python/TypeScript code (use language-specific linters)
- Checking CSV data integrity (use data-specific validation)

## Allowed Tools

- `read_file` - Read config files and schemas
- `python` - Parse and validate YAML/JSON/TOML
- `bash` - Run external validators (yamllint, jsonschema)

**Access Level:** 1 (Local Execution - read-only)

## Expected I/O

**Input:**
- File paths or glob patterns
- Example: `"schemas/**/*.json"`, `"wrangler.toml"`, `"config/*.yaml"`

**Output:**
- Validation report with errors/warnings
- File:line references for each issue
- Suggested fixes when possible

## Dependencies

**Required:**
- Python 3.11+ with PyYAML, jsonschema, toml libraries
- Optional: yamllint, prettier (JSON)

**Configuration:**
- `config.json` - Linting rules and schema paths

## Examples

### Example: Validate JSON Schema

**User:** "Use schema.linter to check all config files"

**Output:**
```
✅ config/layers.json - Valid
✅ config/sectors.json - Valid
❌ config/profiles.json - 2 errors:
   Line 15: Missing required field 'profile_id'
   Line 23: Invalid type for 'vintage' (expected integer, got string)

⚠️  schemas/figure-manifest.schema.json - 1 warning:
   Line 45: Description field is empty

Summary: 2 files valid, 1 file with errors, 1 file with warnings
```

## Limitations

- Cannot fix files automatically (reports only)
- Limited to YAML/JSON/TOML formats
- Custom schema definitions required for validation

## Validation Criteria

- ✅ All files parse without syntax errors
- ✅ Required fields present
- ✅ Types match schema definitions
- ✅ No duplicate keys

## Maintenance

**Owner:** Platform Team
**Review Cycle:** Quarterly
**Last Updated:** 2025-10-18
**Version:** 1.0.0

