Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/README.skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
| [github-issues](../skills/github-issues/SKILL.md) | Create, update, and manage GitHub issues using MCP tools. Use this skill when users want to create bug reports, feature requests, or task issues, update existing issues, add labels/assignees/milestones, or manage issue workflows. Triggers on requests like "create an issue", "file a bug", "request a feature", "update issue X", or any GitHub issue management task. | `references/templates.md` |
| [image-manipulation-image-magick](../skills/image-manipulation-image-magick/SKILL.md) | Process and manipulate images using ImageMagick. Supports resizing, format conversion, batch processing, and retrieving image metadata. Use when working with images, creating thumbnails, resizing wallpapers, or performing batch image operations. | None |
| [legacy-circuit-mockups](../skills/legacy-circuit-mockups/SKILL.md) | Generate breadboard circuit mockups and visual diagrams using HTML5 Canvas drawing techniques. Use when asked to create circuit layouts, visualize electronic component placements, draw breadboard diagrams, mockup 6502 builds, generate retro computer schematics, or design vintage electronics projects. Supports 555 timers, W65C02S microprocessors, 28C256 EEPROMs, W65C22 VIA chips, 7400-series logic gates, LEDs, resistors, capacitors, switches, buttons, crystals, and wires. | `references/28256-eeprom.md`<br />`references/555.md`<br />`references/6502.md`<br />`references/6522.md`<br />`references/6C62256.md`<br />`references/7400-series.md`<br />`references/assembly-compiler.md`<br />`references/assembly-language.md`<br />`references/basic-electronic-components.md`<br />`references/breadboard.md`<br />`references/common-breadboard-components.md`<br />`references/connecting-electronic-components.md`<br />`references/emulator-28256-eeprom.md`<br />`references/emulator-6502.md`<br />`references/emulator-6522.md`<br />`references/emulator-6C62256.md`<br />`references/emulator-lcd.md`<br />`references/lcd.md`<br />`references/minipro.md`<br />`references/t48eeprom-programmer.md` |
| [make-repo-contribution](../skills/make-repo-contribution/SKILL.md) | All changes to code must follow the guidance documented in the repository. Before any issue is filed, branch is made, commits generated, or pull request (or PR) created, a search must be done to ensure the right steps are followed. Whenever asked to create an issue, commit messages, to push code, or create a PR, use this skill so everything is done correctly. | `assets/issue-template.md`<br />`assets/pr-template.md` |
| [make-skill-template](../skills/make-skill-template/SKILL.md) | Create new Agent Skills for GitHub Copilot from prompts or by duplicating this template. Use when asked to "create a skill", "make a new skill", "scaffold a skill", or when building specialized AI capabilities with bundled resources. Generates SKILL.md files with proper frontmatter, directory structure, and optional scripts/references/assets folders. | None |
| [markdown-to-html](../skills/markdown-to-html/SKILL.md) | Convert Markdown files to HTML similar to `marked.js`, `pandoc`, `gomarkdown/markdown`, or similar tools; or writing custom script to convert markdown to html and/or working on web template systems like `jekyll/jekyll`, `gohugoio/hugo`, or similar web templating systems that utilize markdown documents, converting them to html. Use when asked to "convert markdown to html", "transform md to html", "render markdown", "generate html from markdown", or when working with .md files and/or web a templating system that converts markdown to HTML output. Supports CLI and Node.js workflows with GFM, CommonMark, and standard Markdown flavors. | `references/basic-markdown-to-html.md`<br />`references/basic-markdown.md`<br />`references/code-blocks-to-html.md`<br />`references/code-blocks.md`<br />`references/collapsed-sections-to-html.md`<br />`references/collapsed-sections.md`<br />`references/gomarkdown.md`<br />`references/hugo.md`<br />`references/jekyll.md`<br />`references/marked.md`<br />`references/pandoc.md`<br />`references/tables-to-html.md`<br />`references/tables.md`<br />`references/writing-mathematical-expressions-to-html.md`<br />`references/writing-mathematical-expressions.md` |
| [mcp-cli](../skills/mcp-cli/SKILL.md) | Interface for MCP (Model Context Protocol) servers via CLI. Use when you need to interact with external tools, APIs, or data sources through MCP servers, list available MCP servers/tools, or call MCP tools from command line. | None |
Expand Down
76 changes: 76 additions & 0 deletions skills/make-repo-contribution/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
name: make-repo-contribution
description: 'All changes to code must follow the guidance documented in the repository. Before any issue is filed, branch is made, commits generated, or pull request (or PR) created, a search must be done to ensure the right steps are followed. Whenever asked to create an issue, commit messages, to push code, or create a PR, use this skill so everything is done correctly.'
---

# 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](./assets/issue-template.md) 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:

1. Review all changes
2. Logically group the changes together
3. Create short commit messages for each group, following any guidance in the repository
4. 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](./assets/pr-template.md). 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.
37 changes: 37 additions & 0 deletions skills/make-repo-contribution/assets/issue-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# <!-- Provide a concise, descriptive title for the issue -->

## Summary

<!-- Provide a clear, one-sentence description of the request or issue. -->

## Context

<!-- Explain why this change is needed. Include:
- The problem being solved
- Any relevant background information
- Link to related issues or discussions if applicable
-->

## Proposed Solution

<!-- Describe the suggested approach. Include:
- Specific changes to be made
- Files or areas affected
- Any alternatives considered
-->

## Acceptance Criteria

<!-- List measurable criteria for completion:
- [ ] Criterion 1
- [ ] Criterion 2
-->

## Additional Information

<!-- Include any of the following if relevant:
- Error messages or logs
- Steps to reproduce (for bugs)
- Dependencies or blockers
- Impact assessment
-->
36 changes: 36 additions & 0 deletions skills/make-repo-contribution/assets/pr-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# <!-- Provide a concise, descriptive title for the pull request -->

## Summary

<!-- Provide a three to four sentence description of what this PR accomplishes. -->

## Background

<!-- Explain why this change is needed. Include:
- The problem being solved or feature being added
- Link to related issues (use "Closes #123" to auto-close)
- Any relevant context or discussions
-->

## Changes

<!-- List the changes being made, logically grouped. Include:
- Files added, modified, or deleted
- Key code changes with brief explanations
- Any architectural or design decisions made
-->

## Testing

<!-- Describe how the changes were validated:
- Commands run (e.g., `npm run build`, `npm run validate`)
- Manual testing performed
- Edge cases considered
-->

## Additional Notes

<!-- Include any of the following if relevant:
- Breaking changes or migration steps
- Highlights for human reviewers
-->