CtrlK
BlogDocsLog inGet started
Tessl Logo

discriminated-union-with-nested-oneof-custom-commands

How to author custom commands for the discriminated-union-with-nested-oneof CLI using the co-generated SDK.

58

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/discriminated-union-with-nested-oneof/.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, concrete, and well-organized: it gives a copy-paste-ready registration example, clear architecture context, explicit regeneration safety, and real build/test commands. Its main defects are a placeholder section that lists no SDK clients and minor redundant restatement of the .fernignore protection.

Suggestions

Fill in or remove the empty '### 2. Available SDK Clients' section — either list the actual sub-clients (e.g. resources and their key methods) or point to where they can be discovered (e.g. 'inspect discriminated_union_with_nested_oneof_sdk::api::Client'), since a section that promises clients but delivers none is a dead end.

Add a short validation checkpoint after the regeneration workflow (e.g. 'after fern generate, run cargo build to confirm your custom.rs still compiles against the new SDK surface') to close the workflow's feedback loop.

State the .fernignore protection once (the Regeneration Safety table is the natural home) and trim the repetition in the prose and architecture diagram.

DimensionReasoningScore

Conciseness

The body is lean and assumes Claude's competence (no explanation of clap, serde_json, or async basics), with code, an architecture map, and a table earning their place. Minor redundancy — the '.fernignore' protection of custom.rs is stated three times (prose, architecture diagram, and the Regeneration Safety table) — keeps it below anchor 5.

4 / 5

Actionability

Provides a complete, executable Rust registration example, concrete key-pattern snippets (client(ctx), block_on), and real build/run commands. The empty '### 2. Available SDK Clients' section promises sub-clients but lists none, a minor gap in executable detail that fits anchor 4 ('mostly executable guidance... minor gaps') rather than anchor 5.

4 / 5

Workflow Clarity

The sequence is clear — edit custom.rs, cargo build, run the command (with RUST_LOG=debug for debugging) — and regeneration risk is explicitly addressed via the .fernignore protection, the what-regenerates table, and post-regeneration guidance. Only a minor validation gap (no explicit checkpoint that the custom command still compiles/works after fern generate) keeps it at anchor 4.

4 / 5

Progressive Disclosure

No bundle files exist and none are needed for a skill of this size; the ~100-line body is well organized with clear section headers, a table, and a code example, making navigation easy. The one weak spot — the placeholder 'Available SDK Clients' section — is a minor organization gap fitting anchor 4 rather than the fully clean structure of 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 distinctive and names its domain concretely, but it states only one action and omits any 'when to use this' trigger guidance, which limits its discoverability and completeness. Adding an explicit 'Use when...' clause and natural trigger phrases would materially improve it.

Suggestions

Add an explicit trigger clause, e.g. 'Use when adding or extending commands in the discriminated-union-with-nested-oneof CLI, editing custom.rs, or after fern generate changes the SDK surface.'

Enumerate 1-2 more concrete capabilities in the description (e.g. 'registering clap commands in custom.rs, calling SDK methods via block_on, and surviving fern generate regeneration') so the 'what' is comprehensive rather than a single action.

Include natural phrasing variations users would actually say — 'add a CLI command', 'extend the CLI', 'register a custom command' — rather than only the technical terms 'custom commands', 'CLI', and 'SDK'.

DimensionReasoningScore

Specificity

Names the concrete domain ("custom commands for the discriminated-union-with-nested-oneof CLI") and one concrete action ("author custom commands"), but does not enumerate what authoring involves, matching the '1-2 concrete actions, not comprehensive' anchor. It is below anchor 4 because no list of several specific actions is given, and above anchor 2 because the domain is specific rather than generic.

3 / 5

Completeness

It clearly answers 'what' ("How to author custom commands for the ... CLI using the co-generated SDK") but contains no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. Not anchor 4 because 'when' is entirely absent rather than just weakly implied.

3 / 5

Trigger Term Quality

Contains some relevant keywords ("custom commands", "CLI", "SDK") but is missing common natural variations a user would say, such as 'add a command to the CLI', 'extend the CLI', or 'register a command'. This fits the 'some relevant keywords but missing common variations or synonyms' anchor rather than anchor 4's 'good keyword coverage'.

3 / 5

Distinctiveness Conflict Risk

The description is bound to a single uniquely-named project CLI and its co-generated SDK — a clear niche with essentially zero overlap risk with any other skill. This is a direct match for the 'clear niche with distinct triggers; 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
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.