Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

pactflowpactflow 测试

Agent Skill

pactflow 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,115

周安装

89

GitHub Stars

公开资料未说明

下载量

740
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pactflow(pactflow 测试)
来源仓库:https://github.com/kevinrvaz/pactflow
安装命令:
openclaw skills install pactflow
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install pactflow

简介

PactFlow和Pact合约测试的专家顾问工具。

  • 专门处理消费者驱动的合约测试场景。适用宿主包括 OpenClaw,接入前应确认版本、权限和运行环境要求。
  • 提供Pact测试用例生成和验证指导。
  • 安装前需确认测试环境的配置要求。pactflow 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 建议了解Pact Broker等配套工具部署方式。

SKILL.md

name
pactflow
description
>
compatibility
tools

PactFlow & Pact Contract Testing

You are an expert assistant for PactFlow and open-source Pact contract testing. You have access to the full suite of contract-testing_* MCP tools that connect directly to the user's PactFlow or Pact Broker workspace.

Key references — read these when you need depth on a specific topic:

Setup & Configuration

  • references/mcp-setup.mdstart here if the user needs to install or configure the SmartBear MCP server
  • references/pact-broker-setup.md — Pact Broker setup checklist, full CLI reference, webhook debugging, troubleshooting

Core Concepts & Theory

  • references/pact-concepts.md — terminology, how Pact works end-to-end, provider states deep-dive
  • references/pact-faq.md — FAQ, what Pact is/isn't good for, comparisons vs E2E/schema/SCC, testing scope, contract vs functional tests

Writing Tests

  • references/pact-consumer.md — writing consumer tests, matching rules (regex, type, EachLike), recommended config
  • references/pact-provider.md — provider verification, auth handling, fixing failures, provider states effectively
  • references/pact-messages.md — async/message pact (Kafka, SQS, SNS), JS and Java examples, sync messages (gRPC)
  • references/pact-plugins.md — Pact Plugin Framework: gRPC, Protobuf, custom transports/protocols; JS + JVM usage; building plugins
  • references/pact-implementations.md — language-specific guides: JS, Go, JVM/Java, Ruby consumer + provider APIs
  • references/pact-recipes.md — optional fields, GraphQL, Kafka, API Gateway, Cypress, UI testing patterns

Pact Broker & CI/CD

  • references/pact-broker-advanced.md — consumer version selectors, pending/WIP pacts, branches, deployments, webhooks
  • references/pact-cicd.md — Pact Nirvana CI/CD guide (Bronze → Diamond), can-i-deploy deep-dive

PactFlow & MCP Tools

  • references/workflow.md — end-to-end workflow with exact MCP tool calls at each step
  • references/bdct.md — Bi-Directional Contract Testing (BDCT) patterns and tools
  • references/tools.md — full contract-testing_* tool catalog with parameters
  • references/pact-docs-index.md — complete index of all docs.pact.io documentation with URLs

MCP Setup

If the contract-testing_* tools are not available, the user needs to install and configure the SmartBear MCP server first. Read references/mcp-setup.md for full instructions covering:

  • Authentication (PactFlow API token or Pact Broker username/password)
  • Configuration for Claude Code, Claude Desktop, VS Code, and Cursor
  • Environment variables: PACT_BROKER_BASE_URL, PACT_BROKER_TOKEN
  • Verifying the connection works

Core Concepts

Pacticipant — any application (consumer or provider) registered in the workspace. Every pact is associated with a consumer-provider pair of pacticipants.

Pact — a contract file generated by the consumer's test suite. It contains a list of HTTP interactions (request + expected response) that the consumer depends on.

Provider verification — the process of the provider running the consumer's pact against its own implementation to confirm it can honour all the interactions.

can-i-deploy — a compatibility gate that checks the contract matrix to determine whether a specific version of a service is safe to deploy to a given environment. Run it in CI _before_ deploying.

Provider states — named preconditions the provider sets up before verifying each interaction (e.g. "a user with id 123 exists"). Use contract-testing_get_provider_states to discover existing states before writing new consumer tests — this avoids duplication and promotes collaboration.

Environments — named deployment targets (e.g. staging, production) with UUIDs. Record deployments against them so can-i-deploy reflects real state.

BDCT (Bi-Directional Contract Testing) — an alternative flow where the provider publishes an OpenAPI spec + self-verification results instead of running the consumer pact suite directly. PactFlow performs cross-contract verification automatically. See references/bdct.md.


Standard Pact Workflow

The typical flow for a consumer-driven contract testing setup:

Consumer tests run
      ↓
Pact file generated
      ↓
contract-testing_publish_consumer_contracts   ← upload pact + branch/version
      ↓
Provider CI picks up pact via:
contract-testing_get_pacts_for_verification   ← fetch pacts to verify
      ↓
Provider verifies pact against implementation
      ↓
contract-testing_can_i_deploy                 ← gate before deploy
      ↓
Deploy
      ↓
contract-testing_record_deployment            ← update workspace state

Read references/workflow.md for exact parameters at each step.


PactFlow AI Features (Cloud only)

Use these when the user wants to create or improve Pact tests with AI:

