OpenAPI/Swagger spec vs client code drift detector — parses spec, walks fetch/axios calls, detects mismatches
npx skills add Reactive-Skills/skills --skill api-contractnpx -y @reactive-skills/axi invoke api-contract16
Hierarchical nodes
DISCOVER_APIS
Bootstrap entrypoint
4
Whitelisted for safety
3
Automated projections
Visual state machine topology parsed directly from the official STATECHART.md in Reactive-Skills/skills:
Each state is an isolated operational slice. Transitions occur only when typed signals satisfy programmatic guard conditions.
Discover OpenAPI/Swagger spec and identify client code paths
Outgoing Transitions
Boolean(event.payload.api_spec_path) && Boolean(event.payload.client_code_paths)Composite state: spec validation, client code walking, and drift diffing
Outgoing Transitions
event.payload.severity === 'critical'Composite state: parse and validate OpenAPI spec schema
Validate spec is well-formed OpenAPI/Swagger
Outgoing Transitions
event.payload.exit_code === 0Verify spec schema types and definitions are consistent
Outgoing Transitions
event.payload.exit_code === 0Scan for deprecated endpoints and breaking change patterns
Outgoing Transitions
event.payload.exit_code === 0Validate spec examples match schema definitions
Outgoing Transitions
event.payload.exit_code === 0Walk client code and diff against spec for mismatches
Outgoing Transitions
event.payload.exit_code === 0Analyze drift findings and classify by severity
Outgoing Transitions
event.payload.severity === 'critical'Composite state: generate drift report and fix recommendations
Outgoing Transitions
Summarize all drift violations by category
Outgoing Transitions
Generate actionable fix recommendations for each violation
Outgoing Transitions
Human review gate: approve, request revisions, or reject
Outgoing Transitions
event.payload.approved === trueevent.payload.revisions_requested === trueevent.payload.rejected === trueTerminal state: API contract validation complete
Terminal state: Critical issues found, workflow halted
Terminal state: Unrecoverable error occurred
Inspect or drive this state machine directly via the token-efficient AXI CLI:
Check state:
Inspect hierarchy:
Tail events:
Runtime variables persisted across state transitions:
api_spec_pathclient_code_pathsspec_schemaclient_endpointsdrift_findingsmissing_endpointstype_mismatchesdeprecated_usagecoverage_matrixRead models automatically rendered upon transition:
Add to your Claude Desktop, Cursor, or VS Code settings:
{
"mcpServers": {
"reactive-skills": {
"command": "npx",
"args": [
"-y",
"@reactive-skills/axi",
"mcp"
]
}
}
}