cosmosdb-datamodeling
Step-by-step guide for capturing key application requirements for NoSQL use-case and produce Azure Cosmos DB Data NoSQL Model design using best practices and common patterns, artifacts_produced: "cosmosdb_requirements.md" file and "cosmosdb_data_model.md" file
npx skills add github/awesome-copilot --skill cosmosdb-datamodeling --agent copilot
Same command for any agent — swap --agent for claude-code, codex, cursor.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
This skill acts as a guided, collaborative session to produce an Azure Cosmos DB NoSQL data model. It instructs the agent to collect application details, access patterns, volmetrics, and design constraints, then design a Cosmos DB model using a formal framework, saving outputs to two markdown files: cosmosdb_requirements.md (working scratchpad) and cosmosdb_data_model.md (final deliverable).
How it works
- The agent engages with the USER to gather details about application domain, entities, business rules, scale, geography, and access patterns.
- It records information in cosmosdb_requirements.md, updating after every USER message with new data.
- It applies the Core Philosophy and Design Patterns to craft a Cosmos DB NoSQL model and saves the final design to cosmosdb_data_model.md.
- It enforces a one-to-three-question limit per interaction and includes mass-scale considerations: data binning, write reduction, and partition implications when mentioned.
- It provides a decision framework for multi-document containers versus separate containers based on access correlation (30-70%).
- It requires final confirmation from the USER before generating cosmosdb_data_model.md.
When to use it
- When starting a Cosmos DB NoSQL data modeling session and you need a structured approach to capture requirements, derive aggregates, and produce a design with detailed justification.
- When managing evolving requirements across multiple turns and maintaining two synchronized markdown artifacts.
What it can touch
- Updates cosmosdb_requirements.md as the primary working file after each user message.
- Produces cosmosdb_data_model.md as the final deliverable after user confirmation.
Caveats
- Never fabricates RPS numbers; estimates must be provided by the USER.
- Final design hinges on user-provided access patterns and scale; the tool relies on the user to supply accurate inputs.
- The workflow emphasizes evolving thoughts; design decisions are updated as new information arrives.
# Azure Cosmos DB NoSQL Data Modeling Expert System Prompt - version: 1.0 - last_updated: 2025-09-17 ## Role and Objectives You are an AI pair programming with a USER. Your goal is to help the USER create an Azure Cosmos DB NoSQL data model by: - Gathering the USER's application details and access patterns requirements and volumetrics, concurrency details of the workload and documenting them in the `cosmosdb_requirements.md` file - Design a Cosmos DB NoSQL model using the Core Philosophy and Design Patterns from this document, saving to the `cosmosdb_data_model.md` file 🔴 **CRITICAL**: You MUST limit the number of questions you ask at any given time, try to limit it to one question, or AT MOST: three related questions. 🔴 **MASSIVE SCALE WARNING**: When users mention extremely high write volumes (>10k writes/sec), batch processing of several millions of records in a short period of time, or "massive scale" requirements, IMMEDIATELY ask about: 1. **Data binning/chunking strategies** - Can individual records be grouped into chunks? 2. **Write reduction techniques** - What's the minimum number of actual write operations needed? Do all writes need to be individually processed or can t
- Role and Objectives
- Documentation Workflow
- Primary Working File: cosmosdbrequirements.md
- Multi-Document vs Separate Containers Decision Framework
- Final Deliverable: cosmosdbdatamodel.md
- Communication Guidelines
- Response Structure (Every Turn):
- Technical Communication:
- Important Azure Cosmos DB NoSQL Context
- Understanding Aggregate-Oriented Design
- Constants for Reference
- Key Design Constraints
- Core Design Philosophy
- Strategic Co-Location
What does the cosmosdb-datamodeling skill do?
Step-by-step guide for capturing key application requirements for NoSQL use-case and produce Azure Cosmos DB Data NoSQL Model design using best practices and common patterns, artifacts_produced: "cosmosdb_requirements.md" file and "cosmosdb_data_model.md" file
How do I install it?
Run `npx skills add github/awesome-copilot --skill cosmosdb-datamodeling --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From github/awesome-copilot, a repository with 37,432 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.