CtrlK
BlogDocsLog inGet started
Tessl Logo

model-selection

Automatically applies when choosing LLM models and providers. Ensures proper model comparison, provider selection, cost optimization, fallback patterns, and multi-model strategies.

76

1.25x
Quality

52%

Does it follow best practices?

Impact

93%

1.25x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/ai-llm/model-selection/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

46%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 skill is rich and mostly executable, but it is a monolithic, docstring-heavy wall of code with no external file references and no explicit validation/feedback checkpoints in its workflows. Splitting patterns into reference files and trimming boilerplate would substantially improve both conciseness and progressive disclosure.

Suggestions

Split the large class definitions (registry data, router, fallback, optimizer, ensemble) into reference files (e.g. references/registry.py, references/fallback.md) and keep SKILL.md as a concise overview with one-level-deep links.

Strip per-method Args/Returns docstrings that merely restate parameter names; assume Claude can infer obvious arguments to reduce token bloat.

Add explicit validation checkpoints to the Auto-Apply workflow (e.g. 'verify routed model supports required capabilities before sending', 'confirm estimated cost is within budget before proceeding') with retry-on-failure feedback loops.

DimensionReasoningScore

Conciseness

The ~700-line body is noticeably verbose: every method carries a docstring with full Args/Returns blocks restating obvious parameters, and usage blocks repeat registered model IDs, padding well beyond what Claude needs; this matches the "noticeably verbose; several unnecessary explanations or padded sections" anchor.

2 / 5

Actionability

It provides concrete, mostly executable pydantic-based code for the registry, router, fallback chain, cost optimizer, and ensemble with realistic usage examples; minor gaps (undefined clients/`anthropic_client`, opus referenced but unregistered, missing imports in some snippets) keep it just below fully copy-paste ready.

4 / 5

Workflow Clarity

The Auto-Apply section gives a numbered 1-7 sequence and anti-patterns show error handling, but there are no explicit validation checkpoints or feedback loops (e.g. verify the routed model satisfies requirements before sending, confirm cost against budget); per the guideline, missing validation in batch/operational contexts caps workflow_clarity at 3.

3 / 5

Progressive Disclosure

No bundle files exist and the entire content — registry data, five full class definitions, and each pattern — is inlined into one ~700-line SKILL.md with only section headers; content that clearly belongs in separate files is inlined, matching the "minimal structure; inlined content" anchor.

2 / 5

Total

11

/

20

Passed

Description

58%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 clearly states what the skill does and is reasonably specific, but the trigger guidance is weak — it relies on a single implied "when" phrase rather than explicit, natural trigger keywords. Adding a concrete "Use when ..." clause with common synonyms would lift completeness and trigger_term_quality.

Suggestions

Add an explicit 'Use when the user is choosing or comparing LLM models, selecting providers, configuring fallback/routing, or optimizing inference costs' clause to make the 'when' concrete.

Include natural trigger synonyms users actually say (e.g. 'pick a model', 'which LLM', 'model routing', 'provider failover', '.claude/.gpt model IDs') in the description, not just the body.

Tighten the capability list so each item is a concrete verb phrase (e.g. 'compare models across providers', 'route requests by task complexity') to push specificity toward 5.

DimensionReasoningScore

Specificity

Lists several concrete capability areas — "model comparison, provider selection, cost optimization, fallback patterns, and multi-model strategies" — matching the anchor for several specific actions with minor gaps; not a 5 because each is a single short phrase rather than multiple fully concrete actions.

4 / 5

Completeness

It has a clear "what" (ensures comparison, selection, optimization, fallback, ensemble) but the "when" is only weakly implied via "Automatically applies when choosing LLM models and providers" with no explicit trigger phrases; per the guideline a missing explicit 'Use when...' guidance caps completeness at 3.

3 / 5

Trigger Term Quality

Only the phrase "choosing LLM models and providers" acts as a natural trigger; it misses common synonyms and variations users would say (e.g. "pick a model", "which LLM", "model routing"), so it sits at the "some relevant keywords but missing common variations" anchor.

3 / 5

Distinctiveness Conflict Risk

It carves a clear niche in LLM model/provider management with mostly distinct triggers, with only minor overlap risk against general LLM-app skills; not a 5 because "LLM" framing could brush against broader llm-app skills.

4 / 5

Total

14

/

20

Passed

Validation

81%

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

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 1 missing

Warning

Total

13

/

16

Passed

Repository
majiayu000/claude-skill-registry
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.