make-repo-contribution
npx skills add https://github.com/github/awesome-copilot --skill make-repo-contribution
Agent 安装分布
Skill 文档
Contribution guidelines
Most every project has a set of contribution guidelines everyone needs to follow when creating issues, pull requests (PR), or otherwise contributing code. These may include, but are not limited to:
- Creating an issue before creating a PR, or creating the two in conjunction
- Templates for issues or PRs that must be used depending on the change request being made
- Guidelines on what needs to be documented in those issues and PRs
- Tests, linters, and other prerequisites that need to be run before pushing any changes
Always remember, you are a guest in someone else’s repository. As such, you need to follow the rules and guidelines set forth by the repository owner when contributing code.
Using existing guidelines
Before creating a PR or any of the steps leading up to it, explore the project to determine if there’s any guidance. Places to explore include, but are not limited to:
- README.md
- CONTRIBUTING.md
- Project documentation
- Issue templates
- Pull request or PR templates
If any of those exist or you discover documentation elsewhere in the repo, read through what you find, consider it, and follow the guidance to the best of your ability. If you have any questions or confusion, ask the user for input on how best to proceed. DO NOT create a PR until you’re certain you’ve followed the practices.
No guidelines found
If no guidance is found, or doesn’t provide guidance on certain topics, then use the following as a foundation for creating a quality contribution. ALWAYS defer to the guidance provided in the repository.
Tasks
Many repository owners will have guidance on prerequisite steps which need to be completed before a PR is to be created. This can include, but is not limited to:
- building the project or generating assets
- running linters and ensuring any issues are resolved
- naming guidelines and other patterns
- unit tests, end to end tests, or other tests which need to be created and pass
- related, there may be required coverage percentages
Look through all guidance you find, and ensure any prerequisites have been satisfied.
Issue
Always start by looking to see if an issue exists that’s related to the task at hand. This may have already been created by the user, or someone else. If you discover one, prompt the user to ensure they want to use that issue, or which one they may wish to use.
If no issue is discovered, look through the guidance to see if creating an issue is a requirement. If it is, use the template provided in the repository. If there are multiple, choose the one that most aligns with the work being done. If there are any questions, ask the user which one to use.
If the requirement is to file an issue, but no issue template is provided, use this issue template as a guide on what to file.
Branch
Before performing any commits, ensure a branch has been created for the work. Follow whatever guidance is provided by the repository’s documentation. If prefixes are defined, like feature or chore, or if the requirement is to use the username of the person making the PR, then use that. This branch must never be main, or the default branch, but should be a branch created specifically for the changes taking place. If no branch is already created, create a new one with a good name based on the changes being made and the guidance.
Commits
When committing changes:
- Review all changes
- Logically group the changes together
- Create short commit messages for each group, following any guidance in the repository
- Commit the grouped code to the branch.
Merging
NEVER merge to main unless explicitly instructed to do so by the user
Pull request
When creating a pull request, use existing templates in the repository if any exist, following the guidance you discovered.
If no template is provided, use the this PR template. It contains a collection of headers to use, each with guidance of what to place in the particular sections.
If an issue was created or is being used, ensure that issue is referenced in the PR. Use the Closes #NUMBER syntax to enable auto-closing of the issue.