Durable review guidance for Firefox's built-in IP Protection (VPN) module, covering panel UI, proxy/channel filtering, authentication, telemetry, and localization.
73
58%
Does it follow best practices?
Impact
97%
2.20xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/ipprotection/skills/ipprotection-review/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 and distinctive niche (Firefox IP Protection module review) and lists relevant topic areas, but it lacks concrete action verbs describing what the skill actually does and entirely omits explicit trigger guidance ('Use when...'). The specificity would benefit from listing concrete review actions rather than just topic categories.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when reviewing code changes, pull requests, or patches related to Firefox's IP Protection / VPN module.'
Replace the topic list with concrete actions, e.g., 'Reviews panel UI accessibility, validates proxy/channel filtering logic, checks authentication flows, audits telemetry collection, and verifies localization strings.'
Include natural trigger terms a developer might use, such as 'code review', 'pull request', 'network privacy', 'Firefox VPN', or 'IP masking'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (Firefox IP Protection/VPN module) and lists several areas it covers (panel UI, proxy/channel filtering, authentication, telemetry, localization), but these are topic areas rather than concrete actions the skill performs. It says 'review guidance' but doesn't specify what actions it takes (e.g., 'checks for accessibility issues', 'validates proxy configurations'). | 2 / 3 |
Completeness | The description addresses 'what' (review guidance for Firefox IP Protection module) but completely lacks a 'Use when...' clause or any explicit trigger guidance for when Claude should select this skill. Per the rubric, a missing 'Use when...' clause should cap completeness at 2, and the 'what' itself is also somewhat vague, warranting a score of 1. | 1 / 3 |
Trigger Term Quality | It includes some relevant keywords like 'Firefox', 'IP Protection', 'VPN', 'proxy', 'telemetry', 'localization', and 'panel UI' that a user working in this domain might use. However, it misses common variations and natural phrasing a user might say (e.g., 'code review', 'pull request', 'network proxy', 'privacy feature'). | 2 / 3 |
Distinctiveness Conflict Risk | The description targets a very specific niche — Firefox's built-in IP Protection (VPN) module — which is unlikely to conflict with other skills. The combination of Firefox, IP Protection, VPN, and the specific sub-areas makes it clearly distinguishable. | 3 / 3 |
Total | 8 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, domain-specific review guidance skill that provides highly actionable and concrete instructions for reviewing Firefox's IP Protection module. Its greatest strengths are the specificity of its guidance (exact file paths, API names, CSS tokens, testing patterns) and the comprehensive review checklist. The main weakness is that all content lives in a single file without progressive disclosure to supporting documents, and some redundancy exists between the Standing Conventions and Common Pitfalls sections.
Suggestions
Consider extracting Common Pitfalls and Active Campaigns into separate referenced files to reduce the main document's length and improve progressive disclosure.
Remove items from Common Pitfalls that are direct restatements of Standing Conventions to reduce redundancy and improve conciseness.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is fairly dense and domain-specific, with most information earning its place. However, some sections are slightly verbose (e.g., the Common Pitfalls section repeats guidance already covered in Standing Conventions), and a few explanatory phrases could be trimmed. Overall it respects Claude's intelligence but could be tightened in places. | 2 / 3 |
Actionability | The skill provides highly specific, concrete guidance: exact file paths, specific API calls (e.g., `IPProtectionPanel.setState`, `Services.obs`, `nsIIOService::hostnameIsLocalIPAddress`), exact CSS token names, precise testing patterns (`sandbox.stub(IPPProxyManager, "state").value(...)`), and clear do/don't instructions. While it lacks runnable code blocks, this is an instruction/review-guidance skill where the specificity of the directives is fully actionable. | 3 / 3 |
Workflow Clarity | The review checklist at the end provides a clear, sequenced validation workflow. The Standing Conventions sections are well-organized by domain (State, Localization, UI, Testing, etc.) with explicit validation requirements (e.g., 'verify accessible name with NVDA/VoiceOver/Orca before r+', 'mach lint --outgoing clean'). Lifecycle pairing requirements explicitly call out matching teardown on all paths including error paths. | 3 / 3 |
Progressive Disclosure | The content is well-structured with clear section headers and the File-Glob Guidance section acts as a navigation aid. However, with no bundle files provided, all content is inline in a single monolithic document. Some sections (like the detailed Active Campaigns or the extensive Common Pitfalls) could benefit from being split into referenced files, especially given the document's length. | 2 / 3 |
Total | 10 / 12 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 — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
f73d56b
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.