Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
82
76%
Does it follow best practices?
Impact
100%
3.44xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/summarize/SKILL.mdQuality
Discovery
64%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 has good trigger term coverage, especially with the parenthetical YouTube/video/transcribe keywords that match natural user language. However, it lacks an explicit 'Use when...' clause which limits its completeness score, and the scope is broad enough (summarize + extract + multiple source types) that it could overlap with other skills. Adding explicit trigger guidance and slightly narrowing or clarifying the primary use case would strengthen it.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks to summarize a URL, transcribe a podcast or video, or extract text from a local file.'
Clarify the distinct niche more precisely—specify supported file types or formats (e.g., '.mp3, .mp4, YouTube links') to reduce overlap with generic summarization or web scraping skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names specific actions ('summarize', 'extract text/transcripts') and specific input types ('URLs, podcasts, local files'), but doesn't list comprehensive concrete actions beyond summarize/extract. | 2 / 3 |
Completeness | The 'what' is reasonably clear (summarize/extract text from URLs, podcasts, files), but there is no explicit 'Use when...' clause. The parenthetical hint about being a fallback for YouTube/video partially implies when, but doesn't constitute explicit trigger guidance, capping this at 2. | 2 / 3 |
Trigger Term Quality | Includes strong natural trigger terms users would say: 'summarize', 'extract text', 'transcripts', 'URLs', 'podcasts', 'YouTube', 'video', 'transcribe'. The parenthetical fallback note adds excellent coverage of common user phrasing. | 3 / 3 |
Distinctiveness Conflict Risk | The combination of summarization + transcription + URLs/podcasts/files is somewhat distinctive, but 'summarize' and 'extract text from URLs' could overlap with general web scraping or summarization skills. The YouTube/video fallback note helps but the scope is still broad enough to risk conflicts. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
87%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-crafted, concise skill that provides immediately actionable CLI commands with clear trigger phrases and organized reference sections. Its main weakness is the lack of error handling or troubleshooting guidance for a tool that depends on multiple external API keys and services. Overall it's a strong skill that respects token budget while covering the essential use cases.
Suggestions
Add brief error handling notes (e.g., what to do if API key is missing or extraction fails) to improve workflow clarity for common failure modes.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and efficient. It doesn't explain what summarization is or how CLI tools work. Every section earns its place—trigger phrases, quick start examples, flags, and config are all necessary reference material with no padding. | 3 / 3 |
Actionability | Provides fully executable, copy-paste-ready bash commands for all major use cases (URLs, local files, YouTube). Flags are listed concisely with their options, and environment variable names are specific and concrete. | 3 / 3 |
Workflow Clarity | The skill covers a relatively simple CLI tool, but the YouTube transcript workflow has a useful conditional (huge transcript → summarize first, then ask to expand). However, there's no validation or error handling guidance—e.g., what happens if the API key is missing, if the URL is unreachable, or if YouTube transcript extraction fails. For a tool that relies on multiple external services, some error recovery guidance would strengthen this. | 2 / 3 |
Progressive Disclosure | For a skill under 50 lines with no need for external references, the content is well-organized into clearly labeled sections (trigger phrases, quick start, YouTube specifics, model/keys, flags, config). No bundle files are needed and none are referenced unnecessarily. | 3 / 3 |
Total | 11 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | 8 / 11 Passed | |
ec8d4f8
Table of Contents
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.