Skip to content

Add GitHub Copilot Agent Skills for .NET IoT repository#2473

Open
Copilot wants to merge 3 commits intomainfrom
copilot/create-ai-skills-based-on-copilot
Open

Add GitHub Copilot Agent Skills for .NET IoT repository#2473
Copilot wants to merge 3 commits intomainfrom
copilot/create-ai-skills-based-on-copilot

Conversation

Copy link
Contributor

Copilot AI commented Feb 5, 2026

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:

  • add-device-binding - Device binding development patterns: API design (TryRead*, UnitsNet), IDisposable, constructor conventions, documentation requirements
  • debug-build-issues - Build troubleshooting: Azure DevOps feed errors, SDK resolution, timeout handling, alternative build strategies
  • fix-api-conventions - API compliance checking: naming patterns, value types, resource ownership, error handling, visibility rules
  • update-device-documentation - Documentation templates: README structure, XML comments, wiring diagrams, code examples
  • hardware-abstraction-check - Cross-platform validation: detecting P/Invoke, hardcoded paths, OS detection; enforcing System.Device.* usage

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.json to accommodate YAML frontmatter in skill files.

Original prompt

Create AI skills based on copilot instructions and past issues assigned to copilot


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Microsoft Reviewers: Open in CodeFlow

Copilot AI and others added 2 commits February 5, 2026 16:48
…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>
Copilot AI changed the title [WIP] Create AI skills based on Copilot instructions and past issues Add GitHub Copilot Agent Skills for .NET IoT repository Feb 5, 2026
Copilot AI requested a review from krwq February 5, 2026 16:57
@joperezr joperezr marked this pull request as ready for review February 19, 2026 16:50
---
name: add-device-binding
description: Guide for adding new IoT device bindings to the repository following .NET IoT conventions
license: MIT
Copy link
Member

Choose a reason for hiding this comment

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

@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.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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:

  1. Specification guidance: While the official spec marks license as 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.

  2. 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.

  3. 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.

  4. 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.

Copy link
Contributor

Choose a reason for hiding this comment

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

@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.

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.

4 participants