Azure Cosmos DB partition keys, consistency levels, change feed, SDK patterns
40
40%
Does it follow best practices?
Impact
—
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 trigger guidance. It fails to communicate what the skill actually does or when Claude should select it. While the domain-specific terms provide some natural keyword coverage, the lack of structure severely limits its effectiveness for skill selection.
Suggestions
Add concrete action verbs describing what the skill does, e.g., 'Designs partition key strategies, configures consistency levels, implements change feed processors, and writes Cosmos DB SDK code.'
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks about Azure Cosmos DB configuration, performance tuning, partition key design, or NoSQL data modeling in Azure.'
Include common keyword variations users might say, such as 'CosmosDB', 'NoSQL', 'request units', 'RU/s', 'throughput', and 'global distribution'.
| 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 answers neither 'what does this do' (no actions described) nor 'when should Claude use it' (no 'Use when...' clause or equivalent trigger guidance). It is merely a list of topics. | 1 / 3 |
Trigger Term Quality | It includes relevant domain-specific terms like 'Azure Cosmos DB', 'partition keys', 'consistency levels', 'change feed', and 'SDK patterns' that users might mention. However, it misses common variations like 'CosmosDB', 'NoSQL', 'RU', 'request units', 'throughput', or 'global distribution'. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'Azure Cosmos DB' provides some distinctiveness from general database skills, but the vague scope ('SDK patterns') could overlap with broader Azure or database skills. Without clear actions or triggers, conflict risk remains moderate. | 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 skill is highly actionable with excellent, executable code examples across TypeScript, Python, and CLI, covering a comprehensive range of Cosmos DB operations. However, it suffers from being a monolithic document that tries to cover too much in a single file — partition keys, two SDK languages, CRUD, batch ops, change feed, indexing, throughput, and CLI — without progressive disclosure or clear multi-step workflows with validation checkpoints.
Suggestions
Split content into separate files (e.g., SDK_TYPESCRIPT.md, SDK_PYTHON.md, INDEXING.md, CHANGE_FEED.md) and keep SKILL.md as a concise overview with references to each
Add explicit retry/error handling workflow for 429 throttling since it's listed as an anti-pattern but never demonstrated
Remove the Python SDK section from the main file entirely or move it to a separate reference — covering two languages doubles the content without proportional value
Add a validation workflow for partition key design decisions (e.g., check cardinality, estimate partition sizes, monitor hot partitions) rather than just listing good/bad examples
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is quite long (~400+ lines) and includes some content Claude would already know (e.g., the full API comparison table, basic CRUD patterns, the concept of consistency levels). The tables and anti-patterns section are efficient, but the dual TypeScript+Python SDK coverage and extensive CRUD examples add bulk that could be trimmed or split into separate files. | 2 / 3 |
Actionability | The skill provides fully executable, copy-paste ready code examples throughout — TypeScript and Python SDK setup, CRUD operations, batch operations, change feed processing, CLI commands, indexing policies, and throughput configuration. All examples use real SDK methods 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, the bulk import section lacks error handling/retry guidance for 429 throttling, and the change feed processor pattern is incomplete. The anti-patterns section mentions retry logic but doesn't show it. For operations like bulk imports (potentially destructive/batch), missing validation steps cap this at 2. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content with no references to supporting files. The TypeScript SDK, Python SDK, indexing, throughput management, CLI reference, and change feed sections could each be separate files referenced from a concise overview. With no bundle files and no external references, everything is crammed into one large document. | 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 | |
7e5f7a2
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.