[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6JMC6MP95SV0Z3B3093RKNV":3,"skill-same:01M6JMC6MP95SV0Z3B3093RKNV":86},{"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":26,"linkOnly":27,"markdownContent":28,"markdownBody":29,"frontMatter":30,"refName":33,"commitSha":34,"skillDirectory":35,"forksCount":36,"repositoryHtmlUrl":37,"repositoryHomepageUrl":38,"ownerHtmlUrl":39,"ownerBlogUrl":40,"ownerDescription":6,"updatedAt":41,"install":42,"resources":55},"01M6JMC6MP95SV0Z3B3093RKNV","avalonia_viewmodels_zafiro",null,"Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.","LongLeo287\u002FOmniClaw","LongLeo287","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F141803367?v=4","01M6JK75C62VCNZKR5BRZ386YV","LongLeo","01M6JK75GQ78TSP1ZPXNKK3MCH",9,"MIT","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002FSKILL.md",[],[19,20,21,22,23,24,25],"avalonia viewmodels zafiro","avalonia","wizard","community","patterns","creation","for","2026-11-10 10:12:30",false,"---\nname: avalonia_viewmodels_zafiro\n\ndescription: \"Optimal ViewModel and Wizard creation patterns for Avalonia using Zafiro and ReactiveUI.\"\nrisk: none\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Avalonia ViewModels with Zafiro\n\nThis skill provides a set of best practices and patterns for creating ViewModels, Wizards, and managing navigation in Avalonia applications, leveraging the power of **ReactiveUI** and the **Zafiro** toolkit.\n\n## Core Principles\n\n1.  **Functional-Reactive Approach**: Use ReactiveUI (`ReactiveObject`, `WhenAnyValue`, etc.) to handle state and logic.\n2.  **Enhanced Commands**: Utilize `IEnhancedCommand` for better command management, including progress reporting and name\u002Ftext attributes.\n3.  **Wizard Pattern**: Implement complex flows using `SlimWizard` and `WizardBuilder` for a declarative and maintainable approach.\n4.  **Automatic Section Discovery**: Use the `[Section]` attribute to register and discover UI sections automatically.\n5.  **Clean Composition**: map ViewModels to Views using `DataTypeViewLocator` and manage dependencies in the `CompositionRoot`.\n\n## Guides\n\n- [ViewModels & Commands](viewmodels.md): Creating robust ViewModels and handling commands.\n- [Wizards & Flows](wizards.md): Building multi-step wizards with `SlimWizard`.\n- [Navigation & Sections](navigation_sections.md): Managing navigation and section-based UIs.\n- [Composition & Mapping](composition.md): Best practices for View-ViewModel wiring and DI.\n\n## Example Reference\n\nFor real-world implementations, refer to the **Angor** project:\n- `CreateProjectFlowV2.cs`: Excellent example of complex Wizard building.\n- `HomeViewModel.cs`: Simple section ViewModel using functional-reactive commands.\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Avalonia ViewModels with Zafiro\n\nThis skill provides a set of best practices and patterns for creating ViewModels, Wizards, and managing navigation in Avalonia applications, leveraging the power of **ReactiveUI** and the **Zafiro** toolkit.\n\n## Core Principles\n\n1.  **Functional-Reactive Approach**: Use ReactiveUI (`ReactiveObject`, `WhenAnyValue`, etc.) to handle state and logic.\n2.  **Enhanced Commands**: Utilize `IEnhancedCommand` for better command management, including progress reporting and name\u002Ftext attributes.\n3.  **Wizard Pattern**: Implement complex flows using `SlimWizard` and `WizardBuilder` for a declarative and maintainable approach.\n4.  **Automatic Section Discovery**: Use the `[Section]` attribute to register and discover UI sections automatically.\n5.  **Clean Composition**: map ViewModels to Views using `DataTypeViewLocator` and manage dependencies in the `CompositionRoot`.\n\n## Guides\n\n- [ViewModels & Commands](viewmodels.md): Creating robust ViewModels and handling commands.\n- [Wizards & Flows](wizards.md): Building multi-step wizards with `SlimWizard`.\n- [Navigation & Sections](navigation_sections.md): Managing navigation and section-based UIs.\n- [Composition & Mapping](composition.md): Best practices for View-ViewModel wiring and DI.\n\n## Example Reference\n\nFor real-world implementations, refer to the **Angor** project:\n- `CreateProjectFlowV2.cs`: Excellent example of complex Wizard building.\n- `HomeViewModel.cs`: Simple section ViewModel using functional-reactive commands.\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":31,"source":22,"date_added":32,"description":7},"none","2026-02-27","main","c173cdffe08e788a99b91928a831b476b8434838","ecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro",0,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw","https:\u002F\u002Fportfolio-longleo.vercel.app\u002Flabs\u002Fomniclaw.html","https:\u002F\u002Fgithub.com\u002FLongLeo287","https:\u002F\u002Fwww.facebook.com\u002FResourceRookie2023","2026-11-14 08:48:28",{"source":8,"skillName":5,"commands":43,"prompt":53,"zipAvailable":54},[44,47,50],{"tool":45,"command":46},"npx","npx skills add LongLeo287\u002FOmniClaw --skill avalonia_viewmodels_zafiro",{"tool":48,"command":49},"bunx","bunx skills add LongLeo287\u002FOmniClaw --skill avalonia_viewmodels_zafiro",{"tool":51,"command":52},"pnpm","pnpm dlx skills add LongLeo287\u002FOmniClaw --skill avalonia_viewmodels_zafiro","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002FSKILL.md",true,[56,62,66,70,74,78,82],{"path":57,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":60,"sourceHtmlUrl":61},"_DIR_IDENTITY.md","REFERENCE","参考文档",174,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002F_DIR_IDENTITY.md",{"path":63,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":64,"sourceHtmlUrl":65},"composition.md",2227,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002Fcomposition.md",{"path":67,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":68,"sourceHtmlUrl":69},"navigation_sections.md",1299,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002Fnavigation_sections.md",{"path":71,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":72,"sourceHtmlUrl":73},"README.md",487,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002FREADME.md",{"path":75,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":76,"sourceHtmlUrl":77},"schema.json",480,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002Fschema.json",{"path":79,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":80,"sourceHtmlUrl":81},"viewmodels.md",1765,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002Fviewmodels.md",{"path":83,"resourceType":58,"resourceTypeDesc":59,"sizeBytes":84,"sourceHtmlUrl":85},"wizards.md",1563,"https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Favalonia_viewmodels_zafiro\u002Fwizards.md",[87,130,151,178,194,221],{"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":109,"publishedAt":26},"01M6JR0KQP4MHT32TN40D9CBFX","UI-UX Pro Max","Advanced UI\u002FUX analysis and generation skills with data-driven patterns. Python scripts (core.py, search.py) for systematic UI pattern extraction, design system generation, and component search from curated data sources.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fui_components\u002Fui_ux_pro_max\u002FSKILL.md",[93,98,101,106],{"categoryNo":94,"categoryName":95,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":99,"categoryName":100,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",{"categoryNo":107,"categoryName":108,"taxonomyType":104,"taxonomyTypeDesc":105},"01JBSEEDCAT000000000000033","数据分析师",[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129],"ux","ui","ui ux pro max","max","pro","ui ux","design","component","search","analysis","team","rd","ui-ux","active","systematic","scripts","pattern extraction","sources","advanced","data-driven",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":26},"01M6JR0EF5AEQHP2FSTB57H05P","shadcn-ui","Expert guidance for integrating and building applications with shadcn\u002Fui components, including component discovery, installation, customization, and best practices.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fui_components\u002Fshadcn_ui\u002FSKILL.md",[136],{"categoryNo":102,"categoryName":103,"taxonomyType":104,"taxonomyTypeDesc":105},[138,111,139,140,117,141,142,143,144,120,145,146,147,123,148,149,150,25],"shadcn","shadcn ui","components","core","best practices","applications","discovery","customization","guidance","expert","installation","ui components","with",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":160,"publishedAt":26},"01M6JR08F51BEN17RHFYX65WVE","zustand_store_ts","Create Zustand stores with TypeScript, subscribeWithSelector middleware, and proper state\u002Faction separation. Use when building React state management, creating global stores, or implementing reactive state patterns with Zustand.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fzustand_store_ts\u002FSKILL.md",[157],{"categoryNo":158,"categoryName":159,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000009","前端开发",[161,162,163,164,165,166,167,168,169,170,171,172,173,23,174,175,150,176,177],"zustand store ts","zustand","store","typescript","microsoft","react","create","state management","state","react state management","management","global","use","separation","middleware","action","implementing",{"skillNo":179,"name":162,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":26},"01M6JR00TDMVAFFCZXZ04AN7Q7","Zustand state management guide. Use when working with store code (src\u002Fstore\u002F**), implementing actions, managing state, or creating slices. Triggers on Zustand store development, state management questions, or action implementation.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fzustand\u002FSKILL.md",[],[162,184,168,185,169,186,187,171,188,173,189,190,191,163,150,192,193,176,177],"development","code","actions","src","guide","implementation","zustand state","triggers","questions","zustand state management",{"skillNo":195,"name":196,"nameZh":6,"description":197,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":198,"categories":199,"keywords":204,"publishedAt":26},"01M6JQZSWV4KWJP112G6XHEP44","youtube_summarizer","Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and provides metadata, key insights, and downloadable transcripts.","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fyoutube_summarizer\u002FSKILL.md",[200,203],{"categoryNo":201,"categoryName":202,"taxonomyType":96,"taxonomyTypeDesc":97},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":99,"categoryName":100,"taxonomyType":96,"taxonomyTypeDesc":97},[205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220],"youtube","youtube summarizer","summarizer","generate","metadata","messaging","Video","fetch","telegram","transcription","summarization","structured","full","insights","transcripts","summaries",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":227,"publishedAt":26},"01M6JQZN3QJB6B77JGKJD62DQT","youtube_clipper","YouTube 视频智能剪辑工具。下载视频和字幕，AI 分析生成精细章节（几分钟级别）， 用户选择片段后自动剪辑、翻译字幕为中英双语、烧录字幕到视频，并生成总结文案。 使用场景：当用户需要剪辑 YouTube 视频、生成短视频片段、制作双语字幕版本时。 关键词：视频剪辑、YouTube、字幕翻译、双语字幕、视频下载、clip video","https:\u002F\u002Fgithub.com\u002FLongLeo287\u002FOmniClaw\u002Fblob\u002Fmain\u002Fecosystem\u002Fskills\u002Fyoutube_clipper\u002FSKILL.md",[],[205,228,229,211,230,231,232,233,234,235,236,237,238,239,240,241,242],"clipper","youtube clipper","Bash","下载","视频","生成","关键词","翻译","read","write","clip","总结","工具","文案","sonnet"]