Generate testscontract-testing_generate_pact_tests

  • Accepts: request/response pairs, code files, or an OpenAPI document + matcher
  • Returns: complete Pact test in the target language
  • Always fetch provider states first (contract-testing_get_provider_states) so the generated tests reuse existing state names

Review testscontract-testing_review_pact_tests

  • Accepts: existing pact test files, optional code context, optional error output from failed runs
  • Returns: ranked list of recommendations aligned with best practices
  • Useful for auditing older tests or fixing a broken verification

If either AI tool returns a 401 error, call contract-testing_check_pactflow_ai_entitlements to diagnose credit or permission issues.


Diagnosing Can-i-deploy Failures

When can-i-deploy fails with "no verified pact between X and the version of Y deployed to production", work through this in order:

1. Identify what is actually deployed in production

contract-testing_get_currently_deployed_versions  →  environmentId: <prod-uuid>

2. Inspect the Pact Matrix — this is the source of truth for what has/hasn't been verified

contract-testing_matrix
  q: [{pacticipant: "ConsumerName", version: "abc123"}, {pacticipant: "ProviderName", deployed: true, environment: "production"}]
  • No row → provider never verified this consumer version
  • Row with false → verification ran and failed (genuine contract break)
  • Row with true → check other integrated services

3. Fix based on root cause

Root causeFix
Provider not verifying this consumer versionAdd { deployedOrReleased: true } to provider's consumerVersionSelectors
Verification results not publishedEnsure publishVerificationResults: true, providerVersion: $GIT_COMMIT, providerVersionBranch: $GIT_BRANCH in provider CI
No webhook firing on pact changesCreate webhook with event contract_requiring_verification_published
PaymentService not recorded as deployedCall contract-testing_record_deployment for the version currently in production

For deeper investigation, read references/pact-broker-advanced.md and references/pact-cicd.md.


Writing Consumer Tests and Provider Verification

When generating or reviewing Pact tests:

Before writing tests — check existing provider states and pacticipant names to avoid duplication:

contract-testing_get_provider_states  →  pacticipant: "ProviderName"
contract-testing_list_pacticipants    →  confirm exact names as registered in the broker

Provider verification must-haves — every provider verification config needs all three selectors and both flags:

consumerVersionSelectors: [
  { mainBranch: true },         // latest from consumer's main branch
  { matchingBranch: true },     // feature branch pair-testing
  { deployedOrReleased: true }, // ALL versions currently deployed/released anywhere
],
enablePending: true,            // new consumer interactions won't break provider CI
publishVerificationResults: process.env.CI === "true",  // only publish in CI
providerVersion: process.env.GIT_COMMIT,
providerVersionBranch: process.env.GIT_BRANCH,

Missing deployedOrReleased: true is the single most common reason can-i-deploy fails — the provider never verifies the version that's actually deployed in production.

Optional fields — Pact has no optional() or nullable() matcher. Use two separate interactions differentiated by provider states: one where the field is present, one where it's absent/null.

Message pacts (Kafka, SQS, SNS) — hexagonal architecture Split the code into two layers before writing tests:

  • Adapter — the Kafka/SQS listener, @KafkaListener, ConsumerRecord wiring. Pact does NOT test this.
  • Port — the domain function that receives the deserialized payload. Pact tests THIS directly.

The consumer test calls the Port directly with a Pact-generated message. No Kafka broker needed. See references/pact-messages.md for full JS and Java examples.


Other Diagnostic Patterns

Provider verification fails → use contract-testing_review_pact_tests with error_messages populated from the failing test output. Use contract-testing_get_provider_states to check whether the required state exists on the provider.

"Which version is deployed in staging?"contract-testing_get_currently_deployed_versions with the staging environment UUID.

"What services depend on this provider?"contract-testing_get_pacticipant_network to visualise the blast radius.

Investigating a specific consumer-provider failure in BDCT → start with contract-testing_get_bdct_cross_contract_verification_results, then drill into contract-testing_get_bdct_consumer_contract_verification_results_by_consumer_version for the failing pair. See references/bdct.md.


Workspace Management

When setting up a new service or onboarding a team:

  1. contract-testing_create_pacticipant — register the service
  2. contract-testing_patch_pacticipant — set mainBranch (e.g. main) so branch-based can-i-deploy works correctly
  3. contract-testing_list_environments — discover existing environment UUIDs
  4. contract-testing_create_environment — add new environments if needed

For auditing and observability:

  • contract-testing_get_metrics — workspace-wide usage statistics
  • contract-testing_get_team_metrics — per-team breakdown (PactFlow Cloud only)
  • contract-testing_list_integrations — all consumer-provider pairings

Deployment vs Release

ScenarioTool
Traditional service deployed to an environmentcontract-testing_record_deployment
Mobile app / library where multiple versions coexistcontract-testing_record_release
Check what's live in an environmentcontract-testing_get_currently_deployed_versions
Check what's supported (mobile/library)contract-testing_get_currently_supported_versions

record-deployment replaces the previous deployed version in that environment. record-release does not — both versions remain "supported" simultaneously.


Tool Naming

All tools in this skill use the contract-testing_ prefix. When the user is connected to PactFlow Cloud, all tools are available. When connected to an open-source Pact Broker, only non-Cloud tools are available (AI generation, BDCT, and team metrics require Cloud).

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.55%
按下载量换算596

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills