CtrlK
BlogDocsLog inGet started
Tessl Logo

domain-cli

Use when building CLI tools. Keywords: CLI, command line, terminal, clap, structopt, argument parsing, subcommand, interactive, TUI, ratatui, crossterm, indicatif, progress bar, colored output, shell completion, config file, environment variable, 命令行, 终端应用, 参数解析

44

Quality

46%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./skills/domain-cli/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

54%

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 excels at trigger term coverage with a comprehensive keyword list spanning CLI, TUI, and related Rust crates, but it completely lacks specificity about what the skill actually does — no concrete actions or capabilities are described. It reads more like a tag cloud than a skill description, making it hard for Claude to understand what guidance this skill provides beyond the domain of CLI tools.

Suggestions

Add concrete actions describing what the skill does, e.g., 'Guides building CLI tools with argument parsing, subcommands, interactive prompts, progress bars, and colored output using Rust crates like clap, ratatui, and indicatif.'

Restructure to separate the 'what' from the 'when', e.g., start with capability descriptions and then follow with 'Use when...' and keyword triggers.

Remove overly generic keywords like 'config file' and 'environment variable' that could cause false matches with unrelated skills, or qualify them (e.g., 'CLI config file parsing').

DimensionReasoningScore

Specificity

The description says 'Use when building CLI tools' but does not describe any concrete actions the skill performs. There are no verbs like 'generates', 'creates', 'parses', or 'configures' — just a domain reference and a keyword list.

1 / 3

Completeness

The 'when' is present ('Use when building CLI tools') but the 'what' is essentially absent — there is no description of what the skill actually does or what capabilities it provides. The keyword list hints at scope but doesn't explain actions.

2 / 3

Trigger Term Quality

Excellent coverage of natural keywords users would say: 'CLI', 'command line', 'terminal', 'clap', 'argument parsing', 'subcommand', 'TUI', 'progress bar', 'colored output', 'shell completion', 'config file', 'environment variable', plus CJK variants. These are terms users would naturally use.

3 / 3

Distinctiveness Conflict Risk

The keyword list is fairly specific to CLI/TUI tooling and includes distinctive terms like 'clap', 'ratatui', 'crossterm', 'indicatif', which help narrow the niche. However, terms like 'config file' and 'environment variable' are generic and could overlap with many other skills.

2 / 3

Total

8

/

12

Passed

Implementation

37%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill provides a reasonable reference card for Rust CLI development with useful tables and one good executable code example. However, it suffers from significant redundancy across sections (the same constraints appear in 3-4 different tables), lacks concrete executable examples for most topics beyond basic clap usage, and provides no workflow guidance for actually building a CLI tool end-to-end. The meta-framework layering references (Layer 1/2/3, m05/m09/m12) add overhead without clear practical value.

Suggestions

Add executable code examples for config layering (figment), progress bars (indicatif), and signal handling (ctrlc crate) — these are mentioned but never demonstrated concretely.

Consolidate the redundant tables: Domain Constraints, Critical Constraints, Design Patterns, and Trace to Layer 1 all repeat the same information (exit codes, stderr, config precedence) — merge into a single authoritative reference.

Add a workflow section with sequenced steps for scaffolding a new CLI project, e.g.: 1) Define args struct, 2) Add subcommands, 3) Wire up config layering, 4) Add error handling, 5) Test with `--help` and invalid inputs.

Remove or minimize the Layer 1/2/3 trace sections — they add meta-framework jargon without actionable guidance for the CLI domain specifically.

DimensionReasoningScore

Conciseness

The content is reasonably efficient but includes some redundancy — the same concepts (exit codes, stderr/stdout, config precedence) appear in multiple tables and sections (Domain Constraints table, Critical Constraints section, Design Patterns table, Trace to Layer 1 table). The 'Trace Down' and 'Trace to Layer 1' sections add meta-framework references (m05, m09, m12) that are somewhat abstract without clear payoff.

2 / 3

Actionability

The CLI structure code example is executable and copy-paste ready, which is good. However, many other areas use pseudo-notation or abstract descriptions rather than concrete code (e.g., config layering mentions 'figment/config: Layer sources' but provides no executable example, progress bars mention 'ProgressBar::new(len)' inline in a table but no working snippet). Key tasks like signal handling and config layering lack concrete implementations.

2 / 3

Workflow Clarity

There is no clear multi-step workflow or sequenced process for building a CLI tool. The content is organized as reference tables and isolated patterns rather than a guided process. There are no validation checkpoints or feedback loops — for example, no guidance on testing argument parsing, verifying exit codes, or validating config layering works correctly.

1 / 3

Progressive Disclosure

The content has some structure with clear section headers and tables, and references related skills (m06, m05, m12, m07). However, with no bundle files provided, these references are unverifiable. The content is somewhat monolithic — the full code example and multiple overlapping tables could benefit from better separation, and the 'Layer' framework references add navigational complexity without clear resolution.

2 / 3

Total

7

/

12

Passed

Validation

90%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

10

/

11

Passed

Repository
actionbook/rust-skills
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.