acquire-codebase-knowl…
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document…
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 -y skills add github/awesome-copilot --skill cosmosdb-datamodeling --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cosmosdb-datamodelingContext preview
The summary Claude sees to decide when to auto-load this skill.
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
name: cosmosdb-datamodeling description: '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'
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:
🔴 **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?
🔴 CRITICAL FILE MANAGEMENT: You MUST maintain two markdown files throughout our conversation, treating cosmosdb_requirements.md as your working scratchpad and cosmosdb_data_model.md as the final deliverable.
Update Trigger: After EVERY USER message that provides new information Purpose: Capture all details, evolving thoughts, and design considerations as they emerge
📋 Template for cosmosdb_requirements.md:
# Azure Cosmos DB NoSQL Modeling Session ## Application Overview - **Domain**: [e.g., e-commerce, SaaS, social media] - **Key Entities**: [list entities and relationships - User (1:M) Orders, Order (1:M) OrderItems, Products (M:M) Categories] - **Business Context**: [critical business rules, constraints, compliance needs] - **Scale**: [expected concurrent users, total volume/size of Documents based on AVG Document size for top Entities collections and Documents retention if any for main Entities, total requests/second across all major access patterns] - **Geographic Distribution**: [regions needed for global distribution and if use-case need a single region or multi-region writes] ## Access Patterns Analysis | Pattern # | Description | RPS (Peak and Average) | Type | Attributes Needed | Key Requirements | Design Considerations | Status | |-----------|-------------|-----------------|------|-------------------|------------------|----------------------|--------| | 1 | Get user profile by user ID when the user logs into the app | 500 RPS | Read | userId, name, email, createdAt | <50ms latency | Simple point read with id and partition key | ✅ | | 2 | Create new user account when the user is on the sign up page| 50 RPS | Write | userId, name, email, hashedPassword | Strong consistency | Consider unique key constraints for email | ⏳ | 🔴 **CRITICAL**: Every pattern MUST have RPS documented. If USER doesn't know, help estimate based on business context. ## Entity Relationships Deep Dive - **User → Orders**: 1:Many (avg 5 orders per user, max 1000) - **Order → OrderItems**: 1:Many (avg 3 items per order, max 50) - **Product → OrderItems**: 1:Many (popular products in many orders) - **Products and Categories**: Many:Many (products exist in multiple categories, and categories have many products) ## Enhanced Aggregate Analysis For each potential aggregate, analyze: ### [Entity1 + Entity2] Container Item Analysis - **Access Correlation**: [X]% of queries need both entities together - **Query Patterns**: - Entity1 only: [X]% of queries - Entity2 only: [X]% of queries - Both together: [X]% of queries - **Size Constraints**: Combined max size [X]MB, growth pattern - **Update Patterns**: [Independent/Related] update frequencies - **Decision**: [Single Document/Multi-Document Container/Separate Containers] - **Justification**: [Reasoning based on access correlation and constraints] ### Identifying Relationship Check For each parent-child relationship, verify: - **Child Independence**: Can child entity exist without parent? - **Access Pattern**: Do you always have parent_id when querying children? - **Current Design**: Are you planning cross-partition queries for parent→child queries? If answers are No/Yes/Yes → Use identifying relationship (partition key=parent_id) instead of separate container with cross-partition queries. Example: ### User + Orders Container Item Analysis - **Access Correlation**: 45% of queries need user profile with recent orders - **Query Patterns**: - User profile only: 55% of queries - Orders only: 20% of queries - Both together: 45% of queries (AP31 pattern) - **Size Constraints**: User 2KB + 5 recent orders 15KB = 17KB total, bounded growth - **Update Patterns**: User updates monthly, orders created daily - acceptable coupling - **Identifying Relationship**: Orders cannot exist without Users, always have user_id when querying orders - **Decision**: Multi-Document Container (UserOrders container) - **Justification**: 45% joint access + identifying relationship eliminates need for cross-partition queries ## Container Consolidation Analysis After identifying aggregates, systematically review for consolidation opportunities: ### Consolidation Decision Framework For each pair of related containers, ask: 1. **Natural Parent-Child**: Does one entity always bel
A community-created collection of custom agents, instructions, skills, hooks, workflows, and plugins to supercharge your GitHub Copilot experience.
Repo: github/awesome-copilot
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts like "map this codebase", "document…
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wraps `npx github:microsoft/agentrc…
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default, recommended for Copilot in VS…
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks, overriding impact/level, setting…
Use this skill when the user shares ad campaign performance data and asks what to cut, scale, or test. Trigger for prompts like "analyze my ad campaigns",…
Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.