CtrlK
BlogDocsLog inGet started
Tessl Logo

api-server-mcp

REST API server and MCP protocol integration

55

Quality

62%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.ai-rulez/skills/api-server-mcp/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

76%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an exemplary codebase-orientation skill: terse, dense with exact file/function/test names, and proactive about debunking wrong assumptions (phantom routes, enum-vs-struct ApiError, missing .env.example). Its main gaps are the absence of explicit step-by-step workflows with validation loops for changes touching batch/destructive endpoints, and reference material that could be split into bundle files.

DimensionReasoningScore

Conciseness

The body is dense, table-driven, and assumes Claude's competence — it never explains what REST, MCP, CORS, or caching are, and every line carries a file path, function name, or a correction of a plausible wrong assumption (e.g. 'There is no api/server.rs', 'Do not match on ApiError'). It fits 'Lean and efficient; every token earns its place'.

5 / 5

Actionability

Guidance is highly concrete: exact routes with handler names, ApiError constructors and their status codes, env var names with defaults, the pinning test 'test_all_tools_are_registered', and specific rules like 'always read limits.max_request_body_bytes'. It falls short of anchor 5 because there are no copy-paste snippets for the common cases (e.g. registering a new tool or adding a route), leaving minor gaps for an instruction-only skill.

4 / 5

Workflow Clarity

There is no explicit multi-step workflow; the body is organized by area (routes, caching, errors, MCP) with imperative rules rather than sequences, and validation checkpoints are only implicit ('the test is the contract', 'validate uploads'). It touches destructive and batch operations (DELETE /cache/clear, /extract-async) without validate-then-retry loops, which caps workflow clarity at 3; it is not a 2 because the rules themselves sequence work clearly (e.g. register a tool AND extend the pinning test).

3 / 5

Progressive Disclosure

No bundle files exist, and the single 120-line file is well organized into clearly headed sections with a 'Related Skills' cross-reference list — good structure with content appropriately placed in one overview file. It is not a 5 because some reference material (the full route table and env-var catalogue) could live in separate reference files, a minor organization gap matching anchor 4.

4 / 5

Total

16

/

20

Passed

Description

48%Weight 40%Scale 1-5

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 accurate and appropriately terse, correctly identifying the skill's two domains, but it reads as a title rather than a trigger description. It has no 'Use when' clause and no concrete capability verbs, which limits its ability to fire reliably when a user asks about routes, handlers, MCP tools, or server configuration.

Suggestions

Add a 'when' clause, e.g. 'Use when adding or modifying REST routes/handlers, MCP tools/resources/prompts, or server env config in crates/xberg/src/api or src/mcp.'

Include natural trigger phrases users would say: 'Axum route', 'add an endpoint', 'register an MCP tool', 'rmcp', 'CORS', 'XBERG_ env var'.

State concrete actions instead of 'integration': e.g. 'Registers REST routes, defines ApiError responses, and pins the MCP tool/resource/prompt sets.'

DimensionReasoningScore

Specificity

The description 'REST API server and MCP protocol integration' names the domain clearly but offers only the generic action 'integration' — no concrete verbs like 'add routes', 'register tools', or 'configure CORS'. This matches the anchor 'Names the domain but actions are minimal or generic' (e.g. 'Processes PDF files').

2 / 5

Completeness

There is a clear 'what' (a REST API server plus MCP protocol surface) but no 'Use when...' or equivalent trigger clause anywhere, so per the guideline a missing 'when' caps completeness at 3. It is not a 2 because the 'what' is concrete, not vague.

3 / 5

Trigger Term Quality

'REST API server' and 'MCP protocol' are natural terms a developer working on this codebase would say, so the keywords are relevant rather than jargon-only. However there are no variations or synonyms ('Axum', 'rmcp', 'tool registration', 'endpoints'), fitting 'Some relevant keywords but missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

Naming two specific surfaces (Axum REST routes and the rmcp MCP layer) carves a clear niche distinct from sibling skills like extraction-pipeline-patterns or config-loading-precedence. Minor overlap risk remains with generic 'API' or 'tool' requests, so it fits 'Mostly distinct; minor overlap risk with closely related skills' rather than the fully distinct anchor 5.

4 / 5

Total

12

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
xberg-io/xberg
Reviewed

Table of Contents

Is this your skill?

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.