[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M699F765T3GTHGYXQJN2S31G":3,"skill-same:01M699F765T3GTHGYXQJN2S31G":76},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":6,"ownerHtmlUrl":58,"ownerBlogUrl":59,"ownerDescription":60,"updatedAt":61,"install":62,"resources":75},"01M699F765T3GTHGYXQJN2S31G","mtp-hot-reload",null,"Set up or recover MTP hot reload for a long-lived console-host edit\u002Fre-run loop in a Microsoft Testing Platform project. Use for explicit MTP console requests such as \"enable hot reload\", \"dotnet run to rerun on edit\", or unsupported\u002Frude edits. Covers setup, run\u002Fwatch, restarts, filters, and the VSTest no-mutation fallback. For one-time runs, exact commands, filter errors, TRX\u002Fdumps, or merely a failing test, use run-tests. Do not use when Test Explorer or an IDE should rerun tests without an MTP console host. Excludes editor integration, CI, and writing\u002Fdebugging tests.","microsoft\u002Ftestfx","microsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6154722?v=4","01M698VYDXZ6JW5WH3CRV650R8","Microsoft","01M699C71CJ91B5WZ3AXG3GG2M",1059,"MIT","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmtp-hot-reload\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,9,44,45,46],"hot reload","mtp","mtp hot reload","loop","failing","when","errors","re","host","mutation","project","time","filters","up","testing","SET","ci","debugging","microsoft testing platform","dotnet","editor","test","writing","2026-11-10 10:12:30",false,"---\nname: mtp-hot-reload\ndescription: >\n  Set up or recover MTP hot reload for a long-lived console-host edit\u002Fre-run\n  loop in a Microsoft Testing Platform project. Use for explicit MTP console\n  requests such as \"enable hot reload\", \"dotnet run to rerun on edit\", or\n  unsupported\u002Frude edits. Covers setup, run\u002Fwatch, restarts, filters, and the\n  VSTest no-mutation fallback. For one-time runs, exact commands, filter\n  errors, TRX\u002Fdumps, or merely a failing test, use run-tests. Do not use when\n  Test Explorer or an IDE should rerun tests without an MTP console host.\n  Excludes editor integration, CI, and writing\u002Fdebugging tests.\nlicense: MIT\n---\n\n# MTP Hot Reload for Iterative Test Fixing\n\nSet up and use a long-lived Microsoft Testing Platform host that applies code\nedits and automatically reruns tests.\n\n## When to Use\n\n- User explicitly asks for test hot reload\n- User wants a host to stay running and automatically rerun after repeated edits\n- User needs to set up MTP hot reload in their project\n\n## When Not to Use\n\n- User needs to write new tests from scratch (use general coding assistance)\n- User needs to diagnose why a test is failing (use diagnostic skills)\n- User asks about Visual Studio or VS Code Test Explorer hot reload or an IDE-integrated rerun experience (different feature, not MTP console-host hot reload)\n- User asks whether the editor can auto-rerun affected tests after source edits without using an MTP console host\n- User wants one normal run without rebuilding (use `run-tests`)\n- User needs CI\u002FCD pipeline configuration\n\n## Inputs\n\n| Input | Required | Description |\n|-------|----------|-------------|\n| Test project path | No | Path to the test project (.csproj). Defaults to current directory. |\n| Failing test name or filter | No | Specific test(s) to iterate on |\n\n## Response sizing\n\n- If setup is already complete and the user asks only which command to use,\n  return one `dotnet run --project \u003Cpath>` command and one sentence explaining\n  that it starts the persistent host. Do not repeat package, launch profile, or\n  rude-edit guidance.\n- If the package is already installed, show only the remaining enable-and-run\n  steps. Do not suggest reinstalling it or add optional persistence\u002Frecovery\n  paths unless requested.\n- For a named test, identify the framework and return one runnable command with\n  that framework's filter syntax. Never substitute MSTest\u002FNUnit `--filter` for\n  xUnit v3 `--filter-method` or TUnit `--treenode-filter`.\n- A directly launched MTP host is itself the persistent watcher: `dotnet run`\n  stays alive and the HotReload extension reacts to edits. Do not replace it\n  with `dotnet watch run` for the normal MTP path; reserve `dotnet watch` for the\n  explicit restart fallback below.\n\n## Workflow\n\n### Step 1: Detect the platform before changing anything\n\nHot reload requires MTP. It does **not** work with VSTest.\n\nFollow the complete evaluated-property procedure in the `platform-detection`\nskill. Read imported props and package versions as well as the project file.\nDo this before installing packages, editing files, or returning an MTP launch\ncommand.\n\n**Hard stop for VSTest:** report that MTP hot reload is unavailable for the\nproject as configured and stop the MTP setup path. Do not install the extension,\ncreate `launchSettings.json`, set the environment variable, change runner\nproperties\u002Fpackages, or return a `dotnet run` hot-reload command. Never turn a\nsetup request into an implicit VSTest-to-MTP migration.\n\nOffer one valid non-MTP fallback that preserves the project:\n\n```shell\ndotnet watch --project \u003Cproject-path> test\n```\n\nThis rebuilds and reruns the existing VSTest project when files change; it is\nnot MTP hot reload. Changing the runner is a separate task, not implicit setup;\nthis repository does not install framework\u002Fplatform migration skills. Exact\none-shot test commands remain owned by `run-tests`.\n\n### Step 2: Add the hot reload NuGet package\n\nFirst inspect the effective package references. If\n`Microsoft.Testing.Extensions.HotReload` is already installed, preserve its\nversion and skip this step. Otherwise install it:\n\n```shell\ndotnet add \u003Cproject-path> package Microsoft.Testing.Extensions.HotReload\n```\n\n> **Note**: When using `Microsoft.Testing.Platform.MSBuild` (included transitively by MSTest, NUnit, and xUnit runners), the extension is auto-registered when you install its NuGet package -- no code changes needed.\n\n### Step 3: Enable hot reload\n\nHot reload is activated by setting the `TESTINGPLATFORM_HOTRELOAD_ENABLED` environment variable to `1`.\n\n**Option A -- Set it in the shell before running tests:**\n\n```shell\n# PowerShell\n$env:TESTINGPLATFORM_HOTRELOAD_ENABLED = \"1\"\n\n# bash\u002Fzsh\nexport TESTINGPLATFORM_HOTRELOAD_ENABLED=1\n```\n\n**Option B -- Add it to `launchSettings.json` (recommended for repeatable use):**\n\nCreate or update `Properties\u002FlaunchSettings.json` in the test project:\n\n```json\n{\n  \"profiles\": {\n    \"\u003CProjectName>\": {\n      \"commandName\": \"Project\",\n      \"environmentVariables\": {\n        \"TESTINGPLATFORM_HOTRELOAD_ENABLED\": \"1\"\n      }\n    }\n  }\n}\n```\n\n### Step 4: Run the tests with hot reload\n\nRun the test project directly (not through `dotnet test`) to use hot reload in console mode:\n\n```shell\ndotnet run --project \u003Cproject-path>\n```\n\nTo filter to specific failing tests, pass the filter after `--`. The syntax depends on the test framework -- see the `filter-syntax` skill for full details. Quick examples:\n\n| Framework | Filter syntax |\n|-----------|--------------|\n| MSTest | `dotnet run --project \u003Cpath> -- --filter \"FullyQualifiedName~TestMethodName\"` |\n| NUnit | `dotnet run --project \u003Cpath> -- --filter \"FullyQualifiedName~TestMethodName\"` |\n| xUnit v3 | `dotnet run --project \u003Cpath> -- --filter-method \"*TestMethodName\"` |\n| TUnit | `dotnet run --project \u003Cpath> -- --treenode-filter \"\u002F*\u002F*\u002FClassName\u002FTestMethodName\"` |\n\nThe test host will start, run the tests, and **remain running** waiting for code changes.\n\n### Step 5: Iterate on the fix\n\n1. Edit the source code (test code or production code) in your editor\n2. The test host detects the changes and re-runs the affected tests automatically\n3. Review the updated results in the console\n4. Repeat until all targeted tests pass\n\n> **Important**: Hot reload currently works in **console mode only**. There is no support for hot reload in Test Explorer for Visual Studio or Visual Studio Code.\n\n#### Unsupported edits and rude edits\n\nMethod-signature changes, new types, and other unsupported edits cannot be\napplied to the active process. Never imply that the stale host picked them up.\n\nFor a directly launched MTP host:\n\n1. Preserve the exact command, profile, environment, filter, and arguments that\n   started the current host.\n2. Stop it with `Ctrl+C`.\n3. Rebuild the same project: `dotnet build \u003Cproject-path>`.\n4. Rerun the **same original host command**. Do not replace an unknown existing\n   invocation with a generic `dotnet run` command.\n\nIf repeated unsupported edits are expected, offer a watch-managed restart\nfallback:\n\n```shell\n# PowerShell\n$env:TESTINGPLATFORM_HOTRELOAD_ENABLED = \"1\"\n$env:DOTNET_WATCH_RESTART_ON_RUDE_EDIT = \"1\"\ndotnet watch --project \u003Cproject-path> run -- \u003Cexisting-MTP-arguments>\n```\n\n`dotnet watch` restarts the process when a rude edit cannot be applied. Without\nthe auto-restart variable, accept the restart prompt or press `Ctrl+R`. Preserve\nany existing test filter after `--`.\n`DOTNET_WATCH_RESTART_ON_RUDE_EDIT` is a documented .NET SDK switch, not an MTP\nextension setting. When correctness may be questioned, cite the `dotnet watch`\ndocumentation and say that it makes the watcher restart instead of prompting.\nNever omit the original filter or replace the requested watch-managed fallback\nwith a one-shot `dotnet run`.\n\n### Step 6: Finalize\n\nOnce all tests pass:\n\n1. Stop the test host (Ctrl+C)\n2. Use `run-tests` when the user requests an exact one-shot validation command,\n   flags, filter, TRX, or dump\n3. Optionally remove `TESTINGPLATFORM_HOTRELOAD_ENABLED` from the environment or keep `launchSettings.json` for future use\n\n## Validation\n\n- [ ] Project uses Microsoft Testing Platform (not VSTest)\n- [ ] `Microsoft.Testing.Extensions.HotReload` package is installed\n- [ ] `TESTINGPLATFORM_HOTRELOAD_ENABLED` environment variable is set to `1`\n- [ ] Tests run and the host remains active waiting for changes\n- [ ] Code changes are picked up without manual restart\n\n## Common Pitfalls\n\n| Pitfall | Solution |\n|---------|----------|\n| Using `dotnet test` instead of `dotnet run` | Hot reload requires `dotnet run --project \u003Cpath>` to run the test host directly in console mode |\n| Project uses VSTest, not MTP | Do not mutate it. Offer `dotnet watch --project \u003Cpath> test` as a rebuild\u002Frerun fallback; platform migration workflows are not installed in this repository |\n| Forgetting to set the environment variable | Set `TESTINGPLATFORM_HOTRELOAD_ENABLED=1` before running |\n| Expecting Test Explorer integration | Console mode only -- no VS\u002FVS Code Test Explorer support |\n| Making unsupported code changes (rude edits) | Stop, rebuild, and rerun the same host invocation, or use `dotnet watch` with restart-on-rude-edit behavior |\n","# MTP Hot Reload for Iterative Test Fixing\n\nSet up and use a long-lived Microsoft Testing Platform host that applies code\nedits and automatically reruns tests.\n\n## When to Use\n\n- User explicitly asks for test hot reload\n- User wants a host to stay running and automatically rerun after repeated edits\n- User needs to set up MTP hot reload in their project\n\n## When Not to Use\n\n- User needs to write new tests from scratch (use general coding assistance)\n- User needs to diagnose why a test is failing (use diagnostic skills)\n- User asks about Visual Studio or VS Code Test Explorer hot reload or an IDE-integrated rerun experience (different feature, not MTP console-host hot reload)\n- User asks whether the editor can auto-rerun affected tests after source edits without using an MTP console host\n- User wants one normal run without rebuilding (use `run-tests`)\n- User needs CI\u002FCD pipeline configuration\n\n## Inputs\n\n| Input | Required | Description |\n|-------|----------|-------------|\n| Test project path | No | Path to the test project (.csproj). Defaults to current directory. |\n| Failing test name or filter | No | Specific test(s) to iterate on |\n\n## Response sizing\n\n- If setup is already complete and the user asks only which command to use,\n  return one `dotnet run --project \u003Cpath>` command and one sentence explaining\n  that it starts the persistent host. Do not repeat package, launch profile, or\n  rude-edit guidance.\n- If the package is already installed, show only the remaining enable-and-run\n  steps. Do not suggest reinstalling it or add optional persistence\u002Frecovery\n  paths unless requested.\n- For a named test, identify the framework and return one runnable command with\n  that framework's filter syntax. Never substitute MSTest\u002FNUnit `--filter` for\n  xUnit v3 `--filter-method` or TUnit `--treenode-filter`.\n- A directly launched MTP host is itself the persistent watcher: `dotnet run`\n  stays alive and the HotReload extension reacts to edits. Do not replace it\n  with `dotnet watch run` for the normal MTP path; reserve `dotnet watch` for the\n  explicit restart fallback below.\n\n## Workflow\n\n### Step 1: Detect the platform before changing anything\n\nHot reload requires MTP. It does **not** work with VSTest.\n\nFollow the complete evaluated-property procedure in the `platform-detection`\nskill. Read imported props and package versions as well as the project file.\nDo this before installing packages, editing files, or returning an MTP launch\ncommand.\n\n**Hard stop for VSTest:** report that MTP hot reload is unavailable for the\nproject as configured and stop the MTP setup path. Do not install the extension,\ncreate `launchSettings.json`, set the environment variable, change runner\nproperties\u002Fpackages, or return a `dotnet run` hot-reload command. Never turn a\nsetup request into an implicit VSTest-to-MTP migration.\n\nOffer one valid non-MTP fallback that preserves the project:\n\n```shell\ndotnet watch --project \u003Cproject-path> test\n```\n\nThis rebuilds and reruns the existing VSTest project when files change; it is\nnot MTP hot reload. Changing the runner is a separate task, not implicit setup;\nthis repository does not install framework\u002Fplatform migration skills. Exact\none-shot test commands remain owned by `run-tests`.\n\n### Step 2: Add the hot reload NuGet package\n\nFirst inspect the effective package references. If\n`Microsoft.Testing.Extensions.HotReload` is already installed, preserve its\nversion and skip this step. Otherwise install it:\n\n```shell\ndotnet add \u003Cproject-path> package Microsoft.Testing.Extensions.HotReload\n```\n\n> **Note**: When using `Microsoft.Testing.Platform.MSBuild` (included transitively by MSTest, NUnit, and xUnit runners), the extension is auto-registered when you install its NuGet package -- no code changes needed.\n\n### Step 3: Enable hot reload\n\nHot reload is activated by setting the `TESTINGPLATFORM_HOTRELOAD_ENABLED` environment variable to `1`.\n\n**Option A -- Set it in the shell before running tests:**\n\n```shell\n# PowerShell\n$env:TESTINGPLATFORM_HOTRELOAD_ENABLED = \"1\"\n\n# bash\u002Fzsh\nexport TESTINGPLATFORM_HOTRELOAD_ENABLED=1\n```\n\n**Option B -- Add it to `launchSettings.json` (recommended for repeatable use):**\n\nCreate or update `Properties\u002FlaunchSettings.json` in the test project:\n\n```json\n{\n  \"profiles\": {\n    \"\u003CProjectName>\": {\n      \"commandName\": \"Project\",\n      \"environmentVariables\": {\n        \"TESTINGPLATFORM_HOTRELOAD_ENABLED\": \"1\"\n      }\n    }\n  }\n}\n```\n\n### Step 4: Run the tests with hot reload\n\nRun the test project directly (not through `dotnet test`) to use hot reload in console mode:\n\n```shell\ndotnet run --project \u003Cproject-path>\n```\n\nTo filter to specific failing tests, pass the filter after `--`. The syntax depends on the test framework -- see the `filter-syntax` skill for full details. Quick examples:\n\n| Framework | Filter syntax |\n|-----------|--------------|\n| MSTest | `dotnet run --project \u003Cpath> -- --filter \"FullyQualifiedName~TestMethodName\"` |\n| NUnit | `dotnet run --project \u003Cpath> -- --filter \"FullyQualifiedName~TestMethodName\"` |\n| xUnit v3 | `dotnet run --project \u003Cpath> -- --filter-method \"*TestMethodName\"` |\n| TUnit | `dotnet run --project \u003Cpath> -- --treenode-filter \"\u002F*\u002F*\u002FClassName\u002FTestMethodName\"` |\n\nThe test host will start, run the tests, and **remain running** waiting for code changes.\n\n### Step 5: Iterate on the fix\n\n1. Edit the source code (test code or production code) in your editor\n2. The test host detects the changes and re-runs the affected tests automatically\n3. Review the updated results in the console\n4. Repeat until all targeted tests pass\n\n> **Important**: Hot reload currently works in **console mode only**. There is no support for hot reload in Test Explorer for Visual Studio or Visual Studio Code.\n\n#### Unsupported edits and rude edits\n\nMethod-signature changes, new types, and other unsupported edits cannot be\napplied to the active process. Never imply that the stale host picked them up.\n\nFor a directly launched MTP host:\n\n1. Preserve the exact command, profile, environment, filter, and arguments that\n   started the current host.\n2. Stop it with `Ctrl+C`.\n3. Rebuild the same project: `dotnet build \u003Cproject-path>`.\n4. Rerun the **same original host command**. Do not replace an unknown existing\n   invocation with a generic `dotnet run` command.\n\nIf repeated unsupported edits are expected, offer a watch-managed restart\nfallback:\n\n```shell\n# PowerShell\n$env:TESTINGPLATFORM_HOTRELOAD_ENABLED = \"1\"\n$env:DOTNET_WATCH_RESTART_ON_RUDE_EDIT = \"1\"\ndotnet watch --project \u003Cproject-path> run -- \u003Cexisting-MTP-arguments>\n```\n\n`dotnet watch` restarts the process when a rude edit cannot be applied. Without\nthe auto-restart variable, accept the restart prompt or press `Ctrl+R`. Preserve\nany existing test filter after `--`.\n`DOTNET_WATCH_RESTART_ON_RUDE_EDIT` is a documented .NET SDK switch, not an MTP\nextension setting. When correctness may be questioned, cite the `dotnet watch`\ndocumentation and say that it makes the watcher restart instead of prompting.\nNever omit the original filter or replace the requested watch-managed fallback\nwith a one-shot `dotnet run`.\n\n### Step 6: Finalize\n\nOnce all tests pass:\n\n1. Stop the test host (Ctrl+C)\n2. Use `run-tests` when the user requests an exact one-shot validation command,\n   flags, filter, TRX, or dump\n3. Optionally remove `TESTINGPLATFORM_HOTRELOAD_ENABLED` from the environment or keep `launchSettings.json` for future use\n\n## Validation\n\n- [ ] Project uses Microsoft Testing Platform (not VSTest)\n- [ ] `Microsoft.Testing.Extensions.HotReload` package is installed\n- [ ] `TESTINGPLATFORM_HOTRELOAD_ENABLED` environment variable is set to `1`\n- [ ] Tests run and the host remains active waiting for changes\n- [ ] Code changes are picked up without manual restart\n\n## Common Pitfalls\n\n| Pitfall | Solution |\n|---------|----------|\n| Using `dotnet test` instead of `dotnet run` | Hot reload requires `dotnet run --project \u003Cpath>` to run the test host directly in console mode |\n| Project uses VSTest, not MTP | Do not mutate it. Offer `dotnet watch --project \u003Cpath> test` as a rebuild\u002Frerun fallback; platform migration workflows are not installed in this repository |\n| Forgetting to set the environment variable | Set `TESTINGPLATFORM_HOTRELOAD_ENABLED=1` before running |\n| Expecting Test Explorer integration | Console mode only -- no VS\u002FVS Code Test Explorer support |\n| Making unsupported code changes (rude edits) | Stop, rebuild, and rerun the same host invocation, or use `dotnet watch` with restart-on-rude-edit behavior |\n",{"name":5,"license":15,"description":52},"Set up or recover MTP hot reload for a long-lived console-host edit\u002Fre-run loop in a Microsoft Testing Platform project. Use for explicit MTP console requests such as \"enable hot reload\", \"dotnet run to rerun on edit\", or unsupported\u002Frude edits. Covers setup, run\u002Fwatch, restarts, filters, and the VSTest no-mutation fallback. For one-time runs, exact commands, filter errors, TRX\u002Fdumps, or merely a failing test, use run-tests. Do not use when Test Explorer or an IDE should rerun tests without an MTP console host. Excludes editor integration, CI, and writing\u002Fdebugging tests.\n","main","f8f2bfd77819bb789d4736ce7db4a567a37fcf7e",".agents\u002Fskills\u002Fmtp-hot-reload",315,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx","https:\u002F\u002Fgithub.com\u002Fmicrosoft","https:\u002F\u002Fopensource.microsoft.com","Open source projects and samples from Microsoft","2026-11-13 00:25:22",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add microsoft\u002Ftestfx --skill mtp-hot-reload",{"tool":68,"command":69},"bunx","bunx skills add microsoft\u002Ftestfx --skill mtp-hot-reload",{"tool":71,"command":72},"pnpm","pnpm dlx skills add microsoft\u002Ftestfx --skill mtp-hot-reload","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fmtp-hot-reload\u002FSKILL.md",true,[],[77,101,126,147,167,191],{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":47},"01M70GYY0AV0JGMTHE2CN6TNYK","dotnet-breaking-changes","Use before changing .NET\u002FC# code whose callers you do not control: a NuGet library, or a repo with PublicAPI.Shipped\u002FUnshipped.txt, ApiCompat, multiple TargetFrameworks, InternalsVisibleTo, or generated (.g.cs) partials. Green builds miss silent breaks from optional parameters, parameter names, sealing, const values, nullability, and #if. USE FOR: \"without breaking existing callers\"; adding a public method, overload, optional parameter, or interface member to a shipped library; renaming a public method or an internal helper a friend assembly uses; consolidating duplicated logic; changing a signature, nullability, default, or attribute; adding a target framework; RS0016\u002FRS0017 or ApiCompat errors; \"is this PR breaking?\". For a rename, extract, or merge, also invoke csharp-refactoring. DO NOT USE FOR: an executable whose callers all live in one project; renaming a local variable or private member, even in a shipped library; formatting; framework\u002FSDK\u002FNuGet upgrades (use dotnet-upgrade).","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fdotnet-breaking-changes\u002FSKILL.md",[],[43,84,85,86,34,87,88,30,89,90,91,92,93,94,95,96,97,98,99,100],"dotnet breaking changes","changes","green","default","local","interface","generated","upgrade","invoke","you","code","refactoring","merge","rename","library","live","assembly",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":108,"publishedAt":47},"01M699HHE9DTZWAMPB1ZR7ZKSW","testfx-test-value-evidence","Apply the vendored test-value-evidence skill with TestFx toolchain, assertion, parallel-safety, packed-consumer, and review conventions. Use when implementing or reviewing behavior-changing TestFx PRs or commits, including source-only changes.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftestfx-test-value-evidence\u002FSKILL.md",[107],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[45,109,110,111,112,113,114,115,116,117,118,119,120,29,121,122,85,123,124,125],"testfx test value evidence","test value evidence","evidence","value","review","parallel","toolchain","commits","implementing","prs","only","use","apply","with","behavior","Safety","conventions",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":47},"01M699HEYWH1B9XGNBFY8J2FZS","testfx-parallel-safety-preflight","Check concurrency and isolation before implementing or refactoring TestFx tests, lifecycle code, helpers, shared-state declarations, or production paths those tests exercise. Use before narrowing DoNotParallelize or ResourceLock, changing parallelization settings, or introducing asynchronous workers; repeat against the final diff.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftestfx-parallel-safety-preflight\u002FSKILL.md",[],[133,124,134,114,135,136,117,137,94,138,95,139,140,141,142,143,144,145,120,146],"testfx parallel safety preflight","preflight","shared","asynchronous","exercise","concurrency","paths","isolation","helpers","diff","parallelization","lifecycle","tests","workers",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":153,"publishedAt":47},"01M699HC61ZV9GJ2C8JV03951G","testfx-localization-validation","Validate generated TestFx localization catalogs, resource IDs, placeholders and locked tokens. Use for RESX\u002FXLF changes, OneLoc PRs, localization build failures, duplicate targets or units, and orphaned translation entries.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftestfx-localization-validation\u002FSKILL.md",[],[154,155,156,157,158,159,160,161,162,118,90,120,163,164,85,165,166],"testfx localization validation","validation","localization","validate","translation","ids","for","tokens","entries","units","duplicate","targets","build",{"skillNo":168,"name":169,"nameZh":6,"description":170,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":171,"categories":172,"keywords":174,"publishedAt":47},"01M699H9J2NWQXE4BDT6R0FH7S","testfx-acceptance-validation","Validate TestFx shipping paths and capable CI execution using packed consumers, package\u002Fcache provenance, exact exits and artifacts, and selected-versus-executed test evidence. Use for acceptance regressions, package\u002FMSBuild\u002Flauncher\u002Fprotocol changes, or skipped-only CI results; not for unrelated unit-only or documentation changes.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Ftestfx-acceptance-validation\u002FSKILL.md",[173],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[175,176,155,45,177,111,178,40,179,119,180,120,181,182,183,184,185,186,187,188,189,190,139,160],"testfx acceptance validation","acceptance","msbuild","launcher","execution","package","cache","artifacts","provenance","documentation","unrelated","shipping","results","protocol","unit","ci results",{"skillNo":192,"name":193,"nameZh":6,"description":194,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":195,"categories":196,"keywords":197,"publishedAt":47},"01M699H70BB999BT4F627T1PHE","session-delivery-hygiene","Gate local-session scope, persistent delivery, live PR state, integration provenance, and owned cleanup. Use before implementing guidance changes, changing or pushing PR work, diagnosing package\u002Foutput mismatches, or handing off implementation.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Ftestfx\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fsession-delivery-hygiene\u002FSKILL.md",[],[198,199,200,201,202,117,88,203,204,99,205,180,120,183,206,207,85,208,209,210],"session delivery hygiene","delivery","session","hygiene","scope","cleanup","work","pr","output","state","integration","guidance","gate"]