CtrlK
BlogDocsLog inGet started
Tessl Logo

use-local-whisper

Use when the user wants local voice transcription instead of OpenAI Whisper API. Switches to whisper.cpp running on Apple Silicon. WhatsApp only for now. Requires voice-transcription skill to be applied first.

74

Quality

93%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Medium

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Quality

Content

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

An excellent procedural skill: fully executable commands, a clearly sequenced three-phase workflow with idempotency and validation checkpoints, and tight troubleshooting tied to observable log markers. The only structural note is that it is a single ~150-line file with no progressive disclosure, which is acceptable here but just misses the simple-skill exception.

DimensionReasoningScore

Conciseness

The body is lean and entirely operational — prerequisites, pre-flight checks, apply steps, verification, a config table, and troubleshooting — with no explanations of concepts Claude already knows. The only minor repetitions (brew install restated in the dependency-check fallback; launchd PATH note cross-referenced from Troubleshooting) are functional rather than padding, so it fits anchor 5 over anchor 4.

5 / 5

Actionability

Everything is copy-paste executable: grep pre-flight checks, brew installs, an exact curl URL for the model, git remote/fetch/merge with a package-lock conflict fallback, npm run build, launchctl reload/kickstart, and a manual ffmpeg + whisper-cli end-to-end test. This matches anchor 5's fully executable guidance covering common cases.

5 / 5

Workflow Clarity

Three clearly sequenced phases with an idempotency check ('If already applied, skip to Phase 3'), explicit dependency validation (WHISPER_OK/MISSING outputs), build validation, an expected observable result ('[Voice: <transcript>]'), log-based success/error markers, and troubleshooting with recovery steps. This matches anchor 5's clear sequence with explicit validation and error-recovery feedback loops.

5 / 5

Progressive Disclosure

No bundle files exist and the content is well-sectioned and navigable, with everything appropriately inline for a single deployment task. However, at roughly 150 lines it exceeds the 'under 50 lines' simple-skill exception for a 5, and sections like the troubleshooting detail or model options could theoretically live in a reference file, so it sits at anchor 4's good structure with minor organization gaps.

4 / 5

Total

19

/

20

Passed

Description

87%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 an explicit 'Use when' trigger, a clear third-person statement of what it does, and precise scoping (channel, platform, prerequisite skill). Its only weaknesses are a single-action capability list and slightly thin synonym coverage for common user phrasings.

Suggestions

Add one or two concrete supplementary actions to the capability statement (e.g., 'downloads the GGML model and verifies transcription via logs') to move specificity from one-action-plus-constraints toward multi-action coverage.

Include natural synonyms in the trigger clause such as 'voice notes', 'voice messages', 'speech-to-text', or 'offline transcription' so users who phrase the request differently still match.

DimensionReasoningScore

Specificity

"Switches to whisper.cpp running on Apple Silicon" names the tool, platform, and scope ("WhatsApp only for now", prerequisite skill), which is concrete and specific, but the description covers essentially one action with constraints rather than a comprehensive list of multiple capabilities. It exceeds anchor 3 (which expects only 1-2 generic concrete actions) but does not reach anchor 5's multiple-action comprehensiveness.

4 / 5

Completeness

The description explicitly answers both questions: "Use when the user wants local voice transcription instead of OpenAI Whisper API" gives concrete when-triggers, and "Switches to whisper.cpp running on Apple Silicon" states what it does, with scope and prerequisites also explicit. This matches anchor 5, which requires both what and when with concrete trigger phrases.

5 / 5

Trigger Term Quality

Natural user phrases like "local voice transcription" and "instead of OpenAI Whisper API" are present and would be said by a user wanting this skill. Common variations such as "voice messages", "voice notes", "speech-to-text", or "offline transcription" are missing, keeping it just below anchor 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The niche is highly specific — local whisper.cpp transcription replacing the OpenAI Whisper API, restricted to the WhatsApp channel, with an explicit dependency on the voice-transcription skill — so it is clearly distinguishable from related skills and unlikely to trigger for the wrong one. This matches anchor 5's clear niche with distinct triggers and minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
jbaruch/nanoclaw-telegram
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.