[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7196D44SS73HKX5SGYMP4EF":3,"skill-same:01M7196D44SS73HKX5SGYMP4EF":62},{"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":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":14,"repositoryHtmlUrl":45,"repositoryHomepageUrl":6,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":47,"install":48,"resources":61},"01M7196D44SS73HKX5SGYMP4EF","makepad-layout",null,"CRITICAL: Use for Makepad layout system. Triggers on:\nmakepad layout, makepad width, makepad height, makepad flex,\nmakepad padding, makepad margin, makepad flow, makepad align,\nFit, Fill, Size, Walk, \"how to center in makepad\",\nmakepad 布局, makepad 宽度, makepad 对齐, makepad 居中","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fmakepad-layout\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"makepad layout","layout","align","fill","for","size","how to","fit","critical","triggers","safe","community","use","margin","system","how","flow","2026-11-10 10:12:30",false,"---\nname: makepad-layout\ndescription: |\n  CRITICAL: Use for Makepad layout system. Triggers on:\n  makepad layout, makepad width, makepad height, makepad flex,\n  makepad padding, makepad margin, makepad flow, makepad align,\n  Fit, Fill, Size, Walk, \"how to center in makepad\",\n  makepad 布局, makepad 宽度, makepad 对齐, makepad 居中\nrisk: safe\nsource: community\n---\n\n# Makepad Layout Skill\n\n> **Version:** makepad-widgets (dev branch) | **Last Updated:** 2026-01-19\n>\n> Check for updates: https:\u002F\u002Fcrates.io\u002Fcrates\u002Fmakepad-widgets\n\nYou are an expert at Makepad layout system. Help users by:\n- **Writing code**: Generate layout code following the patterns below\n- **Answering questions**: Explain layout concepts, sizing, flow directions\n\n## When to Use\n\n- You need to size, align, or position widgets in a Makepad UI.\n- The task involves `Walk`, `Align`, `Fit`, `Fill`, padding, spacing, or container flow configuration.\n- You want Makepad-specific layout solutions for centering, responsiveness, or composition.\n\n## Documentation\n\nRefer to the local files for detailed documentation:\n- `.\u002Freferences\u002Flayout-system.md` - Complete layout reference\n- `.\u002Freferences\u002Fcore-types.md` - Walk, Align, Margin, Padding types\n\n## IMPORTANT: Documentation Completeness Check\n\n**Before answering questions, Claude MUST:**\n\n1. Read the relevant reference file(s) listed above\n2. If file read fails or file is empty:\n   - Inform user: \"本地文档不完整，建议运行 `\u002Fsync-crate-skills makepad --force` 更新文档\"\n   - Still answer based on SKILL.md patterns + built-in knowledge\n3. If reference file exists, incorporate its content into the answer\n\n## Key Patterns\n\n### 1. Basic Layout Container\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fill\n    flow: Down\n    padding: 16.0\n    spacing: 8.0\n\n    \u003CLabel> { text: \"Item 1\" }\n    \u003CLabel> { text: \"Item 2\" }\n}\n```\n\n### 2. Centering Content\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fill\n    align: { x: 0.5, y: 0.5 }\n\n    \u003CLabel> { text: \"Centered\" }\n}\n```\n\n### 3. Horizontal Row Layout\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fit\n    flow: Right\n    spacing: 10.0\n    align: { y: 0.5 }  \u002F\u002F Vertically center items\n\n    \u003CButton> { text: \"Left\" }\n    \u003CView> { width: Fill }  \u002F\u002F Spacer\n    \u003CButton> { text: \"Right\" }\n}\n```\n\n### 4. Fixed + Flexible Layout\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fill\n    flow: Down\n\n    \u002F\u002F Fixed header\n    \u003CView> {\n        width: Fill\n        height: 60.0\n    }\n\n    \u002F\u002F Flexible content\n    \u003CView> {\n        width: Fill\n        height: Fill  \u002F\u002F Takes remaining space\n    }\n}\n```\n\n## Layout Properties Reference\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `width` | Size | Width of element |\n| `height` | Size | Height of element |\n| `padding` | Padding | Inner spacing |\n| `margin` | Margin | Outer spacing |\n| `flow` | Flow | Child layout direction |\n| `spacing` | f64 | Gap between children |\n| `align` | Align | Child alignment |\n| `clip_x` | bool | Clip horizontal overflow |\n| `clip_y` | bool | Clip vertical overflow |\n\n## Size Values\n\n| Value | Description |\n|-------|-------------|\n| `Fit` | Size to fit content |\n| `Fill` | Fill available space |\n| `100.0` | Fixed size in pixels |\n| `Fixed(100.0)` | Explicit fixed size |\n\n## Flow Directions\n\n| Value | Description |\n|-------|-------------|\n| `Down` | Top to bottom (column) |\n| `Right` | Left to right (row) |\n| `Overlay` | Stack on top |\n\n## Align Values\n\n| Value | Position |\n|-------|----------|\n| `{ x: 0.0, y: 0.0 }` | Top-left |\n| `{ x: 0.5, y: 0.0 }` | Top-center |\n| `{ x: 1.0, y: 0.0 }` | Top-right |\n| `{ x: 0.0, y: 0.5 }` | Middle-left |\n| `{ x: 0.5, y: 0.5 }` | Center |\n| `{ x: 1.0, y: 0.5 }` | Middle-right |\n| `{ x: 0.0, y: 1.0 }` | Bottom-left |\n| `{ x: 0.5, y: 1.0 }` | Bottom-center |\n| `{ x: 1.0, y: 1.0 }` | Bottom-right |\n\n## Box Model\n\n```\n+---------------------------+\n|         margin            |\n|  +---------------------+  |\n|  |      padding        |  |\n|  |  +---------------+  |  |\n|  |  |   content     |  |  |\n|  |  +---------------+  |  |\n|  +---------------------+  |\n+---------------------------+\n```\n\n## When Writing Code\n\n1. Use `Fill` for flexible containers, `Fit` for content-sized elements\n2. Set `flow: Down` for vertical, `flow: Right` for horizontal\n3. Use empty `\u003CView> { width: Fill }` as spacer in row layouts\n4. Always set explicit dimensions on fixed-size elements\n5. Use `align` to position children within container\n\n## When Answering Questions\n\n1. Makepad uses a \"turtle\" layout model - elements laid out sequentially\n2. `Fill` takes all available space, `Fit` shrinks to content\n3. Unlike CSS flexbox, there's no flex-grow\u002Fshrink - use Fill\u002FFit\n4. Alignment applies to children, not the element itself\n","# Makepad Layout Skill\n\n> **Version:** makepad-widgets (dev branch) | **Last Updated:** 2026-01-19\n>\n> Check for updates: https:\u002F\u002Fcrates.io\u002Fcrates\u002Fmakepad-widgets\n\nYou are an expert at Makepad layout system. Help users by:\n- **Writing code**: Generate layout code following the patterns below\n- **Answering questions**: Explain layout concepts, sizing, flow directions\n\n## When to Use\n\n- You need to size, align, or position widgets in a Makepad UI.\n- The task involves `Walk`, `Align`, `Fit`, `Fill`, padding, spacing, or container flow configuration.\n- You want Makepad-specific layout solutions for centering, responsiveness, or composition.\n\n## Documentation\n\nRefer to the local files for detailed documentation:\n- `.\u002Freferences\u002Flayout-system.md` - Complete layout reference\n- `.\u002Freferences\u002Fcore-types.md` - Walk, Align, Margin, Padding types\n\n## IMPORTANT: Documentation Completeness Check\n\n**Before answering questions, Claude MUST:**\n\n1. Read the relevant reference file(s) listed above\n2. If file read fails or file is empty:\n   - Inform user: \"本地文档不完整，建议运行 `\u002Fsync-crate-skills makepad --force` 更新文档\"\n   - Still answer based on SKILL.md patterns + built-in knowledge\n3. If reference file exists, incorporate its content into the answer\n\n## Key Patterns\n\n### 1. Basic Layout Container\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fill\n    flow: Down\n    padding: 16.0\n    spacing: 8.0\n\n    \u003CLabel> { text: \"Item 1\" }\n    \u003CLabel> { text: \"Item 2\" }\n}\n```\n\n### 2. Centering Content\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fill\n    align: { x: 0.5, y: 0.5 }\n\n    \u003CLabel> { text: \"Centered\" }\n}\n```\n\n### 3. Horizontal Row Layout\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fit\n    flow: Right\n    spacing: 10.0\n    align: { y: 0.5 }  \u002F\u002F Vertically center items\n\n    \u003CButton> { text: \"Left\" }\n    \u003CView> { width: Fill }  \u002F\u002F Spacer\n    \u003CButton> { text: \"Right\" }\n}\n```\n\n### 4. Fixed + Flexible Layout\n\n```rust\n\u003CView> {\n    width: Fill\n    height: Fill\n    flow: Down\n\n    \u002F\u002F Fixed header\n    \u003CView> {\n        width: Fill\n        height: 60.0\n    }\n\n    \u002F\u002F Flexible content\n    \u003CView> {\n        width: Fill\n        height: Fill  \u002F\u002F Takes remaining space\n    }\n}\n```\n\n## Layout Properties Reference\n\n| Property | Type | Description |\n|----------|------|-------------|\n| `width` | Size | Width of element |\n| `height` | Size | Height of element |\n| `padding` | Padding | Inner spacing |\n| `margin` | Margin | Outer spacing |\n| `flow` | Flow | Child layout direction |\n| `spacing` | f64 | Gap between children |\n| `align` | Align | Child alignment |\n| `clip_x` | bool | Clip horizontal overflow |\n| `clip_y` | bool | Clip vertical overflow |\n\n## Size Values\n\n| Value | Description |\n|-------|-------------|\n| `Fit` | Size to fit content |\n| `Fill` | Fill available space |\n| `100.0` | Fixed size in pixels |\n| `Fixed(100.0)` | Explicit fixed size |\n\n## Flow Directions\n\n| Value | Description |\n|-------|-------------|\n| `Down` | Top to bottom (column) |\n| `Right` | Left to right (row) |\n| `Overlay` | Stack on top |\n\n## Align Values\n\n| Value | Position |\n|-------|----------|\n| `{ x: 0.0, y: 0.0 }` | Top-left |\n| `{ x: 0.5, y: 0.0 }` | Top-center |\n| `{ x: 1.0, y: 0.0 }` | Top-right |\n| `{ x: 0.0, y: 0.5 }` | Middle-left |\n| `{ x: 0.5, y: 0.5 }` | Center |\n| `{ x: 1.0, y: 0.5 }` | Middle-right |\n| `{ x: 0.0, y: 1.0 }` | Bottom-left |\n| `{ x: 0.5, y: 1.0 }` | Bottom-center |\n| `{ x: 1.0, y: 1.0 }` | Bottom-right |\n\n## Box Model\n\n```\n+---------------------------+\n|         margin            |\n|  +---------------------+  |\n|  |      padding        |  |\n|  |  +---------------+  |  |\n|  |  |   content     |  |  |\n|  |  +---------------+  |  |\n|  +---------------------+  |\n+---------------------------+\n```\n\n## When Writing Code\n\n1. Use `Fill` for flexible containers, `Fit` for content-sized elements\n2. Set `flow: Down` for vertical, `flow: Right` for horizontal\n3. Use empty `\u003CView> { width: Fill }` as spacer in row layouts\n4. Always set explicit dimensions on fixed-size elements\n5. Use `align` to position children within container\n\n## When Answering Questions\n\n1. Makepad uses a \"turtle\" layout model - elements laid out sequentially\n2. `Fill` takes all available space, `Fit` shrinks to content\n3. Unlike CSS flexbox, there's no flex-grow\u002Fshrink - use Fill\u002FFit\n4. Alignment applies to children, not the element itself\n",{"name":5,"risk":29,"source":30,"description":41},"CRITICAL: Use for Makepad layout system. Triggers on:\nmakepad layout, makepad width, makepad height, makepad flex,\nmakepad padding, makepad margin, makepad flow, makepad align,\nFit, Fill, Size, Walk, \"how to center in makepad\",\nmakepad 布局, makepad 宽度, makepad 对齐, makepad 居中\n","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fglobal\u002Fmakepad-layout","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill makepad-layout",{"tool":54,"command":55},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill makepad-layout",{"tool":57,"command":58},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill makepad-layout","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fmakepad-layout\u002FSKILL.md",true,[],[63,87,113,123,136,155],{"skillNo":64,"name":65,"nameZh":6,"description":66,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":67,"categories":68,"keywords":74,"publishedAt":36},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[69],{"categoryNo":70,"categoryName":71,"taxonomyType":72,"taxonomyTypeDesc":73},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[75,76,77,78,79,80,81,82,83,84,85,86],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":36},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[94,95,96,97,98,99,77,100,101,102,103,104,105,106,107,108,109,110,111,112],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":119,"publishedAt":36},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[120,121,94,105,106,107,108,98,77,110,122,111,112,104,102,101,100,109,99,97],"trend radar","radar","pulse",{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":129,"publishedAt":36},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[130,131,132,133,134,135],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":147,"publishedAt":36},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[142],{"categoryNo":143,"categoryName":144,"taxonomyType":145,"taxonomyTypeDesc":146},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[138,83,148,149,150,86,105,151,152,153,96,154,109],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":36},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[157,162,163,164,109,165,152,166,167,168,169,170],"status","play","go","latest","github","discover","control","cmd","volume"]