CtrlK
BlogDocsLog inGet started
Tessl Logo

article-to-podcast-script

Convert a Markdown article into a natural first-person podcast script for 1 to 4 speakers and save it as a .txt file under the current project's markdown directory. Default to Chinese output unless the user explicitly specifies another language, while preserving English terms that appear in the article. Use when the user provides an article Markdown file and a podcast speaker count, asks for a VibeVoice-style podcast script, dialogue rewrite, narrated audio script, multi-host conversation, solo podcast monologue, or personal-viewpoint audio script based on an article.

72

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

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

A well-constructed instruction skill: lean prescriptive rules, an executable helper script, explicit input validation, and concrete examples instead of concept explanations. The main weaknesses are repetition of the source-frame-removal rules across four passages, no error-recovery guidance around the save step, and a diction catalog that could move to a reference file.

Suggestions

Consolidate the four overlapping source-frame-removal passages (the banned-phrase list, the book-report ban, the host-boundary rule, and the Diction Polish verb rules) into a single section to cut redundancy.

Add a short error-recovery step to the workflow: what to do when save_podcast_script.py rejects the speaker count or exits non-zero (fix the input and re-run, rather than writing the file manually).

Move the Diction Polish guidance and the banned-phrase catalog into a references/diction.md file linked one level deep, keeping SKILL.md as a tighter overview.

DimensionReasoningScore

Conciseness

The body is dense and prescriptive with no padding explaining concepts Claude already knows, and the code lives in an externalized script. However, the 'remove the source frame' theme is repeated across four passages ("Avoid any AI-generated trace... Do not mention '我作为AI', '这篇文章'...", "Never present the episode as a book report...", "Put the host inside the source article's knowledge boundary...", and the Diction Polish verbs list), which could be consolidated — minor trimming, matching anchor 4 rather than anchor 3's unnecessary explanation.

4 / 5

Actionability

Concrete, executable guidance is present: a runnable bash command ("python3 /path/to/article-to-podcast-script/scripts/save_podcast_script.py ARTICLE.md SPEAKER_COUNT < draft.txt"), an exact output-format example ("Speaker 1: 大家好,欢迎收听本期节目..."), explicit label grammar, per-speaker-count patterns, and a structure template. Minor gaps keep it at anchor 4: the command uses a '/path/to/' placeholder, and only a two-line excerpt is shown rather than a fuller multi-turn example.

4 / 5

Workflow Clarity

The 5-step workflow is clearly sequenced with an explicit validation checkpoint ("Confirm the requested speaker count is an integer from 1 to 4. If it is missing or outside this range, ask for a valid count before writing the script"), and the saving script itself validates inputs and reports the output path. Not anchor 5 because there is no error-recovery loop (e.g., what to do if the save script fails or stdin is empty) — checkpoints are present but feedback loops are implicit.

4 / 5

Progressive Disclosure

Structure is good: the mechanical save operation is properly externalized to scripts/save_podcast_script.py (a real, verified bundle file referenced with a clear one-level link), and sections (Workflow, Script Requirements, Speaker Patterns, Structure) are well-organized. At ~73 lines the body exceeds the under-50-line simple-skill case, and the Diction Polish / banned-phrase catalog is a natural candidate for a references/ file — a minor organization gap placing it at anchor 4.

4 / 5

Total

16

/

20

Passed

Description

100%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 model description: concrete multi-part capability statement in third person, an explicit 'Use when...' clause with a rich set of natural trigger synonyms, and a clearly distinct niche. Both the 'what' and 'when' questions are answered with the same structure as the rubric's best examples.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Convert a Markdown article into a natural first-person podcast script for 1 to 4 speakers", "save it as a .txt file under the current project's markdown directory", "Default to Chinese output unless the user explicitly specifies another language", "preserving English terms that appear in the article" — with comprehensive coverage of the skill's behavior. It matches the anchor-5 example's breadth (several specific actions, nothing generic) and is well above anchor 4 since there are no real coverage gaps.

5 / 5

Completeness

It explicitly answers both questions: what ("Convert a Markdown article into a natural first-person podcast script for 1 to 4 speakers and save it as a .txt file... Default to Chinese... preserving English terms") and when ("Use when the user provides an article Markdown file and a podcast speaker count, asks for a VibeVoice-style podcast script, dialogue rewrite, narrated audio script, multi-host conversation, solo podcast monologue, or personal-viewpoint audio script based on an article"). This mirrors the anchor-5 good example's structure exactly.

5 / 5

Trigger Term Quality

The trigger list is comprehensive and natural: "article Markdown file", "podcast speaker count", "VibeVoice-style podcast script", "dialogue rewrite", "narrated audio script", "multi-host conversation", "solo podcast monologue", "personal-viewpoint audio script" — covering many synonyms a user would actually say. Only trivial terms (e.g., file extensions) are absent, which does not drop it below anchor 5's 'comprehensive coverage of natural terms including synonyms'.

5 / 5

Distinctiveness Conflict Risk

The niche (article-to-podcast-script conversion) is distinct and the triggers ("VibeVoice-style podcast script", "multi-host conversation", "solo podcast monologue") would not plausibly fire for a generic writing or document skill. Conflict risk is minimal, matching anchor 5's 'clear niche with distinct triggers'.

5 / 5

Total

20

/

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
digoal/blog
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.