CtrlK
BlogDocsLog inGet started
Tessl Logo

dart-build-cli-app

Architectural patterns, entrypoint structure, exit codes, stream routing, and subprocess spawning for Dart command-line interface (CLI) applications. Use when building CLI tools, console utilities, scripts, argument parsing with `package:args` (ArgParser or CommandRunner), handling exit codes, configuring executables in pubspec.yaml, spawning Dart subprocesses, or compiling native CLI binaries. Don't use for Flutter UI widgets, web applications, or standalone HTTP backend servers.

72

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%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.

A strong, highly actionable reference body with genuinely non-obvious Dart CLI guidance and clean section structure, held back by two dead example-file links in the References & Examples section and a checklist-style (rather than sequenced) workflow. Conciseness is good overall with minor trimmable overhead.

Suggestions

Create the missing `examples/single_command_tool.dart` and `examples/multi_command_runner.dart` files (or remove those links from the References & Examples section) — 2 of the 4 referenced paths currently do not resolve.

Convert the Implementation Workflow checklist into a numbered build-order sequence with an explicit verify step (e.g., run in-memory unit tests, then `test_process` integration tests) to add a concrete validation checkpoint and feedback loop.

Trim the 11-line Contents table of contents, which duplicates the section headers already present in the body, to reduce token overhead.

DimensionReasoningScore

Conciseness

The body is dense and prescriptive, focusing on non-obvious knowledge (why `exit(N)` breaks coverage extraction, AOT `resolvedExecutable` self-invocation, Windows sigterm `UnsupportedError`) rather than basics Claude already knows. It is not 5 because of minor trimmable material, e.g., the 11-line Contents list that duplicates the section headers and a few explanatory asides.

4 / 5

Actionability

Multiple complete, executable Dart blocks (CommandRunner entrypoint, thin `bin/` trampoline, terse stack-trace handler, TestProcess integration test) plus concrete commands (`dart create -t console`, `dart install`, `dart compile exe bin/cli.dart -o <output_path>`) and a copy-paste pubspec `executables:` snippet cover the common cases. Not 4 because the examples are complete and runnable rather than having gaps.

5 / 5

Workflow Clarity

The Implementation Workflow provides an 8-item audit checklist and the testing section gives explicit validation (in-memory unit tests, subprocess exit-code verification via `test_process`). It is not 5 because the workflow is an unordered checklist rather than a sequenced build order with explicit feedback/recovery loops, and not 3 because validation checkpoints are explicitly stated.

4 / 5

Progressive Disclosure

Deep material is appropriately split into one-level-deep reference files that exist and are clearly signaled at the point of need (sections 6 and 7 link `references/aot_sdk_discovery.md` and `references/signals_and_terminal.md`), and the body sections are well organized. However, 2 of the 4 paths in the References & Examples section — `examples/single_command_tool.dart` and `examples/multi_command_runner.dart` — do not exist in the bundle, breaking navigation; this pushes it below the 'minor organization gaps' of 4.

3 / 5

Total

16

/

20

Passed

Description

100%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.

An exemplary description: it states concrete capabilities in third person, provides an explicit 'Use when' clause with natural trigger terms and synonyms, and adds negative boundary guidance to prevent mis-triggering. It aligns closely with the rubric's good overall examples.

DimensionReasoningScore

Specificity

The description lists five concrete capability areas — "Architectural patterns, entrypoint structure, exit codes, stream routing, and subprocess spawning" — with no vague filler, matching the comprehensive-coverage anchor. It is not 4 because the coverage of the skill's scope is complete rather than having minor gaps.

5 / 5

Completeness

The first sentence explicitly answers 'what' (architectural patterns, entrypoint structure, exit codes, stream routing, subprocess spawning for Dart CLI applications) and the second gives a concrete "Use when building CLI tools..." trigger clause. It is not 4 because the 'when' is fully explicit with multiple concrete triggers rather than only somewhat specific.

5 / 5

Trigger Term Quality

It includes natural phrases users would say — "building CLI tools, console utilities, scripts, argument parsing with `package:args` (ArgParser or CommandRunner), handling exit codes, spawning Dart subprocesses, compiling native CLI binaries" — with synonyms (CLI / command-line interface / console) all present. It is not 4 because both common phrasings and library-specific terms are covered comprehensively.

5 / 5

Distinctiveness Conflict Risk

A clear niche (Dart CLI tooling) with a concrete negative boundary — "Don't use for Flutter UI widgets, web applications, or standalone HTTP backend servers" — minimizing overlap with adjacent skills. It is not 4 because the exclusions remove even the closely-related overlap risks.

5 / 5

Total

20

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 2 missing

Warning

Total

15

/

16

Passed

Repository
flutter/agent-plugins
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.