CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

query-parameters-api-custom-commands

How to author custom commands for the query-parameters-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/query-parameters-openapi-as-objects/.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 an efficient, largely executable guide whose register() example, regeneration-safety table, and debug commands give Claude exactly what it needs to add a custom command. Its one real defect is the empty "Available SDK Clients" section, which promises API surface it does not deliver and is the main thing holding actionability and organization at 4 rather than 5.

Suggestions

Fill in or remove the "Available SDK Clients" section — either list the actual sub-clients (e.g. resource, params, and whatever the API spec generates) or point to where to find them (e.g. "inspect query_parameters_api_sdk::api::Client docs").

Add an explicit verification step after editing custom.rs, e.g. "cargo check" or "cargo build && query-parameters-api my-command <id>" before considering the command done.

Replace the '(Sub-clients are derived from the API spec at generation time.)' placeholder with actionable discovery guidance so readers can resolve client.<sub-client> method names themselves.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — no Rust, clap, or cargo tutorials — and every section instructs rather than describes. The empty "Available SDK Clients" stub is a minor instance of wasted tokens that keeps it below the lean/efficient anchor 5.

4 / 5

Actionability

A copy-paste-ready register() example with real file paths and working clap usage, plus concrete build/run commands (cargo build, RUST_LOG=debug), make the guidance mostly executable. The "Available SDK Clients" section promises sub-clients but lists none, leaving the reader unable to fill in client.<sub-client>.<method> without guessing, which is the minor gap that rules out anchor 5.

4 / 5

Workflow Clarity

A clear sequence runs from editing the .fernignore-protected file, through wiring the client and patterns, to building and running with debug logging, and the regeneration-safety table anticipates the main failure mode. Validation is implied by the build/run commands but an explicit 'verify it compiles and runs' checkpoint is missing, so it sits at anchor 4 rather than 5.

4 / 5

Progressive Disclosure

As a single-file skill it is well organized into purposeful sections (Architecture, Adding a Custom Command, Regeneration Safety, Build & Test) with no references needed. The placeholder section 2 and a ~90-line length are minor organization gaps versus the ideally split/organized anchor 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 specific to its niche with essentially no conflict risk, but it is one-sided: it states only what the skill does with a single concrete action and omits any 'when to use' trigger guidance. Adding a 'Use when...' clause and a broader action list would move it from adequate to strong.

Suggestions

Add an explicit trigger clause, e.g. "Use when adding or modifying commands in the query-parameters-api CLI, or when the user mentions custom CLI commands or the co-generated SDK."

List 2-3 more concrete capabilities to raise specificity, e.g. "register commands, wire the authenticated SDK client, and preserve them across fern regenerate".

Include natural synonyms users might say ("extend the CLI", "add a command") to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

The description names the domain ("query-parameters-api CLI") and one concrete action ("author custom commands"... "using the co-generated SDK"), but does not enumerate the several specific actions (registering commands, wiring the SDK client, regeneration safety) needed for anchor 4.

3 / 5

Completeness

The 'what' is clear (authoring custom commands for this CLI with the SDK), but there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines.

3 / 5

Trigger Term Quality

Relevant keywords like "custom commands", "CLI", and "SDK" are present, but common natural variations ("add a command", "extend the CLI") are missing, matching the 'some relevant keywords but missing variations' anchor rather than the good-coverage anchor.

3 / 5

Distinctiveness Conflict Risk

"query-parameters-api CLI" and "co-generated SDK" define a clear niche with distinct triggers; no other plausible skill would compete for these terms, matching the minimal-conflict-risk anchor.

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/query-parameters-openapi-as-objects/.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.