CtrlK
BlogDocsLog inGet started
Tessl Logo

api-custom-commands

How to author custom commands for the api CLI using the co-generated SDK.

56

Quality

71%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

—

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./seed/cli/imdb/.agents/skills/custom-commands/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a strong, highly actionable reference: complete executable Rust examples, concrete build/test commands, and an explicit regeneration-safety workflow. Its main weakness is redundancy across sections (patterns, auth, and file tables repeat earlier content), which costs tokens without adding guidance.

Suggestions

Remove or compress the "Key Patterns" section, since client(ctx) and block_on() are already fully demonstrated in the step-1 example.

Merge the Architecture file listing and the Regeneration Safety table into one table noting which files are regenerated, eliminating the duplicate file map.

DimensionReasoningScore

Conciseness

Mostly efficient, but there is noticeable repetition: the "Key Patterns" section re-shows client()/block_on() already demonstrated in the full step-1 example, the Auth section repeats "automatically inherit the CLI's authentication" from the Overview, and the Regeneration Safety table re-lists the Architecture file map. Not a 2 because there is no padding or explanation of concepts Claude already knows; not a 4 because several redundant passages could be trimmed.

3 / 5

Actionability

Fully executable, copy-paste-ready guidance: a complete Rust register() example with clap wiring, typed SDK invocation, error propagation, and output formatting, plus concrete build/test commands (cargo build; api get-movie <movieId>; RUST_LOG=debug). Covers the common case end to end, matching the top anchor.

5 / 5

Workflow Clarity

Clear sequence (edit cli/api/custom.rs, cargo build, run api <command> to test) with a Regeneration Safety section handling post-regeneration updates ("If the SDK surface changes... update your custom.rs to match"). Not a 5 because there is no explicit error-recovery feedback loop (e.g., what to do when the build or a command run fails); not a 3 because testing and regeneration checkpoints are explicit rather than implicit.

4 / 5

Progressive Disclosure

A well-organized single-file skill with no bundle files and clearly scoped sections (Overview, Architecture, Adding a Custom Command, Regeneration Safety, Build & Test); nothing that clearly belongs in a separate file is inlined. Not a 5 because at ~110 lines with internal repetition (Key Patterns vs. the main example) the content could be consolidated further.

4 / 5

Total

16

/

20

Passed

Description

53%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is specific and identifiable but incomplete: it states a clear single-action "what" with a distinct niche, yet provides no trigger guidance for when the skill applies. Adding a "Use when..." clause and broader natural trigger terms would substantially improve it.

Suggestions

Add an explicit trigger clause, e.g. "Use when adding or modifying custom commands for the api CLI, or when the user wants to extend the CLI with new subcommands."

Broaden natural trigger terms to include synonyms users would say: "add", "create", "extend", "subcommand", "CLI command".

List the concrete actions the skill covers (registering commands in custom.rs, using the SDK client, inheriting auth) rather than only "author".

DimensionReasoningScore

Specificity

The description names a specific domain and mechanism ("author custom commands for the api CLI using the co-generated SDK") but lists only one concrete action; it does not mention registering commands, wiring the SDK client, or inheriting auth. It is above anchor 2 (more than a minimal action, names the co-generated SDK mechanism) but below anchor 4 (no list of several specific actions).

3 / 5

Completeness

Has a clear "what" (authoring custom commands for the api CLI via the co-generated SDK) but no "Use when..." clause or equivalent explicit trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 4 because the "when" is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

Includes some relevant natural keywords ("custom commands", "api CLI", "SDK") but misses common variations users would naturally say, such as "add", "create", "extend", or "subcommand". Not a 4 because synonym coverage is thin; not a 2 because "custom commands" and "CLI" are genuine natural phrases rather than generic filler.

3 / 5

Distinctiveness Conflict Risk

"custom commands for the api CLI using the co-generated SDK" carves a mostly distinct niche with only minor overlap risk against generic CLI/API-usage skills. Not a 5 because it lacks distinct trigger phrases that fully separate it from other API/SDK-related skills.

4 / 5

Total

13

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
fern-api/fern
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.