acquire-codebase-knowlβ¦
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts likeβ¦
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
Claude Code
$ npx -y skills add github/awesome-copilot --skill cosmosdb-datamodeling --agent claude-code
Codex
$ npx skills add github/awesome-copilot --skill cosmosdb-datamodeling -a codex -y
Cursor
$ npx skills add github/awesome-copilot --skill cosmosdb-datamodeling -a cursor -y
Gemini CLI
$ npx skills add github/awesome-copilot --skill cosmosdb-datamodeling -a gemini-cli -y
GitHub Copilot
$ npx skills add github/awesome-copilot --skill cosmosdb-datamodeling -a github-copilot -y
OpenCode
$ npx skills add github/awesome-copilot --skill cosmosdb-datamodeling -a opencode -y
Windsurf
$ npx skills add github/awesome-copilot --skill cosmosdb-datamodeling -a windsurf -y
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.
Use this skill when the user explicitly asks to map, document, or onboard into an existing codebase. Trigger for prompts likeβ¦
Run the AgentRC readiness assessment on the current repository and produce a static HTML dashboard at reports/index.html. Wrapsβ¦
Generate tailored AI agent instruction files via AgentRC instructions command. Produces .github/copilot-instructions.md (default,β¦
Help the user pick, write, or apply an AgentRC policy. Policies customise readiness scoring by disabling irrelevant checks,β¦
Use this skill when the user shares ad campaign performance data and asks what to cut, scale, or test. Trigger for prompts likeβ¦
Add educational comments to the file specified, or prompt asking for file to comment if one is not provided.
Behavioral guidelines to reduce common LLM coding mistakes. Use when writing, reviewing, or refactoring code to avoidβ¦
Design and build AI agents for any domain. Use when users: (1) ask to "create an agent", "build an assistant", or "design an AIβ¦