align-grid
Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular grid (International Typographic Style) — not a…
Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy.
$ npx -y skills add danielvm-git/bigpowers --skill validate-contracts --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/validate-contractsContext preview
The summary Claude sees to decide when to auto-load this skill.
Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy.
# story: e80s02 name: validate-contracts phase: verify description: "Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy." model: sonnet effort: standard
> **HARD GATE** — Do NOT deploy or migrate data without running `validate-contracts` first. Silent data divergence between system boundaries causes the hardest-to-debug production bugs. > > **HARD GATE** — Contract files MUST be version-controlled alongside code. Outdated contracts are worse than no contracts. If a contract hasn't been reviewed in 30 days, flag it as stale.
Validate that data structures stay in sync across system boundaries — front-end vs back-end, API responses vs expected schemas, config files vs code assumptions, migration output vs target shape.
| Mode | What it catches | When to use | |------|----------------|-------------| | **Schema** | API response shape mismatches | Before every deploy, after API changes | | **Key-set** | Missing/unexpected keys across two data sources | Translation files, configs, enum definitions | | **Shape** | Column type or format violations | After migrations, before consuming exports |
All contract files live in `specs/contracts/` as YAML. See [REFERENCE.md](REFERENCE.md) for extended examples.
# specs/contracts/i18n-keys.yaml sources: reference: src/locales/en.json target: src/messages/en.json mode: subset
Create a YAML file in `specs/contracts/` following the schema for the mode.
bash scripts/validate-contracts.sh specs/contracts/<contract>.yaml
The runner auto-detects key-set contracts (`sources:` block). Schema and shape modes are documented in REFERENCE.md for consumer projects.
PASS: key-set contract # or FAIL: key-set — N keys in reference missing from target
JSON Lines output for CI is planned for schema/shape modes; key-set failures exit non-zero.
bash scripts/validate-contracts.sh specs/contracts/<contract>.yaml
Part of **★ VERIFY ★**: `verify-work` → `validate-contracts` → `smoke-test` → `run-evals` → `audit-code`
→ verify: `test -x scripts/validate-contracts.sh && bash scripts/validate-contracts.sh --self-test && grep -q 'validate-contracts.sh' skills/validate-contracts/SKILL.md && echo OK`
Agent skills synthesizing 17 years of software engineering discipline — from Clean Code to AI-native architecture — into a single, prescriptive methodology for solo developers.
Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular grid (International Typographic Style) — not a…
Analyze the blast radius of a proposed change before any code is written. Maps dependents, affected stories, and test coverage.…
Self-review checklist for the coding agent to run before dispatching a reviewer. Checks CONVENTIONS.md compliance, Boy Scout…
Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY…
Eight-step epic build cycle — reads state.yaml, execution-status.yaml, and one epic capsule; updates status via bp-yaml-set or…
Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml and epic capsule directories. Modes Add and…