CtrlK
BlogDocsLog inGet started
Tessl Logo

sherpa-onnx-tts

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

58

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/sherpa-onnx-tts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 efficient, mostly executable guide with a clear install-config-run sequence and no padding. Its main weaknesses are a missing validation step in the workflow and a reference to a bin wrapper that is absent from the actual bundle, plus unexampled option flags.

Suggestions

Include the bin/sherpa-onnx-tts wrapper in the bundle (or inline its contents), since the body's core usage command depends on a file that is not present.

Add a quick verification step after install, e.g. run the example command and check that tts.wav is non-empty, to close the workflow validation gap.

Show one concrete example of --model-file (and the other override flags) with actual values instead of only naming them.

DimensionReasoningScore

Conciseness

The body is lean: two numbered install steps, a copy-paste config block, one usage command, and four terse notes. Nothing explains concepts Claude already knows and every token earns its place, matching the anchor-5 example.

5 / 5

Actionability

Guidance is mostly executable — the exact command "{baseDir}/bin/sherpa-onnx-tts -o ./tts.wav \"Hello from local TTS.\"", a concrete json5 config, PATH export, and a Windows-specific invocation. Minor gaps: the referenced bin/sherpa-onnx-tts wrapper is not present in the bundle, and --model-file/--tokens-file/--data-dir are named but never shown in an example, so it falls short of fully copy-paste-ready anchor 5.

4 / 5

Workflow Clarity

Install (numbered, with exact target dirs) → config (with exact env vars) → run is a clear sequence for a simple single-purpose skill. It stays at anchor 4 rather than 5 because there is no validation checkpoint of any kind (e.g., verify the wav was produced or that the wrapper runs); the destructive/batch cap does not apply since this is neither.

4 / 5

Progressive Disclosure

Under 50 lines with well-organized sections (Install, Usage, Notes) and no external reference files needed, which would normally merit a 5 under the simple-skill guideline. However, it points to a wrapper "in this skill folder" ({baseDir}/bin/sherpa-onnx-tts) that does not exist in the bundle — a dangling, unsignaled reference — keeping it at anchor 4.

4 / 5

Total

17

/

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 and names a specific tool with a clear differentiator (offline, no cloud), but it lacks any "when to use this" trigger guidance and misses common synonyms like TTS, voice, or speak. It answers "what" well and "when" not at all.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user wants speech/audio output, says TTS, text-to-speech, voice, or read aloud, or needs offline synthesis with no cloud dependency."

Include natural synonyms and abbreviations ("TTS", "voice", "speak", "audio output") so the description matches the phrases users actually say.

Name one or two more concrete capabilities (e.g., generating .wav files, selectable Piper voices) to raise specificity from a single action to fuller coverage.

DimensionReasoningScore

Specificity

"Local text-to-speech via sherpa-onnx" names the domain, one concrete capability, and an offline constraint, but coverage is not comprehensive (no voices, output formats, or CLI surface). It matches anchor 3 — more concrete than the generic anchor 2, but it doesn't list several specific actions like anchor 4.

3 / 5

Completeness

The "what" is clear (local TTS via a named tool), but there is no "Use when..." clause or equivalent trigger guidance; "(offline, no cloud)" only weakly implies when. Per the judging guidelines, a missing trigger clause caps completeness at 3.

3 / 5

Trigger Term Quality

"text-to-speech", "local", and "offline" are relevant keywords, but common natural variations users would say — "TTS", "voice", "speak", "read aloud" — are missing. This fits anchor 3 (some relevant keywords, missing common variations) rather than 4.

3 / 5

Distinctiveness Conflict Risk

Naming the specific tool "sherpa-onnx" plus "(offline, no cloud)" carves a mostly distinct niche with only minor overlap risk against other (e.g., cloud-based) TTS skills. It is more distinct than anchor 3 but lacks the fully distinct triggers of anchor 5.

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
Bitterbot-AI/bitterbot-desktop
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.