contract-testing-patterns
Pact consumer-driven contracts, provider verification, schema evolution
Profile →npx skills add vibeeval/vibecosystem --skill contract-testing-patterns --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Contract Testing Patterns ## Consumer-Driven Contract Testing with Pact ### Consumer Test (JavaScript) ```javascript const { PactV3, MatchersV3 } = require('@pact-foundation/pact'); const { like, eachLike, string, integer } = MatchersV3; const provider = new PactV3({ consumer: 'OrderService', provider: 'UserService', logLevel: 'warn', }); describe('User API Contract', () => { it('returns user by ID', async () => { await provider .given('user with ID 1 exists') .uponReceiving('a request for user 1') .withRequest({ method: 'GET', path: '/api/users/1', headers: { Accept: 'application/json' }, }) .willRespondWith({ status: 200, headers: { 'Content-Type': 'application/json' }, body: { id: integer(1), name: string('Jane Doe'), email: string('jane@example.com'), roles: eachLike('admin'), }, }) .executeTest(async (mockServer) => { const client = new UserClient(mockServer.url); const user = await client.getUser(1); expect(user.id).toBe(1); expect(user.name).toBeDefined(); }); }); }); ``` ### Provider Verification ```javascript const { Verifier } = require('@pact-foundation/pact'); describe('User Provider Verification', () => { it('validates consumer contracts', async () => { const verifie
- Consumer-Driven Contract Testing with Pact
- Consumer Test (JavaScript)
- Provider Verification
- Schema Evolution Rules
- Can-I-Deploy Check
- Checklist
- Anti-Patterns
Before deploying consumer pact-broker can-i-deploy \ Before deploying provider
What does the contract-testing-patterns skill do?
Pact consumer-driven contracts, provider verification, schema evolution
How do I install it?
Run `npx skills add vibeeval/vibecosystem --skill contract-testing-patterns --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From vibeeval/vibecosystem, a repository with 521 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.