api-testing SKILL.md skillA
api-testing from petrkindlmann/qa-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add petrkindlmann/qa-skills/api-testing@v2.1Pins v2.1 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- petrkindlmann/qa-skills
- Path
skills/api-testing/SKILL.md- Versions recorded
- 5
- Latest version
- v2.1, committed Oct 21, 2026
- First version recorded
- May 10, 2026
- Size
- 12,931 bytes
- Repository stars
- 198
- License
- MIT
Test REST and GraphQL APIs with Playwright APIRequestContext, Supertest, or standalone HTTP clients. Covers schema validation with Zod 4/AJV, auth flow testing, CRUD lifecycle tests, error and header validation, pagination, and performance assertions. Use when: "API test," "endpoint test," "REST test," "GraphQL test," "schema validation," "Postman replacement." Not for: consumer-driven contract verification (Pact, broker) — use contract-testing; browser UI flows — use playwright-automation.…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
<objective> A response that adds a nullable field or quietly drops one slips past `toHaveProperty` spot-checks and silently breaks the frontend in production. Schema-as-contract tests catch that drift in CI, not prod. This skill produces REST and GraphQL API tests that assert response shape, status codes, headers, auth boundaries, and timing — against a real test environment, not a mocked stand-in. </objective> ## Discovery Questions Check `.agents/qa-project-context.md` first — if it exists, use it and skip anything already answered there. Then: 1. **REST, GraphQL, or both?** REST-only suites use standard HTTP assertions. GraphQL needs query/mutation builders and benefits from an introspection-diff snapshot. 2. **Auth mechanism?** JWT, API key, OAuth 2.0, or session cookies — each needs a different fixture strategy. 3. **OpenAPI/Swagger spec available?** If yes, auto-generate Zod schemas as contracts (`orval`, `openapi-zod-client`) and consider spec-driven fuzzing with Schemathesis. --- ## Core Principles 1. **Test contracts, not implementations.** Assert on response shape, status codes, and headers — not on internal logic or database state. …
Read the whole file at its exact version.
How to install
mdr add petrkindlmann/qa-skills/api-testing@sha256:47503141ae9d8d38The line at the top of this page pins the label v2.1, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_xsyzmpomllbe4a6g)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 5 versions of this file, between May 10, 2026 and Oct 21, 2026, about one every 41 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v2.1 latest | 2026-10-21 | 89f2c3c | 12,931 B | A | view · diff |
| v2.0 | 2026-06-10 | bcd1201 | 10,851 B | A | view · diff |
| v1.0 | 2026-05-30 | f408ee1 | 8,515 B | A | view · diff |
| v1.0 | 2026-05-30 | d9b4edd | 8,517 B | A | view · diff |
| v1.0 | 2026-05-10 | a1e1025 | 18,640 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (12931 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
petrkindlmann/qa-skills · 198 stars · license MIT · pushed 2026-10-21 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_xsyzmpomllbe4a6g GET https://markdownregistry.com/api/v1/resolve?ref=petrkindlmann/qa-skills/api-testing GET https://markdownregistry.com/api/v1/blob/47503141ae9d8d38539e6e4f99fc8c5d2dd1bdce8f6e46f94de7e87c9c2f2a33
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from petrkindlmann/qa-skills
Every file in petrkindlmann/qa-skills