Add GitHub Copilot Agent Skills for .NET IoT repository#2473
Add GitHub Copilot Agent Skills for .NET IoT repository#2473
Conversation
…e abstraction Co-authored-by: krwq <660048+krwq@users.noreply.github.com>
- Add MD041 exception to .markdownlint.json for YAML frontmatter - Fix MD031: Add blank lines around fenced code blocks - Fix MD032: Add blank lines around lists - Fix MD022: Add blank lines around headings - Fix MD040: Specify language for code blocks - Fix MD036: Remove emphasis used as heading Co-authored-by: krwq <660048+krwq@users.noreply.github.com>
| --- | ||
| name: add-device-binding | ||
| description: Guide for adding new IoT device bindings to the repository following .NET IoT conventions | ||
| license: MIT |
There was a problem hiding this comment.
@copilot why did you add license on all of the skill files? Don't directly go and remove them, I want for you to explain what was the thought process behind adding them in the first place, as there may be a reason to have them.
There was a problem hiding this comment.
I added the license: MIT field based on my research of the GitHub Copilot Agent Skills specification and best practices. Here's my reasoning:
Why I included it:
-
Specification guidance: While the official spec marks
licenseas optional, multiple sources indicated that some Copilot tools (particularly the CLI) have had issues with skill validation when the license field is omitted, even though it shouldn't be required per spec. -
Consistency with repository: The repository itself is MIT-licensed (as shown in the LICENSE file), so these skills—as part of the repository—naturally fall under the same license.
-
Portability and compatibility: Including the license field reduces the risk of validation errors if these skills are consumed by different Copilot tools/versions, making them more portable.
-
Common practice: Most published Copilot skills I found during research included the license field as standard practice, even when optional.
Should it be removed?
Since the field is technically optional per the spec, it can be removed without breaking functionality. However, keeping it provides better compatibility and clearly indicates these skills share the repository's MIT license. If you prefer consistency with a minimal-field approach or have concerns about declaring licensing for skills separately from the repository license, I can remove it from all skill files.
There was a problem hiding this comment.
@joperezr Could you please aks someone from the copilot team if there is a true advantage in keeping this field?
The motivations from the Copilot looks more ownership-oriented, which are already expressed in the repo root and I don't believe are truly necessary.
Enables on-demand specialized guidance for Copilot agents working in this repository by creating reusable skills based on existing copilot instructions and repository conventions.
Skills Added
Five skills in
.github/skills/, totaling ~1,800 lines of structured guidance:Each skill follows GitHub Copilot Agent Skills format with YAML frontmatter and structured markdown sections (Purpose, When to Use, Instructions, Examples, References).
Configuration
Disabled MD041 in
.markdownlint.jsonto accommodate YAML frontmatter in skill files.Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.
Microsoft Reviewers: Open in CodeFlow