CtrlK
BlogDocsLog inGet started
Tessl Logo

sag

ElevenLabs text-to-speech with mac-style say UX.

56

Quality

65%

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/sag/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 highly actionable and token-efficient, giving executable commands and concrete audio-tag examples throughout; its main gap is the absence of an explicit verification checkpoint in the voice-reply workflow.

DimensionReasoningScore

Conciseness

The body is lean — almost every line is a concrete command, flag, or tag with no padding or explanation of concepts Claude already knows; only a few prose tips (e.g. 'Voice character tips') could be tightened slightly.

4 / 5

Actionability

It provides copy-paste-ready, executable commands covering common cases (e.g. `sag "Hello there"`, `sag -v Bitterbot -o /tmp/voice-reply.mp3 "..."`, `--normalize auto`, `[whispers] ... [short pause]`), fully matching the executable anchor.

5 / 5

Workflow Clarity

The chat-voice-response workflow is clearly sequenced (generate audio file, then emit `MEDIA:/tmp/voice-reply.mp3`), and the single-purpose CLI use is unambiguous; it stops short of 5 because there is no explicit verification step that the audio file was produced before referencing it.

4 / 5

Progressive Disclosure

Content is well-organized into clear sections (Quick start, Model notes, Pronunciation rules, v3 audio tags, Voice defaults, Chat voice responses) in a single file with no nested references; it is not a 5 only because the body slightly exceeds the ~50-line simple-skill threshold and the chat-response use case could arguably live apart.

4 / 5

Total

17

/

20

Passed

Description

48%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 distinct and names the domain concretely, but it omits any usage trigger ("Use when...") and offers only one generic action, leaving the what clear yet the when unspecified.

Suggestions

Add a 'Use when...' clause naming natural triggers, e.g. 'Use when the user wants spoken audio, voice replies, or text-to-speech from text.'

List one or two concrete actions (e.g. 'generate speech, pick voices, play audio locally') to lift specificity above a single generic verb.

Include common synonyms such as 'TTS', 'voice', and 'read aloud' so the description matches varied user phrasings.

DimensionReasoningScore

Specificity

The phrase "ElevenLabs text-to-speech" names the domain and a single generic action (TTS) with a UX comparison ("mac-style say UX"), but lists no concrete capabilities like generating audio files, listing voices, or selecting models — matching the anchor that names the domain with minimal actions.

2 / 5

Completeness

The description gives a clear "what" (ElevenLabs TTS) but no "when" / "Use when..." clause, which per the guidelines caps completeness at 3 even though the what is unambiguous.

3 / 5

Trigger Term Quality

"text-to-speech" and "say" are natural terms users would voice, but common synonyms like "voice", "read aloud", "audio", or "TTS" are absent, so coverage is partial rather than comprehensive.

3 / 5

Distinctiveness Conflict Risk

Naming the specific ElevenLabs service carves a clear niche with minimal conflict risk; it is not a 5 only because the limited trigger phrasing leaves slight overlap with broader voice/TTS skills.

4 / 5

Total

12

/

20

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.

Validation13 / 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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

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.