CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

webiny-http-route

Adding custom HTTP routes to the API with <Api.Route> and HttpRouteHandler. Use this skill when the developer wants to expose a custom HTTP endpoint (GET, POST, PUT, etc.) on the API alongside the GraphQL handler, implement a route handler with full DI support, or register a custom HTTP route in webiny.config.tsx.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

82%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.

A high-quality, domain-dense skill: executable code for every common case, accurate API tables, and hard-failure rules called out loudly. Its main costs are mild repetition (route-name derivation and request.route identity each stated twice) and an all-inline structure that keeps ~240 lines in SKILL.md where decorator/response reference material could live in separate files.

Suggestions

State the route-name derivation once (in the Props table) and reference it from the decorator section instead of repeating it, trimming the conciseness repetition.

Promote the workflow tail into an explicit ordered step in the TL;DR or a short 'Build and deploy' section (register in webiny.config.tsx -> build -> yarn webiny deploy api --env=dev -> hit the route to verify), so the sequence and a post-deploy validation cue are explicit.

Move the two decorator examples and/or the Response method table into a references/ file (e.g. references/decorators.md) with clearly signaled links, keeping SKILL.md as the overview.

DimensionReasoningScore

Conciseness

The body is dense and nearly every token is Webiny-specific knowledge Claude would not already have (props table, Response builder semantics, cookie maxAge-in-seconds caveat, "How it works"). It falls short of the lean 5 anchor mainly through repetition — route-name derivation is stated in the Props table and again in the "Change what a route DOES" section ("name is routeName, or the value derived from path and method"), and the request.route identity point is made twice — which is over-explanation that could be trimmed, but it is well above the noticeably-verbose 2 and the mostly-efficient-with-real-excess 3 anchors.

4 / 5

Actionability

Fully executable, copy-paste-ready code throughout: a complete handler with createImplementation and DI wiring, the registration JSX, a parameterized route handler, two full decorator implementations, plus a props table and a Quick reference block with the exact deploy command. Not level 4 because there are no gaps — the common cases (plain handler, path parameters, auth decorator) are all covered with runnable code.

5 / 5

Workflow Clarity

The sequence is clear — write a handler implementing HttpRouteHandler.Interface, point <Api.Route> at it in webiny.config.tsx, deploy with "yarn webiny deploy api --env=dev" — and the TL;DR states it up front with hard-fail warnings (missing .ts extension fails the build; named exports fail). It is not 5 because the deploy/verify tail of the workflow is confined to a one-line Quick reference entry with no explicit ordering of build vs. deploy steps or a post-deploy check that the route responds; it is above 3 because the sequence and its key failure modes are explicit, and the skill involves no destructive or batch operations requiring feedback loops.

4 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and all content is inline in one well-sectioned file with a TL;DR up front, a Quick reference at the end, and a Related-skills section pointing to sibling skills one hop away. Structure is good and easy to navigate; it is not 5 because at ~240 lines the two decorator examples and the Response method table are reference-grade material that could be split into separate files to keep SKILL.md lean, and not 3 because nothing is buried or misplaced — every section is clearly signaled and appropriately scoped.

4 / 5

Total

17

/

20

Passed

Description

92%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.

A strong description: third-person, concise, and concrete, with an explicit 'Use when...' clause covering several realistic trigger scenarios and distinctive Webiny-specific terminology. The only weakness is a few missing natural synonyms (REST endpoint, webhook) that would make trigger matching even broader.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "expose a custom HTTP endpoint (GET, POST, PUT, etc.)", "implement a route handler with full DI support", "register a custom HTTP route in webiny.config.tsx" — and names the specific mechanisms (<Api.Route>, HttpRouteHandler). This matches the comprehensive-coverage anchor; it is not the level-4 anchor because coverage of the skill's actions is complete rather than having minor gaps.

5 / 5

Completeness

It explicitly answers both: what ("Adding custom HTTP routes to the API with <Api.Route> and HttpRouteHandler") and when ("Use this skill when the developer wants to expose a custom HTTP endpoint... or register a custom HTTP route in webiny.config.tsx"). The 'when' clause is explicit with concrete trigger conditions, matching the top anchor; it is clearly above the level-4 anchor where the 'when' is only partially specific.

5 / 5

Trigger Term Quality

Good natural-term coverage: "custom HTTP endpoint", "GET, POST, PUT", "route handler", "custom HTTP route", "webiny.config.tsx". A few natural phrasings a user might say are missing (e.g., "REST endpoint", "webhook", "API route"), so it sits between the good-coverage (4) and comprehensive-with-synonyms (5) anchors, closer to 4.

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche with distinct triggers: Webiny-specific terms ("webiny.config.tsx", "HttpRouteHandler", "alongside the GraphQL handler") make it unlikely to fire for the wrong skill. Minimal conflict risk, matching the clear-niche anchor; the level-4 anchor's "minor overlap risk with closely related skills" does not apply given the unique component names.

5 / 5

Total

19

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

webiny/webiny-js

Path

skills/user-skills/api/http-route/SKILL.md

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.