Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).
79
76%
Does it follow best practices?
Impact
87%
2.63xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./nanobot/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 with natural keywords like 'transcribe', 'YouTube', 'podcasts', and 'summarize' that users would commonly use. However, it lacks an explicit 'Use when...' clause which limits its completeness score, and the scope of 'local files' is broad enough to potentially conflict with other file-processing skills.
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 media file.'
Narrow the 'local files' scope by specifying file types (e.g., audio files, video files, HTML files) to reduce overlap with generic file-processing skills.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (URLs, podcasts, local files) and some actions (summarize, extract text/transcripts), but doesn't list comprehensive specific 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 YouTube/video serves as an implicit trigger 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'. Good coverage of common variations including the parenthetical fallback note. | 3 / 3 |
Distinctiveness Conflict Risk | The combination of URLs, podcasts, and transcripts gives it some distinctiveness, but 'extract text from local files' and 'summarize URLs' could overlap with general file processing or web scraping skills. | 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 guidance or validation steps when things go wrong (missing keys, failed extractions, unsupported URLs). The YouTube transcript handling could benefit from a more explicit workflow.
Suggestions
Add brief error-handling guidance: what to do if the command fails (e.g., missing API key, unsupported URL, extraction timeout).
Make the large-transcript workflow more explicit with concrete steps, e.g., 'Run with --length short first, then re-run with a --time-range flag if the user wants a specific section.'
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Every section is lean and purposeful. No unnecessary explanations of what URLs, PDFs, or YouTube are. The API key list is minimal and the flags section is a compact reference. | 3 / 3 |
Actionability | Provides fully executable bash commands for all primary use cases (URLs, local files, YouTube). Flags, config file format, and environment variable names are all concrete and copy-paste ready. | 3 / 3 |
Workflow Clarity | The skill covers a relatively simple CLI tool, but the guidance for handling large transcripts ('return a tight summary first, then ask which section/time range to expand') is somewhat vague and lacks explicit steps. There's no validation or error-handling guidance (e.g., what happens if a key is missing or extraction fails). | 2 / 3 |
Progressive Disclosure | For a skill under 50 lines with a single CLI tool, the content is well-organized into clearly labeled sections (trigger phrases, quick start, YouTube specifics, model/keys, flags, config) with no unnecessary nesting or external references needed. | 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 | |
04a41e3
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.