Use when you need to drive a CLI program through command-and-response interaction via wsh. Examples: "run a build command and check the output", "interact with an installer that asks questions", "execute a sequence of shell commands and handle errors".
57
64%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Risky
Do not use without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/drive-process/SKILL.mdQuality
Discovery
67%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 'Use when' clause and provides helpful examples, which is a strength. However, it leans on example user phrases rather than explicitly listing the skill's concrete capabilities, and the trigger terms could be broader to capture more natural user language. The description could also be more distinctive to avoid overlap with general shell execution skills.
Suggestions
Add more natural trigger term variations such as 'terminal', 'command line', 'interactive prompt', 'stdin/stdout', 'console', and 'run script' to improve discoverability.
Lead with a concrete capability statement before the 'Use when' clause, e.g., 'Drives interactive CLI programs through wsh, handling prompts, reading output, and managing multi-step command sequences.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (CLI program interaction via wsh) and gives some examples of actions like 'run a build command', 'interact with an installer', 'execute a sequence of shell commands', but doesn't list concrete specific capabilities of the skill itself—it relies on example phrases rather than stating what the skill actually does. | 2 / 3 |
Completeness | The description explicitly answers both 'what' (drive a CLI program through command-and-response interaction via wsh) and 'when' (starts with 'Use when...' and provides concrete trigger scenarios). The 'Use when' clause is present and clear. | 3 / 3 |
Trigger Term Quality | Includes some useful trigger terms like 'CLI', 'build command', 'installer', 'shell commands', 'handle errors', and 'wsh', but misses common variations users might say such as 'terminal', 'command line', 'interactive prompt', 'stdin', 'run script', or 'console'. Coverage is partial. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'wsh' and 'command-and-response interaction' provides some distinctiveness, but phrases like 'execute a sequence of shell commands' and 'run a build command' are quite generic and could overlap with general shell/terminal skills or build automation skills. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
62%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid instructional skill with excellent workflow clarity — the core loop pattern is well-defined and consistently applied, with good error recovery guidance. However, it's somewhat verbose for its audience (explaining concepts like pipes, shell state, and control characters that Claude already knows) and uses a pseudo-notation for examples rather than actual executable tool calls, which limits actionability. The content would benefit from trimming known concepts and either using real tool call syntax or explicitly noting the abstraction layer.
Suggestions
Trim sections explaining concepts Claude already knows (control characters, what pipes are, that shell state persists, that rm is destructive) to brief reminders or remove entirely — this could cut 30-40% of tokens.
Use actual wsh tool call syntax (e.g., `wsh_send_input({"input": "npm install\n"})`) in at least one complete end-to-end example rather than the abstract `send input:` notation throughout.
Consider splitting 'Common Patterns' and 'Pitfalls' into a separate PATTERNS.md reference file, keeping SKILL.md focused on the core loop and essential guidance.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is generally well-written but includes some unnecessary elaboration that Claude would already know — e.g., explaining what pipes are, that shell state persists, what control characters do, and that `rm` does real damage. Several sections could be tightened significantly while preserving all useful information. | 2 / 3 |
Actionability | The skill provides concrete patterns with inline examples (e.g., `send input: npm install\n`, heredoc patterns, pager bypasses), but the examples use a pseudo-notation (`send input:`, `wait for idle`, `read screen`) rather than actual executable tool calls or API commands. The execution context preamble tries to bridge this gap but the body itself remains in an abstract instruction language. | 2 / 3 |
Workflow Clarity | The core loop (send → wait → read → decide) is clearly articulated and consistently reinforced throughout. The chained commands section explicitly recommends separate cycles for error detection, the long-running commands section describes a polling feedback loop, and the destructive commands section includes validation checkpoints (confirm, double-check, dry-run). Error recovery strategies are well-sequenced (Ctrl+C → Ctrl+Z → kill → ask human). | 3 / 3 |
Progressive Disclosure | The content is well-organized with clear section headers and logical grouping, but it's a long monolithic document (~200+ lines) with no references to external files. The execution context preamble references `skills/core/SKILL.md` for HTTP fallback, but the main body could benefit from splitting detailed patterns (e.g., Common Patterns, Pitfalls) into separate reference files. | 2 / 3 |
Total | 9 / 12 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 — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
4863aaf
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.