Skip to content

add new dev Claude Skill with some best practices#95

Open
zhaodongwang-msft wants to merge 2 commits intomainfrom
users/zhaodongwang/claudeSkillDev
Open

add new dev Claude Skill with some best practices#95
zhaodongwang-msft wants to merge 2 commits intomainfrom
users/zhaodongwang/claudeSkillDev

Conversation

@zhaodongwang-msft
Copy link
Collaborator

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:

  • Refactored the skill installer in _skill_installer.py to handle two separate skills (dataverse-sdk-use and dataverse-sdk-dev), including installation, uninstallation, and status checking for each skill individually. Improved user messaging and error handling throughout the process. [1] [2] [3]
  • Updated the package data configuration in pyproject.toml to include both skills in the distribution.
  • Updated the skill package docstring in claude_skill/__init__.py to reflect the presence of two skills.

Documentation and Best Practices:

  • Added a new dataverse-sdk-dev/SKILL.md file (and its copy in .claude/skills/) with detailed development and contribution guidelines, including API design, code style, and documentation standards for SDK contributors.
  • Renamed the original skill to dataverse-sdk-use and updated its metadata for clarity, both in the source and in the .claude/skills/ directory.
  • Updated the main README.md to 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.

@zhaodongwang-msft zhaodongwang-msft requested a review from a team as a code owner February 4, 2026 21:39
Copilot AI review requested due to automatic review settings February 4, 2026 21:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants