[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6GD2EBRQ5M8V3RHNF01RES7":3,"skill-same:01M6GD2EBRQ5M8V3RHNF01RES7":98},{"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":23,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":46,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6GD2EBRQ5M8V3RHNF01RES7","swiftui-performance-audit",null,"Audit SwiftUI performance issues from code review and profiling evidence.","Sam-06060\u002Fjarvis-assistant","Sam-06060","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F208600848?v=4","01M6CRKT7C7FXD21V6HXF293S0","Samson Frank Ganta","01M6CRKTBEKYFD8YX5Z1GT99EE",6,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34],"performance","swiftui performance audit","audit","swiftui","code review","review","safe","code","issues","profiling","evidence","2026-11-10 10:12:30",false,"---\nname: swiftui-performance-audit\ndescription: Audit SwiftUI performance issues from code review and profiling evidence.\nrisk: safe\nsource: \"Dimillian\u002FSkills (MIT)\"\ndate_added: \"2026-03-25\"\n---\n\n# SwiftUI Performance Audit\n\n## Quick start\n\nUse this skill to diagnose SwiftUI performance issues from code first, then request profiling evidence when code review alone cannot explain the symptoms.\n\n## When to Use\n\n- When the user reports slow rendering, janky scrolling, layout thrash, or high CPU in SwiftUI.\n- When you need a code-first audit plus Instruments guidance if profiling evidence is required.\n\n## Workflow\n\n1. Classify the symptom: slow rendering, janky scrolling, high CPU, memory growth, hangs, or excessive view updates.\n2. If code is available, start with a code-first review using `references\u002Fcode-smells.md`.\n3. If code is not available, ask for the smallest useful slice: target view, data flow, reproduction steps, and deployment target.\n4. If code review is inconclusive or runtime evidence is required, guide the user through profiling with `references\u002Fprofiling-intake.md`.\n5. Summarize likely causes, evidence, remediation, and validation steps using `references\u002Freport-template.md`.\n\n## 1. Intake\n\nCollect:\n- Target view or feature code.\n- Symptoms and exact reproduction steps.\n- Data flow: `@State`, `@Binding`, environment dependencies, and observable models.\n- Whether the issue shows up on device or simulator, and whether it was observed in Debug or Release.\n\nAsk the user to classify the issue if possible:\n- CPU spike or battery drain\n- Janky scrolling or dropped frames\n- High memory or image pressure\n- Hangs or unresponsive interactions\n- Excessive or unexpectedly broad view updates\n\nFor the full profiling intake checklist, read `references\u002Fprofiling-intake.md`.\n\n## 2. Code-First Review\n\nFocus on:\n- Invalidation storms from broad observation or environment reads.\n- Unstable identity in lists and `ForEach`.\n- Heavy derived work in `body` or view builders.\n- Layout thrash from complex hierarchies, `GeometryReader`, or preference chains.\n- Large image decode or resize work on the main thread.\n- Animation or transition work applied too broadly.\n\nUse `references\u002Fcode-smells.md` for the detailed smell catalog and fix guidance.\n\nProvide:\n- Likely root causes with code references.\n- Suggested fixes and refactors.\n- If needed, a minimal repro or instrumentation suggestion.\n\n## 3. Guide the User to Profile\n\nIf code review does not explain the issue, ask for runtime evidence:\n- A trace export or screenshots of the SwiftUI timeline and Time Profiler call tree.\n- Device\u002FOS\u002Fbuild configuration.\n- The exact interaction being profiled.\n- Before\u002Fafter metrics if the user is comparing a change.\n\nUse `references\u002Fprofiling-intake.md` for the exact checklist and collection steps.\n\n## 4. Analyze and Diagnose\n\n- Map the evidence to the most likely category: invalidation, identity churn, layout thrash, main-thread work, image cost, or animation cost.\n- Prioritize problems by impact, not by how easy they are to explain.\n- Distinguish code-level suspicion from trace-backed evidence.\n- Call out when profiling is still insufficient and what additional evidence would reduce uncertainty.\n\n## 5. Remediate\n\nApply targeted fixes:\n- Narrow state scope and reduce broad observation fan-out.\n- Stabilize identities for `ForEach` and lists.\n- Move heavy work out of `body` into derived state updated from inputs, model-layer precomputation, memoized helpers, or background preprocessing. Use `@State` only for view-owned state, not as an ad hoc cache for arbitrary computation.\n- Use `equatable()` only when equality is cheaper than recomputing the subtree and the inputs are truly value-semantic.\n- Downsample images before rendering.\n- Reduce layout complexity or use fixed sizing where possible.\n\nUse `references\u002Fcode-smells.md` for examples, Observation-specific fan-out guidance, and remediation patterns.\n\n## 6. Verify\n\nAsk the user to re-run the same capture and compare with baseline metrics.\nSummarize the delta (CPU, frame drops, memory peak) if provided.\n\n## Outputs\n\nProvide:\n- A short metrics table (before\u002Fafter if available).\n- Top issues (ordered by impact).\n- Proposed fixes with estimated effort.\n\nUse `references\u002Freport-template.md` when formatting the final audit.\n\n## References\n\n- Profiling intake and collection checklist: `references\u002Fprofiling-intake.md`\n- Common code smells and remediation patterns: `references\u002Fcode-smells.md`\n- Audit output template: `references\u002Freport-template.md`\n- Add Apple documentation and WWDC resources under `references\u002F` as they are supplied by the user.\n- Optimizing SwiftUI performance with Instruments: `references\u002Foptimizing-swiftui-performance-instruments.md`\n- Understanding and improving SwiftUI performance: `references\u002Funderstanding-improving-swiftui-performance.md`\n- Understanding hangs in your app: `references\u002Funderstanding-hangs-in-your-app.md`\n- Demystify SwiftUI performance (WWDC23): `references\u002Fdemystify-swiftui-performance-wwdc23.md`\n","# SwiftUI Performance Audit\n\n## Quick start\n\nUse this skill to diagnose SwiftUI performance issues from code first, then request profiling evidence when code review alone cannot explain the symptoms.\n\n## When to Use\n\n- When the user reports slow rendering, janky scrolling, layout thrash, or high CPU in SwiftUI.\n- When you need a code-first audit plus Instruments guidance if profiling evidence is required.\n\n## Workflow\n\n1. Classify the symptom: slow rendering, janky scrolling, high CPU, memory growth, hangs, or excessive view updates.\n2. If code is available, start with a code-first review using `references\u002Fcode-smells.md`.\n3. If code is not available, ask for the smallest useful slice: target view, data flow, reproduction steps, and deployment target.\n4. If code review is inconclusive or runtime evidence is required, guide the user through profiling with `references\u002Fprofiling-intake.md`.\n5. Summarize likely causes, evidence, remediation, and validation steps using `references\u002Freport-template.md`.\n\n## 1. Intake\n\nCollect:\n- Target view or feature code.\n- Symptoms and exact reproduction steps.\n- Data flow: `@State`, `@Binding`, environment dependencies, and observable models.\n- Whether the issue shows up on device or simulator, and whether it was observed in Debug or Release.\n\nAsk the user to classify the issue if possible:\n- CPU spike or battery drain\n- Janky scrolling or dropped frames\n- High memory or image pressure\n- Hangs or unresponsive interactions\n- Excessive or unexpectedly broad view updates\n\nFor the full profiling intake checklist, read `references\u002Fprofiling-intake.md`.\n\n## 2. Code-First Review\n\nFocus on:\n- Invalidation storms from broad observation or environment reads.\n- Unstable identity in lists and `ForEach`.\n- Heavy derived work in `body` or view builders.\n- Layout thrash from complex hierarchies, `GeometryReader`, or preference chains.\n- Large image decode or resize work on the main thread.\n- Animation or transition work applied too broadly.\n\nUse `references\u002Fcode-smells.md` for the detailed smell catalog and fix guidance.\n\nProvide:\n- Likely root causes with code references.\n- Suggested fixes and refactors.\n- If needed, a minimal repro or instrumentation suggestion.\n\n## 3. Guide the User to Profile\n\nIf code review does not explain the issue, ask for runtime evidence:\n- A trace export or screenshots of the SwiftUI timeline and Time Profiler call tree.\n- Device\u002FOS\u002Fbuild configuration.\n- The exact interaction being profiled.\n- Before\u002Fafter metrics if the user is comparing a change.\n\nUse `references\u002Fprofiling-intake.md` for the exact checklist and collection steps.\n\n## 4. Analyze and Diagnose\n\n- Map the evidence to the most likely category: invalidation, identity churn, layout thrash, main-thread work, image cost, or animation cost.\n- Prioritize problems by impact, not by how easy they are to explain.\n- Distinguish code-level suspicion from trace-backed evidence.\n- Call out when profiling is still insufficient and what additional evidence would reduce uncertainty.\n\n## 5. Remediate\n\nApply targeted fixes:\n- Narrow state scope and reduce broad observation fan-out.\n- Stabilize identities for `ForEach` and lists.\n- Move heavy work out of `body` into derived state updated from inputs, model-layer precomputation, memoized helpers, or background preprocessing. Use `@State` only for view-owned state, not as an ad hoc cache for arbitrary computation.\n- Use `equatable()` only when equality is cheaper than recomputing the subtree and the inputs are truly value-semantic.\n- Downsample images before rendering.\n- Reduce layout complexity or use fixed sizing where possible.\n\nUse `references\u002Fcode-smells.md` for examples, Observation-specific fan-out guidance, and remediation patterns.\n\n## 6. Verify\n\nAsk the user to re-run the same capture and compare with baseline metrics.\nSummarize the delta (CPU, frame drops, memory peak) if provided.\n\n## Outputs\n\nProvide:\n- A short metrics table (before\u002Fafter if available).\n- Top issues (ordered by impact).\n- Proposed fixes with estimated effort.\n\nUse `references\u002Freport-template.md` when formatting the final audit.\n\n## References\n\n- Profiling intake and collection checklist: `references\u002Fprofiling-intake.md`\n- Common code smells and remediation patterns: `references\u002Fcode-smells.md`\n- Audit output template: `references\u002Freport-template.md`\n- Add Apple documentation and WWDC resources under `references\u002F` as they are supplied by the user.\n- Optimizing SwiftUI performance with Instruments: `references\u002Foptimizing-swiftui-performance-instruments.md`\n- Understanding and improving SwiftUI performance: `references\u002Funderstanding-improving-swiftui-performance.md`\n- Understanding hangs in your app: `references\u002Funderstanding-hangs-in-your-app.md`\n- Demystify SwiftUI performance (WWDC23): `references\u002Fdemystify-swiftui-performance-wwdc23.md`\n",{"name":5,"risk":30,"source":40,"date_added":41,"description":7},"Dimillian\u002FSkills (MIT)","2026-03-25","main","a50a3aa6b39fb0e1b7db88bef1bfc9c93606e126","modules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit",0,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant","https:\u002F\u002Fgithub.com\u002FSam-06060","Mobile Application Developer | Kotlin | Flutter, KMP, Swfit, Android,Swift UI | Building at Saar It Resources | Creator of Jarvis (AI Assistant)","2026-06-23 05:13:38",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add Sam-06060\u002Fjarvis-assistant --skill swiftui-performance-audit",{"tool":56,"command":57},"bunx","bunx skills add Sam-06060\u002Fjarvis-assistant --skill swiftui-performance-audit",{"tool":59,"command":60},"pnpm","pnpm dlx skills add Sam-06060\u002Fjarvis-assistant --skill swiftui-performance-audit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002FSKILL.md",true,[64,70,74,78,82,86,90,94],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"agents\u002Fopenai.yaml","REFERENCE","参考文档",242,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Fagents\u002Fopenai.yaml",{"path":71,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fcode-smells.md",3753,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Fcode-smells.md",{"path":75,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fdemystify-swiftui-performance-wwdc23.md",1813,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Fdemystify-swiftui-performance-wwdc23.md",{"path":79,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Foptimizing-swiftui-performance-instruments.md",1837,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Foptimizing-swiftui-performance-instruments.md",{"path":83,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fprofiling-intake.md",1904,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Fprofiling-intake.md",{"path":87,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Freport-template.md",1201,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Freport-template.md",{"path":91,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Funderstanding-hangs-in-your-app.md",1267,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Funderstanding-hangs-in-your-app.md",{"path":95,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Funderstanding-improving-swiftui-performance.md",2262,"https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fswiftui-performance-audit\u002Freferences\u002Funderstanding-improving-swiftui-performance.md",[99,110,127,154,173,199],{"skillNo":100,"name":101,"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":102,"categories":103,"keywords":107,"publishedAt":35},"01M6GDRVS6FXX3ESH0C9DW01C0","test_skill","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fscratch\u002Ftest_skill\u002FSKILL.md",[104],{"categoryNo":105,"categoryName":106,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[108,109],"Test Skill","test",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":35},"01M6GDRQ40HX22MA6XWC31RHHK","zustand-store-ts","Create Zustand stores following established patterns with proper TypeScript types and middleware.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzustand-store-ts\u002FSKILL.md",[],[117,118,119,120,121,122,123,124,125,126],"zustand store ts","zustand","store","with","types","middleware","patterns","community","create","typescript",{"skillNo":128,"name":129,"nameZh":6,"description":130,"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":136,"publishedAt":35},"01M6GDRKEA0WE670SPFWX5GKCN","zoom-automation","Automate Zoom meeting creation, management, recordings, webinars, and participant tracking via Rube MCP (Composio). Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoom-automation\u002FSKILL.md",[133],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[137,138,139,140,141,142,143,144,145,146,147,148,149,150,124,151,152,153],"automation","zoom automation","zoom","first","Tools","search","MCP","via","meeting","automate","critical","creation","webinars","composio","recordings","management","tracking",{"skillNo":155,"name":156,"nameZh":6,"description":157,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":158,"categories":159,"keywords":161,"publishedAt":35},"01M6GDRFS1452PC71JQ38S24HR","zoho-crm-automation","Automate Zoho CRM tasks via Rube MCP (Composio): create\u002Fupdate records, search contacts, manage leads, and convert leads. Always search tools first for current schemas.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzoho-crm-automation\u002FSKILL.md",[160],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},[162,137,163,164,165,166,167,124,142,168,150,169,147,146,141,170,125,171,143,172],"crm automation","zoho crm","crm","zoho crm automation","zoho","leads","contacts","records","update","tasks","manage",{"skillNo":174,"name":175,"nameZh":6,"description":176,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":177,"categories":178,"keywords":182,"publishedAt":35},"01M6GDRCKQBAVTGHX5XBH26KPZ","zod-validation-expert","Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzod-validation-expert\u002FSKILL.md",[179],{"categoryNo":180,"categoryName":181,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",[183,184,185,186,187,126,30,188,189,190,191,192,120,193,194,195,196,124,197,198],"expert","zod","zod validation expert","validation","react","parsing","errors","schema validation","react hook form","hook","trpc","form","type","next","schema","Next.js",{"skillNo":200,"name":201,"nameZh":6,"description":202,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":203,"categories":204,"keywords":206,"publishedAt":35},"01M6GDR658B08K4MY0RWD4A6EH","zeroize-audit","Detects missing zeroization of sensitive data in source code and identifies zeroization removed by compiler optimizations, with assembly-level analysis, and control-flow verification. Use for auditing C\u002FC++\u002FRust code handling secrets, keys, passwords, or other sensitive data.","https:\u002F\u002Fgithub.com\u002FSam-06060\u002Fjarvis-assistant\u002Fblob\u002Fmain\u002Fmodules\u002Fagent_skills\u002Fawesome-skills\u002Fplaybooks\u002Fzeroize-audit\u002FSKILL.md",[205],{"categoryNo":134,"categoryName":135,"taxonomyType":21,"taxonomyTypeDesc":22},[207,26,208,209,210,211,212,213,124,214,215,216,217,218,219,220,221,31,222,143],"zeroize audit","write","passwords","get","project","c++","activate","assembly","read","Bash","secrets","analysis","data","flow","verification","rust"]