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-typescriptOverall
score
82%
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
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.
| Dimension | Reasoning | Score |
|---|---|---|
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
| Dimension | Reasoning | Score |
|---|---|---|
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.
Validation — 14 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
Total | 14 / 16 Passed | |
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.