Design and build agent-first CLIs with HATEOAS JSON responses, context-protecting output, and self-documenting command trees. Use when creating new CLI tools, adding commands to existing CLIs (joelclaw, slog), or reviewing CLI design for agent-friendliness. Triggers on 'build a CLI', 'add a command', 'CLI design', 'agent-friendly output', or any task involving command-line tool creation.
90
88%
Does it follow best practices?
Impact
94%
1.64xAverage score across 3 eval scenarios
Passed
No known issues
Quality
Discovery
100%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a strong skill description that clearly defines a specific niche (agent-first CLI design), lists concrete capabilities, and provides explicit trigger guidance with both a 'Use when' clause and a 'Triggers on' list. The technical specificity (HATEOAS, context-protecting output) combined with natural language triggers ('build a CLI', 'add a command') makes it both distinctive and discoverable.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'Design and build agent-first CLIs', 'HATEOAS JSON responses', 'context-protecting output', 'self-documenting command trees'. These are concrete, specific capabilities rather than vague language. | 3 / 3 |
Completeness | Clearly answers both 'what' (design/build agent-first CLIs with HATEOAS JSON, context-protecting output, self-documenting command trees) and 'when' (explicit 'Use when...' clause with specific trigger scenarios and a 'Triggers on...' list). | 3 / 3 |
Trigger Term Quality | Includes natural trigger terms users would say: 'build a CLI', 'add a command', 'CLI design', 'agent-friendly output', 'command-line tool creation'. Also mentions specific CLI names (joelclaw, slog) for disambiguation. Good coverage of natural variations. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive niche: agent-first CLI design with HATEOAS JSON is very specific and unlikely to conflict with general coding skills or other tool-building skills. The mention of specific CLI names (joelclaw, slog) and domain-specific terms like 'context-protecting output' further distinguish it. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a high-quality, deeply actionable skill that provides comprehensive guidance for building agent-first CLIs. Its greatest strength is the concrete, executable examples and well-defined JSON envelope schemas that leave no ambiguity. Its main weakness is that it's a large monolithic document — the streaming protocol, type definitions, and anti-patterns table could be split into referenced files to improve token efficiency and progressive disclosure.
Suggestions
Split the Streaming Protocol (NDJSON/ADR-0058) section into a separate STREAMING.md file, referenced with a one-line summary and link from the main skill
Move the full TypeScript type definitions and Redis subscription patterns into a REFERENCE.md file to reduce the main document's token footprint
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive and mostly efficient, but it's quite long (~300+ lines). Some sections like the streaming protocol and Redis subscription patterns are very detailed and could be split into separate reference files. The anti-patterns table has some redundancy with earlier content. However, it doesn't explain basic concepts Claude already knows. | 2 / 3 |
Actionability | Excellent actionability throughout — concrete JSON envelope schemas, executable TypeScript code examples, specific bash commands for building/installing, complete type definitions, and a detailed checklist for new commands. Every principle is backed by copy-paste-ready examples. | 3 / 3 |
Workflow Clarity | The 'Adding a new command' section provides a clear 7-step sequence. The checklist at the end serves as a validation checkpoint. The streaming section has explicit cleanup requirements and signal handling. Error handling workflows include fix suggestions and next_actions for recovery. | 3 / 3 |
Progressive Disclosure | The skill is a monolithic document that could benefit from splitting. The streaming protocol (ADR-0058), Redis subscription patterns, and TypeScript type definitions could be in separate reference files. It mentions reference implementations (joelclaw, slog paths) but doesn't split its own content. The TODO section at the end is appropriate but the main body is very long for a single SKILL.md. | 2 / 3 |
Total | 10 / 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.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
825972c
Table of Contents
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.