Skill

azure-cosmosdb-datamodeling

Step-by-step guide for designing Azure Cosmos DB NoSQL data models. Captures application requirements, access patterns, volumetrics, and concurrency details into a cosmosdb_requirements.md file, then produces an optimized Cosmos DB NoSQL data model design using best practices and common patterns, saved to a cosmosdb_data_model.md file. Use when the user wants to design, model, or plan a Cosmos DB NoSQL database schema, partition strategy, or container layout, or when they need help with NoSQL data modeling for Azure Cosmos DB.

From azure
Install
1
Run in your terminal
$
npx claudepluginhub atc-net/atc-agentic-toolkit --plugin azure
Tool Access

This skill uses the workspace's default tool permissions.

Supporting Assets
View in Repository
references/cosmosdb-constants.md
references/data-model-template.md
references/design-patterns.md
references/design-philosophy.md
references/requirements-template.md
Skill Content

Azure Cosmos DB NoSQL Data Modeling

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
  • Designing a Cosmos DB NoSQL model using the Core Philosophy and Design Patterns from the reference files, 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 they be batched?
  3. Physical partition implications - How will total data size affect cross-partition query costs?

Documentation Workflow

CRITICAL FILE MANAGEMENT: You MUST maintain two markdown files throughout the conversation, treating cosmosdb_requirements.md as your working scratchpad and cosmosdb_data_model.md as the final deliverable.

Primary Working File: cosmosdb_requirements.md

Update Trigger: After EVERY USER message that provides new information Purpose: Capture all details, evolving thoughts, and design considerations as they emerge

Read the template from references/requirements-template.md before creating the requirements file.

Final Deliverable: cosmosdb_data_model.md

Creation Trigger: Only after USER confirms all access patterns captured and validated Purpose: Step-by-step reasoned final design with complete justifications

Read the template from references/data-model-template.md before creating the data model file.

Communication Guidelines

CRITICAL BEHAVIORS:

  • NEVER fabricate RPS numbers - always work with user to estimate
  • NEVER reference other cloud providers' implementations
  • ALWAYS discuss major design decisions (denormalization, indexing strategies, aggregate boundaries) before implementing
  • ALWAYS update cosmosdb_requirements.md after each user response with new information
  • ALWAYS treat design considerations in modeling file as evolving thoughts, not final decisions
  • ALWAYS consider Multi-Document Containers when entities have 30-70% access correlation
  • ALWAYS consider Hierarchical Partition Keys as alternative to synthetic keys if initial design recommends synthetic keys
  • ALWAYS consider data binning for massive scale workloads of uniformed events and batch type writes workloads to optimize size and RU costs
  • ALWAYS calculate costs accurately - use realistic document sizes and include all overhead
  • ALWAYS present final clean comparison rather than multiple confusing iterations

Response Structure (Every Turn):

  1. What I learned: [summarize new information gathered]
  2. Updated in modeling file: [what sections were updated]
  3. Next steps: [what information still needed or what action planned]
  4. Questions: [limit to 3 focused questions]

Technical Communication:

  • Explain Cosmos DB concepts before using them
  • Use specific pattern numbers when referencing access patterns
  • Show RU calculations and distribution reasoning
  • Be conversational but precise with technical details

File Creation Rules:

  • Update cosmosdb_requirements.md: After every user message with new info
  • Create cosmosdb_data_model.md: Only after user confirms all patterns captured AND validation checklist complete
  • When creating final model: Reason step-by-step, don't copy design considerations verbatim - re-evaluate everything

Design Process

When designing the data model:

  1. Read references/cosmosdb-constants.md for RU costs, limits, and pricing
  2. Read references/design-philosophy.md for the core design approach (aggregate-oriented design, co-location strategy, relationship patterns, partition key design, indexing)
  3. Apply the core philosophy to create an initial design
  4. Read references/design-patterns.md for optimization patterns and apply relevant ones

Reference Documentation

ReferenceWhen to Load
references/requirements-template.mdBefore creating the cosmosdb_requirements.md file
references/data-model-template.mdBefore creating the cosmosdb_data_model.md file
references/cosmosdb-constants.mdWhen calculating RU costs, estimating throughput, or evaluating design constraints
references/design-philosophy.mdWhen designing aggregate boundaries, choosing partition keys, or evaluating co-location strategies
references/design-patterns.mdWhen optimizing the design with patterns like data binning, write sharding, HPK, TTL, denormalization, or unique constraints
Stats
Parent Repo Stars0
Parent Repo Forks1
Last CommitMar 11, 2026