configure-plugin/skills/configure-api-tests/SKILL.md
API contract testing: Pact, OpenAPI validation, JSON Schema/Zod. Use when adding consumer/provider contract tests or detecting breaking API changes in CI.
npx skillsauth add laurigates/claude-plugins configure-api-testsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check and configure API contract testing infrastructure for validating API contracts, schemas, and consumer-provider agreements.
| Use this skill when... | Use another approach when... |
|------------------------|------------------------------|
| Setting up Pact consumer/provider contract tests | Writing individual unit tests (/configure:tests) |
| Configuring OpenAPI request/response validation | Validating a single API endpoint manually |
| Adding JSON Schema or Zod schema testing | Checking general test coverage (/configure:coverage) |
| Detecting breaking API changes in CI | Reviewing API design decisions (code-review agent) |
| Auditing API testing compliance across a project | Configuring general CI/CD workflows (/configure:workflows) |
pwdfind . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' \)find . -maxdepth 1 \( -name package.json -o -name pyproject.toml \) -exec grep -l 'pact' {} +find . -maxdepth 1 \( -name 'openapi.yaml' -o -name 'openapi.json' -o -name 'swagger.json' \)find . -maxdepth 1 -type d -name 'pacts'find tests -maxdepth 2 -type d -name 'contract'find . -maxdepth 1 -name '.project-standards.yaml'Parse from command arguments:
--check-only: Report compliance status without modifications (CI/CD mode)--fix: Apply fixes automatically without prompting--type <pact|openapi|schema>: Focus on specific typeAPI Testing Types:
| Type | Use Case | |------|----------| | Pact | Microservices, multiple consumers, breaking change detection | | OpenAPI | API-first development, documentation-driven testing | | Schema | Simple validation, GraphQL APIs, single service |
Execute this API testing compliance check:
Check for these indicators:
| Indicator | Component | Status |
|-----------|-----------|--------|
| pact in dependencies | Pact contract testing | Installed |
| openapi.yaml or swagger.json | OpenAPI specification | Present |
| @apidevtools/swagger-parser | OpenAPI validation | Configured |
| ajv in dependencies | JSON Schema validation | Configured |
| pacts/ directory | Pact contracts | Present |
For each detected component, check completeness:
Contract Testing (Pact):
@pact-foundation/pact installed (JS) or pact-python (Python)OpenAPI Validation:
Schema Testing:
ajv or similar validator installedPrint a formatted compliance report:
API Testing Compliance Report
==============================
Project: [name]
API Type: [REST | GraphQL | gRPC]
Contract Testing (Pact):
@pact-foundation/pact package.json [INSTALLED | MISSING]
Consumer tests tests/contract/consumer/ [FOUND | NONE]
Provider tests tests/contract/provider/ [FOUND | NONE]
Pact Broker CI configuration [CONFIGURED | OPTIONAL]
can-i-deploy CI gate [CONFIGURED | OPTIONAL]
OpenAPI Validation:
OpenAPI spec openapi.yaml [EXISTS | MISSING]
Spec version OpenAPI 3.1 [CURRENT | OUTDATED]
Request validation middleware [CONFIGURED | MISSING]
Response validation test helpers [CONFIGURED | MISSING]
Breaking change CI oasdiff [CONFIGURED | OPTIONAL]
Schema Testing:
JSON Schemas schemas/ [EXISTS | N/A]
Schema validator ajv/zod [INSTALLED | MISSING]
Response validation test helpers [CONFIGURED | MISSING]
Overall: [X issues found]
Recommendations:
- Add Pact consumer tests for service dependencies
- Configure OpenAPI response validation in tests
- Add breaking change detection to CI
If --check-only, stop here.
Apply fixes based on detected project type. Use templates from REFERENCE.md for:
For JavaScript/TypeScript projects, install with bun add --dev. For Python, install with uv add --group dev.
Create .github/workflows/api-tests.yml with jobs for:
Add npm/bun scripts to package.json for local testing. Use workflow templates from REFERENCE.md.
Update .project-standards.yaml:
standards_version: "2025.1"
last_configured: "[timestamp]"
components:
api_tests: "2025.1"
api_tests_contract: "[pact|none]"
api_tests_openapi: true
api_tests_schema: "[zod|ajv|none]"
api_tests_breaking_change_ci: true
Print a summary of all changes applied, scripts added, and next steps for the user to verify the configuration.
For detailed templates and code examples, see REFERENCE.md.
| Context | Command |
|---------|---------|
| Quick compliance check | /configure:api-tests --check-only |
| Auto-fix all issues | /configure:api-tests --fix |
| Pact contracts only | /configure:api-tests --fix --type pact |
| OpenAPI validation only | /configure:api-tests --fix --type openapi |
| Schema testing only | /configure:api-tests --fix --type schema |
| Flag | Description |
|------|-------------|
| --check-only | Report status without offering fixes |
| --fix | Apply all fixes automatically without prompting |
| --type <type> | Focus on specific type (pact, openapi, schema) |
# Check compliance and offer fixes
/configure:api-tests
# Check only, no modifications
/configure:api-tests --check-only
# Auto-fix all issues
/configure:api-tests --fix
# Configure Pact only
/configure:api-tests --fix --type pact
# Configure OpenAPI validation only
/configure:api-tests --fix --type openapi
/configure:tests - Unit testing configuration/configure:integration-tests - Integration testing/configure:all - Run all compliance checkstools
Scaffold a new ComfyUI custom-node repo (pyproject, CI, release-please, vitest+pytest, JS extension skeleton) in the picker/gesture vein. Use when bootstrapping or init-ing a comfyui node pack.
tools
Orchestrate a ComfyUI node pack from idea to registry: scaffold, create + seed the repo, open the gitops adoption PR. Use when releasing or spinning up a new comfyui node pack.
testing
macOS EndpointSecurity/EDR high CPU & battery drain. Use when Kandji ESF / XProtect pegs a core; trace the exec storm via powermetrics + eslogger.
development
odiff pixel-by-pixel image diffing. Use when comparing screenshots, detecting visual regressions, diffing before/after PNGs, asserting golden images.