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

Content

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, actionable API design skill with excellent concrete examples and good coverage of important patterns (contract-first, boundary validation, error semantics, Hyrum's Law). Its main weaknesses are moderate verbosity — some content explains things Claude already knows — and a monolithic structure that could benefit from splitting into focused sub-files. The verification checklist is a strength but would be more effective integrated into a clearer design workflow.

Suggestions

Trim explanations of well-known concepts (HTTP status codes, PATCH vs PUT semantics) to brief reminders rather than full explanations, saving significant token budget.

Split REST API patterns and TypeScript interface patterns into separate referenced files, keeping SKILL.md as a concise overview with links to detailed guides.

Add a brief sequenced workflow (e.g., '1. Define contract types → 2. Design error format → 3. Add validation at boundaries → 4. Run verification checklist') to improve workflow clarity.

DimensionReasoningScore

Conciseness

The skill is generally well-structured but includes some content Claude already knows (e.g., HTTP status code meanings, basic REST conventions, what PATCH vs PUT means). The 'Common Rationalizations' table, while useful, adds bulk. The Hyrum's Law explanation is somewhat verbose. However, the code examples are tight and the tables are efficient.

2 / 3

Actionability

The skill provides fully executable TypeScript code examples throughout — contract-first interface definitions, validation at boundaries with real Zod-style parsing, REST resource design patterns, discriminated unions, and branded types. All examples are concrete and copy-paste ready.

3 / 3

Workflow Clarity

The skill provides a verification checklist at the end, which is good, but lacks a clear sequenced workflow for the API design process itself. The principles are presented as independent sections rather than a step-by-step process. For a design skill this is partially acceptable, but the checklist could be better integrated as validation checkpoints within a workflow.

2 / 3

Progressive Disclosure

The content is well-organized with clear sections and headers, but it's a long monolithic document (~200+ lines of substantive content) that could benefit from splitting REST patterns, TypeScript patterns, and core principles into separate referenced files. There is one reference to 'deprecation-and-migration' but no other external references or bundle files to support progressive disclosure.

2 / 3

Total

9

/

12

Passed

Description

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 good completeness thanks to explicit 'Use when' clauses with multiple scenarios. Its main weaknesses are the lack of concrete actions (it 'guides' rather than specifying what it does) and some potential overlap with general architecture or design pattern skills. Adding specific deliverables or outputs would strengthen it.

Suggestions

Replace the vague verb 'guides' with specific concrete actions, e.g., 'Reviews endpoint schemas for stability, suggests versioning strategies, validates type contracts between modules'.

Add distinguishing details about what makes this skill unique compared to general architecture skills, e.g., mention specific outputs like 'backward-compatible API schemas' or 'interface deprecation plans'.

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 software architecture or code organization skills. The REST/GraphQL and type contract mentions help narrow it, but 'guides stable API design' is still somewhat broad.

2 / 3

Total

10

/

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.