[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DZS2DNEPXCGGF6SSCW6G5V":3,"skill-same:01M6DZS2DNEPXCGGF6SSCW6G5V":179},{"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":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":54,"ownerHtmlUrl":55,"ownerBlogUrl":56,"ownerDescription":57,"updatedAt":58,"install":59,"resources":72},"01M6DZS2DNEPXCGGF6SSCW6G5V","webgpu-threejs-tsl",null,"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.","managedcode\u002Fdotnet-skills","managedcode","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F78253589?v=4","01M6DYDJR3EG8KB5G4PC65XCTT","Managed Code","01M6DYDJX0ZT432N04NYJW89DN",512,"MIT","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\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],"threejs","webgpu threejs tsl","webgpu","language","when","effects","wgsl","materials","for","renderer","with","processing","post","compute","three","use","guide","syntax","node","js","applications","integration","gpu","shaders","setup","2026-11-10 10:12:30",false,"---\nname: webgpu-threejs-tsl\ndescription: 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.\n---\n\n# WebGPU Three.js with TSL\n\nTSL (Three.js Shading Language) is a node-based shader abstraction that lets you write GPU shaders in JavaScript instead of GLSL\u002FWGSL strings.\n\n## Quick Start\n\n```javascript\nimport * as THREE from 'three\u002Fwebgpu';\nimport { color, time, oscSine } from 'three\u002Ftsl';\n\nconst renderer = new THREE.WebGPURenderer();\nawait renderer.init();\n\nconst material = new THREE.MeshStandardNodeMaterial();\nmaterial.colorNode = color(0xff0000).mul(oscSine(time));\n```\n\n## Skill Contents\n\n### Documentation\n- `docs\u002Fcore-concepts.md` - Types, operators, uniforms, control flow\n- `docs\u002Fmaterials.md` - Node materials and all properties\n- `docs\u002Fcompute-shaders.md` - GPU compute with instanced arrays\n- `docs\u002Fpost-processing.md` - Built-in and custom effects\n- `docs\u002Fwgsl-integration.md` - Custom WGSL functions\n- `docs\u002Fdevice-loss.md` - Handling GPU device loss and recovery\n- `docs\u002Flimits-and-features.md` - WebGPU device limits and optional features\n\n### Examples\n- `examples\u002Fbasic-setup.js` - Minimal WebGPU project\n- `examples\u002Fcustom-material.js` - Custom shader material\n- `examples\u002Fparticle-system.js` - GPU compute particles\n- `examples\u002Fpost-processing.js` - Effect pipeline\n- `examples\u002Fearth-shader.js` - Complete Earth with atmosphere\n\n### Templates\n- `templates\u002Fwebgpu-project.js` - Starter project template\n- `templates\u002Fcompute-shader.js` - Compute shader template\n\n### Reference\n- `REFERENCE.md` - Quick reference cheatsheet\n\n## Key Concepts\n\n### Import Pattern\n```javascript\n\u002F\u002F Always use the WebGPU entry point\nimport * as THREE from 'three\u002Fwebgpu';\nimport { \u002F* TSL functions *\u002F } from 'three\u002Ftsl';\n```\n\n### Node Materials\nReplace standard material properties with TSL nodes:\n```javascript\nmaterial.colorNode = texture(map);        \u002F\u002F instead of material.map\nmaterial.roughnessNode = float(0.5);      \u002F\u002F instead of material.roughness\nmaterial.positionNode = displaced;         \u002F\u002F vertex displacement\n```\n\n### Method Chaining\nTSL uses method chaining for operations:\n```javascript\n\u002F\u002F Instead of: sin(time * 2.0 + offset) * 0.5 + 0.5\ntime.mul(2.0).add(offset).sin().mul(0.5).add(0.5)\n```\n\n### Custom Functions\nUse `Fn()` for reusable shader logic:\n```javascript\nconst fresnel = Fn(([power = 2.0]) => {\n  const nDotV = normalWorld.dot(viewDir).saturate();\n  return float(1.0).sub(nDotV).pow(power);\n});\n```\n\n## When to Use This Skill\n\n- Setting up Three.js with WebGPU renderer\n- Creating custom shader materials with TSL\n- Writing GPU compute shaders\n- Building post-processing pipelines\n- Migrating from GLSL to TSL\n- Implementing visual effects (particles, water, terrain, etc.)\n\n## Resources\n\n- [Three.js TSL Wiki](https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Fwiki\u002FThree.js-Shading-Language)\n- [WebGPU Examples](https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Ftree\u002Fmaster\u002Fexamples) (files prefixed with `webgpu_`)\n","# WebGPU Three.js with TSL\n\nTSL (Three.js Shading Language) is a node-based shader abstraction that lets you write GPU shaders in JavaScript instead of GLSL\u002FWGSL strings.\n\n## Quick Start\n\n```javascript\nimport * as THREE from 'three\u002Fwebgpu';\nimport { color, time, oscSine } from 'three\u002Ftsl';\n\nconst renderer = new THREE.WebGPURenderer();\nawait renderer.init();\n\nconst material = new THREE.MeshStandardNodeMaterial();\nmaterial.colorNode = color(0xff0000).mul(oscSine(time));\n```\n\n## Skill Contents\n\n### Documentation\n- `docs\u002Fcore-concepts.md` - Types, operators, uniforms, control flow\n- `docs\u002Fmaterials.md` - Node materials and all properties\n- `docs\u002Fcompute-shaders.md` - GPU compute with instanced arrays\n- `docs\u002Fpost-processing.md` - Built-in and custom effects\n- `docs\u002Fwgsl-integration.md` - Custom WGSL functions\n- `docs\u002Fdevice-loss.md` - Handling GPU device loss and recovery\n- `docs\u002Flimits-and-features.md` - WebGPU device limits and optional features\n\n### Examples\n- `examples\u002Fbasic-setup.js` - Minimal WebGPU project\n- `examples\u002Fcustom-material.js` - Custom shader material\n- `examples\u002Fparticle-system.js` - GPU compute particles\n- `examples\u002Fpost-processing.js` - Effect pipeline\n- `examples\u002Fearth-shader.js` - Complete Earth with atmosphere\n\n### Templates\n- `templates\u002Fwebgpu-project.js` - Starter project template\n- `templates\u002Fcompute-shader.js` - Compute shader template\n\n### Reference\n- `REFERENCE.md` - Quick reference cheatsheet\n\n## Key Concepts\n\n### Import Pattern\n```javascript\n\u002F\u002F Always use the WebGPU entry point\nimport * as THREE from 'three\u002Fwebgpu';\nimport { \u002F* TSL functions *\u002F } from 'three\u002Ftsl';\n```\n\n### Node Materials\nReplace standard material properties with TSL nodes:\n```javascript\nmaterial.colorNode = texture(map);        \u002F\u002F instead of material.map\nmaterial.roughnessNode = float(0.5);      \u002F\u002F instead of material.roughness\nmaterial.positionNode = displaced;         \u002F\u002F vertex displacement\n```\n\n### Method Chaining\nTSL uses method chaining for operations:\n```javascript\n\u002F\u002F Instead of: sin(time * 2.0 + offset) * 0.5 + 0.5\ntime.mul(2.0).add(offset).sin().mul(0.5).add(0.5)\n```\n\n### Custom Functions\nUse `Fn()` for reusable shader logic:\n```javascript\nconst fresnel = Fn(([power = 2.0]) => {\n  const nDotV = normalWorld.dot(viewDir).saturate();\n  return float(1.0).sub(nDotV).pow(power);\n});\n```\n\n## When to Use This Skill\n\n- Setting up Three.js with WebGPU renderer\n- Creating custom shader materials with TSL\n- Writing GPU compute shaders\n- Building post-processing pipelines\n- Migrating from GLSL to TSL\n- Implementing visual effects (particles, water, terrain, etc.)\n\n## Resources\n\n- [Three.js TSL Wiki](https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Fwiki\u002FThree.js-Shading-Language)\n- [WebGPU Examples](https:\u002F\u002Fgithub.com\u002Fmrdoob\u002Fthree.js\u002Ftree\u002Fmaster\u002Fexamples) (files prefixed with `webgpu_`)\n",{"name":5,"description":7},"main","497cc9aba79a931ac6fb8d36a48cc22fe3d6d74b","external-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl",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-11 19:34:28",{"source":8,"skillName":5,"commands":60,"prompt":70,"zipAvailable":71},[61,64,67],{"tool":62,"command":63},"npx","npx skills add managedcode\u002Fdotnet-skills --skill webgpu-threejs-tsl",{"tool":65,"command":66},"bunx","bunx skills add managedcode\u002Fdotnet-skills --skill webgpu-threejs-tsl",{"tool":68,"command":69},"pnpm","pnpm dlx skills add managedcode\u002Fdotnet-skills --skill webgpu-threejs-tsl","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002FSKILL.md",true,[73,79,85,89,93,99,103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175],{"path":74,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":77,"sourceHtmlUrl":78},"assets\u002Fcolor_palettes.py","SCRIPT","脚本",5754,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Fassets\u002Fcolor_palettes.py",{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"assets\u002Fnature.mplstyle","ASSET","资产文件",1449,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Fassets\u002Fnature.mplstyle",{"path":86,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":87,"sourceHtmlUrl":88},"assets\u002Fpresentation.mplstyle",1309,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Fassets\u002Fpresentation.mplstyle",{"path":90,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":91,"sourceHtmlUrl":92},"assets\u002Fpublication.mplstyle",1474,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Fassets\u002Fpublication.mplstyle",{"path":94,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":97,"sourceHtmlUrl":98},"docs\u002Fcompute-shaders.md","REFERENCE","参考文档",15640,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Fcompute-shaders.md",{"path":100,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":101,"sourceHtmlUrl":102},"docs\u002Fcore-concepts.md",10969,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Fcore-concepts.md",{"path":104,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":105,"sourceHtmlUrl":106},"docs\u002Fdevice-loss.md",9198,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Fdevice-loss.md",{"path":108,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":109,"sourceHtmlUrl":110},"docs\u002Flimits-and-features.md",5017,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Flimits-and-features.md",{"path":112,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":113,"sourceHtmlUrl":114},"docs\u002Fmaterials.md",8786,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Fmaterials.md",{"path":116,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":117,"sourceHtmlUrl":118},"docs\u002Fpost-processing.md",13299,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Fpost-processing.md",{"path":120,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":121,"sourceHtmlUrl":122},"docs\u002Fwgsl-integration.md",6592,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fdocs\u002Fwgsl-integration.md",{"path":124,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":125,"sourceHtmlUrl":126},"examples\u002Fbasic-setup.js",2279,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fexamples\u002Fbasic-setup.js",{"path":128,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":129,"sourceHtmlUrl":130},"examples\u002Fcustom-material.js",4251,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fexamples\u002Fcustom-material.js",{"path":132,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":133,"sourceHtmlUrl":134},"examples\u002Fearth-shader.js",8568,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fexamples\u002Fearth-shader.js",{"path":136,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":137,"sourceHtmlUrl":138},"examples\u002Fparticle-system.js",7338,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fexamples\u002Fparticle-system.js",{"path":140,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":141,"sourceHtmlUrl":142},"examples\u002Fpost-processing.js",5201,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Fexamples\u002Fpost-processing.js",{"path":144,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":145,"sourceHtmlUrl":146},"REFERENCE.md",9053,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002FREFERENCE.md",{"path":148,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":149,"sourceHtmlUrl":150},"references\u002Fcolor_palettes.md",9861,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Freferences\u002Fcolor_palettes.md",{"path":152,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":153,"sourceHtmlUrl":154},"references\u002Fjournal_requirements.md",9533,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Freferences\u002Fjournal_requirements.md",{"path":156,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":157,"sourceHtmlUrl":158},"references\u002Fmatplotlib_examples.md",18103,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Freferences\u002Fmatplotlib_examples.md",{"path":160,"resourceType":95,"resourceTypeDesc":96,"sizeBytes":161,"sourceHtmlUrl":162},"references\u002Fpublication_guidelines.md",8556,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Freferences\u002Fpublication_guidelines.md",{"path":164,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":165,"sourceHtmlUrl":166},"scripts\u002Ffigure_export.py",10904,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Fscripts\u002Ffigure_export.py",{"path":168,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":169,"sourceHtmlUrl":170},"scripts\u002Fstyle_presets.py",12199,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__Microck--claude-scientific-skills\u002Fscientific-skills\u002Fscientific-visualization\u002Fscripts\u002Fstyle_presets.py",{"path":172,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":173,"sourceHtmlUrl":174},"templates\u002Fcompute-shader.js",9473,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Ftemplates\u002Fcompute-shader.js",{"path":176,"resourceType":75,"resourceTypeDesc":76,"sizeBytes":177,"sourceHtmlUrl":178},"templates\u002Fwebgpu-project.js",6319,"https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fwebgpu-claude-skill\u002Fskills\u002Fwebgpu-threejs-tsl\u002Ftemplates\u002Fwebgpu-project.js",[180,217,242,252,279,297],{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":196,"publishedAt":44},"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",[186,191],{"categoryNo":187,"categoryName":188,"taxonomyType":189,"taxonomyTypeDesc":190},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":192,"categoryName":193,"taxonomyType":194,"taxonomyTypeDesc":195},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216],"xtwitter scraper","browser automation","workflows","run","code","browser","search","repository","api","Media","api client","access","edit","unrelated","webhooks","files","social","commands","modeling","webhook",{"skillNo":218,"name":219,"nameZh":6,"description":220,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":221,"categories":222,"keywords":229,"publishedAt":44},"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",[223,226],{"categoryNo":224,"categoryName":225,"taxonomyType":189,"taxonomyTypeDesc":190},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":227,"categoryName":228,"taxonomyType":194,"taxonomyTypeDesc":195},"01JBSEEDCAT000000000000036","内容创作者",[219,230,231,199,232,200,204,233,234,235,209,236,210,212,237,238,239,240,214,241],"writing","performance","tasks","data","parsing","parser","context","do","writer","options","project","high-performance",{"skillNo":243,"name":244,"nameZh":6,"description":245,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":246,"categories":247,"keywords":248,"publishedAt":44},"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",[],[244,34,212,249,250,27,251],"semantic","razor","inspection",{"skillNo":253,"name":254,"nameZh":6,"description":255,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":256,"categories":257,"keywords":258,"publishedAt":44},"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",[],[259,260,261,262,230,263,264,265,266,267,268,34,269,270,271,272,237,273,274,275,276,27,277,278,23],"system","json","text","system text json net11","policy","metadata","library","serialization","behavior","user","only","probe","guidance","later","type","dictionary","naming","targeting","custom","generic",{"skillNo":280,"name":281,"nameZh":6,"description":282,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":283,"categories":284,"keywords":287,"publishedAt":44},"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",[285,286],{"categoryNo":187,"categoryName":188,"taxonomyType":189,"taxonomyTypeDesc":190},{"categoryNo":192,"categoryName":193,"taxonomyType":194,"taxonomyTypeDesc":195},[205,288,289,290,200,291,39,259,34,271,272,237,292,293,294,295,276,27,296],"process","process api net11","diagnostics","start","basic","processes","output","usage","new",{"skillNo":298,"name":299,"nameZh":6,"description":300,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":301,"categories":302,"keywords":303,"publishedAt":44},"01M6DZRMGPYXYFYNWSFMDTY0QW","setup-local-sdk","Install a .NET SDK locally for safe preview testing, specific-version pinning, or reproducible team setups — without modifying the system-wide installation. USE FOR: trying .NET previews safely, testing specific SDK versions, installing MAUI or other workloads on a preview, updating or replacing an existing local SDK, creating reproducible team\u002FCI install scripts, configuring global.json paths. DO NOT USE FOR: system-wide SDK installs, .NET hosts older than 10, runtime-only installs, or projects not using SDK-style commands.","https:\u002F\u002Fgithub.com\u002Fmanagedcode\u002Fdotnet-skills\u002Fblob\u002Fmain\u002Fexternal-sources\u002Fupstreams\u002Fdotnet-skills\u002Fplugins\u002Fdotnet\u002Fskills\u002Fsetup-local-sdk\u002FSKILL.md",[],[304,305,43,306,307,308,309,310,311,312,259,260,313,34,314,269,237,315,316,214,317,318,319,320,321,27],"sdk","setup local sdk","local","testing","safe","ci","Reproducible","team","projects","install","version","preview","installation","runtime","style","scripts","paths","hosts"]