CtrlK
BlogDocsLog inGet started
Tessl Logo

ttyd-remote-terminal-wsl2

Setup secure web-based terminal access to WSL2 from mobile/tablet via ttyd + ngrok/Cloudflare/Tailscale. One-command install, start, stop, status. Use when you need remote terminal access, web terminal, browser-based shell, or mobile access to WSL2 environment.

60

Quality

75%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/ttyd-remote-terminal-wsl2/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill body is highly actionable with an excellently sequenced and validated workflow, and it points to real, well-organized reference files. Its main weaknesses are severe verbosity (a Quick Start that duplicates the full workflow, simulated output blocks, and appended changelog patches) and progressive-disclosure defects where inline content duplicates existing reference files and several referenced files do not exist in the bundle.

Suggestions

Cut the body to a lean Quick Start plus a compact workflow outline, moving the Security Essentials and Troubleshooting Quick Fixes sections into the existing references/security-guide.md and references/troubleshooting.md instead of duplicating them inline.

Remove or drastically shorten the simulated boxed outputs (credentials display, connection-ready, status) — a one-line description of what the script prints suffices.

Fix dangling references: add the missing templates/ directory with ttyd.service and .env.template, and either have a script generate the ~/.ttyd/CONNECTION-KEEPALIVE-GUIDE.md and PERSISTENT-SESSION-GUIDE.md files or replace those cat commands with links into the references/ bundle; fold the two post-footer patch sections into the main workflow.

DimensionReasoningScore

Conciseness

The ~950-line body is heavily padded: the Quick Start duplicates the entire Workflow section verbatim, three full simulated boxed outputs are reproduced, sections explain concepts Claude already knows ('Run any command you normally run in terminal', 'Copy/paste: Works via browser's copy/paste'), and changelog-style patches ('NEW:', 'Fix Applied') are appended after the closing footer. It borders on anchor 1 but the bulk is still operational rather than concept explanation.

2 / 5

Actionability

Commands are concrete and copy-paste ready throughout (./install.sh --ngrok, TTYD_PORT=7682 ./ttyd-start.sh, lsof -i :7681, ngrok config add-authtoken, tmux new -As ttyd-mobile — the latter two flags verified present in scripts/ttyd-start.sh). Missing anchor 5 because templates/ttyd.service and templates/.env.template are referenced but no templates/ directory exists, and ~/.ttyd/CONNECTION-KEEPALIVE-GUIDE.md and PERSISTENT-SESSION-GUIDE.md are cited but nothing in the bundle generates them.

4 / 5

Workflow Clarity

Steps 1-6 are clearly sequenced with numbered sub-steps, expected outputs, per-step troubleshooting, explicit verification commands (ttyd --version, ./ttyd-status.sh, ./health-check.sh), error-to-fix feedback loops, and a success checklist. The operations are not destructive/batch, so no validation cap applies.

5 / 5

Progressive Disclosure

Five real, well-signaled one-level-deep reference files exist and are linked with descriptions. However, ~250+ lines of Security Essentials and Troubleshooting Quick Fixes inline content duplicate the existing dedicated reference files, references point to a nonexistent templates/ directory, and two patch sections appended after the closing footer break navigation. Not anchor 4 given the duplication and broken references; not anchor 2 since references are clearly signaled and only one level deep.

3 / 5

Total

14

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description with explicit what/when structure, good natural trigger terms, and a clear niche. The main defect is the second-person 'you need' phrasing, which triggers the rubric's specificity penalty and would be trivially fixable with a third-person rewrite.

Suggestions

Rewrite the trigger clause in third person to avoid the second-person penalty, e.g., 'Use when the user needs remote terminal access...' or 'Use when needing a web terminal, browser-based shell, or mobile access to a WSL2 environment.'

DimensionReasoningScore

Specificity

The description names the domain ('web-based terminal access to WSL2 via ttyd + ngrok/Cloudflare/Tailscale') and several concrete actions ('One-command install, start, stop, status'), which fits anchor 4; however, the rubric's second-person penalty applies to 'Use when you need remote terminal access', reducing the score by 1.

3 / 5

Completeness

It explicitly answers both what ('Setup secure web-based terminal access to WSL2... One-command install, start, stop, status') and when ('Use when you need remote terminal access, web terminal, browser-based shell, or mobile access to WSL2 environment') with concrete trigger phrases, matching the anchor-5 example structure.

5 / 5

Trigger Term Quality

Natural trigger phrases are present ('remote terminal access, web terminal, browser-based shell, mobile access to WSL2 environment') plus tool names (ttyd, ngrok, Cloudflare, Tailscale). Coverage is good but not comprehensive — synonyms like 'terminal from phone' or 'SSH-like access' are missing.

4 / 5

Distinctiveness Conflict Risk

The ttyd/WSL2/tunnel-tool niche is clear and mostly distinct, but 'remote terminal access' has minor overlap risk with closely related SSH or dedicated remote-access skills. Tool names and explicit WSL2 scoping keep it above anchor 3.

4 / 5

Total

16

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1010 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
fernandezbaptiste/Skrillz
Reviewed

Table of Contents

Is this your skill?

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.