Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
72
66%
Does it follow best practices?
Impact
80%
1.37xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./nanobot/skills/tmux/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 is concise and specific about its capabilities, clearly identifying tmux remote control as its domain with concrete actions (sending keystrokes, scraping output). Its main weakness is the absence of an explicit 'Use when...' clause, which limits completeness, and it could benefit from additional trigger terms that users might naturally use.
Suggestions
Add a 'Use when...' clause, e.g., 'Use when the user needs to interact with interactive CLI tools, TUI applications, or long-running terminal processes inside tmux.'
Include additional natural trigger terms like 'terminal multiplexer', 'send-keys', 'capture terminal output', 'TUI', or 'interactive terminal application'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple concrete actions: 'remote-control tmux sessions', 'sending keystrokes', and 'scraping pane output'. These are specific, actionable capabilities rather than vague abstractions. | 3 / 3 |
Completeness | Clearly answers 'what' (remote-control tmux sessions by sending keystrokes and scraping pane output) but lacks an explicit 'Use when...' clause specifying when Claude should select this skill. | 2 / 3 |
Trigger Term Quality | Includes good terms like 'tmux', 'keystrokes', 'pane output', and 'interactive CLIs', but misses common user variations like 'terminal multiplexer', 'send keys', 'capture output', 'tmux send-keys', or 'screen scraping'. | 2 / 3 |
Distinctiveness Conflict Risk | Very distinct niche — tmux session control via keystrokes and pane scraping is highly specific and unlikely to conflict with other skills. The combination of 'tmux', 'keystrokes', and 'pane output' creates a clear, unique identity. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
64%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, actionable skill with excellent concrete commands and examples throughout. Its main weaknesses are the lack of validation/error-recovery steps in workflows (e.g., verifying session creation succeeded) and the somewhat lengthy orchestration section that could benefit from being extracted to a separate reference file. The content is well-structured but could be more concise in places.
Suggestions
Add validation checkpoints after key steps (e.g., verify session exists after `tmux new`, check capture-pane output is non-empty) to improve workflow clarity.
Move the 'Orchestrating Coding Agents' section to a separate file (e.g., ORCHESTRATION.md) and reference it from the main skill to improve progressive disclosure and conciseness.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient with concrete commands, but includes some sections that could be tightened (e.g., the Windows/WSL note, the orchestrating coding agents section is quite long and could be a separate file). The 'Tips' bullets add moderate value but border on unnecessary. | 2 / 3 |
Actionability | Excellent executable examples throughout — the quickstart, send-keys, capture-pane, wait-for-text, cleanup, and orchestration sections all provide copy-paste ready commands with correct flags and syntax. | 3 / 3 |
Workflow Clarity | The quickstart provides a clear sequence for session creation, and the orchestration section shows a multi-agent workflow. However, there are no explicit validation checkpoints or error recovery steps — e.g., no check that the session was created successfully before sending keys, no guidance on what to do if send-keys fails or output capture returns empty. | 2 / 3 |
Progressive Disclosure | Well-organized with clear section headers and references to helper scripts (`{baseDir}/scripts/find-sessions.sh`, `{baseDir}/scripts/wait-for-text.sh`). However, the orchestrating coding agents section is quite long and could be split into a separate file, and no bundle files were provided to verify referenced paths exist. | 2 / 3 |
Total | 9 / 12 Passed |
Validation
81%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 9 / 11 Passed | |
ab9f499
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.