CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-search-documents-ts

Build search applications with vector, hybrid, and semantic search capabilities.

48

Quality

53%

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/azure-search-documents-ts/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

64%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This is a solid reference-style skill with good code examples covering the major Azure AI Search capabilities. Its main weaknesses are the lack of validation/error-handling steps (especially for batch and index operations) and the monolithic structure that could benefit from splitting into overview + detailed reference files. The content is mostly efficient but has a few unnecessary sections.

Suggestions

Add validation checkpoints after index creation (verify index exists) and after document upload (check result.results for errors/failed documents) to improve workflow reliability.

Split advanced topics (semantic search configuration, batch operations, autocomplete/suggestions) into a separate REFERENCE.md or ADVANCED.md file, keeping SKILL.md as a concise overview with the core workflow.

Remove the 'When to Use' section (adds no value) and the 'Key Types' section (Claude already knows how to import types), or replace Key Types with a brief note about the package's main entry points.

Add error handling for the batch operations section, including checking `result.results` for individual document failures and implementing retry logic.

DimensionReasoningScore

Conciseness

Generally efficient with code-forward examples and minimal prose. Minor over-explanation in the Best Practices section (e.g., 'Use `uploadDocuments` with arrays, not single docs' is somewhat obvious) and the 'When to Use' section is a meaningless tautology. The Key Types section is borderline unnecessary since Claude knows how imports work.

4 / 5

Actionability

Provides concrete, executable TypeScript code for all major search patterns (full-text, vector, hybrid, semantic, autocomplete). Minor gaps: the embedding function `getEmbedding` is referenced but never defined, and the batch operations example uses a non-standard format (`{ upload: {...} }`) that may not match the actual SDK API (`{ kind: 'upload', document: {...} }`).

4 / 5

Workflow Clarity

The sections follow a logical progression (install → auth → create index → index docs → search), but there are no validation checkpoints. Batch operations (upload, merge, delete) lack error handling or result verification. No feedback loop for checking if indexing succeeded or if the index was created properly before proceeding to search.

3 / 5

Progressive Disclosure

The content is well-sectioned with clear headers, but at ~200 lines it's a substantial amount of inline content with no references to external files. The semantic search section includes index creation code that partially duplicates the earlier index creation section. For a skill of this breadth, splitting advanced topics (semantic config, batch operations, autocomplete) into separate files would improve navigation.

3 / 5

Total

14

/

20

Passed

Description

41%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 identifies the search domain and lists three search paradigms but lacks specific actions (e.g., indexing, querying, embedding) and has no 'Use when...' clause to guide skill selection. It would benefit from more concrete trigger terms and explicit guidance on when Claude should select this skill over related ones.

Suggestions

Add a 'Use when...' clause with trigger terms like 'vector search', 'semantic search', 'embeddings', 'similarity search', 'RAG', 'retrieval'.

List specific actions such as 'create search indexes, generate embeddings, query vector databases, implement hybrid search pipelines'.

Include technology-specific terms users might mention (e.g., 'Pinecone', 'Elasticsearch', 'FAISS', 'ChromaDB') if applicable, to improve distinctiveness and trigger matching.

DimensionReasoningScore

Specificity

Names the domain (search applications) and lists a few concrete capabilities (vector, hybrid, semantic search), but doesn't describe specific actions like indexing, querying, embedding generation, or result ranking.

3 / 5

Completeness

Has a reasonable 'what' (build search applications with various search types) but completely lacks a 'when' clause. Per rubric guidelines, a missing 'Use when...' clause caps completeness at 3, and the 'what' is only moderately clear, placing this at 2.

2 / 5

Trigger Term Quality

Includes relevant keywords like 'vector', 'hybrid', 'semantic search', and 'search applications', but misses common user terms like 'embeddings', 'similarity search', 'full-text search', 'RAG', 'retrieval', or specific technology names users might mention.

3 / 5

Distinctiveness Conflict Risk

The mention of vector, hybrid, and semantic search narrows the domain somewhat, but 'build search applications' is broad enough to overlap with database skills, RAG skills, or general application building skills.

3 / 5

Total

11

/

20

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

Passed

Repository
administrakt0r/AI-Agents-Safe-Coding-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.