Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
74
66%
Does it follow best practices?
Impact
86%
2.00xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./openclaw/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 technically specific, clearly conveying the skill's unique capability of controlling tmux sessions programmatically. Its main weakness is the absence of an explicit 'Use when...' clause, which caps completeness. Adding trigger guidance and a few more natural keyword variations would make it excellent.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user needs to interact with tmux sessions, send commands to terminal panes, or capture terminal output.'
Include additional natural trigger terms like 'terminal multiplexer', 'send-keys', 'capture terminal output', or 'automate CLI interactions' to improve keyword coverage.
| 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 language. | 3 / 3 |
Completeness | Clearly answers 'what does this do' (remote-control tmux sessions by sending keystrokes and scraping 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 reference skill with excellent concrete examples and copy-paste ready commands. Its main weaknesses are some verbosity in the use/don't-use sections and basic tmux commands Claude already knows, plus a lack of explicit validation/feedback loops when sending input to interactive sessions. The structure is good but could benefit from tighter editing and a capture-then-verify workflow pattern.
Suggestions
Remove or significantly trim the 'When to Use' / 'When NOT to Use' sections and the basic session management commands (create/kill/rename) that Claude already knows.
Add an explicit workflow pattern for send-then-verify: send keys → sleep → capture-pane → verify expected output appeared, with a retry/error path if the prompt wasn't consumed.
Consider extracting the 'Claude Code Session Patterns' section into a separate file and linking to it, keeping SKILL.md focused on core tmux control primitives.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient but includes some unnecessary content. The 'When to Use' and 'When NOT to Use' sections are somewhat verbose for Claude, and the session management section (create/kill/rename) is basic tmux knowledge Claude already has. The 'Notes' section at the end is lean and useful though. | 2 / 3 |
Actionability | Every section provides concrete, copy-paste ready bash commands. The examples cover real scenarios like checking session status, approving prompts, and safely sending input to TUIs. The commands are fully executable with specific flags and targets. | 3 / 3 |
Workflow Clarity | The skill presents individual commands clearly but lacks explicit multi-step workflows with validation checkpoints. The 'Sending Input Safely' section hints at a sequence (split text and Enter, use sleep) but doesn't provide a validate-then-proceed pattern. For operations like sending input to interactive sessions, there's no feedback loop to verify the input was received correctly. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear section headers and a logical progression from basic to advanced patterns. However, the Claude Code Session Patterns section could be split into a separate reference file since it's a specific use case. Everything is inline in one file, which is borderline acceptable for this length but could benefit from separation. | 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 | |
fcc550d
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.