Thank you for your interest in contributing! This project is a collection of skills for AI coding agents working with Azure Cosmos DB.
Add new best practice rules to the existing cosmosdb-best-practices skill:
- Create a new rule file in
skills/cosmosdb-best-practices/rules/ - Follow the naming convention:
{prefix}-{description}.md- Use an existing prefix that matches the category (e.g.,
query-,model-,sdk-)
- Use an existing prefix that matches the category (e.g.,
- Use the template at
skills/cosmosdb-best-practices/rules/_template.md - Include valid frontmatter with
title,impact, andtags - Run
npm run buildto compile rules into AGENTS.md - Add an evaluation task (see Writing Tests below)
Example rule file name: query-use-top-clause.md
- Review and enhance rule content for clarity or accuracy
- Add missing examples or edge cases
- Update rules as Azure Cosmos DB evolves
- Fix typos or grammatical errors
The kit is designed to host multiple focused skills. Each skill is self-contained in its own directory. To create a new skill:
- Create a new directory under
skills/(kebab-case name) - Add the required files:
skills/
{skill-name}/ # kebab-case directory name
SKILL.md # Required: skill definition (frontmatter + content)
AGENTS.md # Generated by `npm run build`
metadata.json # Required: version, organization, abstract, references
README.md # Required: documentation for the skill
rules/ # Required for rule-based skills
_sections.md # Section metadata (defines prefixes and ordering)
_template.md # Template for new rules in this skill
{prefix}-{name}.md # Individual rule files
- Define sections in
rules/_sections.mdwith frontmatter:
---
sections:
- { prefix: 'sizing-', name: 'Data Sizing', number: 1, impact: 'CRITICAL' }
- { prefix: 'ru-', name: 'RU Calculation', number: 2, impact: 'HIGH' }
---- Build and validate:
# Build just your skill
npm run build:skill {skill-name}
# Or build all skills
npm run build
# Validate
npm run validate:skill {skill-name}- Create a matching eval directory at
evals/{skill-name}/(see Writing Tests)
- Open GitHub issues for bugs, inaccuracies, or missing best practices
- Suggest new rule categories or skill ideas
- Share feedback on rule effectiveness
- Test skills with different AI agents (Claude Code, GitHub Copilot, Gemini CLI, Cursor)
- Report compatibility issues or unexpected behavior
# Clone the repo
git clone https://github.com/AzureCosmosDB/cosmosdb-agent-kit.git
cd cosmosdb-agent-kit
# Install dependencies
npm install
# Make changes to rules, then build
npm run build
# Validate your changes
npm run validateThe repo includes a Waza eval framework under evals/. Eval tasks are not currently enforced in CI (the mock executor cannot validate response content), but you're encouraged to add them alongside new rules for future use.
Create a YAML file in evals/cosmosdb-best-practices/tasks/:
id: your-rule-name
name: "Short descriptive name"
description: |
What this test validates — should map to a specific rule or behavior.
inputs:
prompt: "A realistic user prompt that should trigger your rule's guidance"
expected:
outcomes:
- type: task_completed# Run all eval tasks (mock executor — no API key needed)
waza run evals/cosmosdb-best-practices/eval.yaml -v
# Run a single task by name
waza run evals/cosmosdb-best-practices/eval.yaml --task "Your Task Name"
# Check skill readiness
waza check skills/cosmosdb-best-practicesEach rule file should follow this structure:
---
title: Short descriptive title
impact: Critical | High | Medium | Low
tags:
- relevant-tag
- another-tag
---
## Description
Explain what this rule addresses and why it matters.
## Recommendation
Clear, actionable guidance.
## Example
Show code or configuration examples when applicable.
## References
- Link to official documentation- One rule per PR for new rules (makes review easier)
- Run validation before submitting:
npm run validate - Run build to regenerate AGENTS.md:
npm run build - Write clear commit messages describing the change
- Link related issues in the PR description
- (Optional) Add an eval task in
evals/for your rule
Your PR must pass these checks before merge:
-
npm run validatepasses -
npm run buildregenerates AGENTS.md without errors - One approving review from a code owner
- Be respectful and inclusive
- Provide constructive feedback
- Focus on the content, not the contributor
Open an issue with the question label if you need help getting started.
By contributing, you agree that your contributions will be licensed under the MIT License.