CtrlK
BlogDocsLog inGet started
Tessl Logo

embedding-strategies

Select and optimize embedding models for semantic search and RAG applications. Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains.

80

1.13x
Quality

70%

Does it follow best practices?

Impact

100%

1.13x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./tests/ext_conformance/artifacts/agents-wshobson/llm-application-dev/skills/embedding-strategies/SKILL.md

The canonical home for this skill is embedding-strategies in wshobson/agents

SKILL.md
Quality
Evals
Security

Quality

Content

57%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 highly actionable — dense with executable, domain-appropriate code — but it is a monolith: everything is inlined in one ~600-line file with time-sensitive model data and redundant templates, and the multi-step embedding pipeline lacks validation checkpoints. Splitting templates and the model table into reference files and adding an evaluate-then-adjust loop would lift the weakest dimensions.

Suggestions

Move the model comparison table (and its 2026 date stamp) and Templates 3-6 into one-level-deep reference files (e.g., references/models.md, references/chunking.md, references/evaluation.md), keeping SKILL.md as a lean overview with clearly signaled links.

Add a numbered end-to-end workflow (chunk → preprocess → embed → evaluate with Template 6's metrics → adjust chunk size/model and re-run) so batch embedding operations have an explicit validation checkpoint and feedback loop.

Trim redundancy: collapse get_reduced_embedding/get_embedding wrappers, merge the E5 prefix handling into LocalEmbedder's existing query-prefix branch, and make Template 5 self-contained by importing VoyageAIEmbeddings and chunk_by_tokens.

DimensionReasoningScore

Conciseness

Prose is lean and mostly code, but the body runs ~600 lines / ~20KB loaded into context on every invocation, with redundant templates (e.g., get_reduced_embedding re-wrapping get_embedding, E5Embedder duplicating LocalEmbedder's query-prefix logic) and time-sensitive version data ("Embedding Model Comparison (2026)" table with dated model names) inlined rather than isolated, which the guidelines explicitly penalize. It sits above anchor 2 (no heavy conceptual padding or explanations of things Claude already knows) but below anchor 4 because the whole could be tightened substantially.

3 / 5

Actionability

Six templates of largely executable, copy-paste-ready Python (Voyage, OpenAI with batching and Matryoshka reduction, sentence-transformers with BGE/E5 prefixes, chunkers, evaluation metrics) plus a comparison table give concrete guidance for the common cases. Minor gaps keep it below anchor 5: Template 5 uses VoyageAIEmbeddings without importing it, and Template 5 also calls chunk_by_tokens defined only in Template 4, so it is not self-contained.

4 / 5

Workflow Clarity

A pipeline overview diagram ("Document → Chunking → Preprocessing → Embedding Model → Vector") and a DomainEmbeddingPipeline class imply the sequence, but no numbered workflow with validation checkpoints exists, and embedding batches of documents proceed without any verify step (Template 6's evaluation code is never wired in as a checkpoint). Per the rubric's cap, batch operations without validation/feedback loops cannot score above 3; it is above anchor 2 because a rough, coherent sequence is present.

3 / 5

Progressive Disclosure

The skill is a single monolithic file with no references/, scripts/, or assets/ directories, so ~550 lines of template code that clearly belong in separate reference files are inlined in SKILL.md. Section headers (When to Use, Core Concepts, Templates, Best Practices, Resources) provide real structure — keeping it above anchor 2's 'minimal structure' — but there are no bundle references at all to signal or navigate, and the bulk content should be split, capping it at anchor 3 rather than 4.

3 / 5

Total

13

/

20

Passed

Description

83%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 description: third-person, concise, with a clear what-statement and an explicit 'Use when' clause carrying concrete trigger phrases. The main improvement opportunities are broader synonym coverage (vector search, vector database) and mentioning evaluation/comparison capabilities that the body actually delivers.

DimensionReasoningScore

Specificity

The description lists several concrete actions — "Select and optimize embedding models", "implementing chunking strategies", "optimizing embedding quality for specific domains" — grounded in a clear domain (semantic search, RAG). It falls short of anchor 5 because coverage has minor gaps (e.g., comparing/evaluating model performance and multilingual handling, which the body covers, are not mentioned), and it is above anchor 3 since more than 1-2 specific actions are named.

4 / 5

Completeness

It explicitly answers both: what ("Select and optimize embedding models for semantic search and RAG applications") and when ("Use when choosing embedding models, implementing chunking strategies, or optimizing embedding quality for specific domains") with three concrete trigger conditions. It matches the anchor-5 pattern of a clear what-clause followed by an explicit 'Use when...' list, and is clearly above anchor 4 where the 'when' is only loosely specified.

5 / 5

Trigger Term Quality

Natural trigger phrases are present: "embedding models", "semantic search", "RAG", "chunking strategies", "embedding quality" — terms users would plausibly say. A few common variations are missing (e.g., "vector search", "vector database", "text embeddings"), which keeps it below anchor 5's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

The embedding-model-selection niche with triggers like "chunking strategies" and "embedding quality" is mostly distinct from other skills. Minor overlap risk remains with closely related skills a suite might also contain (e.g., a generic RAG-pipeline or vector-database skill), so it does not reach anchor 5's minimal-conflict bar, but it is well above the broad anchor-3 territory.

4 / 5

Total

17

/

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.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

Total

15

/

16

Passed

Repository
Dicklesworthstone/pi_agent_rust
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.