Capture frames or clips from RTSP/ONVIF cameras.
74
63%
Does it follow best practices?
Impact
100%
4.00xAverage score across 3 eval scenarios
Risky
Do not use without reviewing
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/camsnap/SKILL.mdQuality
Discovery
40%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 identifies a clear niche (RTSP/ONVIF camera capture) which makes it distinctive, but it is too terse. It lacks a 'Use when...' clause, misses common natural language trigger terms users might use (like 'security camera', 'IP camera', 'video stream'), and doesn't fully enumerate its capabilities.
Suggestions
Add a 'Use when...' clause such as 'Use when the user needs to capture snapshots or video clips from IP cameras, security cameras, RTSP streams, or ONVIF-compatible devices.'
Include natural language trigger terms users would say, such as 'security camera', 'IP camera', 'video stream', 'snapshot', 'recording', and 'surveillance'.
Expand the capability list to mention specific actions like saving to file, configuring stream parameters, or listing available cameras.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (RTSP/ONVIF cameras) and two actions (capture frames, capture clips), but doesn't elaborate on additional capabilities like saving formats, scheduling, or configuration options. | 2 / 3 |
Completeness | Describes what the skill does (capture frames/clips from cameras) but completely lacks a 'Use when...' clause or any explicit trigger guidance, which per the rubric caps completeness at 2, and since the 'what' is also thin, this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes technical keywords like 'RTSP', 'ONVIF', 'frames', and 'clips' which are relevant but somewhat niche. Missing more natural user terms like 'security camera', 'IP camera', 'video stream', 'snapshot', or 'recording'. | 2 / 3 |
Distinctiveness Conflict Risk | RTSP/ONVIF cameras is a very specific niche that is unlikely to conflict with other skills. The combination of protocol-specific terms and camera-related actions creates a clear, distinct trigger profile. | 3 / 3 |
Total | 8 / 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 concise, well-structured skill that provides actionable CLI commands for camera capture operations. Its main weakness is the lack of an explicit workflow sequence with validation steps—particularly important since capturing from cameras can fail silently (wrong credentials, network issues, codec problems). Adding a brief setup-verify-capture workflow would strengthen it.
Suggestions
Add a brief sequential workflow (e.g., 1. discover → 2. doctor --probe → 3. test snap → 4. longer operations) with explicit validation at each step to catch connectivity or codec issues early.
Include what to check if `camsnap doctor --probe` or a test capture fails (e.g., verify ffmpeg version, check network reachability, confirm credentials).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Very lean and efficient. Every line serves a purpose—no explanation of what RTSP or ONVIF is, no padding. Assumes Claude knows how cameras and ffmpeg work. | 3 / 3 |
Actionability | Provides concrete, copy-paste-ready commands for every operation: adding cameras, discovering, snapping, clipping, motion watching, and diagnostics. Flags and arguments are explicit. | 3 / 3 |
Workflow Clarity | Steps are listed but there's no explicit sequencing or validation checkpoints. The note about preferring a short test capture hints at verification but doesn't formalize it into a workflow with feedback loops. For operations like motion watch with threshold actions, a validate-then-proceed pattern would be valuable. | 2 / 3 |
Progressive Disclosure | For a simple, single-purpose skill under 50 lines with no bundle files, the content is well-organized into logical sections (setup, commands, notes) and is easy to scan. No need for external references given the scope. | 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.