CtrlK
BlogDocsLog inGet started
Tessl Logo

openapi-to-typescript

Converts OpenAPI 3.0 JSON/YAML to TypeScript interfaces and type guards. This skill should be used when the user asks to generate types from OpenAPI, convert schema to TS, create API interfaces, or generate TypeScript types from an API specification.

Install with Tessl CLI

npx tessl i github:softaworks/agent-toolkit --skill openapi-to-typescript
What are skills?

Overall
score

82%

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

Discovery

100%

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 well-crafted skill description that excels across all dimensions. It uses third person voice, specifies concrete inputs and outputs, includes natural trigger terms users would actually say, and explicitly states when to use the skill. The combination of OpenAPI and TypeScript creates a distinct, non-conflicting niche.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'Converts OpenAPI 3.0 JSON/YAML to TypeScript interfaces and type guards' - specifies the input format (OpenAPI 3.0 JSON/YAML) and multiple outputs (interfaces AND type guards).

3 / 3

Completeness

Clearly answers both what ('Converts OpenAPI 3.0 JSON/YAML to TypeScript interfaces and type guards') AND when ('This skill should be used when the user asks to...') with explicit trigger scenarios.

3 / 3

Trigger Term Quality

Includes natural keywords users would say: 'generate types from OpenAPI', 'convert schema to TS', 'create API interfaces', 'generate TypeScript types from an API specification' - covers common variations and natural phrasing.

3 / 3

Distinctiveness Conflict Risk

Very specific niche combining OpenAPI + TypeScript conversion - unlikely to conflict with general code generation or other document processing skills due to the specific technology pairing.

3 / 3

Total

12

/

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, highly actionable skill with excellent concrete examples and clear type mappings. The main weaknesses are its length (could be more concise by trimming redundant sections) and the lack of validation checkpoints in the workflow for verifying the generated TypeScript output compiles correctly.

Suggestions

Add a validation step after generation: 'Run `tsc --noEmit types/api.ts` to verify the output compiles'

Remove the 'When to Use' section as it duplicates the YAML description

Consider moving the complete example to a separate EXAMPLES.md file and linking to it

DimensionReasoningScore

Conciseness

The skill is reasonably efficient but includes some redundancy - the 'When to Use' section duplicates the description, and some explanations (like basic type mappings) could be more condensed since Claude knows TypeScript and OpenAPI basics.

2 / 3

Actionability

Excellent actionability with complete, executable TypeScript code examples, specific type mapping tables, a full input/output example, and concrete naming conventions. The generated code is copy-paste ready.

3 / 3

Workflow Clarity

The 7-step workflow is clearly sequenced, but lacks explicit validation checkpoints beyond the initial OpenAPI validation. No feedback loop for handling partial failures or verification that generated TypeScript compiles correctly.

2 / 3

Progressive Disclosure

Content is well-organized with clear sections and tables, but this is a long monolithic file (~200 lines) that could benefit from splitting detailed examples or the complete example into separate reference files.

2 / 3

Total

9

/

12

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.

Validation14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata' field is not a dictionary

Warning

license_field

'license' field is missing

Warning

Total

14

/

16

Passed

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.