add new dev Claude Skill with some best practices#95
add new dev Claude Skill with some best practices#95zhaodongwang-msft wants to merge 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request refactors the Claude Skills structure for the PowerPlatform Dataverse Client Python SDK by splitting the original single skill into two distinct, purpose-specific skills: dataverse-sdk-use for SDK users and dataverse-sdk-dev for SDK contributors. The changes improve the developer experience by providing targeted guidance based on the user's context.
Changes:
- Split the original Claude Skill into two separate skills with distinct purposes and documentation
- Refactored the skill installer to handle installation, uninstallation, and status checking for multiple skills
- Updated package metadata and documentation to reflect the dual-skill approach
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
.claude/skills/dataverse-sdk-use/SKILL.md |
Renamed skill from powerplatform-dataverseclient-python to dataverse-sdk-use for clarity |
.claude/skills/dataverse-sdk-dev/SKILL.md |
Added new development skill with best practices for SDK contributors, including API design and code style guidelines |
src/PowerPlatform/Dataverse/claude_skill/dataverse-sdk-use/SKILL.md |
Mirrored the skill name change in the packaged version |
src/PowerPlatform/Dataverse/claude_skill/dataverse-sdk-dev/SKILL.md |
Mirrored the new dev skill in the packaged version |
src/PowerPlatform/Dataverse/claude_skill/__init__.py |
Updated docstring to describe both skills |
src/PowerPlatform/Dataverse/_skill_installer.py |
Comprehensive refactor to handle multiple skills, with improved error handling and user feedback |
pyproject.toml |
Updated package data glob pattern to include SKILL.md files from both skill subdirectories |
README.md |
Updated skill descriptions and added API Design Guidelines section for contributors |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ### API Design | ||
|
|
||
| 1. **All public methods in client.py** - Public API methods must be in client.py |
There was a problem hiding this comment.
this might change when we add the namespaces (eg. client.records.get() will add a public method in a new file under the records namespace rather than in client.py). But this is fine to have for now, we'll just need to remember to update it accordingly when those refactors go in.
Added a new dev Claude Skill to enforce some best practices.
Copilot summary:
This pull request introduces significant improvements to the way Claude Skills are structured, installed, and documented for the PowerPlatform Dataverse Client Python SDK. The main change is splitting the original single skill into two distinct skills: one for using the SDK in applications (
dataverse-sdk-use) and another for contributing to SDK development (dataverse-sdk-dev). The installer, documentation, and packaging have all been updated to support and clarify this dual-skill approach.Claude Skill Structure and Installer Improvements:
_skill_installer.pyto handle two separate skills (dataverse-sdk-useanddataverse-sdk-dev), including installation, uninstallation, and status checking for each skill individually. Improved user messaging and error handling throughout the process. [1] [2] [3]pyproject.tomlto include both skills in the distribution.claude_skill/__init__.pyto reflect the presence of two skills.Documentation and Best Practices:
dataverse-sdk-dev/SKILL.mdfile (and its copy in.claude/skills/) with detailed development and contribution guidelines, including API design, code style, and documentation standards for SDK contributors.dataverse-sdk-useand updated its metadata for clarity, both in the source and in the.claude/skills/directory.README.mdto explain the dual-skill setup, clarify which skill is used for which scenario, and provide explicit API design guidelines for contributors. [1] [2]These changes make it easier for both SDK users and contributors to get targeted, context-appropriate guidance from Claude, and improve the maintainability and clarity of the repository’s skill-related tooling and documentation.