[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HSWM6MTEGC5CQ3Q7G3D0FS":3,"skill-same:01M6HSWM6MTEGC5CQ3Q7G3D0FS":49},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":23,"linkOnly":24,"markdownContent":25,"markdownBody":26,"frontMatter":27,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":34,"install":35,"resources":48},"01M6HSWM6MTEGC5CQ3Q7G3D0FS","unreal-modeling-normals",null,"GeometryScript 法线与切线操作。当用户要求重算法线、分裂法线、翻转法线、计算切线或修复法线方向时使用。","welflau\u002Fai-dev-system","welflau","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7010385?v=4","01M6HPTDGF18RFY07M229P8CTM","01M6HPTDMRMZCJPYBFEA9XVVYT",3,"MIT","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fuse_skills\u002Funreal-modeling-normals\u002FSKILL.md",[],[18,19,20,21,22],"unreal","modeling","unreal modeling normals","unreal modeling","计算","2026-11-10 10:12:30",false,"---\nname: unreal-modeling-normals\ndescription: GeometryScript 法线与切线操作。当用户要求重算法线、分裂法线、翻转法线、计算切线或修复法线方向时使用。\n---\n\n# 建模 — 法线与切线\n\n前置条件：先阅读 `unreal-modeling`。\n\n## 库\n\nCDO：`\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions`\n\n`TargetMesh` 为 `UDynamicMesh*` 路径字符串。`Debug` 省略。需要 `FGeometryScriptMeshSelection` 的函数，用 `MeshOperationLibrary` 桥接。需要 `FGeometryScriptVectorList` 的函数，用 `MakeVectorList`\u002F`GetVectorListArray` 桥接。\n\n## 主要函数\n\n### 法线计算\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `SetPerVertexNormals` | `TargetMesh` | 平滑法线（无硬边） |\n| `SetPerFaceNormals` | `TargetMesh` | 面法线（每条边都是硬边） |\n| `RecomputeNormals` | `TargetMesh`, `CalculateOptions`, `bDeferChangeNotifications` | 保留已有分裂，重新计算法线 |\n| `RecomputeNormalsForMeshSelection` | `TargetMesh`, `Selection`, `CalculateOptions` | 对选中区域重算法线 |\n| `ComputeSplitNormals` | `TargetMesh`, `SplitOptions`, `CalculateOptions` | 按角度\u002FPolygroup 重建分裂后重算法线 |\n| `AutoRepairNormals` | `TargetMesh` | 修复不一致的法线方向（闭合 mesh 效果最佳） |\n\n### 法线翻转\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `FlipNormals` | `TargetMesh` | 翻转全部法线并反转三角形绕序 |\n| `FlipTriangleSelectionNormals` | `TargetMesh`, `Selection`, `bFlipTriangleOrientation`, `bFlipNormalDirection` | 翻转选中区域法线 |\n\n### 法线读写\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `SetMeshTriangleNormals` | `TargetMesh`, `TriangleID`, `Normals`(FGeometryScriptTriangle) | 设置单个三角形三个角的法线。out：`bIsValidTriangle` |\n| `SetMeshPerVertexNormals` | `TargetMesh`, `VertexNormalList` | 批量设置每顶点法线（列表大小 = MaxVertexID） |\n| `GetMeshPerVertexNormals` | `TargetMesh`, `bAverageSplitVertexValues` | out：`NormalList`、`bIsValidNormalSet`、`bHasVertexIDGaps` |\n| `UpdateVertexNormal` | `TargetMesh`, `VertexID`, `bUpdateNormal`, `NewNormal`, `bUpdateTangents`, `NewTangentX`, `NewTangentY` | 更新单个顶点的法线和\u002F或切线 |\n| `SetSplitNormalsAlongSelectedEdges` | `TargetMesh`, `Selection`, `bSplit`, `bRecalculateNormals`, `CalculateOptions` | 沿选中边分裂\u002F合并法线 |\n\n### 切线\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `ComputeTangents` | `TargetMesh`, `Options` | 计算切线（需要有效法线 + UV） |\n| `SetMeshPerVertexTangents` | `TargetMesh`, `TangentXList`, `TangentYList` | 批量设置切线 |\n| `GetMeshPerVertexTangents` | `TargetMesh`, `bAverageSplitVertexValues` | out：`TangentXList`、`TangentYList` |\n| `GetMeshHasTangents` | `TargetMesh` | out：`bHasTangents` |\n| `DiscardTangents` | `TargetMesh` | 移除切线层 |\n\n## 结构体与枚举\n\n### `FGeometryScriptCalculateNormalsOptions`\n\n| 字段 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `bAngleWeighted` | bool | `true` | 按角度加权 |\n| `bAreaWeighted` | bool | `true` | 按面积加权 |\n\n### `FGeometryScriptSplitNormalsOptions`\n\n| 字段 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `bSplitByOpeningAngle` | bool | `true` | 按折痕角度分裂 |\n| `OpeningAngleDeg` | float | `15` | 折痕角度阈值（度） |\n| `bSplitByFaceGroup` | bool | `false` | 按 Polygroup 边界分裂 |\n| `GroupLayer` | `FGeometryScriptGroupLayer` | 默认层 | Polygroup 层 |\n\n### `FGeometryScriptTangentsOptions`\n\n| 字段 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `Type` | `EGeometryScriptTangentTypes` | `FastMikkT` | 切线算法 |\n| `UVLayer` | int | `0` | 用于计算切线的 UV 通道 |\n\n### `EGeometryScriptTangentTypes`\n\n| 值 | 说明 |\n|----|------|\n| `FastMikkT` | 快速 MikkT 切线 |\n| `PerTriangle` | 每三角形切线 |\n| `StandardMikkT` | 标准 MikkT（可能回退到 FastMikkT） |\n\n## JSON 示例\n\n**重算法线**（保留分裂，面积+角度加权）：\n\n```json\n{\"object\":\"\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions\",\"function\":\"RecomputeNormals\",\"params\":{\"TargetMesh\":\"\u002FEngine\u002FTransient.DynamicMesh_0\",\"CalculateOptions\":{\"bAreaWeighted\":true,\"bAngleWeighted\":true},\"bDeferChangeNotifications\":false}}\n```\n\n**按角度分裂法线后重算**：\n\n```json\n{\"object\":\"\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions\",\"function\":\"ComputeSplitNormals\",\"params\":{\"TargetMesh\":\"\u002FEngine\u002FTransient.DynamicMesh_0\",\"SplitOptions\":{\"bSplitByOpeningAngle\":true,\"OpeningAngleDeg\":60,\"bSplitByFaceGroup\":false},\"CalculateOptions\":{\"bAreaWeighted\":true,\"bAngleWeighted\":true}}}\n```\n\n**计算切线**（MikkT，UV 通道 0）：\n\n```json\n{\"object\":\"\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions\",\"function\":\"ComputeTangents\",\"params\":{\"TargetMesh\":\"\u002FEngine\u002FTransient.DynamicMesh_0\",\"Options\":{\"Type\":\"FastMikkT\",\"UVLayer\":0}}}\n```\n\n## 发现\n\n对 CDO 路径调用 `DescribeObject` 可查看完整函数列表和参数签名。\n","# 建模 — 法线与切线\n\n前置条件：先阅读 `unreal-modeling`。\n\n## 库\n\nCDO：`\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions`\n\n`TargetMesh` 为 `UDynamicMesh*` 路径字符串。`Debug` 省略。需要 `FGeometryScriptMeshSelection` 的函数，用 `MeshOperationLibrary` 桥接。需要 `FGeometryScriptVectorList` 的函数，用 `MakeVectorList`\u002F`GetVectorListArray` 桥接。\n\n## 主要函数\n\n### 法线计算\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `SetPerVertexNormals` | `TargetMesh` | 平滑法线（无硬边） |\n| `SetPerFaceNormals` | `TargetMesh` | 面法线（每条边都是硬边） |\n| `RecomputeNormals` | `TargetMesh`, `CalculateOptions`, `bDeferChangeNotifications` | 保留已有分裂，重新计算法线 |\n| `RecomputeNormalsForMeshSelection` | `TargetMesh`, `Selection`, `CalculateOptions` | 对选中区域重算法线 |\n| `ComputeSplitNormals` | `TargetMesh`, `SplitOptions`, `CalculateOptions` | 按角度\u002FPolygroup 重建分裂后重算法线 |\n| `AutoRepairNormals` | `TargetMesh` | 修复不一致的法线方向（闭合 mesh 效果最佳） |\n\n### 法线翻转\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `FlipNormals` | `TargetMesh` | 翻转全部法线并反转三角形绕序 |\n| `FlipTriangleSelectionNormals` | `TargetMesh`, `Selection`, `bFlipTriangleOrientation`, `bFlipNormalDirection` | 翻转选中区域法线 |\n\n### 法线读写\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `SetMeshTriangleNormals` | `TargetMesh`, `TriangleID`, `Normals`(FGeometryScriptTriangle) | 设置单个三角形三个角的法线。out：`bIsValidTriangle` |\n| `SetMeshPerVertexNormals` | `TargetMesh`, `VertexNormalList` | 批量设置每顶点法线（列表大小 = MaxVertexID） |\n| `GetMeshPerVertexNormals` | `TargetMesh`, `bAverageSplitVertexValues` | out：`NormalList`、`bIsValidNormalSet`、`bHasVertexIDGaps` |\n| `UpdateVertexNormal` | `TargetMesh`, `VertexID`, `bUpdateNormal`, `NewNormal`, `bUpdateTangents`, `NewTangentX`, `NewTangentY` | 更新单个顶点的法线和\u002F或切线 |\n| `SetSplitNormalsAlongSelectedEdges` | `TargetMesh`, `Selection`, `bSplit`, `bRecalculateNormals`, `CalculateOptions` | 沿选中边分裂\u002F合并法线 |\n\n### 切线\n\n| 函数 | 关键参数 | 说明 |\n|------|----------|------|\n| `ComputeTangents` | `TargetMesh`, `Options` | 计算切线（需要有效法线 + UV） |\n| `SetMeshPerVertexTangents` | `TargetMesh`, `TangentXList`, `TangentYList` | 批量设置切线 |\n| `GetMeshPerVertexTangents` | `TargetMesh`, `bAverageSplitVertexValues` | out：`TangentXList`、`TangentYList` |\n| `GetMeshHasTangents` | `TargetMesh` | out：`bHasTangents` |\n| `DiscardTangents` | `TargetMesh` | 移除切线层 |\n\n## 结构体与枚举\n\n### `FGeometryScriptCalculateNormalsOptions`\n\n| 字段 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `bAngleWeighted` | bool | `true` | 按角度加权 |\n| `bAreaWeighted` | bool | `true` | 按面积加权 |\n\n### `FGeometryScriptSplitNormalsOptions`\n\n| 字段 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `bSplitByOpeningAngle` | bool | `true` | 按折痕角度分裂 |\n| `OpeningAngleDeg` | float | `15` | 折痕角度阈值（度） |\n| `bSplitByFaceGroup` | bool | `false` | 按 Polygroup 边界分裂 |\n| `GroupLayer` | `FGeometryScriptGroupLayer` | 默认层 | Polygroup 层 |\n\n### `FGeometryScriptTangentsOptions`\n\n| 字段 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `Type` | `EGeometryScriptTangentTypes` | `FastMikkT` | 切线算法 |\n| `UVLayer` | int | `0` | 用于计算切线的 UV 通道 |\n\n### `EGeometryScriptTangentTypes`\n\n| 值 | 说明 |\n|----|------|\n| `FastMikkT` | 快速 MikkT 切线 |\n| `PerTriangle` | 每三角形切线 |\n| `StandardMikkT` | 标准 MikkT（可能回退到 FastMikkT） |\n\n## JSON 示例\n\n**重算法线**（保留分裂，面积+角度加权）：\n\n```json\n{\"object\":\"\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions\",\"function\":\"RecomputeNormals\",\"params\":{\"TargetMesh\":\"\u002FEngine\u002FTransient.DynamicMesh_0\",\"CalculateOptions\":{\"bAreaWeighted\":true,\"bAngleWeighted\":true},\"bDeferChangeNotifications\":false}}\n```\n\n**按角度分裂法线后重算**：\n\n```json\n{\"object\":\"\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions\",\"function\":\"ComputeSplitNormals\",\"params\":{\"TargetMesh\":\"\u002FEngine\u002FTransient.DynamicMesh_0\",\"SplitOptions\":{\"bSplitByOpeningAngle\":true,\"OpeningAngleDeg\":60,\"bSplitByFaceGroup\":false},\"CalculateOptions\":{\"bAreaWeighted\":true,\"bAngleWeighted\":true}}}\n```\n\n**计算切线**（MikkT，UV 通道 0）：\n\n```json\n{\"object\":\"\u002FScript\u002FGeometryScriptingCore.Default__GeometryScriptLibrary_MeshNormalsFunctions\",\"function\":\"ComputeTangents\",\"params\":{\"TargetMesh\":\"\u002FEngine\u002FTransient.DynamicMesh_0\",\"Options\":{\"Type\":\"FastMikkT\",\"UVLayer\":0}}}\n```\n\n## 发现\n\n对 CDO 路径调用 `DescribeObject` 可查看完整函数列表和参数签名。\n",{"name":5,"description":7},"main","18d0e63d1313ca87098f614aa7c1e2dcf6de79c7","backend\u002Fskills\u002Fuse_skills\u002Funreal-modeling-normals",1,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system","https:\u002F\u002Fgithub.com\u002Fwelflau","2026-11-12 14:55:20",{"source":8,"skillName":5,"commands":36,"prompt":46,"zipAvailable":47},[37,40,43],{"tool":38,"command":39},"npx","npx skills add welflau\u002Fai-dev-system --skill unreal-modeling-normals",{"tool":41,"command":42},"bunx","bunx skills add welflau\u002Fai-dev-system --skill unreal-modeling-normals",{"tool":44,"command":45},"pnpm","pnpm dlx skills add welflau\u002Fai-dev-system --skill unreal-modeling-normals","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fuse_skills\u002Funreal-modeling-normals\u002FSKILL.md",true,[],[50,85,117,142,168,192],{"skillNo":51,"name":52,"nameZh":6,"description":53,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":54,"licenseFileUrl":55,"sourceHtmlUrl":56,"categories":57,"keywords":63,"publishedAt":23},"01M6HSTDP4M3JFXEBK91VFB4PA","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fweb-artifacts-builder\u002FSKILL.md",[58],{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","routing","state management","state","file","Tailwind","use","single-file","simple","ui components","multi","for","single",{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":54,"licenseFileUrl":89,"sourceHtmlUrl":90,"categories":91,"keywords":101,"publishedAt":23},"01M6HSDXH0JSP8R3QTNY9XZ8HN","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Ffrontend-design\u002FSKILL.md",[92,93,96],{"categoryNo":59,"categoryName":60,"taxonomyType":61,"taxonomyTypeDesc":62},{"categoryNo":94,"categoryName":95,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":97,"categoryName":98,"taxonomyType":99,"taxonomyTypeDesc":100},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[69,102,103,70,65,71,72,104,105,106,66,107,108,109,78,110,111,112,113,114,115,116],"design","frontend design","react components","create","code","examples","applications","landing","ui design","pages","aesthetics","web ui","with","generic","when",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":54,"licenseFileUrl":121,"sourceHtmlUrl":122,"categories":123,"keywords":125,"publishedAt":23},"01M6HSA77QYVP7A72HREGTDN2C","algorithmic-art","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Falgorithmic-art\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Falgorithmic-art\u002FSKILL.md",[124],{"categoryNo":94,"categoryName":95,"taxonomyType":61,"taxonomyTypeDesc":62},[126,127,128,105,106,129,130,131,132,78,133,134,135,136,114,137,138,139,140,141,116],"algorithmic art","Art","algorithmic","flow","js","work","interactive","generative art","exploration","systems","users","Existing","request","generative","copyright","fields",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":54,"licenseFileUrl":146,"sourceHtmlUrl":147,"categories":148,"keywords":150,"publishedAt":23},"01M6HS9HE0X390Y6RQKTY1YNGJ","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Ftheme-factory\u002FSKILL.md",[149],{"categoryNo":94,"categoryName":95,"taxonomyType":61,"taxonomyTypeDesc":62},[151,152,153,154,155,156,66,157,158,159,109,160,161,111,162,114,163,164,165,83,166,167],"theme factory","factory","theme","docs","toolkit","generate","SET","fly","slides","styling","artifact","themes","you","fonts","can","apply","new",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":177,"publishedAt":23},"01M6HS74GASM6FJ77F83EY679E","browsing","Use when you need direct browser control - teaches Chrome DevTools Protocol for controlling existing browser sessions, multi-tab management, form automation, and content extraction via use_browser MCP tool","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fsuperpowers-chrome\u002Fskills\u002Fbrowsing\u002FSKILL.md",[174],{"categoryNo":175,"categoryName":176,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000023","Skill与智能体开发",[170,178,179,180,181,182,183,184,185,186,187,78,188,189,190,191,82,163,83,137],"MCP","automation","chrome","sessions","protocol","browser","devtools","chrome devtools","tool","direct","browser control","control","via","form",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":54,"licenseFileUrl":196,"sourceHtmlUrl":197,"categories":198,"keywords":205,"publishedAt":23},"01M6HS6BZT2CKDNQ6YF20DXN4T","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fslack-gif-creator\u002FSKILL.md",[199,202],{"categoryNo":200,"categoryName":201,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":203,"categoryName":204,"taxonomyType":61,"taxonomyTypeDesc":62},"01JBSEEDCAT000000000000016","图像与多媒体",[206,207,208,209,210,211,212,213,214,78,215,136,216,217,218,83,138,116],"slack gif creator","slack","gif","creator","validation","Tools","constraints","Animation","knowledge","me","make","Utilities","concepts"]