CtrlK
BlogDocsLog inGet started
Tessl Logo

openrouter

OpenRouter integration. Manage data, records, and automate workflows. Use when the user wants to interact with OpenRouter data.

60

Quality

70%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/openrouter/SKILL.md
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.

The body is a strong, executable CLI guide with a well-sequenced connection workflow and clear structure; its main weaknesses are minor over-explanation, a dangling step reference, and no result-verification guidance for action runs.

Suggestions

Resolve the dangling "Skip to Step 2" reference by labeling the searching/running sections as Step 2 or rewording the pointer.

Add a brief verification note for action runs, e.g. checking the `output`/`error` fields and retrying on non-READY or error states.

Trim the introductory paragraph on what OpenRouter is, since Claude already knows the product, to tighten token efficiency.

DimensionReasoningScore

Conciseness

The body is mostly lean, command-driven reference material, with only minor over-explanation such as the introductory paragraph on what OpenRouter is and the "so you can focus on the integration logic" aside.

4 / 5

Actionability

It provides copy-paste-ready, executable commands for every common case (install, login, connection ensure/get, action list/run with JSON input, request proxy) with concrete flag examples, matching the fully-executable anchor.

5 / 5

Workflow Clarity

The connection workflow is clearly sequenced with explicit state checkpoints (READY/BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR) and a re-poll feedback loop, but the dangling "Skip to Step 2" reference and the absence of result-verification for action runs are minor gaps.

4 / 5

Progressive Disclosure

The single file is well-organized into clear sections with no nested references, but being over 50 lines and monolithic (popular-actions and proxy-flag tables fully inline) leaves minor organization gaps versus an ideally split structure.

4 / 5

Total

17

/

20

Passed

Description

57%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 states both what the skill does and when to use it with a product-specific trigger, but its action verbs are generic and it lacks the richer trigger-term coverage of top-tier descriptions.

Suggestions

Replace generic verbs with concrete capabilities, e.g. "Generate chat completions, list models, create embeddings, and proxy raw API requests via OpenRouter."

Expand the when-clause with the natural phrases users actually say, e.g. "Use when the user wants to call OpenRouter models, generate chat completions or embeddings, or proxy requests to the OpenRouter API."

Add file/term synonyms (chat completions, LLM models, API keys) to improve trigger-term coverage and distinctiveness.

DimensionReasoningScore

Specificity

It names the domain ("OpenRouter integration") but the only actions — "Manage data, records" and "automate workflows" — are generic, matching the anchor for minimal/generic actions rather than the concrete actions needed for a 3.

2 / 5

Completeness

Both halves are present ("Manage data, records, and automate workflows" as what; "Use when the user wants to interact with OpenRouter data" as when), but the when-clause is a single trigger rather than the comprehensive concrete triggers of a 5.

4 / 5

Trigger Term Quality

"OpenRouter" and "interact with OpenRouter data" are relevant natural terms, but common variations a user would say (chat completions, models, API, LLM) are missing, fitting the 'some relevant keywords' anchor.

3 / 5

Distinctiveness Conflict Risk

Naming the specific product "OpenRouter" gives a clear niche with minimal conflict risk, though the generic data/records phrasing leaves minor overlap with other data-management skills.

4 / 5

Total

13

/

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.

Validation15 / 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
membranedev/application-skills
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.