CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

omni-api-keys

Create, list, rotate, and revoke OmniRoute API keys. Control per-key scopes, spending limits, and expiration. Keys gate access to all proxy and management endpoints.

Quality

70%

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 ./skills/omni-api-keys/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

53%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 cleanly sectioned, auto-generated API reference with real curl commands for every endpoint and sensible deferral of schemas to the OpenAPI spec. It falls short on execution detail — every mutating request body is an empty placeholder — and offers no workflow guidance or safeguards around destructive key operations.

Suggestions

Replace the placeholder `-d '{}'` bodies on POST/PATCH/PUT examples with minimal real payloads (e.g., a key-creation body showing name, scopes, and spending limit fields) so the examples are copy-paste usable.

Add brief validation guidance for destructive operations, such as checking key usage via GET /api/keys/{id}/usage-limits before DELETE, and verifying the new key works after rotate/regenerate.

Trim redundancy: state the Authorization header once in the Authentication section, drop the breadcrumb placeholder descriptions, and remove the Overview that duplicates the frontmatter description.

DimensionReasoningScore

Conciseness

The body is mostly lean endpoint listings, but ~24 curl blocks repeat the identical Authorization header where a single auth note would do, the Overview duplicates the frontmatter description verbatim, and placeholder breadcrumbs like "POST keys › <id> › regenerate" add no information. This fits "mostly efficient but could be tightened" rather than 4, where only minor trimming would be needed.

3 / 5

Actionability

GET endpoints have fully executable curl commands, but every mutating endpoint (POST/PATCH/PUT) ships an empty `-d '{}'` body, so the key execution detail — the request payload — is missing, and schemas are delegated to an external OpenAPI spec. Concrete commands exist but key details are absent, matching anchor 3 rather than 4's "minor gaps".

3 / 5

Workflow Clarity

The content is a flat endpoint catalog with no task sequencing (e.g., no create-key → set-scopes → verify flow), and destructive operations (DELETE /api/keys/{id}, DELETE groups/permissions) include no validation or verification guidance. Per the guidelines, destructive operations without validation cap workflow clarity at 3; it is not 2 because the Authentication section establishes a clear precondition and endpoints are logically grouped.

3 / 5

Progressive Disclosure

Good structure: a short overview, clearly sectioned endpoint catalog, and bulk request/response schemas deferred one level deep to "GET /api/openapi/spec" or "docs/openapi.yaml" in a dedicated Payloads section. It is not 5 because no bundle reference files exist, the spec pointer is external to the skill, and some schema detail (e.g., the access and groups semantics) is inlined in the main file; not 3 because references are clearly signaled and organization is solid.

4 / 5

Total

13

/

20

Passed

Description

71%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 specific, action-oriented description covering the complete key-management lifecycle with no wasted words. Its main weaknesses are the absent "Use when..." trigger clause (capping completeness) and keyword coverage that omits a few natural synonyms like delete/regenerate.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to create, rotate, revoke, or manage OmniRoute API keys, or to set key scopes, spending limits, or expiration."

Include natural synonyms such as "delete", "regenerate", and "manage" so common user phrasings match the description.

Consider mentioning key groups and device/usage-limit endpoints to round out capability coverage.

DimensionReasoningScore

Specificity

"Create, list, rotate, and revoke OmniRoute API keys. Control per-key scopes, spending limits, and expiration" lists multiple specific concrete actions covering the full key lifecycle plus the controllable attributes, matching the comprehensive-coverage anchor. It is not 4 because there are no minor gaps — the lifecycle (create/list/rotate/revoke) and controls (scopes, limits, expiration) are all enumerated.

5 / 5

Completeness

The description clearly answers "what" (key lifecycle management with scopes, limits, expiration) but contains no "Use when..." clause or equivalent explicit trigger guidance; "Keys gate access to all proxy and management endpoints" is context, not a trigger. Per the judging guidelines, a missing 'Use when' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms users would say are present ("API keys", "rotate", "revoke", "scopes", "spending limits", "expiration"), giving good keyword coverage. It is not 5 because common variations like "delete", "regenerate", "manage", or "token" are missing; not 3 because coverage goes beyond merely relevant keywords.

4 / 5

Distinctiveness Conflict Risk

"OmniRoute API keys" carves out a clear niche with product-specific scope, so conflict risk is minor. It is not 5 because the trigger verbs (create/rotate/revoke keys) are generic key-management phrases that could also match a different provider's key-management skill; not 3 because the OmniRoute qualifier and endpoint-gating context make overlap unlikely.

4 / 5

Total

16

/

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

diegosouzapw/OmniRoute

Path

skills/omni-api-keys/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.