[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M718KHCT60C47MPARC5X049H":3,"skill-same:01M718KHCT60C47MPARC5X049H":55},{"skillNo":4,"name":5,"nameZh":6,"description":5,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":35,"commitSha":36,"skillDirectory":37,"forksCount":13,"repositoryHtmlUrl":38,"repositoryHomepageUrl":6,"ownerHtmlUrl":39,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":40,"install":41,"resources":54},"01M718KHCT60C47MPARC5X049H","expo-ui-swift-ui",null,"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\u002Fexpo-ui-swift-ui\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[23,24,25,26,27,28,29],"swift","expo ui swift ui","ui","expo","expo ui","community","unknown","2026-11-10 10:12:30",false,"---\nname: expo-ui-swift-ui\ndescription: expo-ui-swift-ui\nrisk: unknown\nsource: community\n---\n\n---\nname: expo-ui-swift-ui\ndescription: `@expo\u002Fui\u002Fswift-ui` package lets you use SwiftUI Views and modifiers in your app.\n---\n\n> The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI SwiftUI docs for that version for the most accurate information.\n\n## When to Use\n\n- You need to build iOS-native UI in Expo using `@expo\u002Fui\u002Fswift-ui`.\n- The task involves selecting SwiftUI views or modifiers, wrapping trees in `Host`, or embedding React Native components with `RNHostView`.\n- You are targeting Expo SDK 55 behavior for SwiftUI integration and extension guidance.\n\n## Installation\n\n```bash\nnpx expo install @expo\u002Fui\n```\n\nA native rebuild is required after installation (`npx expo run:ios`).\n\n## Instructions\n\n- Expo UI's API mirrors SwiftUI's API. Use SwiftUI knowledge to decide which components or modifiers to use.\n- Components are imported from `@expo\u002Fui\u002Fswift-ui`, modifiers from `@expo\u002Fui\u002Fswift-ui\u002Fmodifiers`.\n- When about to use a component, fetch its docs to confirm the API - https:\u002F\u002Fdocs.expo.dev\u002Fversions\u002Fv55.0.0\u002Fsdk\u002Fui\u002Fswift-ui\u002F{component-name}\u002Findex.md\n- When unsure about a modifier's API, refer to the docs - https:\u002F\u002Fdocs.expo.dev\u002Fversions\u002Fv55.0.0\u002Fsdk\u002Fui\u002Fswift-ui\u002Fmodifiers\u002Findex.md\n- Every SwiftUI tree must be wrapped in `Host`.\n- `RNHostView` is specifically for embedding RN components inside a SwiftUI tree. Example:\n\n```jsx\nimport { Host, VStack, RNHostView } from \"@expo-ui\u002Fswift-ui\";\nimport { Pressable } from \"react-native\";\n\n\u003CHost matchContents>\n  \u003CVStack>\n    \u003CRNHostView matchContents>\n      \u002F\u002F Here, `Pressable` is an RN component so it is wrapped in `RNHostView`.\n      \u003CPressable \u002F>\n    \u003C\u002FRNHostView>\n  \u003C\u002FVStack>\n\u003C\u002FHost>;\n```\n\n- If a required modifier or View is missing in Expo UI, it can be extended via a local Expo module. See: https:\u002F\u002Fdocs.expo.dev\u002Fguides\u002Fexpo-ui-swift-ui\u002Fextending\u002Findex.md. Confirm with the user before extending.\n","---\nname: expo-ui-swift-ui\ndescription: `@expo\u002Fui\u002Fswift-ui` package lets you use SwiftUI Views and modifiers in your app.\n---\n\n> The instructions in this skill apply to SDK 55 only. For other SDK versions, refer to the Expo UI SwiftUI docs for that version for the most accurate information.\n\n## When to Use\n\n- You need to build iOS-native UI in Expo using `@expo\u002Fui\u002Fswift-ui`.\n- The task involves selecting SwiftUI views or modifiers, wrapping trees in `Host`, or embedding React Native components with `RNHostView`.\n- You are targeting Expo SDK 55 behavior for SwiftUI integration and extension guidance.\n\n## Installation\n\n```bash\nnpx expo install @expo\u002Fui\n```\n\nA native rebuild is required after installation (`npx expo run:ios`).\n\n## Instructions\n\n- Expo UI's API mirrors SwiftUI's API. Use SwiftUI knowledge to decide which components or modifiers to use.\n- Components are imported from `@expo\u002Fui\u002Fswift-ui`, modifiers from `@expo\u002Fui\u002Fswift-ui\u002Fmodifiers`.\n- When about to use a component, fetch its docs to confirm the API - https:\u002F\u002Fdocs.expo.dev\u002Fversions\u002Fv55.0.0\u002Fsdk\u002Fui\u002Fswift-ui\u002F{component-name}\u002Findex.md\n- When unsure about a modifier's API, refer to the docs - https:\u002F\u002Fdocs.expo.dev\u002Fversions\u002Fv55.0.0\u002Fsdk\u002Fui\u002Fswift-ui\u002Fmodifiers\u002Findex.md\n- Every SwiftUI tree must be wrapped in `Host`.\n- `RNHostView` is specifically for embedding RN components inside a SwiftUI tree. Example:\n\n```jsx\nimport { Host, VStack, RNHostView } from \"@expo-ui\u002Fswift-ui\";\nimport { Pressable } from \"react-native\";\n\n\u003CHost matchContents>\n  \u003CVStack>\n    \u003CRNHostView matchContents>\n      \u002F\u002F Here, `Pressable` is an RN component so it is wrapped in `RNHostView`.\n      \u003CPressable \u002F>\n    \u003C\u002FRNHostView>\n  \u003C\u002FVStack>\n\u003C\u002FHost>;\n```\n\n- If a required modifier or View is missing in Expo UI, it can be extended via a local Expo module. See: https:\u002F\u002Fdocs.expo.dev\u002Fguides\u002Fexpo-ui-swift-ui\u002Fextending\u002Findex.md. Confirm with the user before extending.\n",{"name":5,"risk":29,"source":28,"description":5},"main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fglobal\u002Fexpo-ui-swift-ui","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":7,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill expo-ui-swift-ui",{"tool":47,"command":48},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill expo-ui-swift-ui",{"tool":50,"command":51},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill expo-ui-swift-ui","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Fexpo-ui-swift-ui\u002FSKILL.md",true,[],[56,78,104,114,127,146],{"skillNo":57,"name":58,"nameZh":6,"description":59,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":60,"categories":61,"keywords":65,"publishedAt":30},"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",[62],{"categoryNo":63,"categoryName":64,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000037","律师与法务",[66,67,68,69,70,71,72,73,74,75,76,77],"wechat search","wechat","search","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":30},"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",[],[85,86,87,88,89,90,68,91,92,93,94,95,96,97,98,99,100,101,102,103],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":105,"name":106,"nameZh":6,"description":107,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":108,"categories":109,"keywords":110,"publishedAt":30},"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",[],[111,112,85,96,97,98,99,89,68,101,113,102,103,95,93,92,91,100,90,88],"trend radar","radar","pulse",{"skillNo":115,"name":116,"nameZh":6,"description":117,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":120,"publishedAt":30},"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",[],[121,122,123,124,125,126],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":138,"publishedAt":30},"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",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":136,"taxonomyTypeDesc":137},"01JBSEEDCAT000000000000021","资料检索与研究","SCENARIO","使用场景",[129,74,139,140,141,77,96,142,143,144,87,145,100],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":30},"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",[],[148,153,154,155,100,156,143,157,158,159,160,161],"status","play","go","latest","github","discover","control","cmd","volume"]