CtrlK
BlogDocsLog inGet started
Tessl Logo

sherpa-onnx-tts

Local text-to-speech via sherpa-onnx (offline, no cloud)

79

1.51x
Quality

70%

Does it follow best practices?

Impact

100%

1.51x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./openclaw/skills/sherpa-onnx-tts/SKILL.md

The canonical home for this skill is sherpa-onnx-tts in Hung-Reo/hungreo-openclaw

SKILL.md
Quality
Evals
Security

Quality

Content

86%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 body is an exemplar of a lean, single-purpose skill: minimal setup steps, exact config, and one copy-paste usage command with a Windows variant. The only real gaps are the absence of an explicit install-verification step and reliance on a wrapper script and {baseDir} placeholder that are not visible in the bundle.

Suggestions

Add a one-line post-install verification, e.g. "ls \"$SHERPA_ONNX_MODEL_DIR\"/*.onnx" or a quick smoke test, so failures surface before first real use.

State what the wrapper script does (or inline its command) since {baseDir}/bin/sherpa-onnx-tts is referenced but not present in the bundle.

Clarify what --tokens-file and --data-dir defaults are, so overriding them is actionable rather than guesswork.

DimensionReasoningScore

Conciseness

The body is lean throughout: "Local TTS using the sherpa-onnx offline CLI" opens with a one-line scope, install is two numbered steps, the config is a tight JSON5 snippet, and the usage section is a single runnable command plus four short notes. Nothing explains concepts Claude already knows (no "what is TTS", no library background), and every section earns its tokens — matching anchor 5 ("Lean and efficient; assumes Claude's competence").

5 / 5

Actionability

Concrete, executable guidance: an exact config snippet for openclaw.json, "export PATH=\"{baseDir}/bin:$PATH\"", and a copy-paste-ready command "bin/sherpa-onnx-tts -o ./tts.wav \"Hello from local TTS.\"" with a platform-specific Windows variant. Falls short of anchor 5 because the commands rely on the {baseDir} placeholder and a wrapper ("The wrapper lives in this skill folder") that is not visible in the provided bundle, and there is no command to verify the install succeeded (e.g. checking that the model dir resolved) before first use.

4 / 5

Workflow Clarity

Clear sequence: download runtime, download model, set env vars in config, optionally add to PATH, run the usage example. Each install step states its expected extraction directory ("extracts into ~/.openclaw/tools/sherpa-onnx-tts/runtime"), and the usage command doubles as an implicit end-to-end test. It sits at anchor 4 ("Clear sequence with most checkpoints present; minor validation gaps") rather than 5 because there is no explicit checkpoint confirming the env vars resolve or that the output .wav was produced, and the troubleshooting notes are hints rather than a validate-then-retry loop.

4 / 5

Progressive Disclosure

The body is under 50 lines with no external reference files needed, organized into clean ## Install and ## Usage sections plus a short Notes list; per the rubric's simple-skill guidance this earns a 5. The one referenced path, {baseDir}/bin/sherpa-onnx-tts, is clearly signaled as the wrapper entry point, and the 'pick a different model' note correctly points to the external tts-models release rather than inlining a model catalog.

5 / 5

Total

18

/

20

Passed

Description

53%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.

The description is concise, honest, and specific about the tool and its offline constraint, but it omits any 'when to use' trigger guidance and lacks common synonyms (TTS, speech, voice, audio) that users would naturally say. It is a clear 'what' with no 'when', which limits discoverability and disambiguation.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks for text-to-speech, TTS, spoken audio, or a local/offline voice for text."

Include natural synonyms and keywords users would say: "TTS", "speech", "voice", "audio", "read aloud".

Mention one or two more concrete capabilities (e.g. generating .wav files or choosing alternative voices) to broaden the 'what' beyond a single action.

DimensionReasoningScore

Specificity

"Local text-to-speech via sherpa-onnx" names the domain and one concrete capability, with qualifiers "(offline, no cloud)" that describe constraints rather than additional actions. This matches anchor 3 ("Names domain and 1-2 concrete actions, but not comprehensive") more than anchor 2, since it does state a specific capability via a specific tool, but it is not comprehensive — no mention of voice selection, output formats, or CLI usage.

3 / 5

Completeness

The description clearly answers 'what' ("Local text-to-speech via sherpa-onnx (offline, no cloud)") but has no 'when' clause at all — no "Use when..." or equivalent trigger guidance. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3, and anchor 3 ("Has a clear 'what' but 'when' is missing") is the exact match.

3 / 5

Trigger Term Quality

"text-to-speech" is a strong natural keyword, and "offline"/"no cloud" are relevant, but common variations users would actually say are missing: "TTS", "speech", "voice", "read aloud", "audio". This fits anchor 3 ("Some relevant keywords but missing common variations or synonyms") — better coverage than anchor 2 but clearly short of anchor 4's good keyword coverage.

3 / 5

Distinctiveness Conflict Risk

Naming the specific tool (sherpa-onnx) plus the offline/local constraint carves a clear niche distinct from cloud TTS skills, fitting anchor 4 ("Mostly distinct; minor overlap risk with closely related skills"). Not anchor 5, because without trigger phrases like "use when local/offline TTS is needed," it could still fire for general speech/audio requests that another TTS skill handles better.

4 / 5

Total

13

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository
trpc-group/trpc-agent-go
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.