CtrlK
BlogDocsLog inGet started
Tessl Logo

ai-gateway

Vercel AI Gateway expert guidance. Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API.

82

1.58x
Quality

75%

Does it follow best practices?

Impact

100%

1.58x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/ai-gateway/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 content is highly actionable with extensive executable code and clear decision guidance, but it is monolithic — a single large file with no progressive disclosure or bundle references, and it carries some restated-background prose. Splitting reference material into separate files and trimming explanatory passages would materially improve it.

Suggestions

Move large reference blocks (Supported Providers, Pricing, Audit Logging, the full error catalog) into separate files under ./references/ and link to them from a concise overview, reducing the monolithic ~570-line body.

Trim restated-background prose such as 'AI Gateway provides a single API endpoint...' and 'AI Gateway logs every request...' to assume Claude's competence and keep only novel guidance.

Add explicit validate-then-proceed checkpoints to the routing/failover and budget-control workflows (e.g., verify available models via gateway.getAvailableModels() before hardcoding, confirm budget headroom before calling) to raise workflow clarity.

DimensionReasoningScore

Conciseness

The body is dominated by executable code and tables, but several prose passages restate concepts Claude already knows ("AI Gateway provides a single API endpoint to access 100+ models", "AI Gateway logs every request for compliance and debugging", "Use cheaper models for classification/routing") and could be tightened. Not a 4 because the over-explanation is more than minor; not a 2 because it is not severely padded.

3 / 5

Actionability

Fully executable, copy-paste-ready code blocks cover the common cases — generateText with provider/model strings, gateway() routing options, OIDC setup (vercel env pull), 429/402 error handling, Claude Code env vars, and image generation. Specific examples span the typical workflows.

5 / 5

Workflow Clarity

A decision tree, auth-priority ordering, "When to Use" table, and error-handling template give a clear sequence with most checkpoints present, plus a couple of feedback loops (re-pull OIDC token, re-validate). Not a 5 because several risky flows (routing/failover configuration, budget enforcement) lack explicit validate-then-proceed checkpoints and error-recovery loops.

4 / 5

Progressive Disclosure

The skill is a monolithic ~570-line SKILL.md with no bundle files in ./references, ./scripts, or ./assets; content that clearly belongs in separate files (provider list, pricing, audit logging, full error catalog) is inlined, and the only references are external doc URLs. Not a 1 because section headers provide some structure; not a 3 because no in-skill references are signaled for the bulk material.

2 / 5

Total

14

/

20

Passed

Description

83%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 well-crafted: it states the domain, lists concrete capabilities, and includes an explicit 'Use when' trigger clause. It is concise without fluff and uses appropriate third-person voice. Its main weakness is limited synonym coverage and some overlap risk with neighboring AI SDK skills.

DimensionReasoningScore

Specificity

Lists several concrete capabilities — "configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API" — rather than vague language. Not a 5 because the actions are described at a capability level without naming individual operations (e.g., specific routing primitives) that would make coverage comprehensive.

4 / 5

Completeness

Explicitly answers both what ("Vercel AI Gateway expert guidance") and when ("Use when configuring model routing, provider failover, cost tracking, or managing multiple AI providers through a unified API") with concrete trigger phrases. Re-reading the 4 anchor, the explicit 'Use when ...' clause with multiple concrete triggers pushes this clearly to 5.

5 / 5

Trigger Term Quality

Natural phrases users would say are present ("model routing", "provider failover", "cost tracking", "multiple AI providers", "unified API"). Not a 5 because common synonyms and concrete file/import triggers (e.g., @ai-sdk/gateway, provider/model strings) that the body relies on are absent from the description.

4 / 5

Distinctiveness Conflict Risk

Names a specific product niche ("Vercel AI Gateway") with distinct triggers, giving mostly-distinct routing. Not a 5 because it could still overlap with adjacent AI SDK / model-routing skills when a user asks generically about 'AI providers' or 'model routing'.

4 / 5

Total

17

/

20

Passed

Validation

75%

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

Validation12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (666 lines); consider splitting into references/ and linking

Warning

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

12

/

16

Passed

Repository
vercel/vercel-plugin
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.