Azure Cosmos DB partition keys, consistency levels, change feed, SDK patterns
50
40%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/azure-cosmosdb/SKILL.mdQuality
Discovery
22%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 description is essentially a comma-separated list of Cosmos DB topics with no verbs, no actions, and no 'Use when...' clause. It fails to communicate what the skill actually does or when it should be selected. While the domain-specific terms provide some distinctiveness, the lack of structure severely limits its usefulness for skill selection.
Suggestions
Rewrite using action verbs in third person, e.g., 'Designs partition key strategies, configures consistency levels, implements change feed processors, and applies Cosmos DB SDK best practices.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Azure Cosmos DB configuration, partition key design, consistency models, change feed implementation, or NoSQL database patterns on Azure.'
Include common user-facing synonyms and variations such as 'CosmosDB', 'NoSQL', 'request units', 'RU/s', 'throughput', and 'Azure database' to improve trigger term coverage.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description lists topic areas (partition keys, consistency levels, change feed, SDK patterns) but does not describe any concrete actions. There are no verbs indicating what the skill does—it reads like a keyword list rather than a capability description. | 1 / 3 |
Completeness | The description does not answer 'what does this do' with any actions, nor does it include a 'when should Claude use it' clause. It is purely a list of topics with no explicit trigger guidance. | 1 / 3 |
Trigger Term Quality | It includes relevant technical terms a user might mention ('Cosmos DB', 'partition keys', 'consistency levels', 'change feed', 'SDK patterns'), but misses common variations like 'CosmosDB', 'Azure database', 'NoSQL', 'RU', 'request units', or 'throughput'. The terms are fairly technical and narrow. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Azure Cosmos DB' provides some specificity that distinguishes it from generic database skills, but without clear actions or triggers, it could overlap with broader Azure or database skills. | 2 / 3 |
Total | 6 / 12 Passed |
Implementation
57%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a comprehensive Cosmos DB reference with excellent actionability—every concept is backed by executable code in both TypeScript and Python. However, it suffers from being overly long and monolithic, trying to cover too many topics (two SDKs, CLI, indexing, throughput, cost optimization) in a single file without progressive disclosure. Workflow clarity is adequate for individual operations but lacks explicit multi-step validation patterns for complex scenarios like bulk imports or container setup.
Suggestions
Split content into separate files: keep SKILL.md as an overview with partition key design and core patterns, then reference separate files for Python SDK (PYTHON.md), CLI commands (CLI.md), indexing (INDEXING.md), and cost optimization (COST.md).
Add explicit multi-step workflows with validation checkpoints for common scenarios like 'setting up a new container with proper indexing' or 'bulk data migration with error recovery'.
Remove the Python SDK section from the main file or reduce it to a brief note referencing a separate file—it largely duplicates the TypeScript patterns and doubles the token cost.
Trim the concept/API tables that explain things Claude already knows (e.g., what each Cosmos DB API is) and focus tokens on the non-obvious guidance like partition key design and anti-patterns.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is quite long (~400+ lines) and includes some content Claude already knows (e.g., the full API comparison table, basic CRUD patterns). The concept tables and anti-patterns list are useful but the Python SDK section largely duplicates the TypeScript section, adding significant token cost. Some trimming would improve efficiency. | 2 / 3 |
Actionability | The skill provides fully executable TypeScript and Python code examples for every operation—client setup, CRUD, batch operations, change feed, indexing policies, CLI commands, and TTL configuration. All code is copy-paste ready with proper imports and error handling. | 3 / 3 |
Workflow Clarity | While individual operations are clearly documented, there's no explicit multi-step workflow with validation checkpoints. For example, container creation + indexing + data migration has no sequenced workflow. The batch operations section checks for failures but doesn't provide a retry/recovery loop. For operations like bulk imports, missing validation/feedback loops cap this at 2. | 2 / 3 |
Progressive Disclosure | The entire skill is a monolithic document with no references to external files for detailed content. The Python SDK section, detailed indexing policies, CLI reference, and cost optimization could all be split into separate referenced files. Everything is inline, making this a wall of text despite good section headers. | 1 / 3 |
Total | 8 / 12 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 — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (714 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 | |
d4ddb03
Table of Contents
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.