CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

omni-providers

Manage provider connections, API keys, OAuth flows, and connection tests via the REST API. List, add, update, remove, and test AI provider integrations across OmniRoute's 375-provider catalog.

Quality

73%

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-providers/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%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 well-structured, token-efficient endpoint index that uses progressive disclosure correctly (single one-level reference file with verified anchors) and provides fully executable curl examples for a handful of endpoints. Its main weakness is the absence of any sequenced workflow guidance with validation checkpoints for the destructive, batch, and OAuth operations it exposes, and a few structural inconsistencies (duplicated entries, an off-bundle docs path, one unindexed endpoint).

Suggestions

Add a short quick-start workflow for the most common journeys, e.g. 'Add a provider: 1. POST /api/providers with the API key 2. POST /api/providers/{id}/test 3. Verify the test result before routing traffic', with an explicit verify step before destructive or bulk operations.

Group the 76 endpoint links into labeled categories (CRUD, auth/OAuth, import/bulk, nodes & models, health & metrics) so navigation doesn't require scanning a flat list.

Deduplicate POST /api/providers/{id}/refresh and GET /api/providers/health-matrix (currently listed both in the index and in Additional endpoints), index GET /api/provider-metrics, and either bundle or drop the docs/openapi.yaml pointer since that file is not part of the skill.

DimensionReasoningScore

Conciseness

The body is essentially a lean link index with almost no padding — "All requests require a valid Bearer token or session cookie" and the curl examples are pure signal. It falls short of a 5 only due to minor trim candidates: the Overview section duplicates the frontmatter description verbatim, "POST /api/providers/{id}/refresh" and "GET /api/providers/health-matrix" each appear twice (once in the endpoint list, again in "Additional endpoints"), and the 14-line JSON response example could live in the reference file.

4 / 5

Actionability

The custom section supplies fully executable, copy-paste-ready commands ("curl -X POST https://localhost:20128/api/providers/{id}/refresh -H \"Authorization: Bearer $OMNIROUTE_TOKEN\" -d '{}'"), and the Authentication section names the exact login route and env var. Minor gaps keep it below 5: no example request shape for POST /api/auth/login itself, and no inline request/response example for the most common operations (adding a provider, running an OAuth login) — those are delegated entirely to the linked reference and the off-bundle OpenAPI spec.

4 / 5

Workflow Clarity

No multi-step process is sequenced anywhere: the skill exposes genuinely multi-step flows ("POST /api/providers/{id}/login" → refresh-token → test; import-bulk; command-code auth/start → callback → status) but presents them as an undifferentiated list with no order of operations. Validation checkpoints are entirely absent for destructive and batch endpoints ("DELETE /api/providers/{id}", "POST /api/providers/test-batch", "POST /api/providers/import"), which per the rubric caps this dimension at 3 regardless; the complete lack of any per-operation sequence places it below that cap, at the anchor where only a rough orientation (auth → endpoints → payloads) exists. Not a 1 because the document-level structure is coherent and each link leads to per-endpoint detail in the reference.

2 / 5

Progressive Disclosure

Verified against the actual bundle: all 76 anchored links in the body resolve to real headers in references/endpoints.md, which is exactly one level deep and includes its own table of contents — clearly signaled, well-split references. Minor organization gaps hold it below 5: the 76-entry list is flat with no grouping (auth/import, nodes, models, health), the Payloads section points to "docs/openapi.yaml" which is not present in the bundle, and "GET /api/provider-metrics" in the custom section is absent from both the list and the reference file.

4 / 5

Total

14

/

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 strong, specific description that clearly states what the skill does with comprehensive concrete actions and a distinct product-scoped niche. Its one significant weakness is the total absence of any 'when to use this' trigger guidance, and its keyword coverage omits several natural terms (credentials, import, refresh, health) for operations the skill actually supports.

Suggestions

Append a trigger clause, e.g. 'Use when adding or troubleshooting provider connections, managing API keys or OAuth credentials, or testing provider availability in OmniRoute.'

Fold in natural synonyms for supported operations — credentials, import/export, refresh tokens, health/metrics — so users phrasing requests those ways still match.

Add a differentiator against sibling skills (e.g. mention provider-nodes and routing live elsewhere) to reduce overlap risk with other OmniRoute API skills.

DimensionReasoningScore

Specificity

"List, add, update, remove, and test AI provider integrations" enumerates five concrete CRUD actions, plus "API keys, OAuth flows, and connection tests via the REST API" — comprehensive, specific coverage of the domain with no filler. It matches the anchor 'Lists multiple specific concrete actions; comprehensive coverage' exactly, rather than the 4 anchor whose example shows partial coverage.

5 / 5

Completeness

The 'what' is clear and comprehensive (manage/list/add/update/remove/test provider integrations), but there is no 'when' at all — no "Use when..." clause or equivalent explicit trigger guidance, which per the judging guidelines caps completeness at 3. It is a solid 3 rather than lower because the 'what' half is fully explicit.

3 / 5

Trigger Term Quality

Natural phrases users would say are present — "provider connections", "API keys", "OAuth", "test" — but common variations the skill actually supports are missing from the description: "credentials", "import", "refresh tokens", "sync models", "health/metrics". This matches 'Good keyword coverage; a few natural terms missing' rather than the 5 anchor's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

"OmniRoute's 375-provider catalog" and "via the REST API" carve out a clear niche that won't trigger for generic file or document skills. It stays at 4 rather than 5 because 'manage provider connections, API keys' could overlap with sibling OmniRoute REST-API skills (routing, models, provider-nodes) and the description offers no trigger phrases to disambiguate between them.

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-providers/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.