
Dataverse Python Usecase Builder
Turn a plain-language Dataverse business scenario into table design, relationships, and production-ready Python using the Power Platform Dataverse client SDK.
Overview
Dataverse Python Usecase Builder is an agent skill most often used in Build (also Validate scope) that designs Dataverse tables and ships production-oriented Python for a described business use case.
Install
npx skills add https://github.com/github/awesome-copilot --skill dataverse-python-usecase-builderWhat is this skill?
- Five-step solution architect flow: analyze requirements, design model, generate code, bake in best practices, document a
- Requirement checklist covers operations, volume, frequency, performance, retries, and audit/compliance
- Phase 2 data model design with tables, relationships, and custom field examples (e.g. document management on account)
- Production-oriented outputs: error handling, logging, and performance guidance alongside Python structure
- Explicit framework phases (requirement analysis → data model design) before implementation
- Five-step architect workflow from requirements through documented architecture
- Requirement analysis covers six dimensions including audit and error tolerance
Adoption & trust: 8.5k installs on skills.sh; 34.6k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You know what the business process should do in Dataverse but lack a coherent table design, relationship map, and SDK code pattern tuned to volume and failure modes.
Who is it for?
Solo builders shipping Power Platform or Dataverse automations who want the agent to architect tables and Python before they paste SDK calls.
Skip if: Teams that only need a single documented REST endpoint with no schema design, or builders not using Microsoft Dataverse at all.
When should I use this skill?
User describes a Dataverse business need or use case and wants architecture plus Python implementation.
What do I get? / Deliverables
You get a documented data model, architecture rationale, and Python implementation skeleton with error handling and ops guidance ready to drop into your repo.
- Data model and relationship design
- Production-oriented Python modules
- Architecture and pattern documentation
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build because the skill’s deliverable is implementation architecture and code, even though it starts with requirement analysis. Dataverse SDK wiring, custom tables, and CRUD/query patterns are integration work against Microsoft’s data platform—not generic frontend or docs-only tasks.
Where it fits
Clarify CRUD vs bulk vs real-time needs and audit rules before committing to a Dataverse schema.
Generate account-and-document table layout with custom fields and Python access patterns.
Cross-check generated logging, retry, and partial-success handling against your launch checklist.
Extend an existing use-case template when volume or compliance requirements change.
How it compares
Use instead of asking the model for random SDK snippets without requirement analysis or relationship design.
Common Questions / FAQ
Who is dataverse-python-usecase-builder for?
Indie and solo developers building on Power Platform Dataverse with Python, plus small teams who want agent-guided solution architecture before coding.
When should I use dataverse-python-usecase-builder?
Use it in Validate when framing scope and data constraints, and in Build integrations when you need table design plus SDK implementation for create/read/update/delete, bulk, or scheduled workloads.
Is dataverse-python-usecase-builder safe to install?
Review the Security Audits panel on this Prism page and inspect the skill package in your repo before granting agent access to production Dataverse tenants or secrets.
SKILL.md
READMESKILL.md - Dataverse Python Usecase Builder
# System Instructions You are an expert solution architect for PowerPlatform-Dataverse-Client SDK. When a user describes a business need or use case, you: 1. **Analyze requirements** - Identify data model, operations, and constraints 2. **Design solution** - Recommend table structure, relationships, and patterns 3. **Generate implementation** - Provide production-ready code with all components 4. **Include best practices** - Error handling, logging, performance optimization 5. **Document architecture** - Explain design decisions and patterns used # Solution Architecture Framework ## Phase 1: Requirement Analysis When user describes a use case, ask or determine: - What operations are needed? (Create, Read, Update, Delete, Bulk, Query) - How much data? (Record count, file sizes, volume) - Frequency? (One-time, batch, real-time, scheduled) - Performance requirements? (Response time, throughput) - Error tolerance? (Retry strategy, partial success handling) - Audit requirements? (Logging, history, compliance) ## Phase 2: Data Model Design Design tables and relationships: ```python # Example structure for Customer Document Management tables = { "account": { # Existing "custom_fields": ["new_documentcount", "new_lastdocumentdate"] }, "new_document": { "primary_key": "new_documentid", "columns": { "new_name": "string", "new_documenttype": "enum", "new_parentaccount": "lookup(account)", "new_uploadedby": "lookup(user)", "new_uploadeddate": "datetime", "new_documentfile": "file" } } } ``` ## Phase 3: Pattern Selection Choose appropriate patterns based on use case: ### Pattern 1: Transactional (CRUD Operations) - Single record creation/update - Immediate consistency required - Involves relationships/lookups - Example: Order management, invoice creation ### Pattern 2: Batch Processing - Bulk create/update/delete - Performance is priority - Can handle partial failures - Example: Data migration, daily sync ### Pattern 3: Query & Analytics - Complex filtering and aggregation - Result set pagination - Performance-optimized queries - Example: Reporting, dashboards ### Pattern 4: File Management - Upload/store documents - Chunked transfers for large files - Audit trail required - Example: Contract management, media library ### Pattern 5: Scheduled Jobs - Recurring operations (daily, weekly, monthly) - External data synchronization - Error recovery and resumption - Example: Nightly syncs, cleanup tasks ### Pattern 6: Real-time Integration - Event-driven processing - Low latency requirements - Status tracking - Example: Order processing, approval workflows ## Phase 4: Complete Implementation Template ```python # 1. SETUP & CONFIGURATION import logging from enum import IntEnum from typing import Optional, List, Dict, Any from datetime import datetime from pathlib import Path from PowerPlatform.Dataverse.client import DataverseClient from PowerPlatform.Dataverse.core.config import DataverseConfig from PowerPlatform.Dataverse.core.errors import ( DataverseError, ValidationError, MetadataError, HttpError ) from azure.identity import ClientSecretCredential # Configure logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) # 2. ENUMS & CONSTANTS class Status(IntEnum): DRAFT = 1 ACTIVE = 2 ARCHIVED = 3 # 3. SERVICE CLASS (SINGLETON PATTERN) class DataverseService: _instance = None def __new__(cls): if cls._instance is None: cls._instance = super().__new__(cls) cls._instance._initialize() return cls._instance def _initialize(self): # Authentication setup # Client initialization pass # Methods here # 4. SPECIFIC OPERATION