[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DZ7MASBTVZ4624APDNM96P":3,"skill-same:01M6DZ7MASBTVZ4624APDNM96P":105},{"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":18,"publishedAt":45,"linkOnly":46,"markdownContent":47,"markdownBody":48,"frontMatter":49,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6DZ7MASBTVZ4624APDNM96P","template-comparison",null,"Compares two or more dotnet new templates side by side to help users choose between them based on parameters, feature support, frameworks, and classifications. USE FOR: deciding between similar templates (webapi vs webapp, blazor vs blazorwasm, console vs worker), producing a side-by-side comparison of parameters and feature support, understanding how templates differ before creating a project. DO NOT USE FOR: creating a project from a template (use template-instantiation), authoring or validating custom templates (use template-authoring and template-validation), general single-template discovery (use template-discovery).","managedcode\u002Fdotnet-skills","managedcode","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F78253589?v=4","01M6DYDJR3EG8KB5G4PC65XCTT","Managed Code","01M6DYDJX0ZT432N04NYJW89DN",514,"MIT","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FTools\u002FOfficial-DotNet-Template-Engine\u002Fskills\u002Ftemplate-comparison\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"comparison","template comparison","template","general","new","single","custom","for","more","feature","worker","project","frameworks","do","support","webapp","use","choose","how","discovery","templates","console","validation","blazor","help","dotnet","2026-11-10 10:12:30",false,"---\nname: template-comparison\ndescription: >\n  Compares two or more dotnet new templates side by side to help users choose between\n  them based on parameters, feature support, frameworks, and classifications.\n  USE FOR: deciding between similar templates (webapi vs webapp, blazor vs\n  blazorwasm, console vs worker), producing a side-by-side comparison of parameters and\n  feature support, understanding how templates differ before creating a project.\n  DO NOT USE FOR: creating a project from a template (use template-instantiation),\n  authoring or validating custom templates (use template-authoring and template-validation),\n  general single-template discovery (use template-discovery).\nlicense: MIT\n---\n\n# Template Comparison\n\nThis skill helps an agent compare 2+ `dotnet new` templates side by side so the user can\npick the right one. It inspects each template's parameters and feature support and renders\na comparison table.\n\n## When to Use\n\n- User is deciding between similar templates (e.g., `webapi` vs `webapp`, `blazor` vs `blazorwasm`)\n- User asks \"which template should I use for X?\"\n- User wants to understand how two or more templates differ before creating a project\n\n## When Not to Use\n\n- User wants to create a project — route to `template-instantiation`\n- User wants to author or validate a custom template — route to `template-authoring` or `template-validation`\n- User just needs to find or inspect a single template — route to `template-discovery`\n\n## Inputs\n\n| Input | Required | Description |\n|-------|----------|-------------|\n| Template short names | Yes | Two or more template short names to compare (e.g., `webapi`, `webapp`) |\n| Comparison focus | No | Optional aspect to emphasize (auth, AOT, frameworks, interactivity) |\n\n## Workflow\n\n**Evidence contract:** a side-by-side table is useful only when every option claim is\ngrounded in the currently installed templates. Run each `--help` command sequentially,\ncapture the same requested dimensions for each template, and label an unavailable option\nas `Not exposed` rather than guessing or borrowing a flag from another template.\n\n**Decision contract:** optimize the comparison for the user's stated decision, not table\nsize. Cover every requested dimension, omit unrelated option rows, give a scenario-specific\nreason, and include one safe `--dry-run` command for the recommended starting point when it\nwould make the recommendation actionable.\n\n### Step 1: Inspect each template\n\nRun `dotnet new \u003Ctemplate> --help` for each template being compared to collect its\nparameters (names, types, defaults, choices) and supported frameworks:\n\n```bash\ndotnet new webapi --help\ndotnet new webapp --help\n```\n\nIf a template is not installed, search for its provider and report the missing prerequisite.\nInstall it only when the user asked you to modify the environment or approved the install.\n\n> **Run `--help` calls sequentially.** The template engine uses a global mutex, so running\n> several `dotnet new \u003Ctemplate> --help` commands concurrently can fail with a transient\n> \"mutex\"\u002F\"persistence\" error and empty output. Inspect templates one at a time; if a call\n> fails, retry it once before moving on, and still produce the comparison from whatever\n> parameter knowledge you have rather than ending with no answer.\n\n### Step 2: Build the comparison table\n\nProduce a side-by-side table covering:\n\n- **Parameters** — name, type, default, choices\n- **Feature support** — auth, AOT, Docker, controllers, interactivity\n- **Available frameworks** — e.g., net8.0, net9.0, net10.0\n- **Classifications** — categories the template advertises (Web, API, Blazor, etc.)\n\nUse one row per requested decision dimension and cite the observed option name in the cell.\nDo not fill a requested row with general framework knowledge when it is specifically about\nwhat the template generates or exposes.\n\nWhen the user asks about **generated dependencies** without allowing project creation,\ninspect the installed template package's source `.csproj` files. `--help` and `--dry-run`\ndo not reveal package references. Do not create temporary projects merely to inspect them,\nand do not guess current package IDs or test-platform defaults.\n\nExample shape:\n\n| Aspect | `webapi` | `webapp` |\n|--------|----------|----------|\n| Auth (`--auth`) | None, Individual, SingleOrg, Windows | None, Individual, SingleOrg, ... |\n| AOT (`--aot` flag) | present if `dotnet new webapi --help` lists `--aot` | present if `dotnet new webapp --help` lists `--aot` |\n| Controllers (`--use-controllers`) | Yes | n\u002Fa |\n| Interactivity | n\u002Fa | n\u002Fa |\n| Frameworks | net8.0 \u002F net9.0 \u002F net10.0 | net8.0 \u002F net9.0 \u002F net10.0 |\n| Classifications | Web, WebAPI | Web, Razor Pages |\n\n### Step 3: Recommend\n\nEnd with a decisive **Recommendation** line — never leave the user with just a table. Format:\n\n> **Recommendation: `\u003Ctemplate>`** — one sentence tying the choice to the user's stated scenario. (Pick the other if `\u003Ccondition>`.)\n\nThen link to `template-instantiation` to create it. A comparison that ends without naming a winner (or a clear \"it depends on X\") is incomplete — that indecision is what makes this skill tie with a plain answer.\n\n### Decision shortcuts for common pairs\n\nUse these only for the recommendation, not as evidence of current parameter support. Still\ninspect with `--help` before filling the comparison table:\n\n| Pair | Default pick | Because |\n|------|-------------|---------|\n| `webapi` vs `webapp` | **`webapi`** for a JSON\u002FREST backend; `webapp` for server-rendered HTML\u002FRazor Pages | webapi ships controllers\u002Fminimal APIs + OpenAPI, no UI |\n| `blazor` vs `blazorwasm` | **`blazorwasm`** when offline \u002F no server is required; `blazor` (Web App) for flexible server + client interactivity | Standalone WASM runs fully client-side, works offline |\n| `worker` vs `console` | **`worker`** for long-lived\u002Fqueue\u002Fbackground processing | Generic Host: DI, logging, config, graceful shutdown, `IHostedService` lifecycle |\n| `mvc` vs `webapp` | **`webapp`** (Razor Pages) for page-focused apps; `mvc` for controller\u002Fview separation at scale | Razor Pages is lighter for CRUD-style pages |\n\nThese constraints override the shorthand above:\n\n- Choose **`mvc`** when the user explicitly anticipates a large application or shared\n  controller logic, even if its first pages are CRUD-focused.\n- Choose **`blazor` with Server interactivity** over `webapp` when rich interactive forms\n  are central but useful HTML must arrive on the first response. Explain that the initial\n  render is server-produced and that interactive components use the Blazor form\u002Fcomponent\n  model rather than Razor Pages `PageModel`.\n- For **offline support**, choose `blazorwasm` and explain the PWA\u002Fservice-worker requirement,\n  cached-after-first-load behavior, and lack of a required live server for execution.\n- For a **durable queue processor**, choose `worker` and tie the decision to Generic Host\n  lifecycle, dependency injection, configuration, logging, graceful shutdown, and a real\n  durable queue rather than an in-memory loop.\n\n## Validation\n\n- [ ] Every template requested was inspected via `dotnet new \u003Ctemplate> --help`\n- [ ] The comparison covers parameters, feature support, frameworks, and classifications\n- [ ] Differences relevant to the user's scenario are called out explicitly\n- [ ] A recommendation (or clear trade-off) is provided\n- [ ] Unsupported or absent options are labeled instead of guessed\n- [ ] The final recommendation is a single decisive `Recommendation:` line\n\n## Common Pitfalls\n\n| Pitfall | Solution |\n|---------|----------|\n| Comparing uninstalled templates from memory | Install and inspect each template so the comparison reflects the real parameters and choices. |\n| Assuming feature parity | Parameter names and feature support vary by template — confirm each with `--help`. |\n| Comparing fundamentally different template types | Only compare templates that solve overlapping problems; note when they target different scenarios. |\n\n## More Info\n\n- [dotnet new templates](https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fcore\u002Ftools\u002Fdotnet-new-sdk-templates) — built-in template reference\n- [dotnet new](https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fcore\u002Ftools\u002Fdotnet-new) — CLI reference\n","# Template Comparison\n\nThis skill helps an agent compare 2+ `dotnet new` templates side by side so the user can\npick the right one. It inspects each template's parameters and feature support and renders\na comparison table.\n\n## When to Use\n\n- User is deciding between similar templates (e.g., `webapi` vs `webapp`, `blazor` vs `blazorwasm`)\n- User asks \"which template should I use for X?\"\n- User wants to understand how two or more templates differ before creating a project\n\n## When Not to Use\n\n- User wants to create a project — route to `template-instantiation`\n- User wants to author or validate a custom template — route to `template-authoring` or `template-validation`\n- User just needs to find or inspect a single template — route to `template-discovery`\n\n## Inputs\n\n| Input | Required | Description |\n|-------|----------|-------------|\n| Template short names | Yes | Two or more template short names to compare (e.g., `webapi`, `webapp`) |\n| Comparison focus | No | Optional aspect to emphasize (auth, AOT, frameworks, interactivity) |\n\n## Workflow\n\n**Evidence contract:** a side-by-side table is useful only when every option claim is\ngrounded in the currently installed templates. Run each `--help` command sequentially,\ncapture the same requested dimensions for each template, and label an unavailable option\nas `Not exposed` rather than guessing or borrowing a flag from another template.\n\n**Decision contract:** optimize the comparison for the user's stated decision, not table\nsize. Cover every requested dimension, omit unrelated option rows, give a scenario-specific\nreason, and include one safe `--dry-run` command for the recommended starting point when it\nwould make the recommendation actionable.\n\n### Step 1: Inspect each template\n\nRun `dotnet new \u003Ctemplate> --help` for each template being compared to collect its\nparameters (names, types, defaults, choices) and supported frameworks:\n\n```bash\ndotnet new webapi --help\ndotnet new webapp --help\n```\n\nIf a template is not installed, search for its provider and report the missing prerequisite.\nInstall it only when the user asked you to modify the environment or approved the install.\n\n> **Run `--help` calls sequentially.** The template engine uses a global mutex, so running\n> several `dotnet new \u003Ctemplate> --help` commands concurrently can fail with a transient\n> \"mutex\"\u002F\"persistence\" error and empty output. Inspect templates one at a time; if a call\n> fails, retry it once before moving on, and still produce the comparison from whatever\n> parameter knowledge you have rather than ending with no answer.\n\n### Step 2: Build the comparison table\n\nProduce a side-by-side table covering:\n\n- **Parameters** — name, type, default, choices\n- **Feature support** — auth, AOT, Docker, controllers, interactivity\n- **Available frameworks** — e.g., net8.0, net9.0, net10.0\n- **Classifications** — categories the template advertises (Web, API, Blazor, etc.)\n\nUse one row per requested decision dimension and cite the observed option name in the cell.\nDo not fill a requested row with general framework knowledge when it is specifically about\nwhat the template generates or exposes.\n\nWhen the user asks about **generated dependencies** without allowing project creation,\ninspect the installed template package's source `.csproj` files. `--help` and `--dry-run`\ndo not reveal package references. Do not create temporary projects merely to inspect them,\nand do not guess current package IDs or test-platform defaults.\n\nExample shape:\n\n| Aspect | `webapi` | `webapp` |\n|--------|----------|----------|\n| Auth (`--auth`) | None, Individual, SingleOrg, Windows | None, Individual, SingleOrg, ... |\n| AOT (`--aot` flag) | present if `dotnet new webapi --help` lists `--aot` | present if `dotnet new webapp --help` lists `--aot` |\n| Controllers (`--use-controllers`) | Yes | n\u002Fa |\n| Interactivity | n\u002Fa | n\u002Fa |\n| Frameworks | net8.0 \u002F net9.0 \u002F net10.0 | net8.0 \u002F net9.0 \u002F net10.0 |\n| Classifications | Web, WebAPI | Web, Razor Pages |\n\n### Step 3: Recommend\n\nEnd with a decisive **Recommendation** line — never leave the user with just a table. Format:\n\n> **Recommendation: `\u003Ctemplate>`** — one sentence tying the choice to the user's stated scenario. (Pick the other if `\u003Ccondition>`.)\n\nThen link to `template-instantiation` to create it. A comparison that ends without naming a winner (or a clear \"it depends on X\") is incomplete — that indecision is what makes this skill tie with a plain answer.\n\n### Decision shortcuts for common pairs\n\nUse these only for the recommendation, not as evidence of current parameter support. Still\ninspect with `--help` before filling the comparison table:\n\n| Pair | Default pick | Because |\n|------|-------------|---------|\n| `webapi` vs `webapp` | **`webapi`** for a JSON\u002FREST backend; `webapp` for server-rendered HTML\u002FRazor Pages | webapi ships controllers\u002Fminimal APIs + OpenAPI, no UI |\n| `blazor` vs `blazorwasm` | **`blazorwasm`** when offline \u002F no server is required; `blazor` (Web App) for flexible server + client interactivity | Standalone WASM runs fully client-side, works offline |\n| `worker` vs `console` | **`worker`** for long-lived\u002Fqueue\u002Fbackground processing | Generic Host: DI, logging, config, graceful shutdown, `IHostedService` lifecycle |\n| `mvc` vs `webapp` | **`webapp`** (Razor Pages) for page-focused apps; `mvc` for controller\u002Fview separation at scale | Razor Pages is lighter for CRUD-style pages |\n\nThese constraints override the shorthand above:\n\n- Choose **`mvc`** when the user explicitly anticipates a large application or shared\n  controller logic, even if its first pages are CRUD-focused.\n- Choose **`blazor` with Server interactivity** over `webapp` when rich interactive forms\n  are central but useful HTML must arrive on the first response. Explain that the initial\n  render is server-produced and that interactive components use the Blazor form\u002Fcomponent\n  model rather than Razor Pages `PageModel`.\n- For **offline support**, choose `blazorwasm` and explain the PWA\u002Fservice-worker requirement,\n  cached-after-first-load behavior, and lack of a required live server for execution.\n- For a **durable queue processor**, choose `worker` and tie the decision to Generic Host\n  lifecycle, dependency injection, configuration, logging, graceful shutdown, and a real\n  durable queue rather than an in-memory loop.\n\n## Validation\n\n- [ ] Every template requested was inspected via `dotnet new \u003Ctemplate> --help`\n- [ ] The comparison covers parameters, feature support, frameworks, and classifications\n- [ ] Differences relevant to the user's scenario are called out explicitly\n- [ ] A recommendation (or clear trade-off) is provided\n- [ ] Unsupported or absent options are labeled instead of guessed\n- [ ] The final recommendation is a single decisive `Recommendation:` line\n\n## Common Pitfalls\n\n| Pitfall | Solution |\n|---------|----------|\n| Comparing uninstalled templates from memory | Install and inspect each template so the comparison reflects the real parameters and choices. |\n| Assuming feature parity | Parameter names and feature support vary by template — confirm each with `--help`. |\n| Comparing fundamentally different template types | Only compare templates that solve overlapping problems; note when they target different scenarios. |\n\n## More Info\n\n- [dotnet new templates](https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fcore\u002Ftools\u002Fdotnet-new-sdk-templates) — built-in template reference\n- [dotnet new](https:\u002F\u002Flearn.microsoft.com\u002Fdotnet\u002Fcore\u002Ftools\u002Fdotnet-new) — CLI reference\n",{"name":5,"license":15,"description":50},"Compares two or more dotnet new templates side by side to help users choose between them based on parameters, feature support, frameworks, and classifications. USE FOR: deciding between similar templates (webapi vs webapp, blazor vs blazorwasm, console vs worker), producing a side-by-side comparison of parameters and feature support, understanding how templates differ before creating a project. DO NOT USE FOR: creating a project from a template (use template-instantiation), authoring or validating custom templates (use template-authoring and template-validation), general single-template discovery (use template-discovery).\n","main","497cc9aba79a931ac6fb8d36a48cc22fe3d6d74b","catalog\u002FTools\u002FOfficial-DotNet-Template-Engine\u002Fskills\u002Ftemplate-comparison",41,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills","https:\u002F\u002Fskills.managed-code.com","https:\u002F\u002Fgithub.com\u002Fmanagedcode","https:\u002F\u002Fwww.managed-code.com","Open Source Community for .NET Developers: Reliable, Actively Maintained, and Community-Driven. Made in Ukraine 🇺🇦 with ❤️","2026-11-12 19:59:36",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add managedcode\u002Fdotnet-skills --skill template-comparison",{"tool":67,"command":68},"bunx","bunx skills add managedcode\u002Fdotnet-skills --skill template-comparison",{"tool":70,"command":71},"pnpm","pnpm dlx skills add managedcode\u002Fdotnet-skills --skill template-comparison","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FTools\u002FOfficial-DotNet-Template-Engine\u002Fskills\u002Ftemplate-comparison\u002FSKILL.md",true,[75,81,85,89,93,97,101],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"manifest.json","REFERENCE","参考文档",156,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FTools\u002FOfficial-DotNet-Template-Engine\u002Fskills\u002Ftemplate-comparison\u002Fmanifest.json",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"references\u002Fcrs-management.md",4835,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fcrs-management.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fdata-io.md",3690,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fdata-io.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fdata-structures.md",1638,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fdata-structures.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fgeometric-operations.md",4183,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fgeometric-operations.md",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002Fspatial-analysis.md",4816,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fspatial-analysis.md",{"path":102,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fvisualization.md",5415,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fgeopandas\u002Freferences\u002Fvisualization.md",[106,143,166,196,206,232],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":122,"publishedAt":45},"01M6DYQE1Y9FHAQHEDTVFQ3447","xtwitter-scraper","Use XTwitterScraper when a .NET application needs typed access to Xquik's X automation REST API for tweet search, user lookup, posting workflows, extraction jobs, monitors, webhooks, or giveaway draws. USE FOR: integrating the XTwitterScraper NuGet package; reviewing Xquik API client usage; modeling API-key configuration, pagination, binary exports, raw responses, retries, and webhook\u002Fevent flows in .NET. DO NOT USE FOR: unrelated stacks; direct browser automation; generic social-media strategy; or code that does not call Xquik. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FLibraries\u002FXTwitterScraper\u002Fskills\u002Fxtwitter-scraper\u002FSKILL.md",[112,117],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142],"xtwitter scraper","browser automation","workflows","run","code","browser","search","repository","api","Media","api client","access","edit","unrelated","webhooks","files","social","commands","modeling","webhook",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":155,"publishedAt":45},"01M6DYQ9S4PE1H6G8MCH9T21HR","sep","Use Sep for high-performance separated-value parsing and writing in .NET, including delimiter inference, explicit parser\u002Fwriter options, and low-allocation row\u002Fcolumn workflows. USE FOR: delimited data needs are performance-sensitive and allocation-aware; project needs explicit control over separator inference, escaping, trimming, and header behavior;. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fcatalog\u002FLibraries\u002FSep\u002Fskills\u002Fsep\u002FSKILL.md",[149,152],{"categoryNo":150,"categoryName":151,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":153,"categoryName":154,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000036","内容创作者",[145,156,157,125,158,126,130,159,160,161,135,162,136,138,32,163,164,30,140,165],"writing","performance","tasks","data","parsing","parser","context","writer","options","high-performance",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":172,"publishedAt":45},"01M6DZS2DNEPXCGGF6SSCW6G5V","webgpu-threejs-tsl","Comprehensive guide for developing WebGPU-enabled Three.js applications using TSL (Three.js Shading Language). Covers WebGPU renderer setup, TSL syntax and node materials, compute shaders, post-processing effects, and WGSL integration. Use this skill when working with Three.js WebGPU, TSL shaders, node materials, or GPU compute in Three.js.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002FSKILL.md",[],[173,174,175,176,177,178,179,180,181,182,183,184,35,185,186,187,188,189,190,191,26,192,193,194,195],"webgpu","threejs","webgpu threejs tsl","setup","shaders","gpu","integration","applications","js","node","syntax","guide","language","three","compute","post","processing","with","renderer","materials","wgsl","effects","when",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":202,"publishedAt":45},"01M6DZS0BQXW2B56A289XF1X76","roslynk","Use Roslynk for semantic inspection and edits of *.cs, *.razor and *.cshtml solution files.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Froslynk\u002Fskills\u002Froslynk\u002FSKILL.md",[],[198,35,138,203,204,26,205],"semantic","razor","inspection",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":212,"publishedAt":45},"01M6DZRW6MEJCVW80K3S4XV60K","system-text-json-net11","Imperative guidance for the System.Text.Json APIs added in .NET 11: the built-in `JsonNamingPolicy.PascalCase` naming policy, and the strongly-typed generic `JsonSerializerOptions.GetTypeInfo` and `JsonSerializerOptions.TryGetTypeInfo` metadata accessors (generic overloads that return a typed `JsonTypeInfo`). USE ONLY when the user is targeting net11.0 or later and needs PascalCase JSON property or dictionary-key names without writing a custom naming policy, a strongly-typed generic `JsonTypeInfo` instead of the non-generic `JsonTypeInfo`, or a no-throw way to probe whether a type's serialization metadata is resolved. DO NOT USE when the target is earlier than net11.0, the requested behavior uses an established pre-net11 naming policy, or the user explicitly selected another JSON library.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet11\u002Fskills\u002Fsystem-text-json-net11\u002FSKILL.md",[],[213,214,215,216,156,217,218,219,220,221,222,35,223,224,225,226,32,227,228,229,230,26,25,231,195],"system","json","text","system text json net11","policy","metadata","library","serialization","behavior","user","only","probe","guidance","later","type","dictionary","naming","targeting","generic",{"skillNo":233,"name":234,"nameZh":6,"description":235,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":236,"categories":237,"keywords":240,"publishedAt":45},"01M6DZRRJP3S662NFSG1RSPQQ7","process-api-net11","Provides guidance on the new System.Diagnostics.Process APIs introduced in .NET 11: Process.Run, Process.RunAndCaptureText, Process.StartAndForget, Process.ReadAllText\u002FBytes\u002FLines, KillOnParentExit, InheritedHandles, and StartDetached. USE FOR: starting, orchestrating, or capturing output from external processes in applications targeting net11.0 or later. DO NOT USE FOR: applications targeting .NET 10 or earlier, or basic pre-.NET 11 Process.Start usage without new APIs.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet11\u002Fskills\u002Fprocess-api-net11\u002FSKILL.md",[238,239],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},[131,241,242,243,126,244,180,213,35,225,226,32,245,246,247,248,230,26,23],"process","process api net11","diagnostics","start","basic","processes","output","usage"]