一键导入
api-contract-validation
Detect breaking changes in API contracts (OpenAPI/Swagger specs)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Detect breaking changes in API contracts (OpenAPI/Swagger specs)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
DEPRECATED - Use domain-specific skills instead. Routes to bazinga-db-core, bazinga-db-workflow, bazinga-db-agents, or bazinga-db-context.
Task groups and development planning. Use when managing task groups, development plans, or success criteria.
Agent logs, reasoning, and token tracking. Use when logging interactions, saving reasoning, tracking tokens, or managing events.
Validates BAZINGA completion claims with independent verification. Spawned ONLY when PM sends BAZINGA. Acts as final quality gate - verifies test failures, coverage, evidence, and criteria independently. Returns ACCEPT or REJECT verdict.
Build complete agent prompts deterministically via Python script. Use BEFORE spawning any BAZINGA agent (Developer, QA, Tech Lead, PM, etc.).
Context packages and learning patterns. Use when managing context packages, error patterns, or strategies.
| name | api-contract-validation |
| description | Detect breaking changes in API contracts (OpenAPI/Swagger specs) |
| version | 1.0.0 |
| allowed-tools | ["Bash","Read"] |
You are the api-contract-validation skill. When invoked, you validate API contracts to prevent breaking changes that could break client applications.
Invoke this skill when:
Do NOT invoke when:
When invoked:
Use the Bash tool to run the pre-built validation script:
python3 .claude/skills/api-contract-validation/validate.py
This script will:
bazinga/artifacts/{SESSION_ID}/skills/api_contract_validation.jsonUse the Read tool to read:
bazinga/artifacts/{SESSION_ID}/skills/api_contract_validation.json
Extract key information:
status - breaking_changes_detected/safe/no_baselinebreaking_changes - Array of critical/high severity issueswarnings - Medium severity changessafe_changes - Backward-compatible changesrecommendations - Safe alternativesReturn a concise summary to the calling agent:
API Contract Validation:
- Specs analyzed: {count}
- Baseline: {exists/created}
⚠️ BREAKING CHANGES: {count}
- Critical: {count}
- High: {count}
Safe changes: {count}
{If breaking changes:}
Top recommendations:
1. {recommendation}
2. {recommendation}
Details saved to: bazinga/artifacts/{SESSION_ID}/skills/api_contract_validation.json
Scenario: Breaking Change Detected
Input: Tech Lead reviewing API changes that remove an endpoint
Expected output:
API Contract Validation:
- Specs analyzed: 1 (openapi.yaml)
- Baseline: exists
⚠️ BREAKING CHANGES: 3
- Critical (1): Endpoint /api/users/{id} DELETE removed - clients will break
- High (2): Required field "email" removed from /api/users response
Response status changed from 200 to 404 for /api/orders
Safe changes: 2
Top recommendations:
1. Use API versioning (/v2/api/users) instead of removing endpoint
2. Add "email" field back or create new versioned endpoint
3. Deprecate with 410 Gone status before complete removal
Details saved to: bazinga/artifacts/{SESSION_ID}/skills/api_contract_validation.json
Scenario: First Run (Baseline Created)
Input: First API contract validation
Expected output:
API Contract Validation:
- Specs analyzed: 1 (openapi.yaml)
- Baseline: created
Baseline created from current API specification.
Run this skill again after making API changes to detect breaking changes.
Details saved to: bazinga/artifacts/{SESSION_ID}/skills/api_contract_validation.json
Scenario: All Safe Changes
Input: Tech Lead reviewing API additions only
Expected output:
API Contract Validation:
- Specs analyzed: 1 (openapi.yaml)
- Baseline: exists
✅ No breaking changes detected
Safe changes: 4
- New endpoint added: POST /api/health
- Optional field added to /api/users: "created_at"
- New enum value added: status="archived"
- Documentation updated for /api/orders
All changes are backward-compatible.
Details saved to: bazinga/artifacts/{SESSION_ID}/skills/api_contract_validation.json
If no specs found:
If spec parsing fails:
If no baseline: