"Cross-system contract synchronization gate. Run before any commit/push/PR when an implementation changes or corrects a project contract (schema, routes, GraphQL types, env vars, ports, tokens, enums, Docker services)."
Install
npx skillscat add donartkins/griot/contract-sync Install via the SkillsCat registry.
SKILL.md
Contract Synchronization Gate
Any implementation change that corrects or changes a contract must be reflected in the same branch across:
- The owning system's current feature spec (correct field names, real signatures, final enums).
- Every future spec in that system AND every dependent system's specs (fix stale references).
- Relevant context files:
project-kit/context/*,<system>/project-kit/context/*. - Root
AGENTS.mdwhen agent workflow or system boundaries change. progress-tracker.mdof every affected system (session notes on what changed and why).
Contract Types
- Backend: EF Core entities/relations, enum values, REST route signatures, GraphQL type/query/mutation names, auth token claims/endpoints,
GRIOT_SERVICE_TOKENbehavior, Docker/Compose service names and ports. - Web/Mobile: route names, theme tokens, query cache shapes, auth store/cookie behavior.
- Infra: compose service names/ports, container registry names, CI job names, env var matrix.
- QA: suite names, coverage thresholds, test environment expectations.
- AI/MCP: tool names, tool input/output JSON contract, agent/task ids, realtime stream shapes.
Procedure
- Before starting a feature, list every contract it touches.
- Implement.
- Diff against every file that references those contracts; update stale mentions in the same branch.
- Verify with grep: search the repo for the old contract name/signature and confirm zero stale hits.
- Commit the contract updates together with the feature — never on
mainseparately.
A feature is not ready for review while later specs or context still describe stale contracts.