CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

schemaless-request-body-examples-api-custom-commands

How to author custom commands for the schemaless-request-body-examples-api CLI using the co-generated SDK.

Quality

73%

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/schemaless-request-body-examples/.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 efficient, well-structured, and provides genuinely executable Rust with good regeneration-safety guidance — its strongest asset. The main defects are the empty "Available SDK Clients" section that promises detail it never delivers, and the absence of any validation checkpoint in the edit → build → run workflow.

Suggestions

Fill in or remove the "Available SDK Clients" section: either list the real sub-clients with one-line examples (e.g. client.users.list(), client.resource.get(id)) or replace the heading with a pointer to where they can be found (the generated SDK crate's api module).

Add a quick validation step to the workflow, e.g. "Verify registration: schemaless-request-body-examples-api my-command --help shows your command" before or right after cargo build.

Turn the regeneration note into a small feedback loop: after fern generate, run cargo build and fix compile errors in custom.rs where renamed methods/sub-clients break your handlers.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — it never explains what a CLI, clap, or an SDK is, and the architecture diagram and regeneration table deliver high information density. Minor trimming opportunities remain: the empty "Available SDK Clients" stub ("Sub-clients are derived from the API spec at generation time.") and the Key Patterns section repeating the client/block_on calls already shown in the register example.

4 / 5

Actionability

The register-command example is near copy-paste ready (full clap wiring, client(ctx), block_on, serde_json output) and the build commands are concrete. It falls short of 5 because the "Available SDK Clients" section promises sub-clients and then lists none, leaving the example's `client.resource.get(id)` unmappable to a real sub-client.

4 / 5

Workflow Clarity

The sequence is clear and ordered: edit custom.rs → register command → cargo build → run the command (with RUST_LOG=debug for debugging), and the regeneration-safety table explains what is preserved. No explicit validation checkpoint (e.g., verifying the command appears in --help before building, or how to recover when the SDK surface changes) keeps it below 5, though this is not a destructive/batch skill so no cap applies.

4 / 5

Progressive Disclosure

There are no bundle files, and the ~100-line body is cleanly sectioned (Overview, Architecture, Adding a Custom Command, Regeneration Safety, Build & Test) with all content appropriately inline for this size. The dead "Available SDK Clients" heading that delivers nothing is a minor organization gap that prevents a 5.

4 / 5

Total

16

/

20

Passed

Description

57%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 highly distinct and names its niche precisely, but it describes only a single action and completely lacks a 'when to use' trigger clause, which is the biggest gap. Adding an explicit "Use when..." clause and enumerating the concrete actions (registering commands, wiring the SDK client, surviving regeneration) would lift it substantially.

Suggestions

Add an explicit trigger clause, e.g. "Use when adding or modifying custom commands in the schemaless-request-body-examples-api CLI, calling the SDK from command handlers, or updating custom.rs after regeneration changes the SDK surface."

Enumerate the concrete capabilities instead of the single action "author custom commands" — e.g. "register commands in custom.rs, call the generated SDK client with inherited auth/TLS/retries, and keep commands working across fern regenerate."

Include natural trigger variations users would actually say ("add a command", "extend the CLI", "call the API from the CLI") to improve trigger-term coverage.

DimensionReasoningScore

Specificity

The description names a concrete domain ("custom commands for the schemaless-request-body-examples-api CLI") and one action ("author custom commands... using the co-generated SDK"), but stops at that single action rather than listing several concrete capabilities.

3 / 5

Completeness

The 'what' is clear (authoring custom commands for this CLI via the SDK), but there is no 'when' guidance whatsoever — no "Use when..." clause or equivalent trigger, which caps this dimension at 3 per the rubric.

3 / 5

Trigger Term Quality

It includes relevant keywords a user in this context would say ("custom commands", "CLI", "SDK", "co-generated"), but provides no natural trigger phrasing (e.g., "Use when adding a command to the CLI") and no synonyms or variations.

3 / 5

Distinctiveness Conflict Risk

The description is tied to an exact, uniquely-named CLI ("schemaless-request-body-examples-api") with a distinct task (custom command authoring), giving it a clear niche with minimal risk of triggering for the wrong skill.

5 / 5

Total

14

/

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

Path

seed/cli/schemaless-request-body-examples/.agents/skills/custom-commands/SKILL.md

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.