CtrlK
BlogDocsLog inGet started
Tessl Logo

null-type-custom-commands

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

59

Quality

74%

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/null-type/.agents/skills/custom-commands/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 content is a strong, action-oriented guide: a complete executable example, exact file paths, and regeneration-safety rules that Claude could not infer. Its main weaknesses are minor duplicated snippets between the example and the Key Patterns/Build & Test sections, and no explicit post-build verification step. Structure is good for a single-file skill, though reference material could be split out as it grows.

DimensionReasoningScore

Conciseness

The body is efficient and entirely project-specific (e.g. .fernignore protection, the sdk.rs bridge), but has minor redundancy: the client()/block_on() calls appear both in the full register() example and again in "Key Patterns", and the build/run commands are repeated between section 1 and "Build & Test". This matches the 'efficient; minor instances of over-explanation' anchor rather than the lean level 5.

4 / 5

Actionability

Fully executable, copy-paste-ready Rust example with real imports and exact file paths, a concrete table of available SDK sub-clients, and specific build/run/debug commands. The common case (registering a command that invokes an SDK call) is completely covered.

5 / 5

Workflow Clarity

A clear sequence is present (edit custom.rs → cargo build → run the command) with a debugging feedback hint (RUST_LOG=debug). It falls short of level 5 because there is no explicit validation checkpoint (e.g. verifying the command appears in --help) and the numbered subsections mix workflow steps with reference material.

4 / 5

Progressive Disclosure

The single-file skill has good structure — clear sections, an architecture map, and tables — with no bundle files or nested references. It exceeds the under-50-line simple-skill case, and the SDK client table and key patterns could move to a reference file if the skill grows, matching the 'good structure; minor organization gaps' anchor.

4 / 5

Total

17

/

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 has a clear, specific 'what' anchored to a named tool, but omits any 'when to use' trigger guidance and lacks natural keyword variations. It is distinguishable from generic skills thanks to the null-type CLI references. Adding an explicit trigger clause would lift the two weakest dimensions.

Suggestions

Add an explicit trigger clause, e.g. "Use when adding or modifying commands in the null-type CLI, extending the CLI with new subcommands, or calling SDK operations not covered by generated commands."

Include natural user phrasings as trigger terms such as "add a command", "extend the CLI", or "custom subcommand" alongside the existing keywords.

Name one or two additional concrete capabilities (e.g. inheriting the CLI's auth/retries/TLS configuration) to broaden the 'what' coverage.

DimensionReasoningScore

Specificity

The description names a concrete domain ("custom commands for the null-type CLI") and one concrete action ("author... using the co-generated SDK"), but stops there — no further actions are listed, matching the 'names domain and 1-2 concrete actions' anchor rather than the 'several specific actions' level above.

3 / 5

Completeness

The 'what' is clear (authoring custom commands for the null-type CLI with the co-generated SDK), but there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the rubric guideline.

3 / 5

Trigger Term Quality

Relevant keywords are present ("custom commands", "CLI", "null-type") but common variations a user would naturally say are missing (e.g. "add a command", "extend the CLI", "new subcommand"), matching the 'some relevant keywords but missing common variations' anchor.

3 / 5

Distinctiveness Conflict Risk

The specific tool name ("null-type CLI") and mechanism ("co-generated SDK") carve a mostly distinct niche; it is not a 5 because "custom commands" is a broadly used phrase that could overlap with generic CLI-extension 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.