CtrlK
BlogDocsLog inGet started
Tessl Logo

api-and-interface-design

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

Quality

73%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/api-and-interface-design/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

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

DimensionReasoningScore

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.

DimensionReasoningScore

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
addyosmani/agent-skills
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.