[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HSVCQCP2JN6WAX6MBMXNSS":3,"skill-same:01M6HSVCQCP2JN6WAX6MBMXNSS":65},{"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":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6HSVCQCP2JN6WAX6MBMXNSS","unreal-blueprint-editing",null,"Edit UE Blueprint node graphs via text (ReadGraph\u002FWriteGraph). Use when the user asks to add, remove, or rewire Blueprint nodes, create\u002Fmodify functions, events, or variables in a Blueprint graph.","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-blueprint-editing\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"unreal blueprint editing","unreal blueprint","editing","Blueprint","unreal","Nodes","when","Variables","add","via","events","graphs","functions","create","use","remove","user","edit","node","text","graph","2026-11-10 10:12:30",false,"---\nname: unreal-blueprint-editing\ndescription: Edit UE Blueprint node graphs via text (ReadGraph\u002FWriteGraph). Use when the user asks to add, remove, or rewire Blueprint nodes, create\u002Fmodify functions, events, or variables in a Blueprint graph.\n---\n\n# Blueprint Editing\n\nEdit Blueprint node graphs via a text-based representation. For setting object properties on the Blueprint asset itself, use the `unreal-object-operation` skill.\n\n**Prerequisite**: UE editor running with UCP plugin enabled.\n\n## Node Graph API\n\nCDO: `\u002FScript\u002FUnrealClientProtocolEditor.Default__NodeCodeEditingLibrary`\n\n| Function | Params | Description |\n|----------|--------|-------------|\n| `Outline` | `AssetPath` | Returns available sections (EventGraph, Function:Name, Macro:Name, Variables) |\n| `ReadGraph` | `AssetPath`, `Section` | Returns text representation. Empty Section = all sections. |\n| `WriteGraph` | `AssetPath`, `Section`, `GraphText` | Overwrite section. Empty GraphText = delete section. Auto-recompiles. |\n\n## Reading Strategy\n\n**CRITICAL: Never read all sections at once.** Blueprints can have dozens of functions\u002Fmacros.\n\n1. **Outline first** — get the structure\n2. **Identify relevant sections** — based on the task, pick only what you need\n3. **ReadGraph one section at a time** — read only what you need\n4. **Summarize before reading more** — decide if you need more context\n\n## Section Types\n\n| Section Format | Description |\n|---------------|-------------|\n| `EventGraph` | Main event graph |\n| `Function:\u003CName>` | A function graph |\n| `Macro:\u003CName>` | A macro graph |\n| `Variables` | Blueprint variable definitions |\n\nNames with spaces use underscores: `Function:My_Function`.\n\n## Text Format\n\n```\n[Function:CalculateDamage]\n\nN_2kVm4xRp8bNw6yLq0dJs FunctionEntry\n  > then -> N_8nQz4tJi0rAj7mRd3sFg.execute\n\nN_9aEo3jXv2hQy8bFt4iLw VariableGet:BaseDamage\n  > -> N_7tHn5cWs1fPx6zMr0gKu.A\n\nN_5fIr7mBz3kTb1eJw9lOa VariableGet:DamageMultiplier\n  > -> N_7tHn5cWs1fPx6zMr0gKu.B\n\nN_7tHn5cWs1fPx6zMr0gKu CallFunction:KismetMathLibrary.Multiply_FloatFloat\n  > ReturnValue -> N_0hKt8nDc5lUd2gLx6mPb.Value\n\nN_0hKt8nDc5lUd2gLx6mPb CallFunction:KismetMathLibrary.FClamp {pin.Min:0, pin.Max:9999}\n  > ReturnValue -> N_8nQz4tJi0rAj7mRd3sFg.ReturnValue\n\nN_8nQz4tJi0rAj7mRd3sFg FunctionResult\n```\n\n### Nodes\n\n- `N_\u003Cid>`: node reference ID. Two forms:\n  - **Existing nodes**: `N_\u003Cbase62>` — a 22-character Base62-encoded GUID (e.g. `N_2kVm4xRp8bNw6yLq0dJs`). ReadGraph always outputs this form. **Preserve these IDs when writing back.**\n  - **New nodes**: `N_new\u003Cint>` — temporary ID for nodes you are creating (e.g. `N_new0`, `N_new1`). The system assigns a real GUID after WriteGraph.\n- `\u003CClassName>`: semantic encoding (see below) or raw UE class name\n- `{...}`: non-default properties, single line. Omit braces if none.\n\n### ClassName Encoding\n\n| Text Format | UE Node Type | Example |\n|-------------|-------------|---------|\n| `CallFunction:\u003CClass>.\u003CFunc>` | `UK2Node_CallFunction` (external) | `CallFunction:KismetSystemLibrary.PrintString` |\n| `CallFunction:\u003CFunc>` | `UK2Node_CallFunction` (self) | `CallFunction:MyBlueprintFunction` |\n| `VariableGet:\u003CVar>` | `UK2Node_VariableGet` | `VariableGet:Health` |\n| `VariableSet:\u003CVar>` | `UK2Node_VariableSet` | `VariableSet:Health` |\n| `CustomEvent:\u003CName>` | `UK2Node_CustomEvent` | `CustomEvent:OnDamageReceived` |\n| `Event:\u003CName>` | `UK2Node_Event` | `Event:ReceiveBeginPlay` |\n| `FunctionEntry` | `UK2Node_FunctionEntry` | (auto-generated, cannot create\u002Fdelete) |\n| `FunctionResult` | `UK2Node_FunctionResult` | (auto-generated, cannot create\u002Fdelete) |\n\nOther node types use their raw class name (e.g. `K2Node_IfThenElse`, `K2Node_ForEachLoop`).\n\n### Connections\n\nOutput connections from the owning node, indented with `>`:\n\n```\n  > OutputPin -> N_\u003Ctarget>.InputPin    # output to target\n  > OutputPin -> [GraphOutput]          # output to graph output\n  > -> N_\u003Ctarget>.InputPin              # single-output node (omit pin name)\n```\n\nPin names match UE's internal `PinName`. Common exec pins: `execute`, `then`.\n\n### Properties\n\nProperties serialized in `{...}` via UE reflection. Pin default values use `pin.\u003CPinName>` prefix.\n\nExample: `{pin.InString:\"Hello World\", pin.Duration:5.0}`\n\n## Variables Section\n\n```\n[Variables]\nHealth: {\"PinCategory\":\"real\", \"PinSubCategory\":\"double\", \"DefaultValue\":\"100.0\"}\nbIsAlive: {\"PinCategory\":\"bool\", \"DefaultValue\":\"true\"}\nTargetActor: {\"PinCategory\":\"object\", \"PinSubCategoryObject\":\"\u002FScript\u002FEngine.Actor\"}\nDamageHistory: {\"PinCategory\":\"real\", \"PinSubCategory\":\"double\", \"ContainerType\":\"Array\"}\n```\n\nFields map directly to `FEdGraphPinType` reflection fields. Optional: `\"Replicated\":true`, `\"Category\":\"MyCategory\"`.\n\nThe `[Variables]` section uses **full overwrite** semantics:\n- Variables in the text that don't exist in the Blueprint are **created**.\n- Variables in the text that already exist are **updated** (type, default value, replicated flag, category).\n- Variables in the Blueprint but **not in the text** are **deleted**.\n\n**Always ReadGraph(\"Variables\") first** and include all variables you want to keep.\n\n## Creating \u002F Deleting Sections\n\n- **Create function**: `WriteGraph(AssetPath, \"Function:NewFunc\", graphText)` — if the function doesn't exist, it's created automatically\n- **Delete function**: `WriteGraph(AssetPath, \"Function:OldFunc\", \"\")` — empty text deletes the section\n- Same for Macros\n\n## Pseudocode Translation\n\n**CRITICAL: After ReadGraph, translate the NodeCode into pseudocode before making changes.** NodeCode describes structure (nodes, properties, connections), not logic. You must reconstruct the logic to avoid breaking it.\n\n### Workflow\n\n1. **ReadGraph** — get NodeCode text\n2. **Translate to pseudocode** — trace exec flow from entry nodes, resolve data flow into expressions\n3. **Reason about the change** — use pseudocode to understand what needs to change\n4. **Edit the NodeCode** — make structural changes with full understanding of the logic\n5. **WriteGraph** — apply\n\n## Key Rules\n\n1. **Read on-demand, not all at once.** Outline first, then ReadGraph only the sections you need.\n2. **Translate to pseudocode after reading** — understand the logic before editing.\n3. **Preserve node IDs** — existing nodes have `N_\u003Cbase62>` IDs that encode their GUID. Always keep them unchanged when writing back. Use `N_new\u003Cint>` only for genuinely new nodes.\n4. **ReadGraph before WriteGraph** — always read the target section before writing.\n5. **FunctionEntry and FunctionResult cannot be created or deleted.**\n6. All operations support **Undo** (Ctrl+Z).\n7. **Incremental diff** — only changed nodes\u002Fconnections are modified.\n\n## Error Handling\n\n- Check `diff` object in response: `nodes_added`, `nodes_removed`, `nodes_modified`, `links_added`, `links_removed`.\n- Property errors: `\"Property not found: ...\"` or `\"Failed to import ...\"`.\n- Pin errors: `\"Pin not found: ...\"`.\n- Re-read after write if unsure.\n","# Blueprint Editing\n\nEdit Blueprint node graphs via a text-based representation. For setting object properties on the Blueprint asset itself, use the `unreal-object-operation` skill.\n\n**Prerequisite**: UE editor running with UCP plugin enabled.\n\n## Node Graph API\n\nCDO: `\u002FScript\u002FUnrealClientProtocolEditor.Default__NodeCodeEditingLibrary`\n\n| Function | Params | Description |\n|----------|--------|-------------|\n| `Outline` | `AssetPath` | Returns available sections (EventGraph, Function:Name, Macro:Name, Variables) |\n| `ReadGraph` | `AssetPath`, `Section` | Returns text representation. Empty Section = all sections. |\n| `WriteGraph` | `AssetPath`, `Section`, `GraphText` | Overwrite section. Empty GraphText = delete section. Auto-recompiles. |\n\n## Reading Strategy\n\n**CRITICAL: Never read all sections at once.** Blueprints can have dozens of functions\u002Fmacros.\n\n1. **Outline first** — get the structure\n2. **Identify relevant sections** — based on the task, pick only what you need\n3. **ReadGraph one section at a time** — read only what you need\n4. **Summarize before reading more** — decide if you need more context\n\n## Section Types\n\n| Section Format | Description |\n|---------------|-------------|\n| `EventGraph` | Main event graph |\n| `Function:\u003CName>` | A function graph |\n| `Macro:\u003CName>` | A macro graph |\n| `Variables` | Blueprint variable definitions |\n\nNames with spaces use underscores: `Function:My_Function`.\n\n## Text Format\n\n```\n[Function:CalculateDamage]\n\nN_2kVm4xRp8bNw6yLq0dJs FunctionEntry\n  > then -> N_8nQz4tJi0rAj7mRd3sFg.execute\n\nN_9aEo3jXv2hQy8bFt4iLw VariableGet:BaseDamage\n  > -> N_7tHn5cWs1fPx6zMr0gKu.A\n\nN_5fIr7mBz3kTb1eJw9lOa VariableGet:DamageMultiplier\n  > -> N_7tHn5cWs1fPx6zMr0gKu.B\n\nN_7tHn5cWs1fPx6zMr0gKu CallFunction:KismetMathLibrary.Multiply_FloatFloat\n  > ReturnValue -> N_0hKt8nDc5lUd2gLx6mPb.Value\n\nN_0hKt8nDc5lUd2gLx6mPb CallFunction:KismetMathLibrary.FClamp {pin.Min:0, pin.Max:9999}\n  > ReturnValue -> N_8nQz4tJi0rAj7mRd3sFg.ReturnValue\n\nN_8nQz4tJi0rAj7mRd3sFg FunctionResult\n```\n\n### Nodes\n\n- `N_\u003Cid>`: node reference ID. Two forms:\n  - **Existing nodes**: `N_\u003Cbase62>` — a 22-character Base62-encoded GUID (e.g. `N_2kVm4xRp8bNw6yLq0dJs`). ReadGraph always outputs this form. **Preserve these IDs when writing back.**\n  - **New nodes**: `N_new\u003Cint>` — temporary ID for nodes you are creating (e.g. `N_new0`, `N_new1`). The system assigns a real GUID after WriteGraph.\n- `\u003CClassName>`: semantic encoding (see below) or raw UE class name\n- `{...}`: non-default properties, single line. Omit braces if none.\n\n### ClassName Encoding\n\n| Text Format | UE Node Type | Example |\n|-------------|-------------|---------|\n| `CallFunction:\u003CClass>.\u003CFunc>` | `UK2Node_CallFunction` (external) | `CallFunction:KismetSystemLibrary.PrintString` |\n| `CallFunction:\u003CFunc>` | `UK2Node_CallFunction` (self) | `CallFunction:MyBlueprintFunction` |\n| `VariableGet:\u003CVar>` | `UK2Node_VariableGet` | `VariableGet:Health` |\n| `VariableSet:\u003CVar>` | `UK2Node_VariableSet` | `VariableSet:Health` |\n| `CustomEvent:\u003CName>` | `UK2Node_CustomEvent` | `CustomEvent:OnDamageReceived` |\n| `Event:\u003CName>` | `UK2Node_Event` | `Event:ReceiveBeginPlay` |\n| `FunctionEntry` | `UK2Node_FunctionEntry` | (auto-generated, cannot create\u002Fdelete) |\n| `FunctionResult` | `UK2Node_FunctionResult` | (auto-generated, cannot create\u002Fdelete) |\n\nOther node types use their raw class name (e.g. `K2Node_IfThenElse`, `K2Node_ForEachLoop`).\n\n### Connections\n\nOutput connections from the owning node, indented with `>`:\n\n```\n  > OutputPin -> N_\u003Ctarget>.InputPin    # output to target\n  > OutputPin -> [GraphOutput]          # output to graph output\n  > -> N_\u003Ctarget>.InputPin              # single-output node (omit pin name)\n```\n\nPin names match UE's internal `PinName`. Common exec pins: `execute`, `then`.\n\n### Properties\n\nProperties serialized in `{...}` via UE reflection. Pin default values use `pin.\u003CPinName>` prefix.\n\nExample: `{pin.InString:\"Hello World\", pin.Duration:5.0}`\n\n## Variables Section\n\n```\n[Variables]\nHealth: {\"PinCategory\":\"real\", \"PinSubCategory\":\"double\", \"DefaultValue\":\"100.0\"}\nbIsAlive: {\"PinCategory\":\"bool\", \"DefaultValue\":\"true\"}\nTargetActor: {\"PinCategory\":\"object\", \"PinSubCategoryObject\":\"\u002FScript\u002FEngine.Actor\"}\nDamageHistory: {\"PinCategory\":\"real\", \"PinSubCategory\":\"double\", \"ContainerType\":\"Array\"}\n```\n\nFields map directly to `FEdGraphPinType` reflection fields. Optional: `\"Replicated\":true`, `\"Category\":\"MyCategory\"`.\n\nThe `[Variables]` section uses **full overwrite** semantics:\n- Variables in the text that don't exist in the Blueprint are **created**.\n- Variables in the text that already exist are **updated** (type, default value, replicated flag, category).\n- Variables in the Blueprint but **not in the text** are **deleted**.\n\n**Always ReadGraph(\"Variables\") first** and include all variables you want to keep.\n\n## Creating \u002F Deleting Sections\n\n- **Create function**: `WriteGraph(AssetPath, \"Function:NewFunc\", graphText)` — if the function doesn't exist, it's created automatically\n- **Delete function**: `WriteGraph(AssetPath, \"Function:OldFunc\", \"\")` — empty text deletes the section\n- Same for Macros\n\n## Pseudocode Translation\n\n**CRITICAL: After ReadGraph, translate the NodeCode into pseudocode before making changes.** NodeCode describes structure (nodes, properties, connections), not logic. You must reconstruct the logic to avoid breaking it.\n\n### Workflow\n\n1. **ReadGraph** — get NodeCode text\n2. **Translate to pseudocode** — trace exec flow from entry nodes, resolve data flow into expressions\n3. **Reason about the change** — use pseudocode to understand what needs to change\n4. **Edit the NodeCode** — make structural changes with full understanding of the logic\n5. **WriteGraph** — apply\n\n## Key Rules\n\n1. **Read on-demand, not all at once.** Outline first, then ReadGraph only the sections you need.\n2. **Translate to pseudocode after reading** — understand the logic before editing.\n3. **Preserve node IDs** — existing nodes have `N_\u003Cbase62>` IDs that encode their GUID. Always keep them unchanged when writing back. Use `N_new\u003Cint>` only for genuinely new nodes.\n4. **ReadGraph before WriteGraph** — always read the target section before writing.\n5. **FunctionEntry and FunctionResult cannot be created or deleted.**\n6. All operations support **Undo** (Ctrl+Z).\n7. **Incremental diff** — only changed nodes\u002Fconnections are modified.\n\n## Error Handling\n\n- Check `diff` object in response: `nodes_added`, `nodes_removed`, `nodes_modified`, `links_added`, `links_removed`.\n- Property errors: `\"Property not found: ...\"` or `\"Failed to import ...\"`.\n- Pin errors: `\"Pin not found: ...\"`.\n- Re-read after write if unsure.\n",{"name":5,"description":7},"main","18d0e63d1313ca87098f614aa7c1e2dcf6de79c7","backend\u002Fskills\u002Fuse_skills\u002Funreal-blueprint-editing",1,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system","https:\u002F\u002Fgithub.com\u002Fwelflau","2026-11-10 11:14:25",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add welflau\u002Fai-dev-system --skill unreal-blueprint-editing",{"tool":57,"command":58},"bunx","bunx skills add welflau\u002Fai-dev-system --skill unreal-blueprint-editing",{"tool":60,"command":61},"pnpm","pnpm dlx skills add welflau\u002Fai-dev-system --skill unreal-blueprint-editing","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fuse_skills\u002Funreal-blueprint-editing\u002FSKILL.md",true,[],[66,100,130,155,181,204],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":71,"sourceHtmlUrl":72,"categories":73,"keywords":79,"publishedAt":39},"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",[74],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[80,81,82,83,84,85,86,87,88,89,90,91,92,93,32,94,95,96,97,98,99],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","routing","state management","state","file","Tailwind","single-file","simple","ui components","multi","for","single",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":104,"sourceHtmlUrl":105,"categories":106,"keywords":116,"publishedAt":39},"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",[107,108,111],{"categoryNo":75,"categoryName":76,"taxonomyType":77,"taxonomyTypeDesc":78},{"categoryNo":109,"categoryName":110,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[85,117,118,86,81,87,88,119,31,120,82,121,122,123,32,124,125,126,127,128,129,24],"design","frontend design","react components","code","examples","applications","landing","ui design","pages","aesthetics","web ui","with","generic",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":134,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":39},"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",[137],{"categoryNo":109,"categoryName":110,"taxonomyType":77,"taxonomyTypeDesc":78},[139,140,141,31,120,142,143,144,145,32,146,147,148,149,128,150,151,152,153,154,24],"algorithmic art","Art","algorithmic","flow","js","work","interactive","generative art","exploration","systems","users","Existing","request","generative","copyright","fields",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":159,"sourceHtmlUrl":160,"categories":161,"keywords":163,"publishedAt":39},"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",[162],{"categoryNo":109,"categoryName":110,"taxonomyType":77,"taxonomyTypeDesc":78},[164,165,166,167,168,169,82,170,171,172,123,173,174,125,175,128,176,177,178,98,179,180],"theme factory","factory","theme","docs","toolkit","generate","SET","fly","slides","styling","artifact","themes","you","fonts","can","apply","new",{"skillNo":182,"name":183,"nameZh":6,"description":184,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":185,"categories":186,"keywords":190,"publishedAt":39},"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",[187],{"categoryNo":188,"categoryName":189,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000023","Skill与智能体开发",[183,191,192,193,194,195,196,197,198,199,200,32,201,202,27,203,97,176,98,150],"MCP","automation","chrome","sessions","protocol","browser","devtools","chrome devtools","tool","direct","browser control","control","form",{"skillNo":205,"name":206,"nameZh":6,"description":207,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":70,"licenseFileUrl":208,"sourceHtmlUrl":209,"categories":210,"keywords":217,"publishedAt":39},"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",[211,214],{"categoryNo":212,"categoryName":213,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":215,"categoryName":216,"taxonomyType":77,"taxonomyTypeDesc":78},"01JBSEEDCAT000000000000016","图像与多媒体",[218,219,220,221,222,223,224,225,226,32,227,149,228,229,230,98,151,24],"slack gif creator","slack","gif","creator","validation","Tools","constraints","Animation","knowledge","me","make","Utilities","concepts"]