Guides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.
62
73%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/api-and-interface-design/SKILL.mdQuality
Discovery
82%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 is a solid description with strong trigger term coverage and explicit 'Use when' clauses that clearly communicate when the skill should be selected. Its main weaknesses are the lack of concrete actions (it 'guides' rather than performing specific tasks) and some potential overlap with broader architecture or coding skills. Adding specific deliverables or outputs would strengthen the description.
Suggestions
Replace the vague verb 'Guides' with specific concrete actions, e.g., 'Reviews endpoint designs for stability, suggests versioning strategies, validates type contracts between modules'
Add distinguishing details about what makes this skill unique compared to general architecture or coding skills, e.g., mention specific concerns like backward compatibility, versioning, or deprecation strategies
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (API and interface design) and mentions some specific contexts like REST/GraphQL endpoints, type contracts, and module boundaries, but it doesn't list concrete actions—it says 'guides' design rather than specifying what actions it performs (e.g., 'generates endpoint schemas', 'validates contract compatibility'). | 2 / 3 |
Completeness | Clearly answers both 'what' (guides stable API and interface design) and 'when' with explicit 'Use when...' clauses covering multiple trigger scenarios: designing APIs, module boundaries, REST/GraphQL endpoints, type contracts, and frontend/backend boundaries. | 3 / 3 |
Trigger Term Quality | Good coverage of natural terms users would say: 'API', 'REST', 'GraphQL', 'endpoints', 'type contracts', 'module boundaries', 'frontend and backend', 'public interface'. These are terms developers naturally use when working on API design tasks. | 3 / 3 |
Distinctiveness Conflict Risk | While it targets API and interface design specifically, the broad scope of 'any public interface' and 'module boundaries' could overlap with general architecture skills, code organization skills, or specific REST/GraphQL implementation skills. The term 'guides' is also somewhat vague about what differentiates this from general coding advice. | 2 / 3 |
Total | 10 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid API design reference with excellent actionability — concrete TypeScript examples, clear patterns, and useful tables. Its main weaknesses are moderate verbosity (explaining concepts Claude already knows, like HTTP status codes and PATCH semantics) and a structure that's more reference-guide than workflow-oriented. The broken reference to 'deprecation-and-migration' and lack of bundle files slightly undermines progressive disclosure.
Suggestions
Trim explanations of concepts Claude already knows (HTTP status code meanings, what PATCH vs PUT does) and the 'Common Rationalizations' table to improve token efficiency.
Add an explicit step-by-step workflow section (e.g., 'Designing a New API: Step 1: Define contracts → Step 2: Define error format → Step 3: Validate at boundaries → Step 4: Run verification checklist') to improve workflow clarity.
Either create the referenced 'deprecation-and-migration' file or remove the dangling reference to avoid confusion.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is generally well-structured but includes some unnecessary explanation that Claude would already know (e.g., explaining what HTTP status codes mean, explaining what PATCH vs PUT does). The 'Common Rationalizations' table, while useful for humans, adds bulk that doesn't help Claude execute tasks. The Hyrum's Law section is somewhat verbose. However, the code examples are lean and the tables are efficient. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript code examples throughout — contract-first interface definitions, validation patterns with Zod-style parsing, REST resource design with concrete URL patterns, discriminated unions, branded types, and pagination response shapes. All examples are copy-paste ready and specific. | 3 / 3 |
Workflow Clarity | The verification checklist at the end provides a clear set of checkpoints, and the principles are well-sequenced (contract first → error semantics → validation → extension → naming). However, there's no explicit step-by-step workflow for designing an API from scratch — the content reads more as a reference guide than a sequenced process. For a design skill this is partially acceptable, but the 'When to Use' triggers don't connect to specific workflow paths. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear sections and headers, but it's a monolithic document with no references to supporting files (except one mention of 'deprecation-and-migration' which has no bundle file). At ~200 lines, some sections like REST API Patterns and TypeScript Interface Patterns could be split into separate reference files. The single reference that exists points to a non-existent file. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
f17c6e8
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.