CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

api-design-principles

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

63

1.03x
Quality

56%

Does it follow best practices?

Impact

91%

1.03x

Average score across 3 eval scenarios

SecuritybySnyk

—

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./data/02-architect-apidesign/SKILL.md

The canonical home for this skill is api-design-principles in majiayu000/claude-skill-registry

SKILL.md
Quality
Evals
Security

Quality

Content

32%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.

The body is a monolithic reference document: long, redundant with basics Claude already knows (HTTP semantics, status codes, REST/GraphQL fundamentals), dependent on undefined helper functions, and structured as reference material rather than an actionable design workflow. Its progressive disclosure is inverted — detail that belongs in the seven referenced bundle files is inlined, and none of those files actually exist.

Suggestions

Create the seven referenced bundle files (references/rest-best-practices.md, references/graphql-schema-design.md, references/api-versioning-strategies.md, assets/rest-api-template.py, assets/graphql-schema-template.graphql, assets/api-design-checklist.md, scripts/openapi-generator.py) and move the full pattern implementations and complete GraphQL schema into them, leaving a compact overview plus one-line pointers in SKILL.md.

Delete the sections explaining what Claude already knows — HTTP method semantics, the status-code table, 'resources are nouns not verbs' — and keep only project-specific conventions, decisions, and edge cases.

Add a sequenced design workflow with validation checkpoints (clarify requirements → draft resource/schema model → run the pre-implementation checklist → present design for review), and make the undefined helpers in code examples either concrete or explicitly marked as project hooks.

DimensionReasoningScore

Conciseness

The ~530-line body extensively explains concepts Claude already knows: HTTP method semantics ('GET: Retrieve resources (idempotent, safe)'), 'Resources are nouns (users, orders, products), not verbs', a status-code dictionary (200/404/500), and 'Queries for reading data, Mutations for modifying data'. Content is also repeated across Core Concepts, Best Practices, and Common Pitfalls (pagination, versioning, and error handling each appear three times), matching the anchor 'Noticeably verbose; several unnecessary explanations or padded sections'.

2 / 5

Actionability

The code is real Python/GraphQL rather than pseudocode (Pydantic pagination models, a FastAPI endpoint, DataLoader classes, a full GraphQL schema), but nearly every snippet depends on undefined helpers (fetch_users, count_users, build_query, encode_cursor/decode_cursor, hash_password, validate_user_input) and some snippets miss imports (Any, List) or an app definition. That matches 'Some concrete guidance but incomplete... missing key details' rather than the level-4 'minor gaps' anchor, since the gaps are pervasive rather than minor.

3 / 5

Workflow Clarity

There is no sequenced design process: the 'Interactive Design Process' section is two unordered bullets, and the rest is reference-style material with no step sequence and no validation checkpoints. The referenced pre-implementation checklist (assets/api-design-checklist.md) does not exist, so no checkpoint exists anywhere. This fits the anchor 'Rough sequence present but many gaps; steps poorly defined; validation absent' and is below the level-3 anchor, which requires steps actually listed.

2 / 5

Progressive Disclosure

The body inlines roughly 500 lines of full pattern implementations and a complete GraphQL schema — content the skill itself says belongs in references/assets — while all 7 files listed in the Resources section (references/rest-best-practices.md, assets/rest-api-template.py, scripts/openapi-generator.py, etc.) do not exist, making every reference broken. Section headers exist so it is not a structureless wall, but it squarely matches 'content that clearly belongs in separate files is inlined' with broken navigation on top.

2 / 5

Total

9

/

20

Passed

Description

65%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.

The description has a strong, explicit 'Use when...' clause with three concrete triggers, but the capability statement itself is generic and padded with buzzwords ('intuitive, scalable, and maintainable APIs that delight developers') instead of naming what the skill concretely does. Trigger term coverage is good though missing common variations like 'endpoints', 'OpenAPI', or 'API versioning'.

Suggestions

Replace the buzzword clause with concrete actions, e.g. 'Design resource-oriented REST endpoints, cursor-paginated GraphQL schemas, versioning strategies, and consistent error response formats.'

Add natural trigger variations users actually say: 'API endpoints', 'OpenAPI/Swagger spec', 'GraphQL schema', 'API versioning', 'breaking changes'.

Trim filler ('that delight developers') — it adds tokens without adding trigger value.

DimensionReasoningScore

Specificity

The description names the domain ('REST and GraphQL API design principles') but the stated actions are generic and aspirational — 'build intuitive, scalable, and maintainable APIs that delight developers' is buzzword padding rather than a concrete capability. It does not list specific actions like 'design resource endpoints', 'define GraphQL schemas', or 'generate OpenAPI specs', so it matches the anchor 'Names the domain but actions are minimal or generic' rather than the level-3 anchor requiring 1-2 concrete actions.

2 / 5

Completeness

Both parts are present: the what ('Master REST and GraphQL API design principles...') and an explicit when ('Use when designing new APIs, reviewing API specifications, or establishing API design standards'). It falls short of the level-5 anchor because the 'what' leans on fluffy abstractions ('intuitive, scalable, and maintainable APIs that delight developers') rather than concrete, verifiable actions like the anchor example's 'Extract text and tables from PDF files, fill forms, merge documents'.

4 / 5

Trigger Term Quality

Natural terms users would say are present: 'REST', 'GraphQL', 'API design', 'designing new APIs', 'reviewing API specifications', 'establishing API design standards'. Coverage is good but misses common variations users actually say such as 'API endpoints', 'OpenAPI/Swagger', 'GraphQL schema', or 'API versioning', so it sits between the level-3 and level-5 anchors — noticeably above the midpoint.

4 / 5

Distinctiveness Conflict Risk

REST/GraphQL API design is a recognizable niche with distinct triggers ('API design standards', 'reviewing API specifications'), so it is mostly distinguishable from unrelated skills. Minor overlap risk remains with closely related skills such as code review, API documentation, or OpenAPI tooling skills, which keeps it below the level-5 'clear niche' anchor.

4 / 5

Total

14

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (534 lines); consider splitting into references/ and linking

Warning

referenced_paths_exist

Referenced path issues: 7 missing

Warning

Total

14

/

16

Passed

Repository

majiayu000/claude-skill-registry-data

Path

data/02-architect-apidesign/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.