[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EXC59DRBVC790M58H77QR4":3,"skill-same:01M6EXC59DRBVC790M58H77QR4":88},{"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":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":39,"commitSha":40,"skillDirectory":41,"forksCount":42,"repositoryHtmlUrl":43,"repositoryHomepageUrl":44,"ownerHtmlUrl":45,"ownerBlogUrl":6,"ownerDescription":46,"updatedAt":47,"install":48,"resources":61},"01M6EXC59DRBVC790M58H77QR4","avalonia-layout-zafiro",null,"Guidelines for modern Avalonia UI layout using Zafiro.Avalonia, emphasizing shared styles, generic components, and avoiding XAML redundancy.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"avalonia layout zafiro","layout","avalonia","components","guidelines","xaml","ui","grep","read","write","edit","shared","ui layout","styles","2026-11-10 10:12:30",false,"---\nname: avalonia-layout-zafiro\ndescription: Guidelines for modern Avalonia UI layout using Zafiro.Avalonia, emphasizing shared styles, generic components, and avoiding XAML redundancy.\nallowed-tools: Read, Write, Edit, Glob, Grep\n---\n\n# Avalonia Layout with Zafiro.Avalonia\n\n> Master modern, clean, and maintainable Avalonia UI layouts.\n> **Focus on semantic containers, shared styles, and minimal XAML.**\n\n## ? Selective Reading Rule\n\n**Read ONLY files relevant to the layout challenge!**\n\n---\n\n## ? Content Map\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `themes.md` | Theme organization and shared styles | Setting up or refining app themes |\n| `containers.md` | Semantic containers (`HeaderedContainer`, `EdgePanel`, `Card`) | Structuring views and layouts |\n| `icons.md` | Icon usage with `IconExtension` and `IconOptions` | Adding and customizing icons |\n| `behaviors.md` | `Xaml.Interaction.Behaviors` and avoiding Converters | Implementing complex interactions |\n| `components.md` | Generic components and avoiding nesting | Creating reusable UI elements |\n\n---\n\n## ? Related Project (Exemplary Implementation)\n\nFor a real-world example, refer to the **Angor** project:\n`\u002Fmnt\u002Ffast\u002FRepos\u002Fangor\u002Fsrc\u002FAngor\u002FAvalonia\u002FAngor.Avalonia.sln`\n\n---\n\n## ✅ Checklist for Clean Layouts\n\n- [ ] **Used semantic containers?** (e.g., `HeaderedContainer` instead of `Border` with manual header)\n- [ ] **Avoided redundant properties?** Use shared styles in `axaml` files.\n- [ ] **Minimized nesting?** Flatten layouts using `EdgePanel` or generic components.\n- [ ] **Icons via extension?** Use `{Icon fa-name}` and `IconOptions` for styling.\n- [ ] **Behaviors over code-behind?** Use `Interaction.Behaviors` for UI-logic.\n- [ ] **Avoided Converters?** Prefer ViewModel properties or Behaviors unless necessary.\n\n---\n\n## ❌ Anti-Patterns\n\n**DON'T:**\n- Use hardcoded colors or sizes (literals) in views.\n- Create deep nesting of `Grid` and `StackPanel`.\n- Repeat visual properties across multiple elements (use Styles).\n- Use `IValueConverter` for simple logic that belongs in the ViewModel.\n\n**DO:**\n- Use `DynamicResource` for colors and brushes.\n- Extract repeated layouts into generic components.\n- Leverage `Zafiro.Avalonia` specific panels like `EdgePanel` for common UI patterns.\n","# Avalonia Layout with Zafiro.Avalonia\n\n> Master modern, clean, and maintainable Avalonia UI layouts.\n> **Focus on semantic containers, shared styles, and minimal XAML.**\n\n## ? Selective Reading Rule\n\n**Read ONLY files relevant to the layout challenge!**\n\n---\n\n## ? Content Map\n\n| File | Description | When to Read |\n|------|-------------|--------------|\n| `themes.md` | Theme organization and shared styles | Setting up or refining app themes |\n| `containers.md` | Semantic containers (`HeaderedContainer`, `EdgePanel`, `Card`) | Structuring views and layouts |\n| `icons.md` | Icon usage with `IconExtension` and `IconOptions` | Adding and customizing icons |\n| `behaviors.md` | `Xaml.Interaction.Behaviors` and avoiding Converters | Implementing complex interactions |\n| `components.md` | Generic components and avoiding nesting | Creating reusable UI elements |\n\n---\n\n## ? Related Project (Exemplary Implementation)\n\nFor a real-world example, refer to the **Angor** project:\n`\u002Fmnt\u002Ffast\u002FRepos\u002Fangor\u002Fsrc\u002FAngor\u002FAvalonia\u002FAngor.Avalonia.sln`\n\n---\n\n## ✅ Checklist for Clean Layouts\n\n- [ ] **Used semantic containers?** (e.g., `HeaderedContainer` instead of `Border` with manual header)\n- [ ] **Avoided redundant properties?** Use shared styles in `axaml` files.\n- [ ] **Minimized nesting?** Flatten layouts using `EdgePanel` or generic components.\n- [ ] **Icons via extension?** Use `{Icon fa-name}` and `IconOptions` for styling.\n- [ ] **Behaviors over code-behind?** Use `Interaction.Behaviors` for UI-logic.\n- [ ] **Avoided Converters?** Prefer ViewModel properties or Behaviors unless necessary.\n\n---\n\n## ❌ Anti-Patterns\n\n**DON'T:**\n- Use hardcoded colors or sizes (literals) in views.\n- Create deep nesting of `Grid` and `StackPanel`.\n- Repeat visual properties across multiple elements (use Styles).\n- Use `IValueConverter` for simple logic that belongs in the ViewModel.\n\n**DO:**\n- Use `DynamicResource` for colors and brushes.\n- Extract repeated layouts into generic components.\n- Leverage `Zafiro.Avalonia` specific panels like `EdgePanel` for common UI patterns.\n",{"name":5,"description":7,"allowed-tools":38},"Read, Write, Edit, Glob, Grep","main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":49,"prompt":59,"zipAvailable":60},[50,53,56],{"tool":51,"command":52},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill avalonia-layout-zafiro",{"tool":54,"command":55},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill avalonia-layout-zafiro",{"tool":57,"command":58},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill avalonia-layout-zafiro","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002FSKILL.md",true,[62,68,72,76,80,84],{"path":63,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":66,"sourceHtmlUrl":67},"behaviors.md","REFERENCE","参考文档",1478,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002Fbehaviors.md",{"path":69,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":70,"sourceHtmlUrl":71},"components.md",1429,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002Fcomponents.md",{"path":73,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":74,"sourceHtmlUrl":75},"containers.md",1560,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002Fcontainers.md",{"path":77,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":78,"sourceHtmlUrl":79},"icons.md",1777,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002Ficons.md",{"path":81,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":82,"sourceHtmlUrl":83},"skill-report.json",19414,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002Fskill-report.json",{"path":85,"resourceType":64,"resourceTypeDesc":65,"sizeBytes":86,"sourceHtmlUrl":87},"themes.md",1864,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fsickn33\u002Favalonia-layout-zafiro\u002Fthemes.md",[89,103,113,122,128,135],{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":99,"publishedAt":33},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[94],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[100,101,102],"model","model hierarchy","model hierarchy skill",{"skillNo":104,"name":105,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":109,"publishedAt":33},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[108],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},[110,111,112],"MCP","zoom","zoom mcp",{"skillNo":114,"name":115,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":33},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[119,120,121,111],"sdk","zoom apps sdk","apps",{"skillNo":123,"name":124,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":33},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[124],{"skillNo":129,"name":130,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":134,"publishedAt":33},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[133],{"categoryNo":95,"categoryName":96,"taxonomyType":97,"taxonomyTypeDesc":98},[130],{"skillNo":136,"name":137,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":33},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[137]]