Use when you need to intercept keyboard input from the human temporarily. Examples: "ask the user for approval before running a command", "build a selection menu in the terminal", "capture text input from the user".
64
76%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/input-capture/SKILL.mdQuality
Discovery
89%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 well-crafted description that clearly communicates when to use the skill through an explicit 'Use when' clause and concrete examples. Its main weakness is that it describes the domain and use cases rather than listing specific concrete actions/capabilities the skill provides. The trigger terms are natural and the niche is distinct.
Suggestions
Add specific concrete actions the skill performs, e.g., 'Reads keystrokes, displays interactive selection menus, prompts for yes/no confirmation, and captures free-text input from the terminal.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names a domain (keyboard input interception) and gives examples of actions (ask for approval, build a selection menu, capture text input), but doesn't list concrete technical capabilities or methods — it's more example-driven than action-driven. | 2 / 3 |
Completeness | Explicitly starts with 'Use when...' providing clear trigger guidance, and the examples effectively communicate both what the skill does (intercept keyboard input) and when to use it (approval prompts, selection menus, text capture). | 3 / 3 |
Trigger Term Quality | Includes strong natural trigger terms users would actually say: 'ask the user for approval', 'selection menu in the terminal', 'capture text input', 'keyboard input'. These cover common variations of how someone would describe needing interactive terminal input. | 3 / 3 |
Distinctiveness Conflict Risk | The focus on intercepting keyboard input temporarily is a clear, narrow niche. The specific examples (terminal menus, approval prompts, text capture) make it unlikely to conflict with general command-running or UI skills. | 3 / 3 |
Total | 11 / 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 well-structured skill that clearly explains input capture patterns with good workflow sequencing and thorough coverage of edge cases and pitfalls. Its main weaknesses are that the examples are pseudocode-level rather than executable (the abstract 'capture input' / 'create overlay' operations aren't tied to concrete API calls or tool invocations), and the content is somewhat verbose for what could be more concise instruction. The pitfalls section is a genuine strength, providing practical guidance that prevents real mistakes.
Suggestions
Make examples more actionable by showing at least one complete, executable example using either wsh_* tool calls or curl commands, rather than relying entirely on abstract operation names.
Tighten the execution context preamble — it's 12 lines of boilerplate that could be reduced to 3-4 lines with a reference to the core skill for details.
Consider splitting the longer pattern sections (selection menus, text input, multi-step dialogs) into a referenced PATTERNS.md file, keeping SKILL.md as a concise overview with the core mechanism and approval workflow example.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is generally well-written but includes some unnecessary elaboration. The execution context preamble is lengthy, and sections like 'Focus Routing' over-explain when focus is/isn't needed. Some pitfall descriptions could be tighter (e.g., 'A captured terminal with no visual explanation is terrifying' is narrative padding). However, most content earns its place. | 2 / 3 |
Actionability | The skill provides clear patterns with pseudocode-level examples for approval workflows, selection menus, and text input, but none are truly executable — they use abstract operations like 'capture input', 'create overlay', 'receive input event' without concrete API calls, curl commands, or tool invocations. The preamble acknowledges this indirection but it still reduces copy-paste readiness. | 2 / 3 |
Workflow Clarity | Multi-step processes are clearly sequenced with numbered steps, explicit validation checkpoints (check mode before capturing, always release, always clean up), error recovery guidance (handle unexpected input, handle Ctrl+\ toggle mid-dialog), and clear anti-patterns (Bad vs Good capture timing). The pitfalls section serves as an excellent checklist for edge cases. | 3 / 3 |
Progressive Disclosure | The content is well-structured with clear section headers progressing from mechanism to patterns to pitfalls. However, at ~200 lines it's a substantial single file with no references to supporting documents. The multi-step dialogs, focus routing, and text input patterns could be split into separate files. The reference to 'core skill' for WebSocket mechanics is appropriate but vague ('see the core skill for connection mechanics'). | 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.