CtrlK
BlogDocsLog inGet started
Tessl Logo

acme-cli-custom-commands

How to author custom commands for the acme-cli 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/cli-multi-spec/no-custom-config/.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 tight, actionable guide: executable Rust code, an architecture map, a regeneration-safety table, and build commands, with almost no token waste. The main defects are the empty "Available SDK Clients" section that promises sub-clients it never lists, and the absence of an explicit post-edit validation step.

Suggestions

Fix the "Available SDK Clients" section: either list the actual sub-clients (or show how to discover them, e.g. inspect acme_cli_sdk::api::Client) instead of the current placeholder line "(Sub-clients are derived from the API spec at generation time.)".

Add a validation checkpoint after editing custom.rs, e.g. "Verify with `cargo build && acme-cli my-command --help` before moving on", to close the workflow gap.

State where the .fernignore file lives (or that it is created by fern init) so the regeneration-safety claim is actionable rather than asserted.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — no padding explaining Rust, clap, or codegen concepts — with only minor redundancy (the .fernignore protection is stated in prose at "protected by .fernignore — fern generate will never overwrite it" and again in the Regeneration Safety table).

4 / 5

Actionability

The registration example is concrete, executable Rust code with real commands ("cargo build", "RUST_LOG=debug acme-cli ..."), but the "Available SDK Clients" section promises "the following sub-clients" and then lists none — a visible gap in an otherwise copy-paste-ready guide.

4 / 5

Workflow Clarity

The edit → build → run sequence is clearly laid out with a numbered section and concrete commands, plus an error-recovery hint (RUST_LOG=debug), but there is no explicit validation checkpoint (e.g. confirming the build succeeds or the command appears in --help) after editing custom.rs.

4 / 5

Progressive Disclosure

The ~100-line body is well organized with clear sections (Overview, Architecture, Adding a Custom Command, Regeneration Safety, Build & Test) and no inlined bulk content; it is above the <50-line simple-skill threshold and has no external references, so structure is good but not exemplary.

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 concise and names a highly distinct, specific domain, but it is thin: only one action is stated, there is no "Use when..." trigger clause, and natural keyword variations are missing. Adding explicit trigger guidance and a second concrete action would move it into the good-example range.

Suggestions

Add an explicit trigger clause, e.g. "Use when adding or modifying commands in the acme-cli CLI, or when the user mentions extending acme-cli with custom commands."

List one or two more concrete actions (e.g. "register commands, wire a fully-authenticated SDK client, and preserve them across fern generate") to lift specificity from 3 toward 4-5.

Include natural keyword variations such as "extend the CLI", "add a command to acme-cli", or "fern generate" so users' phrasing matches the trigger terms.

DimensionReasoningScore

Specificity

"How to author custom commands for the acme-cli CLI using the co-generated SDK" names a concrete domain but describes only one action (authoring custom commands); it does not list the several specific capabilities (registering commands, wiring SDK clients, async bridging, regeneration safety).

3 / 5

Completeness

The description has a clear "what" (authoring custom commands for acme-cli via the SDK) but entirely lacks a "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", "acme-cli", and "SDK" are present, but common variations a user might naturally say ("add a command", "extend the CLI", "CLI plugin") are missing.

3 / 5

Distinctiveness Conflict Risk

The description targets a very specific niche — custom commands for a particular CLI (acme-cli) using its co-generated SDK — making conflict with other skills virtually impossible.

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.