qa-contract-testing
Contract testing for microservices: 5 skills (contract-compatibility-gate, graphql-schema-regression, openapi-contract-diff, pact-contract-testing, protobuf-compat-checking) and 2 agents (contract-drift-investigator, contract-test-scaffolder).
Install this plugin
/plugin install qa-contract-testing@testland-qaPart of role bundles: qa-role-sdet, qa-role-backend
qa-contract-testing
Contract testing for microservices: Pact (consumer + provider + broker + can-i-deploy in one), OpenAPI / GraphQL / Protobuf compat checking, and a contract drift investigator.
Components
| Type | Name | Description |
|---|---|---|
| Skill | pact-contract-testing | Author Pact consumer tests, publish pact files to the Broker, verify on the provider, gate deploys with can-i-deploy. |
| Skill | openapi-contract-diff | Diff two OpenAPI specs with oasdiff breaking; classify findings ERR/WARN/INFO; gate CI with --fail-on. |
| Skill | graphql-schema-regression | Diff GraphQL schemas with graphql-inspector; classify BREAKING/DANGEROUS/NON_BREAKING; apply deprecation-aware rules. |
| Skill | protobuf-compat-checking | Wrap buf breaking with category selection (FILE/PACKAGE/WIRE_JSON/WIRE), ignore patterns, and CI gating. |
| Skill | contract-compatibility-gate | Aggregate Pact / oasdiff / graphql-inspector / buf-breaking verdicts into a single severity-aware go/no-go gate with markdown + JSON artifact for CI. |
| Agent | contract-drift-investigator | Diff current contracts vs last-known-green; categorize drift (provider-implementation / schema-rename / removal / narrowing / consumer-expectation / data-fixture / version-skew); route to owner. |
| Agent | contract-test-scaffolder | Read OpenAPI / GraphQL SDL / Protobuf / existing pact and emit scaffolded Pact consumer or provider tests, schemathesis fuzzing runners, or buf breaking baselines - never inventing example values the artifact does not declare. |
Install
/plugin marketplace add testland/qa
/plugin install qa-contract-testing@testland-qaSkills
contract-compatibility-gate
Builds a unified deployment-readiness gate that aggregates verdicts from any combination of Pact `can-i-deploy`, oasdiff (OpenAPI), graphql-inspector (GraphQL), and `buf breaking` (Protobuf), applies severity-aware pass/fail thresholds, and emits a single go / no-go decision with per-finding rationale. Use when authoring a CI step that gates a deployment on cross-protocol contract compatibility.
graphql-schema-regression
Diffs two GraphQL schemas with `graphql-inspector diff`, classifies each change as BREAKING / DANGEROUS / NON_BREAKING, and applies opt-in rules (suppress-removal-of-deprecated-field, consider-usage, ignore-description-changes) to gate CI on schema regressions. Use when reviewing GraphQL schema changes in a PR or evaluating Federation supergraph drift.
openapi-contract-diff
Diffs two OpenAPI versions for breaking changes (removed endpoints, deleted schemas, narrowed enums, response shape changes) using `oasdiff breaking`, severity-classifies the findings (ERR / WARN / INFO), and gates CI with `--fail-on`. Use when reviewing an OpenAPI spec change in a PR or on a release tag.
pact-contract-testing
Authors and verifies Pact consumer-driven contract tests across the full Pact lifecycle - consumer tests producing pact files, publishing to the Pact Broker, provider verification, and `can-i-deploy` deployment gates. Use when introducing a new HTTP/JSON API contract between two services, diagnosing breaking changes, or wiring contract verification into CI.
protobuf-compat-checking
Wraps `buf breaking` to compare a Protobuf schema against a past version, classifies breaking changes by category (FILE / PACKAGE / WIRE_JSON / WIRE), configures buf.yaml rule selection plus per-path exemptions, and gates CI on the exit code. Use when reviewing `.proto` changes in a PR for gRPC services, BSR modules, or schema-versioned message bus payloads.
Agents
contract-drift-investigator
Read-only investigator that diffs current contracts against the last-known-green baseline (Pact pact files, OpenAPI spec, GraphQL SDL, Protobuf .proto), categorizes drift sources (provider-side change vs schema-only change vs consumer-expectation change vs data-fixture change), and reports findings with file:line references. Use proactively when a contract test fails or `can-i-deploy` returns no, before opening a fix.
contract-test-scaffolder
Builder agent that reads a service contract artifact (OpenAPI 3.x spec, GraphQL SDL, Protobuf .proto, or an existing Pact pact file) and emits scaffolded contract-test stubs - Pact consumer-side expectations for OpenAPI/GraphQL inputs, schemathesis property-based fuzzing runners for OpenAPI, or `buf breaking`-anchored compatibility tests for .proto. Sibling of `contract-drift-investigator` (investigates drift in already-written tests, downstream); this agent is upstream - it generates the tests to be investigated. Use when starting consumer-side contract testing on a previously-uncovered API or when adding a new operation to an existing contract suite.