Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add pactflow/pactflow-agent-skills --skill pact-coveragegit clone --depth 1 https://github.com/pactflow/pactflow-agent-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/pactflow/pactflow-agent-skills/pact-coverage)<a href="https://agentmods.dev/skills/pactflow/pactflow-agent-skills/pact-coverage"><img src="https://agentmods.dev/badge/skills/pactflow/pactflow-agent-skills/pact-coverage/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/pactflow/pactflow-agent-skills/pact-coverage"><img src="https://agentmods.dev/badge/skills/pactflow/pactflow-agent-skills/pact-coverage.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00220 | $0.04613 |
| Opus 5.5 | $0.00088 | $0.01845 |
| Sonnet 5.5 | $0.00044 | $0.00923 |
| Haiku 4.5 | $0.00022 | $0.00461 |
Grade A, and why
pact-coverage scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 380 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pact Coverage
Analyses Pact v2/v3/v4 interactions against an OpenAPI spec and reports gaps across four core dimensions: path/method, status codes, request body required fields, and response body required fields. An optional fifth dimension — consumer code status branch analysis — surfaces status codes the consumer handles in code but hasn't tested in any pact. Never modifies files.
When the spec is an AsyncAPI 3.x document the same skill measures Pact message pacts instead; see AsyncAPI mode.
Prerequisites: ripwire is required — as an MCP server for interactive use (see ripwire MCP setup above), or as a CLI binary for CI scripts (see Scripts (CI / advanced) below). Run command -v ripwire to check; see references/install-ripwire.md for install instructions.
What this measures
Pact coverage answers one question: do the consumer's pact files exercise everything the consumer actually uses from the provider?
The provider's OAS describes its full surface — but the consumer only calls a subset of it. Measuring coverage against the full OAS produces false gaps (unused provider endpoints appearing as uncovered). The correct denominator is the consumer-filtered provider OAS: the slice of the provider's OAS that the consumer actually calls.
Flow:
- ripwire scans the consumer codebase → discovers which provider paths/methods the consumer calls
- The provider OAS is filtered to only those routes (removing unused endpoints)
- Pact files are compared against the filtered OAS → gaps = operations/codes/fields the consumer calls but hasn't exercised in any pact interaction
ripwire MCP setup
The swagger-contract-testing:pact-coverage agent uses ripwire via MCP tools for adaptive route discovery. The ripwire MCP server must be connected before running coverage interactively.
Register in one command:
ripwire wrap claude # prints the command to run
# → claude mcp add ripwire -- ripwire --mcp
What ships with it
26 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- evals/evals.json 7.9 KB
- evals/fixtures/async-consumer-provider.json 582 B
- evals/fixtures/asyncapi.yaml 1.9 KB
- evals/fixtures/consumer-provider.json 1.2 KB
- evals/fixtures/openapi.yaml 1.5 KB
- references/coverage-concepts.md 6.8 KB
- references/flow.md 7.1 KB
- references/install-ripwire.md 3.5 KB
- scripts/async_coverage.py 17 KB runs code
- scripts/build_filtered_oas.py 4.2 KB runs code
- scripts/parse_pact_coverage.py 40 KB runs code
- scripts/tests/conftest.py 1006 B runs code
- scripts/tests/fixtures/async.pact.v3.json 582 B
- scripts/tests/fixtures/async.pact.v4.json 649 B
- scripts/tests/fixtures/asyncapi.yaml 1.9 KB
- scripts/tests/fixtures/consumer_kg.xml 1021 B
- scripts/tests/fixtures/openapi.yaml 1.5 KB
- scripts/tests/fixtures/sample.pact.json 1.2 KB
- scripts/tests/fixtures/sample.pact.v3.json 986 B
- scripts/tests/pyproject.toml 280 B
- scripts/tests/test_async_cli.py 3.2 KB runs code
- scripts/tests/test_async_coverage.py 16 KB runs code
- scripts/tests/test_build_filtered_oas.py 6.9 KB runs code
- scripts/tests/test_coverage_analysis.py 11 KB runs code
- scripts/tests/test_oas_parsing.py 4.2 KB runs code
- scripts/tests/test_pact_parsing.py 14 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago Changed · +43 lines · +47 tokens per session 591c78627b7a
- 25d ago First seen · 337 lines · 173 tokens per session scan A 84622c719983
pact-coverage is a skill published in the GitHub repository pactflow/pactflow-agent-skills (7 stars, last pushed yesterday), licensed MIT. It adds 220 tokens to every session and 4,613 once invoked, about $0.0009 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-22.
Other skills, from other repositories
xdto-validate
A validator for XDTO packages in 1C:Enterprise. It checks the package model, its metadata object, and its connection to the configuration.
API Contract Validator
Validate API responses against OpenAPI/Swagger specifications, JSON Schema definitions, and consumer-driven contracts to prevent breaking changes.
Contract Test Generator
Generate consumer-driven contract tests using Pact framework to verify API provider-consumer compatibility and prevent integration breaking changes.
Contract Testing with Pact
Consumer-driven contract testing skill using Pact, covering consumer tests, provider verification, Pact Broker integration, and CI/CD workflows.
feature-verify
Feature verification (READ-ONLY, P0-P5). Use when: verifying feature behavior after deployment, validating API responses, diagnosing production issues, post-deploy smoke test. Not for: modifying data (use feature-dev), code review (use codex-review-fast), writing tests (use codex-test-gen), security audit (use…
post-dev-test
Post-development test completion. Use when: checking test coverage after feature-dev, writing missing integration/e2e tests. Not for: unit test generation (use codex-test-gen), test review (use test-review). Output: test files + coverage report.