This repository demonstrates how to create a GitHub Copilot Skill through an iterative conversation with GitHub Copilot.
A Copilot Skill is a markdown file that teaches GitHub Copilot how to perform specialized tasks. When placed in .github/skills/, Copilot can use these instructions to help users accomplish complex workflows.
Skill: download-maui-pr-nugets
Purpose: Download and configure NuGet packages from an unmerged .NET MAUI PR to test fixes before they're officially released.
Location: .github/skills/download-maui-pr-nugets/SKILL.md
This skill wasn't written from scratch—it was extracted from a real working session with GitHub Copilot. Here's how the process worked:
The user wanted to test a fix from an unmerged .NET MAUI pull request. They prompted Copilot with something like:
"I want to test the fix from PR #33127 in the dotnet/maui repo before it's merged"
Copilot didn't initially know how to do this. Through trial and error:
- It discovered that PR packages aren't published to public NuGet feeds
- It found that Azure DevOps build artifacts contain the packages
- It learned the correct API endpoints to download artifacts
- It worked out how to configure
NuGet.configfor local package sources - It figured out the version format pattern (
10.0.XX-ci.prXXXXX.XXXXX.XX)
After several attempts and refinements, Copilot successfully configured the project to use packages from the unmerged PR.
Once the workflow was working, the user asked Copilot to create a skill from that interaction. Copilot then:
- Extracted the successful steps into a structured markdown document
- Added the proper YAML frontmatter for skill discovery
- Included the specific API endpoints, commands, and examples that worked
- Documented edge cases and verification steps learned during the process
The skill now captures institutional knowledge that would otherwise be lost. Future users (and Copilot itself) can reference this skill to accomplish the same task without the trial-and-error discovery process.
The skill includes the complete multi-step process:
- Get PR information from GitHub
- Find the associated Azure DevOps build
- Retrieve the build artifacts (NuGet packages)
- Configure
NuGet.configto use local packages - Update project references to the PR version
- Verify the configuration works
With concrete examples:
- Specific API endpoints and URLs
- Example commands with real build IDs
- Expected version formats
- Verification steps
.github/
└── skills/
└── download-maui-pr-nugets/
└── SKILL.md
- Use YAML frontmatter with
nameanddescriptionfields - Be specific - include exact commands, URLs, and expected outputs
- Document when to use the skill so Copilot knows when to apply it
- Include examples with real-world values
- Add verification steps so users can confirm success
- Note edge cases and important caveats
This is an informational repository showing skill creation. The .NET MAUI app is a basic template used to demonstrate the skill in action.
To see the skill definition, view: SKILL.md