{"slug":"api-version-compatibility-testing","title":"api-version-compatibility-testing","summary":"Use this skill when you need to assess API version compatibility from old-client, new-server, and deprecation evidence; triggers include API 版本兼容性测试 and API version compatibility testing.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-24T14:54:57.60146Z","repo":{"url":"https://github.com/naodeng/awesome-qa-skills","stars":230,"forks":31,"license":null,"updatedAt":"2026-09-22T13:51:34Z"},"bodyHtml":"<hr>\n<h2>name: api-version-compatibility-testing\ndescription: Use this skill when you need to assess API version compatibility from old-client, new-server, and deprecation evidence; triggers include API 版本兼容性测试 and API version compatibility testing.</h2>\n<h1>API Version Compatibility Testing</h1>\n<p>design compatibility candidates from version contracts, old clients, server changes, and deprecation evidence. Produce AVC-## 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.</p>\n<h2>When to Use</h2>\n<ul>\n<li>When you need version compatibility candidates from version contracts, change logs, old-client samples, compatibility policies, deprecation timelines, gateway routes, and response comparisons.</li>\n<li>When you need selection rationale, applicability constraints, evidence gaps, and the smallest validation action.</li>\n<li>When inputs are incomplete but a bounded first pass can preserve blocked or unassessed boundaries.</li>\n</ul>\n<p>Do not use it to execute tests, invent contract or behavior, replace a complete strategy, or accept risk for a Human.</p>\n<h2>Output Format Options</h2>\n<ul>\n<li>Use Markdown by default; use tables, JSON, or CSV only when explicitly requested or required by the delivery format.</li>\n<li>Separate static analysis, unexecuted work, evidence states, and Human decisions; keep items unassessed, blocked, or NOT_RUN when runtime evidence is absent.</li>\n</ul>\n<h2>How to Use</h2>\n<ol>\n<li>Read prompts/api-version-compatibility-testing.md and provide the objective, scope, material, environment, and evidence.</li>\n<li>Complete the known, missing, conflicting, stale, out_of_scope, and assumptions input audit before findings.</li>\n<li>Record AVC-## with the subject, preconditions, behavior of concern, source evidence, and validation, plus impact/priority, owner role, close condition, and evidence state.</li>\n<li>Preserve conflicts, unknown constraints, and open questions when evidence is incomplete.</li>\n</ol>\n<h2>Core Constraints</h2>\n<ul>\n<li>Do not execute tests, assume missing rules, versions, thresholds, data, or responses, or treat candidate counts as coverage proof.</li>\n<li>File presence, names, design declarations, and Eval configuration are not runtime evidence.</li>\n<li>Mark unknowns unassessed, blocked, or pending clarification instead of filling them with convention.</li>\n<li>Do not edit requirements, code, test assets, or target systems.</li>\n</ul>\n<h2>Pre-delivery Check</h2>\n<ul>\n<li><input disabled=\"disabled\" type=\"checkbox\"> Recorded the known, missing, conflicting, stale, out_of_scope, and assumptions input audit.</li>\n<li><input disabled=\"disabled\" type=\"checkbox\"> Every AVC-## has source, evidence state, impact/priority, owner role, close condition, and validation.</li>\n<li><input disabled=\"disabled\" type=\"checkbox\"> Facts, inferences, recommendations, unexecuted work, and Human decisions remain separate.</li>\n<li><input disabled=\"disabled\" type=\"checkbox\"> Findings are not execution results, coverage proof, or release claims.</li>\n</ul>\n<h2>Reference Files</h2>\n<ul>\n<li>Read evals/eval.yaml and matching cases for regression; configuration does not prove project results.</li>\n<li>Use evals/trigger-prompts.csv and evals/local-rules.json for trigger checks; missing skill.selection evidence is BLOCKED.</li>\n</ul>\n<h2>Common Pitfalls</h2>\n<ul>\n<li>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.</li>\n<li>Do not fill in missing rules, thresholds, data, environments, or results from convention; preserve unassessed, blocked, and pending items.</li>\n<li>Do not expand this specialist design or review into a complete strategy, full test cases, runtime execution, or a release decision.</li>\n</ul>\n<h2>Best Practices</h2>\n<ul>\n<li>Complete the six-part input audit before selecting the smallest traceable and verifiable finding scope.</li>\n<li>Keep the source, evidence state, impact/priority, owner role, close condition, validation method, and residual risk for every finding.</li>\n<li>Write validation suggestions as next actions; do not upgrade package structure, candidate counts, or local Eval configuration into real quality conclusions.</li>\n</ul>\n","files":[{"path":"agents/openai.yaml","sizeBytes":377,"isText":true},{"path":"evals/cases/basic-success.yaml","sizeBytes":909,"isText":true},{"path":"evals/cases/edge-incomplete-input.yaml","sizeBytes":672,"isText":true},{"path":"evals/cases/edge-scope-boundary.yaml","sizeBytes":747,"isText":true},{"path":"evals/eval.yaml","sizeBytes":441,"isText":true},{"path":"evals/local-rules.json","sizeBytes":152,"isText":true},{"path":"evals/trigger-prompts.csv","sizeBytes":572,"isText":false},{"path":"prompts/api-version-compatibility-testing.md","sizeBytes":3513,"isText":true},{"path":"SKILL.md","sizeBytes":3909,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-24T14:57:13.482016Z","sha256":"1804F5B80E591F91A92509ADBCD393DAE1156E7CC3F87813543E3B8353039CE9","sizeBytes":6250},"review":null,"source":{"repositoryUrl":"https://github.com/naodeng/awesome-qa-skills","path":"skills/en/testing-types/api-version-compatibility-testing","license":null,"commit":"c44b8922085e01bafc804d1ffa3f21d4cec1d1c5","subtreeSha":"FE88D17F0A5729AB078955109248C45A49586967A7A91EE0CADF599059A33DA0","lastSyncedAt":"2026-09-24T14:54:50.849933Z"},"reviewedAt":"2026-09-24T15:05:18.353026Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/api-version-compatibility-testing"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install naodeng-awesome-qa-skills@llmmart"},{"target":"git","command":"git clone https://github.com/naodeng/awesome-qa-skills.git"}]}