Use when building web services. Keywords: web server, HTTP, REST API, GraphQL, WebSocket, axum, actix, warp, rocket, tower, hyper, reqwest, middleware, router, handler, extractor, state management, authentication, authorization, JWT, session, cookie, CORS, rate limiting, web 开发, HTTP 服务, API 设计, 中间件, 路由
48
51%
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 ./skills/domain-web/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 is essentially a keyword dump with a minimal 'Use when' clause. While the trigger term coverage is strong with good breadth across frameworks, protocols, and concepts (including multilingual terms), it fails to describe concrete actions the skill performs. The lack of explicit capability statements ('what it does') weakens both specificity and completeness.
Suggestions
Add concrete action descriptions before the keywords, e.g., 'Creates and configures Rust web servers, designs REST/GraphQL APIs, implements authentication and middleware pipelines using frameworks like axum, actix, and rocket.'
Strengthen the 'Use when' clause with more specific triggers, e.g., 'Use when building Rust web services, setting up HTTP endpoints, implementing API authentication, or configuring server middleware.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names the domain (web services) and lists many specific frameworks and concepts (axum, actix, warp, rocket, JWT, CORS, rate limiting), but it doesn't describe concrete actions — it's essentially a keyword list rather than a description of what the skill actually does (e.g., 'creates REST APIs', 'configures middleware'). | 2 / 3 |
Completeness | It has a 'Use when' clause ('Use when building web services') which addresses the 'when', but the 'what' is extremely weak — it never describes what the skill actually does beyond listing keywords. The 'what' is only implied through the keyword list rather than explicitly stated. | 2 / 3 |
Trigger Term Quality | Excellent coverage of natural keywords users would say: includes framework names (axum, actix, rocket), protocol terms (HTTP, REST API, GraphQL, WebSocket), common concepts (middleware, authentication, JWT, CORS, rate limiting), and even Chinese language variants. These are terms users would naturally use when requesting help with web services. | 3 / 3 |
Distinctiveness Conflict Risk | The focus on Rust-specific web frameworks (axum, actix, warp, rocket, tower, hyper) provides some distinctiveness, but the broad inclusion of generic terms like 'HTTP', 'REST API', 'authentication', 'middleware' could easily overlap with web development skills in other languages or general API design skills. | 2 / 3 |
Total | 9 / 12 Passed |
Implementation
37%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill reads more like a reference card or conceptual overview than an actionable guide for building web services in Rust. It has useful tables and one good code example, but lacks a clear workflow for actually creating a web service, and much of the content describes constraints and patterns abstractly rather than providing executable, step-by-step guidance. The layered 'trace' references to other modules add structure but without actual bundle files they remain unverifiable.
Suggestions
Add a complete, executable quick-start workflow: create router → add handlers → configure state → start server, with actual runnable code
Replace the abstract RULE/WHY/RUST blocks with concrete code examples that demonstrate each constraint (e.g., show spawn_blocking usage, show Arc<RwLock<T>> state setup)
Add validation/verification steps such as testing endpoints with curl commands or checking that the server starts correctly
Consolidate the overlapping 'Trace Down', 'Trace to Layer 1', and 'Related Skills' sections into a single cross-reference table to reduce redundancy
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is reasonably efficient with tables and code blocks, but includes some redundant information (e.g., the 'Trace Down' and 'Trace to Layer 1' sections overlap significantly, and the domain constraints table restates things covered in Critical Constraints). The pseudo-specification style ('RULE/WHY/RUST' blocks) adds tokens without much value over just stating the rule directly. | 2 / 3 |
Actionability | The Axum handler code example is concrete and executable, which is good. However, much of the skill is descriptive tables and abstract constraint mappings rather than actionable guidance. There's no complete working example (e.g., setting up a router, starting a server), and the framework comparison and crate tables describe rather than instruct. | 2 / 3 |
Workflow Clarity | There is no clear workflow or sequenced process for building a web service. The content presents constraints, patterns, and reference tables but never walks through how to actually set up a web server, add routes, configure middleware, or validate the result. For a domain involving security and concurrency, the absence of any validation checkpoints is notable. | 1 / 3 |
Progressive Disclosure | The content references related skills (m07-concurrency, m02-resource, etc.) which provides some navigation, but no bundle files exist to support these references. The content itself is moderately well-organized with clear sections, but the 'Trace Down' and 'Trace to Layer 1' sections create a somewhat confusing layered reference structure without actual linked files. | 2 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
fa60f79
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.