CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

podcast-generation

Generate real audio narratives from text content using Azure OpenAI's Realtime API.

Quality

66%

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/podcast-generation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%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 efficiently written with genuinely executable frontend code and a detailed backend workflow, but the skill is undermined by a missing validation/feedback layer and a broken reference structure: every cited bundle file (architecture.md, code-examples.md, pcm_to_wav.py) is absent from the bundle. Fixing the dangling references and adding error handling would lift the two weakest dimensions.

Suggestions

Create the referenced bundle files (references/architecture.md, references/code-examples.md, scripts/pcm_to_wav.py) or remove/inline the references — the main code block currently depends on a pcm_to_wav function whose script does not exist.

Add explicit validation checkpoints to the workflow: handle the 'error' event inside the collection loop with a retry/fail-fast path, and verify audio length or transcript completion before encoding and returning the WAV.

Show how 'endpoint' and 'api_key' are loaded from the AZURE_OPENAI_AUDIO_* environment variables and import pcm_to_wav so the backend snippet is copy-paste executable.

DimensionReasoningScore

Conciseness

The body is dominated by executable code, a compact env block, a terse voice table, and an events list, with only minor trimmable filler: the description sentence is repeated verbatim under the H1 and the 'When to Use' section is a single vacuous line ('This skill is applicable to execute the workflow or actions described in the overview'). It is not 5 because that filler does not earn its place, and not 3 because no section genuinely over-explains what Claude already knows.

4 / 5

Actionability

Concrete env variables, a complete frontend playback snippet, and a substantive backend code block covering session config, event collection, and PCM-to-WAV conversion provide mostly executable guidance. Minor gaps: 'endpoint' and 'api_key' are used without showing where they're loaded, 'pcm_to_wav' is called without an import, and 'AsyncOpenAI(websocket_base_url=...)' is a questionable SDK parameter, so it is not copy-paste ready.

4 / 5

Workflow Clarity

The Quick Start gives a clear 5-step sequence (configure → connect → send/collect → convert → return) expanded by code, but validation checkpoints are missing or implicit: the 'error' event gets a single bullet ('Handle with event.error.message') with no error-recovery loop and no verification that audio was produced before returning. This matches 'steps listed but validation gaps; checkpoints missing or implicit' rather than the minor-gaps anchor above.

3 / 5

Progressive Disclosure

References are clearly signaled and one level deep ('See references/architecture.md', 'See references/code-examples.md', 'Use scripts/pcm_to_wav.py'), but none of these files exist in the bundle — there are no references/ or scripts/ directories — including the conversion script the main code block depends on. Scored against the actual bundle structure, the claimed file layer is unusable, so structure is only partially effective.

3 / 5

Total

14

/

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 communicates a clear, specific 'what' anchored to a concrete Azure service, but it omits any 'when to use' trigger guidance and misses the natural vocabulary (TTS, text-to-speech, narration, podcast, voiceover) users would employ. It is distinguishable yet under-complete for reliable skill triggering.

Suggestions

Add a 'Use when...' clause with concrete triggers, e.g. 'Use when the user wants text turned into spoken audio, podcasts, narration, or voiceovers, or mentions TTS, text-to-speech, or Azure OpenAI Realtime.'

Enumerate the main capabilities (generate spoken audio from text, collect the transcript, convert PCM to WAV, return base64 audio for playback) so specificity reflects the skill's full scope.

Include natural synonyms and formats users say — text-to-speech, TTS, voice, voiceover, narration, podcast, audio generation, WAV — to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description names the domain (audio narrative generation) and one concrete action ("Generate real audio narratives from text content using Azure OpenAI's Realtime API") but does not cover the skill's other capabilities (transcript collection, PCM-to-WAV conversion, playback), matching the '1-2 concrete actions, but not comprehensive' anchor rather than the several-actions anchor above.

3 / 5

Completeness

The 'what' is clear (generate audio narratives from text via Azure OpenAI's Realtime API) but there is no 'Use when...' or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines; the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

Relevant keywords like "audio", "narratives", "text", and "Realtime API" are present, but common user phrasings such as "text-to-speech", "TTS", "voiceover", "narration", "podcast", and "audio file" are missing, matching the 'some relevant keywords but missing common variations or synonyms' anchor.

3 / 5

Distinctiveness Conflict Risk

Naming "Azure OpenAI's Realtime API" pins a specific service and model family, giving a mostly distinct niche with only minor overlap risk against generic TTS/audio skills; it falls short of the top anchor because it lacks explicit distinct trigger phrases.

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

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 4 missing

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

skills/podcast-generation/SKILL.md

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.