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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
52 changes: 28 additions & 24 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -10,43 +10,47 @@
/tests/dotnet-msbuild/ @ViktorHofer @JanKrivanek
/agentic-workflows/dotnet-msbuild/ @ViktorHofer @JanKrivanek

/plugins/dotnet/skills/analyzing-dotnet-performance/ @dotnet/dotnet-diag
/tests/dotnet/analyzing-dotnet-performance/ @dotnet/dotnet-diag

# dotnet (common everyday C#/.NET)
/plugins/dotnet/skills/csharp-scripts/ @dotnet/roslyn
/tests/dotnet/csharp-scripts/ @dotnet/roslyn

/plugins/dotnet/skills/dotnet-pinvoke/ @dotnet/appmodel
/tests/dotnet/dotnet-pinvoke/ @dotnet/appmodel

/plugins/dotnet/skills/dump-collect/ @dotnet/dotnet-diag
/tests/dotnet/dump-collect/ @dotnet/dotnet-diag
/plugins/dotnet/skills/nuget-trusted-publishing/ @lewing @kartheekp-ms
/tests/dotnet/nuget-trusted-publishing/ @lewing @kartheekp-ms

# dotnet-upgrade (migrating and upgrading .NET projects)
/plugins/dotnet-upgrade/skills/thread-abort-migration/ @dotnet/appmodel
/tests/dotnet-upgrade/thread-abort-migration/ @dotnet/appmodel

/plugins/dotnet/skills/dotnet-trace-collect/ @brianrob
/tests/dotnet/dotnet-trace-collect/ @brianrob
/plugins/dotnet-upgrade/skills/migrate-nullable-references/ @danmoseley
/tests/dotnet-upgrade/migrate-nullable-references/ @danmoseley

/plugins/dotnet/skills/optimizing-ef-core-queries/ @dotnet/efteam
/tests/dotnet/optimizing-ef-core-queries/ @dotnet/efteam
/plugins/dotnet-upgrade/skills/dotnet-aot-compat/ @agocke @dotnet/appmodel
/tests/dotnet-upgrade/dotnet-aot-compat/ @agocke @dotnet/appmodel

/plugins/dotnet/skills/thread-abort-migration/ @dotnet/appmodel
/tests/dotnet/thread-abort-migration/ @dotnet/appmodel
# dotnet-diag (perf investigations, debugging, incident analysis)
/plugins/dotnet-diag/skills/analyzing-dotnet-performance/ @dotnet/dotnet-diag
/tests/dotnet-diag/analyzing-dotnet-performance/ @dotnet/dotnet-diag

/plugins/dotnet/skills/migrate-nullable-references/ @danmoseley
/tests/dotnet/migrate-nullable-references/ @danmoseley
/plugins/dotnet-diag/skills/dump-collect/ @dotnet/dotnet-diag
/tests/dotnet-diag/dump-collect/ @dotnet/dotnet-diag

/plugins/dotnet/skills/android-tombstone-symbolication/ @dotnet/dotnet-diag
/tests/dotnet/android-tombstone-symbolication/ @dotnet/dotnet-diag
/plugins/dotnet-diag/skills/dotnet-trace-collect/ @brianrob
/tests/dotnet-diag/dotnet-trace-collect/ @brianrob

/plugins/dotnet/skills/clr-activation-debugging/ @marklio @ChrisAhna
/tests/dotnet/clr-activation-debugging/ @marklio @ChrisAhna
/plugins/dotnet-diag/skills/android-tombstone-symbolication/ @dotnet/dotnet-diag
/tests/dotnet-diag/android-tombstone-symbolication/ @dotnet/dotnet-diag

/plugins/dotnet/skills/microbenchmarking/ @dotnet/dotnet-perf-team
/tests/dotnet/microbenchmarking/ @dotnet/dotnet-perf-team
/plugins/dotnet-diag/skills/clr-activation-debugging/ @marklio @ChrisAhna
/tests/dotnet-diag/clr-activation-debugging/ @marklio @ChrisAhna

