mirror of
https://github.com/dotnet/skills.git
synced 2026-09-20 09:49:54 +08:00
042a9d2b2c
* Reorganize plugins per agreed structure (#271) Split the dotnet plugin into domain-specific plugins per discussion in #271: - dotnet: narrowed to common everyday C#/.NET coding tasks - dotnet-diag: perf investigations, debugging, incident analysis - dotnet-data: data access and Entity Framework - dotnet-aspnet, dotnet-wpf, dotnet-winforms, dotnet-maui: scaffolded empty to convey intent for future framework-specific skills Moved skills, tests, and CODEOWNERS entries accordingly. No file content was changed; all skill/test moves are pure renames. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Improve dotnet-diag and dotnet-winforms descriptions - dotnet-diag: add '.NET' qualifier to clarify scope - dotnet-winforms: use official 'Windows Forms (WinForms)' name Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add .NET qualifier to dotnet-data description Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Remove empty plugins; list them in CONTRIBUTING.md as future options Remove the four empty placeholder plugins (dotnet-aspnet, dotnet-wpf, dotnet-winforms, dotnet-maui) that had only plugin.json and no skills. Add a 'Plugin organization' section to CONTRIBUTING.md that describes the domain-specific plugin groupings introduced in this PR and lists the four removed plugin names as reserved candidates for future contributions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Create dotnet-upgrade plugin with migration/upgrade skills Move migrate-nullable-references, thread-abort-migration, and dotnet-aot-compat from dotnet to the new dotnet-upgrade plugin. Update CODEOWNERS paths (same owners), CONTRIBUTING.md plugin table, and fix the thread-abort-migration SKILL.md link in CONTRIBUTING.md. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
28 lines
1.9 KiB
YAML
28 lines
1.9 KiB
YAML
scenarios:
|
|
- name: "Investigate runtime upgrade performance impact"
|
|
prompt: >
|
|
Your team is upgrading the codebase from .NET 9 to .NET 10. You have been
|
|
asked to benchmark AverageWordLength, WordLengthHistogram, and UniqueWordCount
|
|
to check how the upgrade will impact their performance. The source code is in
|
|
the TextAnalyzer subdirectory (TextAnalyzer.cs and TextAnalyzer.csproj). We don't
|
|
need anything too comprehensive, don't spend more than 10 minutes on this.
|
|
Don't worry about cleaning up any files or projects you create along the way.
|
|
Note: this machine may be under load from other processes.
|
|
If the .NET 9 runtime is missing, install it using the official dotnet-install
|
|
script from https://dot.net/v1/dotnet-install.sh (or dotnet-install.ps1 on Windows).
|
|
setup:
|
|
copy_test_files: true
|
|
assertions:
|
|
- type: "file_contains"
|
|
path: "**/*.csproj"
|
|
value: "BenchmarkDotNet"
|
|
- type: "file_exists"
|
|
path: "**/*-report*.md"
|
|
rubric:
|
|
- "The benchmarks follow best practices: methods return their results to prevent dead code elimination, input data is stored in fields/properties rather than const or literal values, and initialization/data setup is in a setup method not inside the benchmark methods"
|
|
- "The agent let NuGet resolve the BenchmarkDotNet version rather than writing one from memory"
|
|
- "The benchmarks were actually run and completed, producing results that compare .NET 9 vs .NET 10"
|
|
- "The agent correctly identified that AverageWordLength and WordLengthHistogram got significantly faster on .NET 10 (expected ~2-3x faster), while UniqueWordCount showed no meaningful change"
|
|
- "The agent completed the task efficiently within the time constraints rather than spending excessive time on unnecessary iterations or troubleshooting"
|
|
timeout: 600
|