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.

80

1.25x
Quality

62%

Does it follow best practices?

Impact

93%

1.25x

Average score across 6 eval scenarios

SecuritybySnyk

—

The risk profile of this skill

Fix and improve this skill with Tessl

tessl review fix ./skills/ai-llm/model-selection-majiayu000-claude-skill-registr/SKILL.md

The canonical home for this skill is model-selection in majiayu000/claude-skill-registry

SKILL.md
Quality
Evals
Security

Quality

Content

50%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 monolithic ~700-line skill dominated by inlined, mostly executable Python reference implementations. Actionability is its strength, but it is token-inefficient (generic boilerplate and stale-prone hardcoded pricing), lacks validation checkpoints in its workflow, and makes no use of progressive disclosure to move reference code out of context.

Suggestions

Move the ModelRegistry, ModelRouter, FallbackChain, CostOptimizer, and ModelEnsemble implementations into scripts/ or references/ files, keeping SKILL.md as a concise overview that links to them (fixes both conciseness and progressive_disclosure).

Strip boilerplate docstrings and generic class scaffolding Claude can already write; keep only the decision rules and patterns that add non-obvious guidance (e.g. routing rule design, fallback ordering, cost comparison heuristics).

Remove hardcoded model IDs and per-MTok pricing or isolate them in a clearly-marked data file with a staleness note, so time-sensitive figures don't silently rot in the main body.

Add validation checkpoints to the Auto-Apply workflow (e.g. verify fallback chain works before relying on it, confirm cost estimates against actual billing).

DimensionReasoningScore

Conciseness

The body inlines ~500 lines of generic Python class implementations (ModelRegistry, ModelRouter, FallbackChain, CostOptimizer, ModelEnsemble) with boilerplate docstrings ('Register a model.', 'Get model by ID.') that Claude can already produce unaided, plus hardcoded time-sensitive model IDs and pricing figures (e.g. 'claude-sonnet-4-20250514', '$3.00/MTok') that will go stale. This is noticeably verbose with several padded sections, matching anchor 2 rather than anchor 3's 'mostly efficient'.

2 / 5

Actionability

The guidance is concrete and mostly executable — complete class implementations with usage examples covering routing, fallback, and cost analysis. Minor gaps keep it below anchor 5: usage snippets reference undefined variables ('anthropic_client', 'openai_client', 'clients'), use top-level 'await', and FallbackChain uses 'Dict' without importing it in that code block.

4 / 5

Workflow Clarity

The 'Auto-Apply' section provides a 7-step sequence ('Register models...', 'Implement ModelRouter...', 'Set up FallbackChain...') so a sequence is present, but there are no validation checkpoints or feedback loops between steps — matching anchor 3's 'steps listed but validation gaps'. Not a destructive/batch skill, so the hard cap does not apply, and the fallback chain code itself embodies error recovery, keeping it above anchor 2.

3 / 5

Progressive Disclosure

Section headers provide some structure and navigation, but the full reference implementations (500+ lines) are inlined in SKILL.md with no bundle files at all (no references/, scripts/, or assets/ directories exist) — content that clearly belongs in separate files is inline, matching anchor 3. It rises above anchor 2 only because headers make the document navigable.

3 / 5

Total

12

/

20

Passed

Description

75%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 solid: it names a distinct niche, lists five capability areas, and includes an explicit auto-apply trigger clause. Its main weakness is the vague 'Ensures proper...' framing, which describes domains rather than concrete actions, and trigger coverage that misses common user phrasings.

DimensionReasoningScore

Specificity

The description names the domain ('choosing LLM models and providers') and lists five specific capability areas ('model comparison, provider selection, cost optimization, fallback patterns, and multi-model strategies'). The verbs are generic ('Ensures proper...'), keeping it below anchor 5, but coverage of several specific actions places it above anchor 3's '1-2 concrete actions'.

4 / 5

Completeness

It has an explicit trigger clause ('Automatically applies when choosing LLM models and providers') and a what-clause, satisfying anchor 4's 'both what and when'. It falls short of anchor 5 because the 'what' is vague ('Ensures proper...') rather than concrete actions, and the 'when' covers only one trigger scenario.

4 / 5

Trigger Term Quality

Phrases like 'choosing LLM models and providers', 'model comparison', and 'fallback' are terms users would naturally say when they need this skill. A few natural variations are missing ('which model should I use', 'cheaper model', 'model routing'), matching anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The LLM model-selection niche is clear with distinct triggers (model comparison, fallback, cost optimization), but the skill itself lists closely related skills ('llm-app-architecture', 'prompting-patterns', 'evaluation-metrics') with overlapping trigger territory, matching anchor 4's 'minor overlap risk with closely related skills'.

4 / 5

Total

16

/

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.

Validation — 13 / 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.