CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

api-testing

HTTP API testing for TypeScript (Supertest) and Python (httpx, pytest). Test REST APIs, GraphQL, request/response validation, authentication, and error handling.

59

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/api-testing/skills/api-testing/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A lean, highly actionable reference whose value is almost entirely well-chosen executable examples for both ecosystems, with only minor correctness gaps (undefined `client` fixture, httpx/TestClient mismatch). Its weakest point is structure: everything lives inline in a single ~260-line SKILL.md with no bundle files or signaled references, and no run-the-tests guidance to close the feedback loop.

Suggestions

Define the `client` fixture in the Python basic setup (or switch the examples to httpx.Client/AsyncClient) so the fixture, upload, and protected-endpoint examples are runnable as written.

Split the per-language pattern catalogs into clearly signaled one-level-deep reference files (e.g. references/supertest.md, references/httpx-pytest.md), keeping SKILL.md as a short overview with quick-start examples.

Add commands for running the suites (`bun test`, `pytest -x`) so the write → run → read-failure feedback loop is explicit.

DimensionReasoningScore

Conciseness

The body is almost entirely executable code with almost no basic-concept explanation ('Expert knowledge for testing HTTP APIs with Supertest (TypeScript/JavaScript) and httpx/pytest (Python)' plus a generic best-practices list are the only prose padding). It is not a 5 because the intro sentence repeats the frontmatter, and best practices like 'Validate status codes first' and 'Test both happy path and error cases' are knowledge Claude already has; it is well above 3 because there is no tutorial-style over-explanation anywhere.

4 / 5

Actionability

Code examples are concrete, complete, and copy-paste ready across setup, request methods, headers/query params, authentication, error handling, fixtures, file upload, GraphQL, and performance checks. It falls short of 5 due to minor gaps: the `client` fixture is used in the Python fixtures and upload examples but never defined, and installation installs `httpx pytest-asyncio` while the examples actually use FastAPI's `TestClient`.

4 / 5

Workflow Clarity

The reference-style content is clearly organized by language and topic with unambiguous section progression, and no destructive or batch operations require validation checkpoints. It is not 5 because a natural feedback loop (write test → run it → read the failure) is never surfaced — there are no commands for running the suites (`bun test`, `pytest`) or guidance on sequencing a test-writing session.

4 / 5

Progressive Disclosure

This is a single-file skill with no references/, scripts/, or assets/ bundle, and the body itself points to no one-level-deep reference files — the 'See Also' section lists other skills, not bundle files. At ~260 lines of per-language patterns, content that clearly belongs in separate files (e.g. a supertest reference, an httpx/pytest reference) is fully inlined in SKILL.md, matching the anchor of some structure but content that should be separate is inline. Not 4 because there are no clearly signaled references at all, and the inline bulk exceeds overview size; not 2 because section structure is genuinely good and navigable.

3 / 5

Total

15

/

20

Passed

Description

66%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A solid, concrete description that clearly states what it does and names its toolchains and capability areas, with good natural trigger keywords. Its main deficiency is the complete absence of a 'when to use' clause, which caps completeness, and modestly thin synonym coverage.

Suggestions

Add an explicit trigger clause, e.g. 'Use when writing or reviewing tests for HTTP endpoints, REST or GraphQL APIs, or when the user mentions Supertest, httpx, or API/integration testing.'

Broaden trigger-term coverage with natural variations such as 'endpoint testing', 'integration tests', and 'API tests' to capture how users phrase this need.

Optionally enumerate a couple more concrete capabilities (mocking external services, file uploads) to close the specificity gap toward comprehensive coverage.

DimensionReasoningScore

Specificity

The description names the domain and tooling ('HTTP API testing for TypeScript (Supertest) and Python (httpx, pytest)') and lists several concrete action areas ('Test REST APIs, GraphQL, request/response validation, authentication, and error handling'), but coverage has minor gaps (no mocking, file uploads, streaming, or contract testing). It is not a 5 because the action verbs are somewhat generic and coverage is not comprehensive; it is well above 3 because it enumerates five distinct capability areas rather than 1-2.

4 / 5

Completeness

The 'what' is clear and specific (testing HTTP APIs with two named toolchains across listed capability areas), but there is no 'Use when...' clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 2 because the 'what' is concrete rather than vague, and cannot be 4 without an explicit (even if imperfect) 'when'.

3 / 5

Trigger Term Quality

It includes strong natural keywords users would actually say ('HTTP API testing', 'REST APIs', 'GraphQL', 'Supertest', 'httpx', 'pytest', 'authentication', 'error handling'), including library names that serve as synonyms. It is not a 5 because common phrasings like 'endpoint testing', 'integration testing', or 'API tests' are missing; it is clearly above 3 because keyword coverage is broad and natural, not partial.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche — HTTP API testing with named libraries (Supertest, httpx, pytest) — distinct from generic test-writing skills, with only minor overlap risk against closely related skills it itself references (vitest-testing, playwright-testing E2E). Not 5 because 'test REST APIs, validation, error handling' could still bleed into general backend-test tasks where a framework-specific skill would be better.

4 / 5

Total

15

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

secondsky/claude-skills

Path

plugins/api-testing/skills/api-testing/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.