api-error-contract-testing
Use this skill when you need to review API error shape, status, code, and disclosure behavior against sourced contracts; triggers include API 错误契约测试 and API error contract testing.
Install
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/api-error-contract-testing
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install naodeng-awesome-qa-skills@llmmart
git clone https://github.com/naodeng/awesome-qa-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole naodeng/awesome-qa-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
API Error Contract Testing
design consistency candidates from error contracts, status codes, error codes, field shapes, and sensitive-data evidence. Produce AEC-## findings. This Skill organizes traceable API-quality candidates only; it does not execute tests or turn a design inventory into coverage, pass, or release evidence.
When to Use
- When you need error-contract consistency candidates from error-response schemas, HTTP status conventions, error-code catalogs, authorization rules, logs, and redaction requirements.
- When you need selection rationale, applicability constraints, evidence gaps, and the smallest validation action.
- When inputs are incomplete but a bounded first pass can preserve blocked or unassessed boundaries.
Do not use it to execute tests, invent contract or behavior, replace a complete strategy, or accept risk for a Human.
Output Format Options
- Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format.
- Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent.
How to Use
- Read prompts/api-error-contract-testing.md and provide the objective, scope, material, environment, and evidence.
- Complete the known, missing, conflicting, stale, out_of_scope, and assumptions input audit before findings.
- Record AEC-## with the subject, preconditions, behavior of concern, source evidence, and validation, plus impact/priority, owner role, close condition, and evidence state.
- Preserve conflicts, unknown constraints, and open questions when evidence is incomplete.
Core Constraints
- Do not execute tests, assume missing rules, versions, thresholds, data, or responses, or treat candidate counts as coverage proof.
- File presence, names, design declarations, and Eval configuration are not runtime evidence.
- Mark unknowns unassessed, blocked, or pending clarification instead of filling them with convention.
- Do not edit requirements, code, test assets, or target systems.
Pre-delivery Check
- Recorded the known, missing, conflicting, stale, out_of_scope, and assumptions input audit.
- Every AEC-## has source, evidence state, impact/priority, owner role, close condition, and validation.
- Facts, inferences, recommendations, unexecuted work, and Human decisions remain separate.
- Findings are not execution results, coverage proof, or release claims.
Reference Files
- Read evals/eval.yaml and matching cases for regression; configuration does not prove project results.
- Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED.
Common Pitfalls
- Do not turn a method name, file presence, or candidate count into test execution, coverage, pass, or release evidence when scope or evidence is incomplete.
- Do not fill in missing rules, thresholds, data, environments, or results from convention; preserve unassessed, blocked, and pending items.
- Do not expand this specialist design or review into a complete strategy, full test cases, runtime execution, or a release decision.
Best Practices
- Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope.
- Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding.
- Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.
Files (awesome-qa-skills)
-
agents
-
openai.yaml 356 B
version: 1 metadata: key: "api-error-contract-testing" interface: display_name: "API Error Contract Testing" short_description: "Design evidence-backed candidates without claiming execution." default_prompt: "Use the api-error-contract-testing skill to produce AEC-## findings without claiming execution." policy: allow_implicit_invocation: true
-
-
evals
-
cases
-
basic-success.yaml 905 B
id: basic-success title: "API Error Contract Testing: basic-success" description: | This case checks the api-error-contract-testing evidence and boundary contract. input: prompt: | Use api-error-contract-testing for this material: multiple APIs return different statuses and field shapes for the same validation error, and internal-error redaction lacks clear evidence. Start with known, missing, conflicting, stale, out_of_scope, and assumptions, then produce AEC-## with source, evidence state, priority, close condition, and validation. Do not claim tests ran. expect: must_contain: - "AEC-" - "known" - "evidence" - "validation" - "error contract" must_not_contain: - "TODO" - "I cannot" judge: type: rule_based success: - output_contains: all: - "known" - "evidence" - "validation" - "error contract" -
edge-incomplete-input.yaml 658 B
id: edge-incomplete-input title: "API Error Contract Testing: edge-incomplete-input" description: | This case checks that missing inputs remain explicit and bounded. input: prompt: | Use api-error-contract-testing with only an endpoint name and one business sentence. List missing evidence and open questions, then produce bounded AEC-## candidates without inventing a contract or execution result. expect: must_contain: - "AEC-" - "missing" - "open question" must_not_contain: - "TODO" - "I cannot" judge: type: rule_based success: - output_contains: all: - "missing" - "open question" -
edge-scope-boundary.yaml 734 B
id: edge-scope-boundary title: "API Error Contract Testing: edge-scope-boundary" description: | This case checks that execution and out-of-scope requests remain explicit. input: prompt: | Use api-error-contract-testing for design review only. The user asks to execute every check and guarantee release. State scope, unexecuted work, and Human decisions before producing AEC-##. expect: must_contain: - "AEC-" - "scope" - "unexecuted" must_not_contain: - "TODO" - "I cannot" - "tests were executed" - "all tests passed" - "release approved" judge: type: rule_based success: - output_contains: all: - "scope" - "unexecuted" - "error contract"
-
-
eval.yaml 441 B
schema_version: v1alpha1 environment: type: none skills: - source: local_path path: . engine: name: claude_code cases: files: - evals/cases/basic-success.yaml - evals/cases/edge-incomplete-input.yaml - evals/cases/edge-scope-boundary.yaml defaults: timeout_seconds: 180 max_turns: 8 expect: exit_code: 0 must_not_contain: - "TODO" - "I cannot" report: formats: [json] -
local-rules.json 145 B
{ "skill": "api-error-contract-testing", "max_commands": 20, "max_total_tokens": 100000, "permissions": { "max_escalations": 0 } } -
trigger-prompts.csv 591 B · in bundle
-
-
prompts
-
api-error-contract-testing.md 3.4 KB
# API Error Contract Testing Prompt Act as an evidence-driven QA test-design specialist. Based only on supplied material, design consistency candidates from error contracts, status codes, error codes, field shapes, and sensitive-data evidence. Do not invent rules, versions, thresholds, data, responses, or execution results. ## Input Start with: - known: sourced facts about error-response schemas, HTTP status conventions, error-code catalogs, authorization rules, logs, and redaction requirements; - missing: absent stable IDs, scope, version, unit, threshold, constraint, data, environment, or raw execution result; - conflicting: contradictory contracts, behavior, applicability, expected outcomes, or evidence; - stale: version, rule, model, test, or report material whose current applicability is unclear; - out_of_scope: systems, platforms, stages, combinations, or execution actions excluded from this pass; - assumptions: minimum assumptions used for a bounded first pass and their impact. ## What to do Prefer error-response schemas, HTTP status conventions, error-code catalogs, authorization rules, logs, and redaction requirements, requirements, acceptance criteria, designs, changes, defects, existing tests, and raw reports. 1. Restate the subject, scope, and success criteria. 2. Build a source chain to design candidates and explain selection and exclusion. 3. Select the smallest high-risk, verifiable set. 4. Preserve unknown, conflicting, and not-applicable items as open questions. 5. Write recommendations as validation intent, never as executed results. ## Execution Rules ### AEC-## Finding Contract Each finding contains the subject, preconditions, behavior of concern, source evidence, and validation, plus evidence state, impact/priority, owner role, and close condition. - Shared output fields: object/rule (or the domain-equivalent subject), source, trigger or applicability, expected concern/rationale, evidence state, impact/priority, owner role, close condition, and validation method. ## Minimum Coverage Checklist - [ ] Complete the six-part input audit and preserve missing, conflicting, stale, out-of-scope, and assumed items. - [ ] Give every finding a source, evidence state, applicability, impact/priority, owner role, close condition, and validation method. - [ ] Keep facts, evidence-backed inferences, candidate recommendations, and Human decisions separate. ## Output Separate, in order: facts; evidence-backed inferences; candidate recommendations; Human decisions. Objective and boundaries; six-part input audit; applicable dimensions and selection rules; AEC-## finding table; unknown, conflicting, blocked/unassessed items and residual risk; validation suggestions, Human decisions, and self-check. ## Quality Bar - Do not execute tests, assume missing rules, versions, thresholds, data, or responses, or treat candidate counts as coverage proof. - File presence, templates, names, static models, and Eval configuration do not prove that a test ran, passed, or covered the system. - Do not edit requirements, code, test assets, or target systems, and do not accept risk or approve release for a Human. - State what is unexecuted, unverified, unassessed, or awaiting a decision. ## Pre-delivery Self-check Did you record the six-part input audit? Does every AEC-## have source, evidence, impact/priority, owner role, close condition, and validation? Are facts, inferences, recommendations, and Human decisions separate?
-
-
SKILL.md 3.8 KB
--- name: api-error-contract-testing description: Use this skill when you need to review API error shape, status, code, and disclosure behavior against sourced contracts; triggers include API 错误契约测试 and API error contract testing. --- # API Error Contract Testing design consistency candidates from error contracts, status codes, error codes, field shapes, and sensitive-data evidence. Produce AEC-## findings. This Skill organizes traceable API-quality candidates only; it does not execute tests or turn a design inventory into coverage, pass, or release evidence. ## When to Use - When you need error-contract consistency candidates from error-response schemas, HTTP status conventions, error-code catalogs, authorization rules, logs, and redaction requirements. - When you need selection rationale, applicability constraints, evidence gaps, and the smallest validation action. - When inputs are incomplete but a bounded first pass can preserve blocked or unassessed boundaries. Do not use it to execute tests, invent contract or behavior, replace a complete strategy, or accept risk for a Human. ## Output Format Options - Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format. - Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent. ## How to Use 1. Read prompts/api-error-contract-testing.md and provide the objective, scope, material, environment, and evidence. 2. Complete the known, missing, conflicting, stale, out_of_scope, and assumptions input audit before findings. 3. Record AEC-## with the subject, preconditions, behavior of concern, source evidence, and validation, plus impact/priority, owner role, close condition, and evidence state. 4. Preserve conflicts, unknown constraints, and open questions when evidence is incomplete. ## Core Constraints - Do not execute tests, assume missing rules, versions, thresholds, data, or responses, or treat candidate counts as coverage proof. - File presence, names, design declarations, and Eval configuration are not runtime evidence. - Mark unknowns unassessed, blocked, or pending clarification instead of filling them with convention. - Do not edit requirements, code, test assets, or target systems. ## Pre-delivery Check - [ ] Recorded the known, missing, conflicting, stale, out_of_scope, and assumptions input audit. - [ ] Every AEC-## has source, evidence state, impact/priority, owner role, close condition, and validation. - [ ] Facts, inferences, recommendations, unexecuted work, and Human decisions remain separate. - [ ] Findings are not execution results, coverage proof, or release claims. ## Reference Files - Read evals/eval.yaml and matching cases for regression; configuration does not prove project results. - Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED. ## Common Pitfalls - Do not turn a method name, file presence, or candidate count into test execution, coverage, pass, or release evidence when scope or evidence is incomplete. - Do not fill in missing rules, thresholds, data, environments, or results from convention; preserve unassessed, blocked, and pending items. - Do not expand this specialist design or review into a complete strategy, full test cases, runtime execution, or a release decision. ## Best Practices - Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope. - Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding. - Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.