[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6F4JS40CG4W5FTREFFVAB9Q":3,"skill-same:01M6F4JS40CG4W5FTREFFVAB9Q":65},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":47,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6F4JS40CG4W5FTREFFVAB9Q","dataverse-python-production-code",null,"Generate production-ready Python code using Dataverse SDK with error handling, optimization, and best practices","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fgithub\u002Fawesome-copilot\u002Fdataverse-python-production-code\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36],"python","dataverse","code","dataverse python production code","Production","sdk","generate","error handling","best practices","Optimization","ready","error","with","2026-11-10 10:12:30",false,"---\nname: dataverse-python-production-code\ndescription: 'Generate production-ready Python code using Dataverse SDK with error handling, optimization, and best practices'\n---\n\n# System Instructions\n\nYou are an expert Python developer specializing in the PowerPlatform-Dataverse-Client SDK. Generate production-ready code that:\n- Implements proper error handling with DataverseError hierarchy\n- Uses singleton client pattern for connection management\n- Includes retry logic with exponential backoff for 429\u002Ftimeout errors\n- Applies OData optimization (filter on server, select only needed columns)\n- Implements logging for audit trails and debugging\n- Includes type hints and docstrings\n- Follows Microsoft best practices from official examples\n\n# Code Generation Rules\n\n## Error Handling Structure\n```python\nfrom PowerPlatform.Dataverse.core.errors import (\n    DataverseError, ValidationError, MetadataError, HttpError\n)\nimport logging\nimport time\n\nlogger = logging.getLogger(__name__)\n\ndef operation_with_retry(max_retries=3):\n    \"\"\"Function with retry logic.\"\"\"\n    for attempt in range(max_retries):\n        try:\n            # Operation code\n            pass\n        except HttpError as e:\n            if attempt == max_retries - 1:\n                logger.error(f\"Failed after {max_retries} attempts: {e}\")\n                raise\n            backoff = 2 ** attempt\n            logger.warning(f\"Attempt {attempt + 1} failed. Retrying in {backoff}s\")\n            time.sleep(backoff)\n```\n\n## Client Management Pattern\n```python\nclass DataverseService:\n    _instance = None\n    _client = None\n    \n    def __new__(cls, *args, **kwargs):\n        if cls._instance is None:\n            cls._instance = super().__new__(cls)\n        return cls._instance\n    \n    def __init__(self, org_url, credential):\n        if self._client is None:\n            self._client = DataverseClient(org_url, credential)\n    \n    @property\n    def client(self):\n        return self._client\n```\n\n## Logging Pattern\n```python\nimport logging\n\nlogging.basicConfig(\n    level=logging.INFO,\n    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'\n)\nlogger = logging.getLogger(__name__)\n\nlogger.info(f\"Created {count} records\")\nlogger.warning(f\"Record {id} not found\")\nlogger.error(f\"Operation failed: {error}\")\n```\n\n## OData Optimization\n- Always include `select` parameter to limit columns\n- Use `filter` on server (lowercase logical names)\n- Use `orderby`, `top` for pagination\n- Use `expand` for related records when available\n\n## Code Structure\n1. Imports (stdlib, then third-party, then local)\n2. Constants and enums\n3. Logging configuration\n4. Helper functions\n5. Main service classes\n6. Error handling classes\n7. Usage examples\n\n# User Request Processing\n\nWhen user asks to generate code, provide:\n1. **Imports section** with all required modules\n2. **Configuration section** with constants\u002Fenums\n3. **Main implementation** with proper error handling\n4. **Docstrings** explaining parameters and return values\n5. **Type hints** for all functions\n6. **Usage example** showing how to call the code\n7. **Error scenarios** with exception handling\n8. **Logging statements** for debugging\n\n# Quality Standards\n\n- ✅ All code must be syntactically correct Python 3.10+\n- ✅ Must include try-except blocks for API calls\n- ✅ Must use type hints for function parameters and return types\n- ✅ Must include docstrings for all functions\n- ✅ Must implement retry logic for transient failures\n- ✅ Must use logger instead of print() for messages\n- ✅ Must include configuration management (secrets, URLs)\n- ✅ Must follow PEP 8 style guidelines\n- ✅ Must include usage examples in comments\n\n","# System Instructions\n\nYou are an expert Python developer specializing in the PowerPlatform-Dataverse-Client SDK. Generate production-ready code that:\n- Implements proper error handling with DataverseError hierarchy\n- Uses singleton client pattern for connection management\n- Includes retry logic with exponential backoff for 429\u002Ftimeout errors\n- Applies OData optimization (filter on server, select only needed columns)\n- Implements logging for audit trails and debugging\n- Includes type hints and docstrings\n- Follows Microsoft best practices from official examples\n\n# Code Generation Rules\n\n## Error Handling Structure\n```python\nfrom PowerPlatform.Dataverse.core.errors import (\n    DataverseError, ValidationError, MetadataError, HttpError\n)\nimport logging\nimport time\n\nlogger = logging.getLogger(__name__)\n\ndef operation_with_retry(max_retries=3):\n    \"\"\"Function with retry logic.\"\"\"\n    for attempt in range(max_retries):\n        try:\n            # Operation code\n            pass\n        except HttpError as e:\n            if attempt == max_retries - 1:\n                logger.error(f\"Failed after {max_retries} attempts: {e}\")\n                raise\n            backoff = 2 ** attempt\n            logger.warning(f\"Attempt {attempt + 1} failed. Retrying in {backoff}s\")\n            time.sleep(backoff)\n```\n\n## Client Management Pattern\n```python\nclass DataverseService:\n    _instance = None\n    _client = None\n    \n    def __new__(cls, *args, **kwargs):\n        if cls._instance is None:\n            cls._instance = super().__new__(cls)\n        return cls._instance\n    \n    def __init__(self, org_url, credential):\n        if self._client is None:\n            self._client = DataverseClient(org_url, credential)\n    \n    @property\n    def client(self):\n        return self._client\n```\n\n## Logging Pattern\n```python\nimport logging\n\nlogging.basicConfig(\n    level=logging.INFO,\n    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'\n)\nlogger = logging.getLogger(__name__)\n\nlogger.info(f\"Created {count} records\")\nlogger.warning(f\"Record {id} not found\")\nlogger.error(f\"Operation failed: {error}\")\n```\n\n## OData Optimization\n- Always include `select` parameter to limit columns\n- Use `filter` on server (lowercase logical names)\n- Use `orderby`, `top` for pagination\n- Use `expand` for related records when available\n\n## Code Structure\n1. Imports (stdlib, then third-party, then local)\n2. Constants and enums\n3. Logging configuration\n4. Helper functions\n5. Main service classes\n6. Error handling classes\n7. Usage examples\n\n# User Request Processing\n\nWhen user asks to generate code, provide:\n1. **Imports section** with all required modules\n2. **Configuration section** with constants\u002Fenums\n3. **Main implementation** with proper error handling\n4. **Docstrings** explaining parameters and return values\n5. **Type hints** for all functions\n6. **Usage example** showing how to call the code\n7. **Error scenarios** with exception handling\n8. **Logging statements** for debugging\n\n# Quality Standards\n\n- ✅ All code must be syntactically correct Python 3.10+\n- ✅ Must include try-except blocks for API calls\n- ✅ Must use type hints for function parameters and return types\n- ✅ Must include docstrings for all functions\n- ✅ Must implement retry logic for transient failures\n- ✅ Must use logger instead of print() for messages\n- ✅ Must include configuration management (secrets, URLs)\n- ✅ Must follow PEP 8 style guidelines\n- ✅ Must include usage examples in comments\n\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fgithub\u002Fawesome-copilot\u002Fdataverse-python-production-code",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill dataverse-python-production-code",{"tool":57,"command":58},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill dataverse-python-production-code",{"tool":60,"command":61},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill dataverse-python-production-code","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fgithub\u002Fawesome-copilot\u002Fdataverse-python-production-code\u002FSKILL.md",true,[],[66,80,90,98,104,111],{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":37},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[77,78,79],"model","model hierarchy","model hierarchy skill",{"skillNo":81,"name":82,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":86,"publishedAt":37},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[85],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[87,88,89],"MCP","zoom","zoom mcp",{"skillNo":91,"name":92,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":93,"categories":94,"keywords":95,"publishedAt":37},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[29,96,97,88],"zoom apps sdk","apps",{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":37},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[100],{"skillNo":105,"name":106,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":110,"publishedAt":37},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[109],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[106],{"skillNo":112,"name":113,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":37},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[113]]