Caddy reverse proxy configuration, Caddyfile syntax, automatic HTTPS, Docker integration, and common patterns
54
59%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./caddy-reverse-proxy/SKILL.mdQuality
Discovery
54%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 strong trigger terms specific to the Caddy ecosystem, making it distinctive and easy to match when users mention Caddy-related topics. However, it reads as a list of topics rather than concrete actions, and critically lacks any 'Use when...' guidance to help Claude know when to select this skill. Adding explicit trigger conditions and action verbs would significantly improve it.
Suggestions
Add a 'Use when...' clause such as 'Use when the user asks about Caddy server setup, Caddyfile configuration, reverse proxy routing, or automatic HTTPS with Caddy.'
Replace topic nouns with action-oriented descriptions, e.g., 'Generates and troubleshoots Caddy reverse proxy configurations, writes Caddyfile syntax, sets up automatic HTTPS, and integrates Caddy with Docker containers.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Caddy reverse proxy) and lists several topic areas (Caddyfile syntax, automatic HTTPS, Docker integration, common patterns), but these are topics rather than concrete actions. It doesn't specify what actions are performed like 'configure', 'generate', 'troubleshoot'. | 2 / 3 |
Completeness | Describes the 'what' at a topic level but completely lacks any 'when' clause or explicit trigger guidance. Per the rubric, a missing 'Use when...' clause caps completeness at 2, and since the 'what' is also only topical rather than action-oriented, this scores a 1. | 1 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'Caddy', 'reverse proxy', 'Caddyfile', 'HTTPS', 'Docker integration'. These are terms a user would naturally use when seeking help with Caddy configuration. | 3 / 3 |
Distinctiveness Conflict Risk | Caddy is a specific technology with distinct terminology (Caddyfile, automatic HTTPS). This is unlikely to conflict with other skills like Nginx or Apache configuration due to the explicit naming of Caddy-specific concepts. | 3 / 3 |
Total | 9 / 12 Passed |
Implementation
64%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a solid, practical reference skill for Caddy configuration with excellent actionability — nearly every concept is backed by executable, copy-paste ready examples. The main weaknesses are moderate verbosity (some redundant examples and explanations of things Claude already knows) and the lack of explicit deployment workflows with validation checkpoints. The monolithic structure works but would benefit from splitting into focused reference files.
Suggestions
Remove explanatory sentences Claude already knows (e.g., 'Caddy is a modern web server with automatic HTTPS', 'Caddy handles WebSocket upgrades automatically') and trim the duplicate basic proxy example to improve conciseness.
Add an explicit numbered workflow for initial Caddy deployment and config changes (e.g., 1. Write Caddyfile → 2. `caddy validate` → 3. Deploy/reload → 4. Verify with `curl -I` → 5. Check logs if issues), with a feedback loop for validation failures.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Generally efficient with good use of code examples, but includes some unnecessary explanations Claude would already know (e.g., 'Caddy is a modern web server with automatic HTTPS', 'Caddy handles WebSocket upgrades automatically', 'Caddy does this by default'). The nginx comparison table and some redundant examples (basic proxy shown twice) add bulk without proportional value. | 2 / 3 |
Actionability | Excellent actionability throughout — nearly every section includes copy-paste ready Caddyfile configurations, docker-compose.yml snippets, and bash commands. The examples are concrete, complete, and executable with realistic domain names and port numbers. | 3 / 3 |
Workflow Clarity | Management commands include validation (`caddy validate`) and reload steps, and the troubleshooting table is helpful. However, there's no explicit workflow sequence for setting up a new Caddy deployment (e.g., validate -> deploy -> verify certificates -> test). The config reload process lacks a clear validate-first-then-reload feedback loop presented as a numbered sequence. | 2 / 3 |
Progressive Disclosure | Content is well-organized with clear section headers and logical grouping, but it's a monolithic document (~200 lines) with no references to external files. The TLS section, Docker deployment, and troubleshooting could be split into separate files with a concise overview in the main SKILL.md. For a standalone skill with no bundle, the structure is acceptable but could be tighter. | 2 / 3 |
Total | 9 / 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.
808c382
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.