CtrlK
BlogDocsLog inGet started
Tessl Logo

azure-search-documents-py

Azure AI Search SDK for Python. Use for vector search, hybrid search, semantic ranking, indexing, and skillsets.

54

Quality

62%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/azure-search-documents-py/SKILL.md

The canonical home for this skill is azure-search-documents-py in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

46%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 provides comprehensive, executable code examples covering Azure AI Search's major features, which is its primary strength. However, it is significantly undermined by having two near-duplicate versions of the same content concatenated together, roughly doubling its length without adding proportional value. It also lacks validation checkpoints for batch/destructive operations and references bundle files that don't exist.

Suggestions

Remove the duplicated 'Additional Azure AI Search Patterns' section entirely and merge any unique content (e.g., agentic retrieval, async pattern, SearchIndexingBufferedSender, error handling) into the first section.

Add validation checkpoints after key operations: verify index exists after creation (`index_client.get_index(name)`), check document count after upload (`search_client.get_document_count()`), and check indexer status after running (`indexer_client.get_indexer_status(name)`).

Move the field types reference table and detailed indexer/skillset examples into the referenced files (references/*.md) and provide those bundle files, keeping SKILL.md as a concise overview with pointers.

Remove explanations Claude already knows, such as the 'When to Use' section and basic descriptions like 'Full-text and vector search with AI enrichment capabilities' repeated in multiple places.

DimensionReasoningScore

Conciseness

The content is severely bloated by having two nearly complete versions of the same skill concatenated together (the 'Additional Azure AI Search Patterns' section repeats installation, authentication, client types, index creation, search patterns, and best practices). The field types reference table and explanations of basic concepts like EDM types also add unnecessary bulk.

2 / 5

Actionability

The code examples are concrete, executable, and cover the major use cases (index creation, document upload, keyword/vector/hybrid search, semantic ranking, filters, facets, indexers with skillsets, error handling, async). Minor gaps include the placeholder `get_embedding()` function and `[0.1, 0.2, ...]` vector, but these are reasonable abstractions.

4 / 5

Workflow Clarity

Individual operations are clearly shown but there's no explicit end-to-end workflow with validation checkpoints. For batch document uploads and index creation (which can be destructive/batch operations), there are no verification steps like checking indexer status, validating document counts after upload, or confirming index schema correctness. The missing validation caps this at 3.

3 / 5

Progressive Disclosure

The skill references files like 'references/vector-search.md', 'references/semantic-ranking.md', 'references/agentic-retrieval.md', and 'scripts/setup_vector_index.py' but none are provided in the bundle. The content that should be in those reference files is largely inlined (and duplicated) in the main SKILL.md, creating a monolithic and redundant document rather than a well-structured overview with clear navigation.

2 / 5

Total

11

/

20

Passed

Description

78%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.

This is a solid, concise description that clearly identifies the technology domain (Azure AI Search SDK for Python) and lists specific capabilities. Its main weakness is that the 'when' clause could be more explicit with natural user trigger phrases and synonyms (e.g., 'cognitive search', 'Azure search'). Overall it performs well for skill selection purposes.

Suggestions

Add common synonyms and alternative terms users might use, such as 'cognitive search', 'Azure search', 'search index', or 'RAG pipeline'.

Expand the 'Use for...' clause into a more explicit 'Use when...' with user-facing trigger scenarios, e.g., 'Use when the user asks about querying Azure search indexes, building search pipelines, or implementing vector/hybrid search with Python'.

DimensionReasoningScore

Specificity

Lists several specific actions: vector search, hybrid search, semantic ranking, indexing, and skillsets. These are concrete capabilities, though it could elaborate slightly more on what each entails (e.g., 'create/manage indexes', 'configure skillsets').

4 / 5

Completeness

Has a clear 'what' (Azure AI Search SDK for Python) and a 'when' clause ('Use for vector search, hybrid search, semantic ranking, indexing, and skillsets'). The 'when' is present but could be more explicit with trigger phrases like 'Use when the user needs to query an Azure search index or configure search pipelines'.

4 / 5

Trigger Term Quality

Includes strong domain-specific keywords like 'Azure AI Search', 'vector search', 'hybrid search', 'semantic ranking', 'indexing', 'skillsets', and 'SDK for Python'. Missing some natural user phrases like 'cognitive search', 'search index', 'Azure search', or 'RAG' that users might commonly say.

4 / 5

Distinctiveness Conflict Risk

Highly distinctive — 'Azure AI Search SDK for Python' is a very specific technology niche. The combination of Azure-specific terminology with Python SDK context makes it clearly distinguishable from other search or Azure skills.

5 / 5

Total

17

/

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.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

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.