CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

routing-middleware

Vercel Routing Middleware guidance — request interception before cache, rewrites, redirects, personalization. Works with any framework. Supports Edge, Node.js, and Bun runtimes. Use when intercepting requests at the platform level.

64

Quality

80%

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 ./plugins/vercel/skills/routing-middleware/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 reference skill: executable code, exact CLI commands, and crisp decision tables for disambiguating three easily-confused concepts. The main deductions are inline time-sensitive details (Next.js 16, March 2026, Public Beta) that belong in a dedicated deprecation/versions note, and a long single-file body whose reference material could eventually be split out.

Suggestions

Move version- and date-sensitive details (Next.js 16 rename, 'added March 2026', Bun Public Beta status) into a single 'Versions & deprecations' section so the evergreen guidance stays lean and dated facts are clearly flagged.

Trim background explanations Claude doesn't need — the CVE-2025-29927 motivation story and the '~28% latency' marketing stat — down to one-line facts.

If the skill grows, split the request-limits table and project-level-routes configuration detail into a references/ file and link to it from SKILL.md to keep the overview short.

DimensionReasoningScore

Conciseness

The body is mostly dense tables and executable snippets, but includes some content that could be trimmed or that Claude doesn't need: the "Why the rename in Next.js 16" paragraph with CVE background, the marketing-style "Bun reduces average latency by ~28%" stat, and time-sensitive details ("added March 2026", "Currently in Public Beta", "Next.js 16") presented outside a deprecation/old-patterns section, which the guidelines penalize. Not a 2 because there is no real padding and most sections earn their tokens; not a 4 because the dated/versioned details and background explanations are genuinely dispensable.

3 / 5

Actionability

Fully executable, copy-paste-ready guidance throughout: complete middleware examples (geolocation rewrite, IP header injection, Edge Config A/B test, waitUntil background processing), matcher configs, vercel.json/vercel.ts snippets with defineConfig, and exact commands ("npx @vercel/config compile|validate|generate", "npx @next/codemod@latest middleware-to-proxy"). Concrete specifics cover the common cases, matching the top anchor.

5 / 5

Workflow Clarity

As a reference/selection skill rather than a procedural one, its workflow is choosing the right mechanism, and that is clearly sequenced: the three-concept disambiguation table with a 'When to Use' column, the ordered CDN routing table (1 Bulk Redirects → 2 Project-Level Routes → 3 Deployment Config), and paired 'When to Use'/'When NOT to Use' sections. Not a 5 because there is no end-to-end setup or verification sequence (e.g., validate the matcher locally) and the helper/API detail is presented flatly rather than as a stepped path; not a 3 because the selection decision flow is explicit and unambiguous.

4 / 5

Progressive Disclosure

No bundle files exist, so this is judged on the single-file structure: well-organized headers, scannable tables, and a clearly signaled one-level-deep References section of external doc URLs. The body runs long (~215 lines) and some content — the request-limits table, project-level routes detail, helper API specifics — could be split into reference files if the bundle grew, leaving minor organization gaps that keep it at anchor 4 rather than 5.

4 / 5

Total

16

/

20

Passed

Description

78%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 that names a clear niche, lists concrete capabilities, and includes an explicit 'Use when' trigger. Its only weakness is that the trigger clause and keyword set are somewhat narrow, omitting file-name triggers (middleware.ts) and common use-case terms (geo, A/B testing) that would push it to the top anchor.

DimensionReasoningScore

Specificity

The description names the domain ("Vercel Routing Middleware") and several concrete actions — "request interception before cache, rewrites, redirects, personalization" — matching the anchor for several specific actions with minor coverage gaps (e.g., header injection, A/B testing, geo routing are absent). It is not a 5 because the action list is not comprehensive and the head noun "guidance" is slightly abstract; not a 3 because more than 1-2 concrete actions are explicitly listed.

4 / 5

Completeness

Both parts are present: a clear 'what' ("request interception before cache, rewrites, redirects, personalization... Works with any framework. Supports Edge, Node.js, and Bun runtimes") and an explicit 'when' ("Use when intercepting requests at the platform level"). The 'when' clause is explicit but narrow and lacks concrete trigger phrases (no mention of middleware files, geo-personalization, or auth-check scenarios), matching anchor 4 rather than 5.

4 / 5

Trigger Term Quality

Good natural keyword coverage — "middleware", "rewrites", "redirects", "personalization", "request interception", "Vercel", "Edge", "Node.js", "Bun" — which users would plausibly say. Missing a few natural terms such as "middleware.ts", "geo", "A/B testing", or framework names (Next.js, SvelteKit), so it falls just short of the comprehensive-with-synonyms anchor at 5.

4 / 5

Distinctiveness Conflict Risk

"Vercel Routing Middleware" is a clear niche with distinct triggers — platform-level interception before cache — and the platform scoping distinguishes it from generic Next.js middleware or proxy skills. The third-person voice is used consistently, so no specificity penalty applies. Minimal overlap risk with other skills.

5 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository

openai/plugins

Path

plugins/vercel/skills/routing-middleware/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.