skills/contract-test-assistant/SKILL.md
[UDS] Guide contract testing strategy for APIs and microservices. Use when: API contracts, microservices, consumer-driven testing, provider verification. Keywords: contract test, Pact, OpenAPI, consumer-driven, provider.
npx skillsauth add asiaostrich/universal-dev-standards contract-testInstall 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.
Language: English | 繁體中文
Guide contract testing strategy selection, setup, and verification for APIs and microservices.
引導 API 和微服務的合約測試策略選擇、設定和驗證。
Contract testing verifies that services can communicate correctly by testing the agreements (contracts) between consumers and providers — without requiring all services to be running.
合約測試透過測試消費者和提供者之間的協議(合約)來驗證服務間的通訊正確性,不需要所有服務同時運行。
| Strategy | Best For | Tool | 適用場景 | |----------|---------|------|---------| | Consumer-Driven | Internal microservices, team owns both sides | Pact | 內部微服務,團隊同時擁有兩端 | | Provider-Driven | Public APIs, OpenAPI-first design | OpenAPI + Prism | 公開 API,OpenAPI 優先設計 | | Bi-Directional | Mixed ownership, gradual adoption | Pact + OpenAPI | 混合所有權,漸進採用 |
ASSESS ──► CHOOSE ──► DEFINE ──► IMPLEMENT ──► VERIFY
評估架構 選擇策略 定義合約 實作測試 驗證合約
| Command | Action | 說明 |
|---------|--------|------|
| /contract-test | Interactive strategy selection | 互動式策略選擇 |
| /contract-test consumer | Guide consumer test setup | 引導消費者測試設定 |
| /contract-test provider | Guide provider test setup | 引導提供者測試設定 |
| /contract-test verify | Check contract coverage | 檢查合約覆蓋率 |
## Contract Coverage Report
| Consumer | Provider | Endpoint | Status |
|----------|----------|----------|--------|
| web-app | user-api | GET /users/:id | ✅ Verified |
| web-app | user-api | POST /users | ✅ Verified |
| mobile-app | auth-api | POST /login | ⚠️ Consumer only |
| admin-ui | report-api | GET /reports | ❌ No contract |
**Coverage**: 50% (2/4 endpoints verified both sides)
| Skill | Integration | 整合方式 |
|-------|-------------|---------|
| /api-design | Define API contracts during design | 設計時定義 API 合約 |
| /ci-cd | Add contract verification to pipeline | 管線中加入合約驗證 |
| /testing | Contract tests as part of test strategy | 合約測試作為測試策略一部分 |
| /migrate | Capture legacy response fixtures during API migration; verify new impl preserves structural equivalence | API 遷移時捕獲 legacy response fixture,驗證新實作保持結構性等價 |
When migrating an API endpoint from one tech stack to another (PHP → .NET, Express → Spring, etc.), a contract test against a legacy reference fixture catches missing fields, renamed fields, and placement drift that unit tests on the new DTO cannot. See migration-assistant § API Migration Contract Tests for the fixture capture protocol and audit checklist.
當 API endpoint 從一個技術棧遷至另一個(PHP → .NET、Express → Spring 等),對 legacy 參考 fixture 的 contract test 可捕捉「缺漏欄位」「rename」「層級漂移」等新 DTO 單元測試無法覆蓋的缺陷。詳見 migration-assistant § API Migration Contract Tests。
After /contract-test completes:
合約測試引導完成。建議下一步:
- 執行
/ci-cd將合約驗證加入 CI 管線- 執行
/api-design完善 API 設計- 執行
/testing整合到整體測試策略
When /contract-test is invoked:
verify subcommand, scan for contracts and report coveragedevelopment
[UDS] 扫描代码库的调试残留与代码质量问题;可自动修正安全模式。 Use when: before committing, during PR review, or periodic codebase cleanup. Keywords: sweep, debug cleanup, console.log, debugger, TODO, ts-any, code quality, 扫描, 清理.
tools
[UDS] 从规格衍生 BDD 场景、TDD 骨架或 ATDD 表格
development
[UDS] 识别重复流程并以正确的开发深度构建 Skill
tools
[UDS] AI 辅助 git push 安全层:质量门禁 + 协作护栏。 Use when: pushing commits, force pushing, pushing to protected branches, pushing feature branches. Keywords: git push, force push, protected branch, quality gate, push receipt, PR automation, 推送, 保护分支, 质量门禁.