CtrlK
BlogDocsLog inGet started
Tessl Logo

podcast-to-obsidian

Podcast → transcript → Obsidian pipeline. Detects new episodes via Spotify MCP, downloads audio via RSS, transcribes locally with faster-whisper, generates structured Obsidian notes with summaries, key ideas, quotes, and backlinks. Manifest tracks processed episodes to avoid duplicates. Use when user says "podcast", "transcribe episode", "podcast-to-obsidian", or any podcast/transcript workflow.

68

Quality

83%

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

SKILL.md
Quality
Evals
Security

Quality

Content

77%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 exceptionally actionable and the workflow is sequenced with thorough validation and error-recovery checkpoints — an agent can execute the pipeline directly from this document. Its weaknesses are length (dated incident narratives and fixed-bug changelog entries inflate the token budget) and the absence of any progressive disclosure: all reference material is inlined because no separate documentation files exist in the bundle.

Suggestions

Move changelog-style history (dated incidents like 2026-09-19, the pre-fix behavior of each 'Fixed' Known Issue, and the 12k-word truncation backstory) into a CHANGELOG.md or 'History / Deprecated patterns' reference file, keeping only the current rule and its rationale in SKILL.md to cut a large fraction of the body's tokens.

Create reference files (e.g. references/spotify-setup.md, references/cli-reference.md, references/note-template.md) and replace the inlined Spotify MCP setup walkthrough, CLI flag table, and full note template with short summaries plus one-level-deep links, so SKILL.md works as an overview.

Tighten narrative asides ('That is precisely what happened on 2026-09-19', 'This has cost debugging time more than once') into a single terse warning line each — the rule they justify can stand without the incident retelling.

DimensionReasoningScore

Conciseness

The body is mostly project-specific operational detail rather than explanations of concepts Claude already knows, so it avoids the worst failure mode. But it includes noticeably more narrative than needed: dated incident retellings ("That is precisely what happened on 2026-09-19", "This has cost debugging time more than once"), changelog-style history of past bugs (the 12,000-word truncation backstory in Step 6, the mojibake history), and full fixed-issue entries in Known Issues — time-sensitive history that the rubric says penalizes conciseness unless isolated in a deprecation section. This lands at "mostly efficient but could be tightened", not at 2, since nearly all of the content is actionable rather than padding.

3 / 5

Actionability

Guidance is fully executable and copy-paste ready: a Quick Start block of complete PowerShell invocations covering every mode, a full CLI Flag Reference table with flags/what-they-do/what-they-skip, a config key table with defaults, a complete Obsidian note template with exact frontmatter and callout syntax, and a Troubleshooting table mapping errors to causes and fixes. Verified against the bundle: the referenced scripts (pipeline.py, scripts/config.json, lib/ modules) exist. This matches the score-5 anchor — specific examples cover the common cases with no pseudocode.

5 / 5

Workflow Clarity

The 10-step pipeline flow is clearly numbered with per-step detail, and validation checkpoints are explicit throughout for a batch operation: the manifest is updated only after a successful verified write, writes are verified via `obsidian.py read`, completion is gated on a `__META__` marker plus `.meta.json` sidecar rather than exit codes, failed episodes never advance the watermark, a PID lock plus merge-on-save guards concurrent runs, and retry/backoff plus `--retry-failed` provide the validate→fix→retry feedback loop the rubric requires. No validation gaps found that would cap this at 3.

5 / 5

Progressive Disclosure

Sections are well-organized with clear headers, but the bundle (verified: only scripts/ with code, no references/ or assets/ directories) contains no reference documents — everything is inlined in a ~600-line SKILL.md. Content that clearly belongs in separate files sits inline: the Spotify MCP setup guide, the CLI flag reference, the full Obsidian note template, and the known-issues changelog. This matches the score-3 anchor (structure present, but content that should be separate is inline) rather than 4, where most content would be appropriately split into one-level-deep reference files.

3 / 5

Total

16

/

20

Passed

Description

88%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: it comprehensively enumerates concrete pipeline actions in third person and closes with an explicit, naturally-phrased trigger clause. The only gaps are a few missing trigger synonyms (e.g. "transcription", "episode notes") and slight overlap risk between the "transcribe episode" trigger and a generic transcription skill.

DimensionReasoningScore

Specificity

The description lists multiple specific concrete actions with comprehensive coverage of the pipeline: "Detects new episodes via Spotify MCP, downloads audio via RSS, transcribes locally with faster-whisper, generates structured Obsidian notes with summaries, key ideas, quotes, and backlinks" plus manifest-based dedup tracking. It matches the score-5 anchor (multiple specific concrete actions, comprehensive coverage) and exceeds the score-4 anchor, which requires only several actions with coverage gaps.

5 / 5

Completeness

It explicitly answers both questions: a clear "what" (detect, download, transcribe, generate structured notes, manifest dedup) and a concrete "when" ("Use when user says \"podcast\", \"transcribe episode\", \"podcast-to-obsidian\", or any podcast/transcript workflow"). This matches the score-5 anchor exactly; a missing or implicit trigger clause would have capped it at 3.

5 / 5

Trigger Term Quality

Natural trigger phrases are present ("podcast", "transcribe episode", "podcast-to-obsidian", "any podcast/transcript workflow") and phrased the way a user would actually talk. It falls short of the score-5 anchor because common variations and synonyms are missing — e.g. "transcription", "episode notes", "audio", or file/tool extensions like "whisper" — leaving a few natural entry points uncovered.

4 / 5

Distinctiveness Conflict Risk

The pipeline niche (Spotify MCP + RSS + faster-whisper + Obsidian notes) is distinct and the named trigger "podcast-to-obsidian" is unambiguous. It sits at score 4 rather than 5 because the generic trigger "transcribe episode" could plausibly fire a plain transcription or whisper skill in the same library — minor overlap risk with a closely related skill.

4 / 5

Total

18

/

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

skill_md_line_count

SKILL.md is long (607 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
0xRabbidfly/Eric-Cartman
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.