Own MSBuild generated-artifact integration. USE FOR: a target that creates or should create source, Content, None, or another physical file but the artifact is missing from compilation or output; target timing; evaluation-time glob misses; $(IntermediateOutputPath) placement; and FileWrites clean tracking. The prompt may describe the generated artifact without naming the producing task. DO NOT USE when the primary defect is general Include/Remove/Update semantics, item metadata or batching, duplicate/overlapping declarations, or a generated-item identity relationship; use item-management. Exclude Roslyn source-generator internals and non-MSBuild systems.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
USE ONLY for (1) two or more projects with repeated MSBuild policy, targets, or package versions, or (2) an existing Directory.Build.props/targets/rsp hierarchy with an import, placement, or layering defect. A one-project repo without an existing Directory.Build file is outside scope; do not load this skill. Covers centralizing shared policy and targets, Directory.Packages.props across projects, parent hierarchy/import structure, props-versus-targets placement, and folder/project exceptions. An existing hierarchy defect remains in scope when only one project is affected. For property value or condition semantics use property-patterns. Exclude legacy-to-SDK migration and non-MSBuild systems.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
ALWAYS USE when asked to fix, rewrite, update, improve, modernize, show corrected code for, or explain existing MSTest tests or MSTest-specific configuration. Use for "review" when corrected code or edits are wanted, even for one pasted assertion or passing tests with bad failure output. Covers expected/actual labels; generic Boolean, collection, string, numeric, null, identity, exception, hard-cast, and object[] checks; TestContext/lifecycle; timeout/cancellation; OS/CI conditions, retry, cleanup, parallelization, MSTest.Sdk project setup, and MSTESTxxxx. Honor the installed MSTest version. DO NOT USE to design new test cases (code-testing), perform report-only audits, create project files rather than explain MSTest setup, run tests, migrate frameworks, or handle non-MSTest/non-.NET code.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Classifies existing tests by standard traits and reports their distribution. USE FOR: tagging all tests with category attributes, categorizing/tagging/ labeling each test, compare happy vs error paths, audit the test mix, describe coverage shape by test type, or tag then verify the project builds. Read bodies when names mislead. Apply canonical attributes; otherwise report only. DO NOT USE FOR: requests owned by test-anti-patterns, coverage-analysis, crap-score, test-gap-analysis, code-testing, or migration skills.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Add, repair, or review Playwright visual regression tests for browser-facing .NET apps, including screenshot baselines, Pixelmatch thresholds, deterministic rendering, and GitHub Actions artifacts. USE FOR: toHaveScreenshot, page.screenshot visual checks, Pixelmatch/pngjs comparison scripts, visual baseline updates, screenshot diff triage, or CI workflows for UI regression screenshots. DO NOT USE FOR: pure unit tests, accessibility audits, browser-debugging sessions, or frontend linting.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Audit a test file or suite; produce a severity-ranked diagnostic report. ALWAYS USE for tests that verify nothing, missing/tautological assertions, swallowed/broad exceptions, flaky/order-dependent tests, duplication, or magic values. Polyglot. DO NOT USE for direct edits: writing-mstest-tests owns supplied MSTest assertions/attributes/lifecycle; code-testing owns new tests. Exclude running tests, migration, assertion metrics (assertion-quality), raw .NET coverage collection (run-tests), non-.NET coverage collection/analysis (native tooling), project-wide .NET coverage/CRAP (coverage-analysis), named-target .NET CRAP (crap-score), behavioral/pseudo-mutation gaps (test-gap-analysis), test-mix/ happy-vs-error classification and trait distributions (test-tagging), or the testsmells.org catalog (test-smell-detection).
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Find caller-visible production changes existing tests would miss through pseudo-mutation analysis; verify candidates or close gaps only when requested. Includes read-only per-test composition for grading. Polyglot. USE FOR: would tests catch a bug, behavioral blind spots, surviving mutations. DO NOT USE FOR: concrete fix/feature revision proof (test-value-evidence); suite taxonomy (test-tagging); .NET coverage, Cobertura, plateaus or coverage-backed priorities (coverage-analysis); named CRAP (crap-score); new suites (code-testing); assertion/smell audits; mutation tools.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Use the open-source free `Stryker.NET` mutation testing tool for .NET. Use when a repo needs to measure whether tests actually catch faults, especially in critical libraries or domains. USE FOR: the repo uses or wants Stryker.NET; mutation testing is needed for high-risk code. DO NOT USE FOR: every PR path by default in a large repo; simple coverage collection. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Route gh-aw workflow design/create/debug/upgrade requests to the right prompts.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
ALWAYS USE before running .NET tests or answering with a test command or flags. Trigger on "run the tests", "exact dotnet test command", one test/class/category/trait/target framework, combined filters, `--filter-query`, `--no-build`, `--diag`, diagnostic logs, TRX, coverage collection, crash/hang dumps, filter errors, or unrecognized options. Chooses repository-compatible classic, VSTest, bridged MTP, or native MTP syntax for MSTest/xUnit/NUnit/TUnit. DO NOT USE for platform identification alone (platform-detection), writing or debugging test code, interpreting an existing coverage report, CI investigation, migration, or a persistent hot reload/watch loop.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Use Metalint in .NET repositories that ship Node-based frontend assets and want one CLI entrypoint over several underlying linters. USE FOR: unified frontend lint commands; combined ESLint, Stylelint, HTMLHint, or similar checks; CI orchestration over multiple frontend linters. DO NOT USE FOR: simple repos where Biome already covers the required surface; teams that have not decided which underlying linters own each file type. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Audits existing tests in any language using formal, research-backed test smell names and the testsmells.org 19-smell academic taxonomy. Use when the caller asks for an academic or citable test-smell review, named smell categories, or a formal severity-ranked smell assessment. Covers Assertion Roulette, Conditional Test Logic, Mystery Guest, Eager Test, Sleepy Test, Unknown Test, Sensitive Equality, and the rest of the catalog across .NET, Python, JavaScript/TypeScript, Java, Go, Ruby, Rust, Swift, Kotlin, PowerShell, and C++. DO NOT USE FOR a quick pragmatic test review (use test-anti-patterns), writing or running tests, framework migration, coverage, or assertion-diversity metrics.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Reference-only filter syntax for VSTest and MTP with MSTest, NUnit, xUnit v3, and TUnit. Load only after the platform/framework is known and a consumer needs to create or translate a filter. Do not load for unfiltered runs or platform detection. Used by run-tests and mtp-hot-reload; never invoke directly.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Write, run, or repair .NET tests that use TUnit. Use when a repo uses `TUnit`, `TUnit.Playwright`, `[Test]`, `[Arguments]`, `ClassDataSource`, `SharedType.PerTestSession`, or Microsoft.Testing.Platform-based execution. Preserve TUnit's parallel-by-default model and constrain only destructive shared-state collisions. DO NOT USE FOR: xUnit projects; MSTest projects.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Use HTMLHint in .NET repositories that ship static HTML output or standalone frontend templates. USE FOR: static HTML files; generated frontend output; standalone templates under wwwroot, dist, or other web folders; HTML structure checks. DO NOT USE FOR: raw .cshtml or .razor source with server-side directives; JavaScript or TypeScript linting. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Write, run, or repair .NET tests that use xUnit with the right package, CLI, and runner guidance. USE FOR: xUnit v2 or xUnit v3 projects; adding, running, debugging, or repairing xUnit tests; choosing between VSTest and Microsoft.Testing.Platform. DO NOT USE FOR: TUnit projects; MSTest projects. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
DO NOT USE when the target already consumes an injected interface or built-in abstraction such as IFileSystem or TimeProvider, even if the request says "generate a wrapper"; no new wrapper is needed. Use only when C# source calls an ambient/static dependency and no injectable seam exists: first-time TimeProvider, IHttpClientFactory, or System.IO.Abstractions adoption; minimal Environment/Console/Process wrappers; IProcessRunner; DI registration; or an ambient seam that preserves a static API. Exclude static detection (detect-static-dependencies), migration to an existing/registered abstraction (migrate-static-to-wrapper), one blocked behavior plus deterministic tests (testability-obstacle), and general interface design.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Symbolicate the .NET runtime frames in an Android tombstone file. Extracts BuildIds and PC offsets from the native backtrace, downloads debug symbols from the Microsoft symbol server, and runs llvm-symbolizer to produce function names with source file and line numbers. USE FOR triaging a .NET MAUI or Mono Android app crash from a tombstone, resolving native backtrace frames in libmonosgen-2.0.so or libcoreclr.so to .NET runtime source code, or investigating SIGABRT, SIGSEGV, or other native signals originating from the .NET runtime on Android. DO NOT USE FOR pure Java/Kotlin crashes, managed .NET exceptions that are already captured in logcat, or iOS crash logs. INVOKES Symbolicate-Tombstone.ps1 script, llvm-symbolizer, Microsoft symbol server.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Scans .NET code for ~50 performance anti-patterns across async, memory, strings, collections, LINQ, regex, serialization, and I/O with tiered severity classification. Use when analyzing .NET code for optimization opportunities, reviewing hot paths, or auditing allocation-heavy patterns.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Symbolicate .NET runtime frames in Apple platform .ips crash logs (iOS, tvOS, Mac Catalyst, macOS). Extracts UUIDs and addresses from the native backtrace, locates dSYM debug symbols, and runs atos to produce function names with source file and line numbers. Automatically downloads .dwarf symbols from the Microsoft symbol server using Mach-O UUIDs. USE FOR triaging a .NET MAUI or Mono app crash from an .ips file on any Apple platform, resolving native backtrace frames in libcoreclr or libmonosgen-2.0 to .NET runtime source code, retrieving .ips crash logs from a connected iOS device or iPhone, or investigating EXC_CRASH, EXC_BAD_ACCESS, SIGABRT, or SIGSEGV originating from the .NET runtime. DO NOT USE FOR pure Swift/Objective-C crashes with no .NET components, or Android tombstone files. INVOKES Symbolicate-Crash.ps1 script, atos, dwarfdump, idevicecrashreport.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Scaffolds eval.yaml evaluation specs for skills, custom agents, and redistributable gh-aw workflow packages in the dotnet/skills repository. Use when creating skill or workflow-package tests, writing evaluation stimuli, defining graders and rubrics, sizing an eval for statistical power, or setting up test fixture files. Handles the Vally eval.yaml schema, fixture organization, and overfitting avoidance. Do not use for running or debugging existing evals (use improve-skill-quality) nor for skills authoring (use create-skill).
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Creates VS Code custom agent files (.agent.md) for specialized AI personas with tools, instructions, and handoffs. Use when scaffolding new custom agents, configuring agent workflows, or setting up agent-to-agent handoffs.
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Scaffolds new agent skills for the dotnet/skills repository. Use when creating a new skill, generating SKILL.md files, writing a skill description that the runtime will actually route to, or setting up skill directory structures. Handles frontmatter generation, section templates, and validation guidance. Do not use for fixing a skill that already fails its evaluation (use improve-skill-quality) or for writing eval.yaml (use create-skill-test).
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ
Diagnoses .NET Framework CLR activation issues using CLR activation logs (CLRLoad logs) produced by mscoree.dll. Use when: the shim picks the wrong runtime, fails to load any runtime, shows unexpected .NET 3.5 Feature-on-Demand (FOD) dialogs, unexpectedly does NOT show FOD dialogs, loads both v2 and v4 into the same process causing failures, or any time someone is wondering "what is happening with .NET Framework activation?"
ํ๊ตญ์ด ์์ฝ์ ์ค๋น ์ค์
๋๋ค. ์๋ฌธ ์ค๋ช
์ ํ์ํ๊ณ ์์ต๋๋ค.
managedcode/dotnet-skillsโ 4922026๋
10์ 22์ผ ์
๋ฐ์ดํธ