/plugins/dotnet/skills/nuget-trusted-publishing/ @lewing @kartheekp-ms
/tests/dotnet/nuget-trusted-publishing/ @lewing @kartheekp-ms
/plugins/dotnet-diag/skills/microbenchmarking/ @dotnet/dotnet-perf-team
/tests/dotnet-diag/microbenchmarking/ @dotnet/dotnet-perf-team

/plugins/dotnet/skills/dotnet-aot-compat/ @agocke @dotnet/appmodel
/tests/dotnet/dotnet-aot-compat/ @agocke @dotnet/appmodel
/plugins/dotnet-diag/agents/optimizing-dotnet-performance.agent.md @dotnet/appmodel

/plugins/dotnet/agents/optimizing-dotnet-performance.agent.md @dotnet/appmodel
# dotnet-data (data access, Entity Framework)
/plugins/dotnet-data/skills/optimizing-ef-core-queries/ @dotnet/efteam
/tests/dotnet-data/optimizing-ef-core-queries/ @dotnet/efteam
23 changes: 22 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,27 @@ agentic-workflows/

Every plugin must have a plugin.json file in the plugin root that is linked to from the marketplace.json file.

### Plugin organization

Skills are grouped into domain-specific plugins. When proposing a new skill, place it in the plugin that best matches its domain:

| Plugin | Domain |
|--------|--------|
| `dotnet` | Common everyday C#/.NET coding tasks useful to all .NET developers |
| `dotnet-upgrade` | Migrating and upgrading .NET projects across framework versions, language features, and compatibility targets |
| `dotnet-diag` | Performance investigations, debugging, and incident analysis |
| `dotnet-data` | Data access and Entity Framework |
| `dotnet-msbuild` | MSBuild and project system |
Comment thread
danmoseley marked this conversation as resolved.

If your skill does not fit any existing plugin, consider creating a new one. The following plugin names are reserved for future use and are good candidates for new skills in those areas:

- `dotnet-aspnet` — ASP.NET
- `dotnet-wpf` — WPF
- `dotnet-winforms` — Windows Forms (WinForms)
- `dotnet-maui` — .NET MAUI

To create a new plugin, add a `plugins/<plugin-name>/plugin.json` file and a matching entry in the marketplace.json file. See existing plugins for the expected format.

## Before you start

- Search existing issues and pull requests to avoid duplicates.
Expand Down Expand Up @@ -108,7 +129,7 @@ description: <description of what the skill does, when to use it, and when not t
> **Tip:** The `description` field is used by the agent runtime to decide whether to load the full skill.
> Include **when to use** and **when not to use** guidance directly in the description so the agent can
> select or skip skills without reading the entire `SKILL.md`. This avoids unnecessary token usage.
> See [`thread-abort-migration/SKILL.md`](plugins/dotnet/skills/thread-abort-migration/SKILL.md) for a good example.
> See [`thread-abort-migration/SKILL.md`](plugins/dotnet-upgrade/skills/thread-abort-migration/SKILL.md) for a good example.

### Recommended `SKILL.md` sections

Expand Down
7 changes: 7 additions & 0 deletions plugins/dotnet-data/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "dotnet-data",
"version": "0.1.0",
"description": "Skills for .NET data access and Entity Framework related tasks.",
Comment thread
danmoseley marked this conversation as resolved.
"skills": "./skills/",
"agents": "./agents/"
}
7 changes: 7 additions & 0 deletions plugins/dotnet-diag/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "dotnet-diag",
"version": "0.1.0",
"description": "Skills for .NET performance investigations, debugging, and incident analysis.",
"skills": "./skills/",
"agents": "./agents/"
}
7 changes: 7 additions & 0 deletions plugins/dotnet-upgrade/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "dotnet-upgrade",
"version": "0.1.0",
"description": "Skills for migrating and upgrading .NET projects across framework versions, language features, and compatibility targets.",
"skills": "./skills/",
"agents": "./agents/"
}
2 changes: 1 addition & 1 deletion plugins/dotnet/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "dotnet",
"version": "0.1.0",
"description": "Collection of core .NET skills for handling common .NET coding tasks.",
"description": "Common everyday C#/.NET coding skills. Expected to be useful to all .NET developers.",
"skills": "./skills/",
"agents": "./agents/"
}
Loading