Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers and stand the test of time.
42
28%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/api-design-principles/SKILL.mdQuality
Discovery
22%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This description reads more like a marketing tagline or course title than a functional skill description. It lacks concrete actions, explicit trigger conditions, and uses aspirational fluff ('delight developers', 'stand the test of time') instead of specifying what the skill actually does. The mention of REST and GraphQL provides some keyword value but is insufficient to make this a useful skill selector.
Suggestions
Replace aspirational language with concrete actions, e.g., 'Designs REST endpoints, defines GraphQL schemas, generates OpenAPI/Swagger specs, structures request/response payloads, and applies versioning strategies.'
Add an explicit 'Use when...' clause with natural trigger terms, e.g., 'Use when the user asks about API design, REST endpoints, GraphQL schemas, HTTP methods, API versioning, or OpenAPI documentation.'
Remove marketing fluff like 'delight developers' and 'stand the test of time' — these add no selection value and waste space that could describe capabilities.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description uses vague, aspirational language like 'intuitive, scalable, and maintainable' and 'delight developers' without listing any concrete actions. There are no specific capabilities such as 'design endpoints', 'define schemas', 'generate OpenAPI specs', etc. | 1 / 3 |
Completeness | The description vaguely addresses 'what' (API design principles) but provides no 'when' clause or explicit trigger guidance. There is no 'Use when...' or equivalent, which per the rubric should cap completeness at 2, and the 'what' itself is too vague to merit even a 2. | 1 / 3 |
Trigger Term Quality | It includes some relevant keywords like 'REST', 'GraphQL', and 'API design' that users might naturally say. However, it misses common variations like 'endpoints', 'routes', 'schema', 'OpenAPI', 'swagger', 'HTTP methods', or 'API documentation'. | 2 / 3 |
Distinctiveness Conflict Risk | Mentioning both REST and GraphQL provides some specificity, but the broad framing around 'API design principles' could overlap with skills related to backend development, web services, or general software architecture. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
35%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is essentially a thin wrapper that defers all meaningful content to an external playbook file. The instructions are too abstract and vague to be actionable on their own — they read more like a table of contents than executable guidance. The 'when to use' sections add unnecessary bulk without compensating for the lack of concrete examples, patterns, or code.
Suggestions
Add at least one concrete, complete example of API design output (e.g., a sample REST resource definition or GraphQL schema snippet) directly in the SKILL.md so it has standalone value.
Replace the vague 4-step instructions with specific, actionable guidance — e.g., 'Name resources as plural nouns: /users, /orders. Use HTTP verbs for actions: GET /users/{id}, POST /users'.
Remove or significantly trim the 'Use this skill when' and 'Do not use this skill when' sections, which explain context Claude can infer.
Add a brief but concrete checklist or validation criteria inline (e.g., 'Verify: consistent naming, proper HTTP status codes, pagination on list endpoints') rather than deferring everything to the external file.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The 'Use this skill when' and 'Do not use this skill when' sections add moderate bloat without providing actionable value to Claude. The core instructions are lean (4 steps), but the surrounding context is padding that Claude doesn't need. | 2 / 3 |
Actionability | The instructions are extremely vague — 'Define consumers, use cases, and constraints' and 'Choose API style and model resources or types' are abstract directions with no concrete examples, code snippets, schemas, or specific guidance. Everything actionable is deferred to an external file. | 1 / 3 |
Workflow Clarity | There is a 4-step sequence listed, which provides some structure, but the steps are too high-level to be useful. There are no validation checkpoints, no examples of what 'validate with examples' means concretely, and no feedback loops for error recovery. | 2 / 3 |
Progressive Disclosure | The skill references an external playbook file, which is good progressive disclosure. However, the SKILL.md itself contains almost no substantive content — it's essentially just a pointer to another file with very little standalone value, making the split feel hollow rather than well-structured. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
d739c8b
Table of Contents
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.