agent-skill-kit 3.9.135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (615) hide show
  1. package/.agent/global.d.ts +80 -0
  2. package/.agent/rules/GEMINI.md +210 -0
  3. package/.agent/rules/autopilot.md +287 -0
  4. package/.agent/rules/code-rules.md +227 -0
  5. package/.agent/scripts/audit_workflows.ts +23 -0
  6. package/.agent/scripts/auto_preview.ts +170 -0
  7. package/.agent/scripts/checklist.ts +180 -0
  8. package/.agent/scripts/compile-agents.ts +237 -0
  9. package/.agent/scripts/fix_skills.ts +49 -0
  10. package/.agent/scripts/session_manager.ts +222 -0
  11. package/.agent/scripts/skill-audit.ts +255 -0
  12. package/.agent/scripts/sync_workflows.ts +54 -0
  13. package/.agent/scripts/utils/colors.ts +58 -0
  14. package/.agent/scripts/utils/process-manager.ts +131 -0
  15. package/.agent/scripts/utils/reporter.ts +192 -0
  16. package/.agent/scripts/utils/runner.ts +128 -0
  17. package/.agent/scripts/verify_all.ts +243 -0
  18. package/.agent/scripts/version-sync.ts +256 -0
  19. package/.agent/skills/SKILL_INDEX.md +129 -0
  20. package/.agent/skills/agent-browser/AGENTS.md +728 -0
  21. package/.agent/skills/agent-browser/SKILL.md +193 -0
  22. package/.agent/skills/agent-browser/rules/_sections.md +15 -0
  23. package/.agent/skills/agent-browser/rules/_template.md +32 -0
  24. package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
  25. package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
  26. package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
  27. package/.agent/skills/ai-artist/AGENTS.md +1082 -0
  28. package/.agent/skills/ai-artist/SKILL.md +186 -0
  29. package/.agent/skills/ai-artist/rules/_sections.md +30 -0
  30. package/.agent/skills/ai-artist/rules/_template.md +32 -0
  31. package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
  32. package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
  33. package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
  34. package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
  35. package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
  36. package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
  37. package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
  38. package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
  39. package/.agent/skills/api-architect/AGENTS.md +1896 -0
  40. package/.agent/skills/api-architect/SKILL.md +173 -0
  41. package/.agent/skills/api-architect/rules/_sections.md +35 -0
  42. package/.agent/skills/api-architect/rules/_template.md +32 -0
  43. package/.agent/skills/api-architect/rules/api-style.md +115 -0
  44. package/.agent/skills/api-architect/rules/auth.md +134 -0
  45. package/.agent/skills/api-architect/rules/documentation.md +131 -0
  46. package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
  47. package/.agent/skills/api-architect/rules/graphql.md +154 -0
  48. package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
  49. package/.agent/skills/api-architect/rules/response.md +138 -0
  50. package/.agent/skills/api-architect/rules/rest.md +113 -0
  51. package/.agent/skills/api-architect/rules/security-testing.md +146 -0
  52. package/.agent/skills/api-architect/rules/trpc.md +129 -0
  53. package/.agent/skills/api-architect/rules/versioning.md +100 -0
  54. package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
  55. package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
  56. package/.agent/skills/auth-patterns/SKILL.md +163 -0
  57. package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
  58. package/.agent/skills/auth-patterns/rules/_template.md +32 -0
  59. package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
  60. package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
  61. package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
  62. package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
  63. package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
  64. package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
  65. package/.agent/skills/auth-patterns/rules/session.md +183 -0
  66. package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
  67. package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
  68. package/.agent/skills/chrome-devtools/SKILL.md +160 -0
  69. package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
  70. package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
  71. package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
  72. package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
  73. package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
  74. package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
  75. package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
  76. package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
  77. package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
  78. package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
  79. package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
  80. package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
  81. package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
  82. package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
  83. package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
  84. package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
  85. package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
  86. package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
  87. package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
  88. package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
  89. package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
  90. package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
  91. package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
  92. package/.agent/skills/code-constitution/AGENTS.md +597 -0
  93. package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
  94. package/.agent/skills/code-constitution/SKILL.md +191 -0
  95. package/.agent/skills/code-constitution/VERSION +3 -0
  96. package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
  97. package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
  98. package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
  99. package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
  100. package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
  101. package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
  102. package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
  103. package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
  104. package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
  105. package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
  106. package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
  107. package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
  108. package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
  109. package/.agent/skills/code-constitution/rules/_sections.md +15 -0
  110. package/.agent/skills/code-constitution/rules/_template.md +32 -0
  111. package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
  112. package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
  113. package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
  114. package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
  115. package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
  116. package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
  117. package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
  118. package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
  119. package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
  120. package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
  121. package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
  122. package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
  123. package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
  124. package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
  125. package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
  126. package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
  127. package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
  128. package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
  129. package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
  130. package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
  131. package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
  132. package/.agent/skills/code-craft/AGENTS.md +803 -0
  133. package/.agent/skills/code-craft/SKILL.md +170 -0
  134. package/.agent/skills/code-craft/rules/_sections.md +20 -0
  135. package/.agent/skills/code-craft/rules/_template.md +32 -0
  136. package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
  137. package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
  138. package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
  139. package/.agent/skills/code-review/AGENTS.md +1664 -0
  140. package/.agent/skills/code-review/SKILL.md +152 -0
  141. package/.agent/skills/code-review/rules/_sections.md +15 -0
  142. package/.agent/skills/code-review/rules/_template.md +32 -0
  143. package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
  144. package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
  145. package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
  146. package/.agent/skills/context-engineering/AGENTS.md +499 -0
  147. package/.agent/skills/context-engineering/SKILL.md +147 -0
  148. package/.agent/skills/context-engineering/rules/_sections.md +15 -0
  149. package/.agent/skills/context-engineering/rules/_template.md +32 -0
  150. package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
  151. package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
  152. package/.agent/skills/copywriting/AGENTS.md +501 -0
  153. package/.agent/skills/copywriting/SKILL.md +188 -0
  154. package/.agent/skills/copywriting/rules/_sections.md +15 -0
  155. package/.agent/skills/copywriting/rules/_template.md +32 -0
  156. package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
  157. package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
  158. package/.agent/skills/data-modeler/AGENTS.md +814 -0
  159. package/.agent/skills/data-modeler/SKILL.md +195 -0
  160. package/.agent/skills/data-modeler/rules/_sections.md +15 -0
  161. package/.agent/skills/data-modeler/rules/_template.md +32 -0
  162. package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
  163. package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
  164. package/.agent/skills/data-modeler/rules/indexing.md +166 -0
  165. package/.agent/skills/data-modeler/rules/migrations.md +176 -0
  166. package/.agent/skills/data-modeler/rules/optimization.md +161 -0
  167. package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
  168. package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
  169. package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
  170. package/.agent/skills/debug-pro/AGENTS.md +798 -0
  171. package/.agent/skills/debug-pro/SKILL.md +193 -0
  172. package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
  173. package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
  174. package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
  175. package/.agent/skills/debug-pro/rules/_sections.md +15 -0
  176. package/.agent/skills/debug-pro/rules/_template.md +32 -0
  177. package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
  178. package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
  179. package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
  180. package/.agent/skills/design-system/AGENTS.md +4216 -0
  181. package/.agent/skills/design-system/SKILL.md +186 -0
  182. package/.agent/skills/design-system/rules/_sections.md +65 -0
  183. package/.agent/skills/design-system/rules/_template.md +32 -0
  184. package/.agent/skills/design-system/rules/animation-guide.md +355 -0
  185. package/.agent/skills/design-system/rules/color-system.md +335 -0
  186. package/.agent/skills/design-system/rules/color-systems.md +133 -0
  187. package/.agent/skills/design-system/rules/decision-trees.md +442 -0
  188. package/.agent/skills/design-system/rules/design-extraction.md +152 -0
  189. package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
  190. package/.agent/skills/design-system/rules/motion-design.md +161 -0
  191. package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
  192. package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
  193. package/.agent/skills/design-system/rules/typography-system.md +369 -0
  194. package/.agent/skills/design-system/rules/typography.md +124 -0
  195. package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
  196. package/.agent/skills/design-system/rules/visual-effects.md +407 -0
  197. package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
  198. package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
  199. package/.agent/skills/doc-templates/AGENTS.md +820 -0
  200. package/.agent/skills/doc-templates/SKILL.md +260 -0
  201. package/.agent/skills/doc-templates/rules/_sections.md +20 -0
  202. package/.agent/skills/doc-templates/rules/_template.md +32 -0
  203. package/.agent/skills/doc-templates/rules/doc.md +355 -0
  204. package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
  205. package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
  206. package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
  207. package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
  208. package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
  209. package/.agent/skills/e2e-automation/AGENTS.md +882 -0
  210. package/.agent/skills/e2e-automation/SKILL.md +175 -0
  211. package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
  212. package/.agent/skills/e2e-automation/rules/_template.md +32 -0
  213. package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
  214. package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
  215. package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
  216. package/.agent/skills/execution-reporter/AGENTS.md +419 -0
  217. package/.agent/skills/execution-reporter/SKILL.md +152 -0
  218. package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
  219. package/.agent/skills/execution-reporter/rules/_template.md +32 -0
  220. package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
  221. package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
  222. package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
  223. package/.agent/skills/game-development/AGENTS.md +783 -0
  224. package/.agent/skills/game-development/SKILL.md +178 -0
  225. package/.agent/skills/game-development/game-art/SKILL.md +207 -0
  226. package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
  227. package/.agent/skills/game-development/game-design/SKILL.md +151 -0
  228. package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
  229. package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
  230. package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
  231. package/.agent/skills/game-development/rules/_sections.md +15 -0
  232. package/.agent/skills/game-development/rules/_template.md +32 -0
  233. package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
  234. package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
  235. package/.agent/skills/game-development/web-games/SKILL.md +173 -0
  236. package/.agent/skills/git-workflow/AGENTS.md +554 -0
  237. package/.agent/skills/git-workflow/SKILL.md +181 -0
  238. package/.agent/skills/git-workflow/rules/_sections.md +15 -0
  239. package/.agent/skills/git-workflow/rules/_template.md +32 -0
  240. package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
  241. package/.agent/skills/gitops/AGENTS.md +921 -0
  242. package/.agent/skills/gitops/SKILL.md +163 -0
  243. package/.agent/skills/gitops/rules/_sections.md +25 -0
  244. package/.agent/skills/gitops/rules/_template.md +32 -0
  245. package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
  246. package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
  247. package/.agent/skills/gitops/rules/sync-policies.md +145 -0
  248. package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
  249. package/.agent/skills/google-adk-python/SKILL.md +168 -0
  250. package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
  251. package/.agent/skills/google-adk-python/rules/_template.md +32 -0
  252. package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
  253. package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
  254. package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
  255. package/.agent/skills/google-adk-python/rules/tools.md +131 -0
  256. package/.agent/skills/idea-storm/AGENTS.md +995 -0
  257. package/.agent/skills/idea-storm/SKILL.md +160 -0
  258. package/.agent/skills/idea-storm/rules/_sections.md +25 -0
  259. package/.agent/skills/idea-storm/rules/_template.md +32 -0
  260. package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
  261. package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
  262. package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
  263. package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
  264. package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
  265. package/.agent/skills/knowledge-graph/SKILL.md +157 -0
  266. package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
  267. package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
  268. package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
  269. package/.agent/skills/knowledge-linter/SKILL.md +217 -0
  270. package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
  271. package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
  272. package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
  273. package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
  274. package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
  275. package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
  276. package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
  277. package/.agent/skills/mcp-builder/SKILL.md +166 -0
  278. package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
  279. package/.agent/skills/mcp-builder/rules/_template.md +32 -0
  280. package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
  281. package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
  282. package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
  283. package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
  284. package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
  285. package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
  286. package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
  287. package/.agent/skills/mcp-management/AGENTS.md +837 -0
  288. package/.agent/skills/mcp-management/SKILL.md +164 -0
  289. package/.agent/skills/mcp-management/rules/_sections.md +25 -0
  290. package/.agent/skills/mcp-management/rules/_template.md +32 -0
  291. package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
  292. package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
  293. package/.agent/skills/mcp-management/rules/protocol.md +159 -0
  294. package/.agent/skills/media-processing/AGENTS.md +479 -0
  295. package/.agent/skills/media-processing/SKILL.md +176 -0
  296. package/.agent/skills/media-processing/rules/_sections.md +15 -0
  297. package/.agent/skills/media-processing/rules/_template.md +32 -0
  298. package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
  299. package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
  300. package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
  301. package/.agent/skills/mobile-design/AGENTS.md +6531 -0
  302. package/.agent/skills/mobile-design/SKILL.md +165 -0
  303. package/.agent/skills/mobile-design/rules/_sections.md +45 -0
  304. package/.agent/skills/mobile-design/rules/_template.md +32 -0
  305. package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
  306. package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
  307. package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
  308. package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
  309. package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
  310. package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
  311. package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
  312. package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
  313. package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
  314. package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
  315. package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
  316. package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
  317. package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
  318. package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
  319. package/.agent/skills/mobile-developer/AGENTS.md +904 -0
  320. package/.agent/skills/mobile-developer/SKILL.md +194 -0
  321. package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
  322. package/.agent/skills/mobile-developer/rules/_template.md +32 -0
  323. package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
  324. package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
  325. package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
  326. package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
  327. package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
  328. package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
  329. package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
  330. package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
  331. package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
  332. package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
  333. package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
  334. package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
  335. package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
  336. package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
  337. package/.agent/skills/mobile-developer/rules/native.md +572 -0
  338. package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
  339. package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
  340. package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
  341. package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
  342. package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
  343. package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
  344. package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
  345. package/.agent/skills/nextjs-pro/SKILL.md +171 -0
  346. package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
  347. package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
  348. package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
  349. package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
  350. package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
  351. package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
  352. package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
  353. package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
  354. package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
  355. package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
  356. package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
  357. package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
  358. package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
  359. package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
  360. package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
  361. package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
  362. package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
  363. package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
  364. package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
  365. package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
  366. package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
  367. package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
  368. package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
  369. package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
  370. package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
  371. package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
  372. package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
  373. package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
  374. package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
  375. package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
  376. package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
  377. package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
  378. package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
  379. package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
  380. package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
  381. package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
  382. package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
  383. package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
  384. package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
  385. package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
  386. package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
  387. package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
  388. package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
  389. package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
  390. package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
  391. package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
  392. package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
  393. package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
  394. package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
  395. package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
  396. package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
  397. package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
  398. package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
  399. package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
  400. package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
  401. package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
  402. package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
  403. package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
  404. package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
  405. package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
  406. package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
  407. package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
  408. package/.agent/skills/nodejs-pro/SKILL.md +172 -0
  409. package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
  410. package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
  411. package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
  412. package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
  413. package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
  414. package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
  415. package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
  416. package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
  417. package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
  418. package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
  419. package/.agent/skills/observability/AGENTS.md +607 -0
  420. package/.agent/skills/observability/SKILL.md +178 -0
  421. package/.agent/skills/observability/rules/_sections.md +15 -0
  422. package/.agent/skills/observability/rules/_template.md +32 -0
  423. package/.agent/skills/observability/rules/engineering-spec.md +440 -0
  424. package/.agent/skills/offensive-sec/AGENTS.md +849 -0
  425. package/.agent/skills/offensive-sec/SKILL.md +191 -0
  426. package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
  427. package/.agent/skills/offensive-sec/rules/_template.md +32 -0
  428. package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
  429. package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
  430. package/.agent/skills/perf-optimizer/SKILL.md +189 -0
  431. package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
  432. package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
  433. package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
  434. package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
  435. package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
  436. package/.agent/skills/problem-checker/AGENTS.md +519 -0
  437. package/.agent/skills/problem-checker/SKILL.md +189 -0
  438. package/.agent/skills/problem-checker/rules/_sections.md +15 -0
  439. package/.agent/skills/problem-checker/rules/_template.md +32 -0
  440. package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
  441. package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
  442. package/.agent/skills/project-planner/AGENTS.md +2698 -0
  443. package/.agent/skills/project-planner/SKILL.md +166 -0
  444. package/.agent/skills/project-planner/rules/_sections.md +15 -0
  445. package/.agent/skills/project-planner/rules/_template.md +32 -0
  446. package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
  447. package/.agent/skills/python-pro/AGENTS.md +1871 -0
  448. package/.agent/skills/python-pro/SKILL.md +182 -0
  449. package/.agent/skills/python-pro/rules/_sections.md +50 -0
  450. package/.agent/skills/python-pro/rules/_template.md +32 -0
  451. package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
  452. package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
  453. package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
  454. package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
  455. package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
  456. package/.agent/skills/python-pro/rules/project-structure.md +181 -0
  457. package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
  458. package/.agent/skills/python-pro/rules/type-hints.md +159 -0
  459. package/.agent/skills/react-pro/AGENTS.md +963 -0
  460. package/.agent/skills/react-pro/SKILL.md +232 -0
  461. package/.agent/skills/react-pro/rules/_sections.md +40 -0
  462. package/.agent/skills/react-pro/rules/_template.md +32 -0
  463. package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
  464. package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
  465. package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
  466. package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
  467. package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
  468. package/.agent/skills/react-pro/rules/file-organization.md +158 -0
  469. package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
  470. package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
  471. package/.agent/skills/react-pro/rules/patterns.md +24 -0
  472. package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
  473. package/.agent/skills/react-pro/rules/performance.md +137 -0
  474. package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
  475. package/.agent/skills/react-pro/rules/state-management.md +90 -0
  476. package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
  477. package/.agent/skills/registry.json +1251 -0
  478. package/.agent/skills/security-scanner/AGENTS.md +851 -0
  479. package/.agent/skills/security-scanner/SKILL.md +182 -0
  480. package/.agent/skills/security-scanner/rules/_sections.md +15 -0
  481. package/.agent/skills/security-scanner/rules/_template.md +32 -0
  482. package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
  483. package/.agent/skills/security-scanner/rules/checklists.md +186 -0
  484. package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
  485. package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
  486. package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
  487. package/.agent/skills/seo-optimizer/SKILL.md +180 -0
  488. package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
  489. package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
  490. package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
  491. package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
  492. package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
  493. package/.agent/skills/server-ops/AGENTS.md +643 -0
  494. package/.agent/skills/server-ops/SKILL.md +194 -0
  495. package/.agent/skills/server-ops/rules/_sections.md +15 -0
  496. package/.agent/skills/server-ops/rules/_template.md +32 -0
  497. package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
  498. package/.agent/skills/shell-script/AGENTS.md +499 -0
  499. package/.agent/skills/shell-script/SKILL.md +205 -0
  500. package/.agent/skills/shell-script/rules/_sections.md +15 -0
  501. package/.agent/skills/shell-script/rules/_template.md +32 -0
  502. package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
  503. package/.agent/skills/skill-generator/SKILL.md +147 -0
  504. package/.agent/skills/smart-router/SKILL.md +95 -0
  505. package/.agent/skills/studio/AGENTS.md +636 -0
  506. package/.agent/skills/studio/SKILL.md +178 -0
  507. package/.agent/skills/studio/data/charts.csv +26 -0
  508. package/.agent/skills/studio/data/colors.csv +97 -0
  509. package/.agent/skills/studio/data/icons.csv +101 -0
  510. package/.agent/skills/studio/data/landing.csv +31 -0
  511. package/.agent/skills/studio/data/products.csv +97 -0
  512. package/.agent/skills/studio/data/prompts.csv +24 -0
  513. package/.agent/skills/studio/data/react-performance.csv +45 -0
  514. package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
  515. package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
  516. package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
  517. package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
  518. package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
  519. package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
  520. package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
  521. package/.agent/skills/studio/data/stacks/react.csv +54 -0
  522. package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
  523. package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
  524. package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
  525. package/.agent/skills/studio/data/stacks/vue.csv +50 -0
  526. package/.agent/skills/studio/data/styles.csv +59 -0
  527. package/.agent/skills/studio/data/typography.csv +58 -0
  528. package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
  529. package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
  530. package/.agent/skills/studio/data/web-interface.csv +31 -0
  531. package/.agent/skills/studio/rules/_sections.md +15 -0
  532. package/.agent/skills/studio/rules/_template.md +32 -0
  533. package/.agent/skills/studio/rules/engineering-spec.md +455 -0
  534. package/.agent/skills/studio/scripts/core.ts +345 -0
  535. package/.agent/skills/studio/scripts/design_system.ts +953 -0
  536. package/.agent/skills/studio/scripts/search.ts +197 -0
  537. package/.agent/skills/studio/scripts/types.ts +147 -0
  538. package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
  539. package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
  540. package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
  541. package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
  542. package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
  543. package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
  544. package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
  545. package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
  546. package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
  547. package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
  548. package/.agent/skills/system-design/AGENTS.md +597 -0
  549. package/.agent/skills/system-design/SKILL.md +153 -0
  550. package/.agent/skills/system-design/rules/_sections.md +15 -0
  551. package/.agent/skills/system-design/rules/_template.md +32 -0
  552. package/.agent/skills/system-design/rules/context-discovery.md +117 -0
  553. package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
  554. package/.agent/skills/system-design/rules/examples.md +180 -0
  555. package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
  556. package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
  557. package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
  558. package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
  559. package/.agent/skills/tailwind-kit/SKILL.md +171 -0
  560. package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
  561. package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
  562. package/.agent/skills/tailwind-kit/rules/components.md +232 -0
  563. package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
  564. package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
  565. package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
  566. package/.agent/skills/test-architect/AGENTS.md +851 -0
  567. package/.agent/skills/test-architect/SKILL.md +176 -0
  568. package/.agent/skills/test-architect/rules/_sections.md +15 -0
  569. package/.agent/skills/test-architect/rules/_template.md +32 -0
  570. package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
  571. package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
  572. package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
  573. package/.agent/skills/typescript-expert/SKILL.md +200 -0
  574. package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
  575. package/.agent/skills/typescript-expert/rules/_template.md +32 -0
  576. package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
  577. package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
  578. package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
  579. package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
  580. package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
  581. package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
  582. package/.agent/skills/vercel-deploy/SKILL.md +175 -0
  583. package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
  584. package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
  585. package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
  586. package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
  587. package/.agent/workflows/api.md +377 -0
  588. package/.agent/workflows/autopilot.md +344 -0
  589. package/.agent/workflows/build.md +338 -0
  590. package/.agent/workflows/chronicle.md +279 -0
  591. package/.agent/workflows/cook.md +217 -0
  592. package/.agent/workflows/diagnose.md +302 -0
  593. package/.agent/workflows/fix.md +253 -0
  594. package/.agent/workflows/game.md +329 -0
  595. package/.agent/workflows/inspect.md +276 -0
  596. package/.agent/workflows/knowledge.md +212 -0
  597. package/.agent/workflows/launch.md +345 -0
  598. package/.agent/workflows/mobile.md +354 -0
  599. package/.agent/workflows/monitor.md +239 -0
  600. package/.agent/workflows/optimize.md +269 -0
  601. package/.agent/workflows/plan.md +278 -0
  602. package/.agent/workflows/stage.md +286 -0
  603. package/.agent/workflows/studio.md +276 -0
  604. package/.agent/workflows/think.md +262 -0
  605. package/.agent/workflows/validate.md +289 -0
  606. package/.agentignore +161 -0
  607. package/.gitattributes +16 -0
  608. package/CHANGELOG.md +198 -0
  609. package/LICENSE +40 -0
  610. package/README.md +173 -0
  611. package/docs/SKILL_DESIGN_GUIDE.md +561 -0
  612. package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
  613. package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
  614. package/package.json +33 -0
  615. package/tsconfig.json +28 -0
@@ -0,0 +1,783 @@
1
+ ---
2
+ name: mobile-performance
3
+ description: Mobile performance guidelines — list virtualization, image optimization, battery, memory management, profiling tools
4
+ title: "Mobile Performance Reference"
5
+ impact: MEDIUM
6
+ impactDescription: "Moderate improvement to quality or maintainability"
7
+ tags: mobile, performance
8
+ ---
9
+
10
+ # Mobile Performance Reference
11
+
12
+ > Deep dive into React Native and Flutter performance optimization, 60fps animations, memory management, and battery considerations.
13
+ > **This file covers the #1 area where AI-generated code FAILS.**
14
+
15
+ ---
16
+
17
+ ## 1. The Mobile Performance Mindset
18
+
19
+ ### Why Mobile Performance is Different
20
+
21
+ ```
22
+ DESKTOP: MOBILE:
23
+ ├── Unlimited power ├── Battery matters
24
+ ├── Abundant RAM ├── RAM is shared, limited
25
+ ├── Stable network ├── Network is unreliable
26
+ ├── CPU always available ├── CPU throttles when hot
27
+ └── User expects fast anyway └── User expects INSTANT
28
+ ```
29
+
30
+ ### Performance Budget Concept
31
+
32
+ ```
33
+ Every frame must complete in:
34
+ ├── 60fps → 16.67ms per frame
35
+ ├── 120fps (ProMotion) → 8.33ms per frame
36
+
37
+ If your code takes longer:
38
+ ├── Frame drops → Janky scroll/animation
39
+ ├── User perceives as "slow" or "broken"
40
+ └── They WILL uninstall your app
41
+ ```
42
+
43
+ ---
44
+
45
+ ## 2. React Native Performance
46
+
47
+ ### 🚫 The #1 AI Mistake: ScrollView for Lists
48
+
49
+ ```javascript
50
+ // ❌ NEVER DO THIS - AI's favorite mistake
51
+ <ScrollView>
52
+ {items.map(item => (
53
+ <ItemComponent key={item.id} item={item} />
54
+ ))}
55
+ </ScrollView>
56
+
57
+ // Why it's catastrophic:
58
+ // ├── Renders ALL items immediately (1000 items = 1000 renders)
59
+ // ├── Memory explodes
60
+ // ├── Initial render takes seconds
61
+ // └── Scroll becomes janky
62
+
63
+ // ✅ ALWAYS USE FlatList
64
+ <FlatList
65
+ data={items}
66
+ renderItem={renderItem}
67
+ keyExtractor={item => item.id}
68
+ />
69
+ ```
70
+
71
+ ### FlatList Optimization Checklist
72
+
73
+ ```javascript
74
+ // ✅ CORRECT: All optimizations applied
75
+
76
+ // 1. Memoize the item component
77
+ const ListItem = React.memo(({ item }: { item: Item }) => {
78
+ return (
79
+ <Pressable style={styles.item}>
80
+ <Text>{item.title}</Text>
81
+ </Pressable>
82
+ );
83
+ });
84
+
85
+ // 2. Memoize renderItem with useCallback
86
+ const renderItem = useCallback(
87
+ ({ item }: { item: Item }) => <ListItem item={item} />,
88
+ [] // Empty deps = never recreated
89
+ );
90
+
91
+ // 3. Stable keyExtractor (NEVER use index!)
92
+ const keyExtractor = useCallback((item: Item) => item.id, []);
93
+
94
+ // 4. Provide getItemLayout for fixed-height items
95
+ const getItemLayout = useCallback(
96
+ (data: Item[] | null, index: number) => ({
97
+ length: ITEM_HEIGHT, // Fixed height
98
+ offset: ITEM_HEIGHT * index,
99
+ index,
100
+ }),
101
+ []
102
+ );
103
+
104
+ // 5. Apply to FlatList
105
+ <FlatList
106
+ data={items}
107
+ renderItem={renderItem}
108
+ keyExtractor={keyExtractor}
109
+ getItemLayout={getItemLayout}
110
+ // Performance props
111
+ removeClippedSubviews={true} // Android: detach off-screen
112
+ maxToRenderPerBatch={10} // Items per batch
113
+ windowSize={5} // Render window (5 = 2 screens each side)
114
+ initialNumToRender={10} // Initial items
115
+ updateCellsBatchingPeriod={50} // Batching delay
116
+ />
117
+ ```
118
+
119
+ ### Why Each Optimization Matters
120
+
121
+ | Optimization | What It Prevents | Impact |
122
+ |--------------|------------------|--------|
123
+ | `React.memo` | Re-render on parent change | 🔴 Critical |
124
+ | `useCallback renderItem` | New function every render | 🔴 Critical |
125
+ | Stable `keyExtractor` | Wrong item recycling | 🔴 Critical |
126
+ | `getItemLayout` | Async layout calculation | 🟡 High |
127
+ | `removeClippedSubviews` | Memory from off-screen | 🟡 High |
128
+ | `maxToRenderPerBatch` | Blocking main thread | 🟢 Medium |
129
+ | `windowSize` | Memory usage | 🟢 Medium |
130
+
131
+ ### FlashList: The Better Option
132
+
133
+ ```javascript
134
+ // Consider FlashList for better performance
135
+ import { FlashList } from "@shopify/flash-list";
136
+
137
+ <FlashList
138
+ data={items}
139
+ renderItem={renderItem}
140
+ estimatedItemSize={ITEM_HEIGHT}
141
+ keyExtractor={keyExtractor}
142
+ />
143
+
144
+ // Benefits over FlatList:
145
+ // ├── Faster recycling
146
+ // ├── Better memory management
147
+ // ├── Simpler API
148
+ // └── Fewer optimization props needed
149
+ ```
150
+
151
+ ### Animation Performance
152
+
153
+ ```javascript
154
+ // ❌ JS-driven animation (blocks JS thread)
155
+ Animated.timing(value, {
156
+ toValue: 1,
157
+ duration: 300,
158
+ useNativeDriver: false, // BAD!
159
+ }).start();
160
+
161
+ // ✅ Native-driver animation (runs on UI thread)
162
+ Animated.timing(value, {
163
+ toValue: 1,
164
+ duration: 300,
165
+ useNativeDriver: true, // GOOD!
166
+ }).start();
167
+
168
+ // Native driver supports ONLY:
169
+ // ├── transform (translate, scale, rotate)
170
+ // └── opacity
171
+ //
172
+ // Does NOT support:
173
+ // ├── width, height
174
+ // ├── backgroundColor
175
+ // ├── borderRadius changes
176
+ // └── margin, padding
177
+ ```
178
+
179
+ ### Reanimated for Complex Animations
180
+
181
+ ```javascript
182
+ // For animations native driver can't handle, use Reanimated 3
183
+
184
+ import Animated, {
185
+ useSharedValue,
186
+ useAnimatedStyle,
187
+ withSpring,
188
+ } from 'react-native-reanimated';
189
+
190
+ const Component = () => {
191
+ const offset = useSharedValue(0);
192
+
193
+ const animatedStyles = useAnimatedStyle(() => ({
194
+ transform: [{ translateX: withSpring(offset.value) }],
195
+ }));
196
+
197
+ return <Animated.View style={animatedStyles} />;
198
+ };
199
+
200
+ // Benefits:
201
+ // ├── Runs on UI thread (60fps guaranteed)
202
+ // ├── Can animate any property
203
+ // ├── Gesture-driven animations
204
+ // └── Worklets for complex logic
205
+ ```
206
+
207
+ ### Memory Leak Prevention
208
+
209
+ ```javascript
210
+ // ❌ Memory leak: uncleared interval
211
+ useEffect(() => {
212
+ const interval = setInterval(() => {
213
+ fetchData();
214
+ }, 5000);
215
+ // Missing cleanup!
216
+ }, []);
217
+
218
+ // ✅ Proper cleanup
219
+ useEffect(() => {
220
+ const interval = setInterval(() => {
221
+ fetchData();
222
+ }, 5000);
223
+
224
+ return () => clearInterval(interval); // CLEANUP!
225
+ }, []);
226
+
227
+ // Common memory leak sources:
228
+ // ├── Timers (setInterval, setTimeout)
229
+ // ├── Event listeners
230
+ // ├── Subscriptions (WebSocket, PubSub)
231
+ // ├── Async operations that update state after unmount
232
+ // └── Image caching without limits
233
+ ```
234
+
235
+ ### React Native Performance Checklist
236
+
237
+ ```markdown
238
+ ## Before Every List
239
+ - [ ] Using FlatList or FlashList (NOT ScrollView)
240
+ - [ ] renderItem is useCallback memoized
241
+ - [ ] List items are React.memo wrapped
242
+ - [ ] keyExtractor uses stable ID (NOT index)
243
+ - [ ] getItemLayout provided (if fixed height)
244
+
245
+ ## Before Every Animation
246
+ - [ ] useNativeDriver: true (if possible)
247
+ - [ ] Using Reanimated for complex animations
248
+ - [ ] Only animating transform/opacity
249
+ - [ ] Tested on low-end Android device
250
+
251
+ ## Before Any Release
252
+ - [ ] console.log statements removed
253
+ - [ ] Cleanup functions in all useEffects
254
+ - [ ] No memory leaks (test with profiler)
255
+ - [ ] Tested in release build (not dev)
256
+ ```
257
+
258
+ ---
259
+
260
+ ## 3. Flutter Performance
261
+
262
+ ### 🚫 The #1 AI Mistake: setState Overuse
263
+
264
+ ```dart
265
+ // ❌ WRONG: setState rebuilds ENTIRE widget tree
266
+ class BadCounter extends StatefulWidget {
267
+ @override
268
+ State<BadCounter> createState() => _BadCounterState();
269
+ }
270
+
271
+ class _BadCounterState extends State<BadCounter> {
272
+ int _counter = 0;
273
+
274
+ void _increment() {
275
+ setState(() {
276
+ _counter++; // This rebuilds EVERYTHING below!
277
+ });
278
+ }
279
+
280
+ @override
281
+ Widget build(BuildContext context) {
282
+ return Column(
283
+ children: [
284
+ Text('Counter: $_counter'),
285
+ ExpensiveWidget(), // Rebuilds unnecessarily!
286
+ AnotherExpensiveWidget(), // Rebuilds unnecessarily!
287
+ ],
288
+ );
289
+ }
290
+ }
291
+ ```
292
+
293
+ ### The `const` Constructor Revolution
294
+
295
+ ```dart
296
+ // ✅ CORRECT: const prevents rebuilds
297
+
298
+ class GoodCounter extends StatefulWidget {
299
+ const GoodCounter({super.key}); // CONST constructor!
300
+
301
+ @override
302
+ State<GoodCounter> createState() => _GoodCounterState();
303
+ }
304
+
305
+ class _GoodCounterState extends State<GoodCounter> {
306
+ int _counter = 0;
307
+
308
+ @override
309
+ Widget build(BuildContext context) {
310
+ return Column(
311
+ children: [
312
+ Text('Counter: $_counter'),
313
+ const ExpensiveWidget(), // Won't rebuild!
314
+ const AnotherExpensiveWidget(), // Won't rebuild!
315
+ ],
316
+ );
317
+ }
318
+ }
319
+
320
+ // RULE: Add `const` to EVERY widget that doesn't depend on state
321
+ ```
322
+
323
+ ### Targeted State Management
324
+
325
+ ```dart
326
+ // ❌ setState rebuilds whole tree
327
+ setState(() => _value = newValue);
328
+
329
+ // ✅ ValueListenableBuilder: surgical rebuilds
330
+ class TargetedState extends StatelessWidget {
331
+ final ValueNotifier<int> counter = ValueNotifier(0);
332
+
333
+ @override
334
+ Widget build(BuildContext context) {
335
+ return Column(
336
+ children: [
337
+ // Only this rebuilds when counter changes
338
+ ValueListenableBuilder<int>(
339
+ valueListenable: counter,
340
+ builder: (context, value, child) => Text('$value'),
341
+ child: const Icon(Icons.star), // Won't rebuild!
342
+ ),
343
+ const ExpensiveWidget(), // Never rebuilds
344
+ ],
345
+ );
346
+ }
347
+ }
348
+ ```
349
+
350
+ ### Riverpod/Provider Best Practices
351
+
352
+ ```dart
353
+ // ❌ WRONG: Reading entire provider in build
354
+ Widget build(BuildContext context) {
355
+ final state = ref.watch(myProvider); // Rebuilds on ANY change
356
+ return Text(state.name);
357
+ }
358
+
359
+ // ✅ CORRECT: Select only what you need
360
+ Widget build(BuildContext context) {
361
+ final name = ref.watch(myProvider.select((s) => s.name));
362
+ return Text(name); // Only rebuilds when name changes
363
+ }
364
+ ```
365
+
366
+ ### ListView Optimization
367
+
368
+ ```dart
369
+ // ❌ WRONG: ListView without builder (renders all)
370
+ ListView(
371
+ children: items.map((item) => ItemWidget(item)).toList(),
372
+ )
373
+
374
+ // ✅ CORRECT: ListView.builder (lazy rendering)
375
+ ListView.builder(
376
+ itemCount: items.length,
377
+ itemBuilder: (context, index) => ItemWidget(items[index]),
378
+ // Additional optimizations:
379
+ itemExtent: 56, // Fixed height = faster layout
380
+ cacheExtent: 100, // Pre-render distance
381
+ )
382
+
383
+ // ✅ EVEN BETTER: ListView.separated for dividers
384
+ ListView.separated(
385
+ itemCount: items.length,
386
+ itemBuilder: (context, index) => ItemWidget(items[index]),
387
+ separatorBuilder: (context, index) => const Divider(),
388
+ )
389
+ ```
390
+
391
+ ### Image Optimization
392
+
393
+ ```dart
394
+ // ❌ WRONG: No caching, full resolution
395
+ Image.network(url)
396
+
397
+ // ✅ CORRECT: Cached with proper sizing
398
+ CachedNetworkImage(
399
+ imageUrl: url,
400
+ width: 100,
401
+ height: 100,
402
+ fit: BoxFit.cover,
403
+ memCacheWidth: 200, // Cache at 2x for retina
404
+ memCacheHeight: 200,
405
+ placeholder: (context, url) => const Skeleton(),
406
+ errorWidget: (context, url, error) => const Icon(Icons.error),
407
+ )
408
+ ```
409
+
410
+ ### Dispose Pattern
411
+
412
+ ```dart
413
+ class MyWidget extends StatefulWidget {
414
+ @override
415
+ State<MyWidget> createState() => _MyWidgetState();
416
+ }
417
+
418
+ class _MyWidgetState extends State<MyWidget> {
419
+ late final StreamSubscription _subscription;
420
+ late final AnimationController _controller;
421
+ late final TextEditingController _textController;
422
+
423
+ @override
424
+ void initState() {
425
+ super.initState();
426
+ _subscription = stream.listen((_) {});
427
+ _controller = AnimationController(vsync: this);
428
+ _textController = TextEditingController();
429
+ }
430
+
431
+ @override
432
+ void dispose() {
433
+ // ALWAYS dispose in reverse order of creation
434
+ _textController.dispose();
435
+ _controller.dispose();
436
+ _subscription.cancel();
437
+ super.dispose();
438
+ }
439
+
440
+ @override
441
+ Widget build(BuildContext context) => Container();
442
+ }
443
+ ```
444
+
445
+ ### Flutter Performance Checklist
446
+
447
+ ```markdown
448
+ ## Before Every Widget
449
+ - [ ] const constructor added (if no runtime args)
450
+ - [ ] const keywords on static children
451
+ - [ ] Minimal setState scope
452
+ - [ ] Using selectors for provider watches
453
+
454
+ ## Before Every List
455
+ - [ ] Using ListView.builder (NOT ListView with children)
456
+ - [ ] itemExtent provided (if fixed height)
457
+ - [ ] Image caching with size limits
458
+
459
+ ## Before Any Animation
460
+ - [ ] Using Impeller (Flutter 3.16+)
461
+ - [ ] Avoiding Opacity widget (use FadeTransition)
462
+ - [ ] TickerProviderStateMixin for AnimationController
463
+
464
+ ## Before Any Release
465
+ - [ ] All dispose() methods implemented
466
+ - [ ] No print() in production
467
+ - [ ] Tested in profile/release mode
468
+ - [ ] DevTools performance overlay checked
469
+ ```
470
+
471
+ ---
472
+
473
+ ## 4. Animation Performance (Both Platforms)
474
+
475
+ ### The 60fps Imperative
476
+
477
+ ```
478
+ Human eye detects:
479
+ ├── < 24 fps → "Slideshow" (broken)
480
+ ├── 24-30 fps → "Choppy" (uncomfortable)
481
+ ├── 30-45 fps → "Noticeably not smooth"
482
+ ├── 45-60 fps → "Smooth" (acceptable)
483
+ ├── 60 fps → "Buttery" (target)
484
+ └── 120 fps → "Premium" (ProMotion devices)
485
+
486
+ NEVER ship < 60fps animations.
487
+ ```
488
+
489
+ ### GPU vs CPU Animation
490
+
491
+ ```
492
+ GPU-ACCELERATED (FAST): CPU-BOUND (SLOW):
493
+ ├── transform: translate ├── width, height
494
+ ├── transform: scale ├── top, left, right, bottom
495
+ ├── transform: rotate ├── margin, padding
496
+ ├── opacity ├── border-radius (animated)
497
+ └── (Composited, off main) └── box-shadow (animated)
498
+
499
+ RULE: Only animate transform and opacity.
500
+ Everything else causes layout recalculation.
501
+ ```
502
+
503
+ ### Animation Timing Guide
504
+
505
+ | Animation Type | Duration | Easing |
506
+ |----------------|----------|--------|
507
+ | Micro-interaction | 100-200ms | ease-out |
508
+ | Standard transition | 200-300ms | ease-out |
509
+ | Page transition | 300-400ms | ease-in-out |
510
+ | Complex/dramatic | 400-600ms | ease-in-out |
511
+ | Loading skeletons | 1000-1500ms | linear (loop) |
512
+
513
+ ### Spring Physics
514
+
515
+ ```javascript
516
+ // React Native Reanimated
517
+ withSpring(targetValue, {
518
+ damping: 15, // How quickly it settles (higher = faster stop)
519
+ stiffness: 150, // How "tight" the spring (higher = faster)
520
+ mass: 1, // Weight of the object
521
+ })
522
+
523
+ // Flutter
524
+ SpringSimulation(
525
+ SpringDescription(
526
+ mass: 1,
527
+ stiffness: 150,
528
+ damping: 15,
529
+ ),
530
+ start,
531
+ end,
532
+ velocity,
533
+ )
534
+
535
+ // Natural feel ranges:
536
+ // Damping: 10-20 (bouncy to settled)
537
+ // Stiffness: 100-200 (loose to tight)
538
+ // Mass: 0.5-2 (light to heavy)
539
+ ```
540
+
541
+ ---
542
+
543
+ ## 5. Memory Management
544
+
545
+ ### Common Memory Leaks
546
+
547
+ | Source | Platform | Solution |
548
+ |--------|----------|----------|
549
+ | Timers | Both | Clear in cleanup/dispose |
550
+ | Event listeners | Both | Remove in cleanup/dispose |
551
+ | Subscriptions | Both | Cancel in cleanup/dispose |
552
+ | Large images | Both | Limit cache, resize |
553
+ | Async after unmount | RN | isMounted check or AbortController |
554
+ | Animation controllers | Flutter | Dispose controllers |
555
+
556
+ ### Image Memory
557
+
558
+ ```
559
+ Image memory = width × height × 4 bytes (RGBA)
560
+
561
+ 1080p image = 1920 × 1080 × 4 = 8.3 MB
562
+ 4K image = 3840 × 2160 × 4 = 33.2 MB
563
+
564
+ 10 4K images = 332 MB → App crash!
565
+
566
+ RULE: Always resize images to display size (or 2-3x for retina).
567
+ ```
568
+
569
+ ### Memory Profiling
570
+
571
+ ```
572
+ React Native:
573
+ ├── Flipper → Memory tab
574
+ ├── Xcode Instruments (iOS)
575
+ └── Android Studio Profiler
576
+
577
+ Flutter:
578
+ ├── DevTools → Memory tab
579
+ ├── Observatory
580
+ └── flutter run --profile
581
+ ```
582
+
583
+ ---
584
+
585
+ ## 6. Battery Optimization
586
+
587
+ ### Battery Drain Sources
588
+
589
+ | Source | Impact | Mitigation |
590
+ |--------|--------|------------|
591
+ | **Screen on** | 🔴 Highest | Dark mode on OLED |
592
+ | **GPS continuous** | 🔴 Very high | Use significant change |
593
+ | **Network requests** | 🟡 High | Batch, cache aggressively |
594
+ | **Animations** | 🟡 Medium | Reduce when low battery |
595
+ | **Background work** | 🟡 Medium | Defer non-critical |
596
+ | **CPU computation** | 🟢 Lower | Offload to backend |
597
+
598
+ ### OLED Battery Saving
599
+
600
+ ```
601
+ OLED screens: Black pixels = OFF = 0 power
602
+
603
+ Dark mode savings:
604
+ ├── True black (#000000) → Maximum savings
605
+ ├── Dark gray (#1a1a1a) → Slight savings
606
+ ├── Any color → Some power
607
+ └── White (#FFFFFF) → Maximum power
608
+
609
+ RULE: On dark mode, use true black for backgrounds.
610
+ ```
611
+
612
+ ### Background Task Guidelines
613
+
614
+ ```
615
+ iOS:
616
+ ├── Background refresh: Limited, system-scheduled
617
+ ├── Push notifications: Use for important updates
618
+ ├── Background modes: Location, audio, VoIP only
619
+ └── Background tasks: Max ~30 seconds
620
+
621
+ Android:
622
+ ├── WorkManager: System-scheduled, battery-aware
623
+ ├── Foreground service: Visible to user, continuous
624
+ ├── JobScheduler: Batch network operations
625
+ └── Doze mode: Respect it, batch operations
626
+ ```
627
+
628
+ ---
629
+
630
+ ## 7. Network Performance
631
+
632
+ ### Offline-First Architecture
633
+
634
+ ```
635
+ ┌──────────────┐
636
+ │ UI │
637
+ └──────┬───────┘
638
+
639
+ ┌──────▼───────┐
640
+ │ Cache │ ← Read from cache FIRST
641
+ └──────┬───────┘
642
+
643
+ ┌──────▼───────┐
644
+ │ Network │ ← Update cache from network
645
+ └──────────────┘
646
+
647
+ Benefits:
648
+ ├── Instant UI (no loading spinner for cached data)
649
+ ├── Works offline
650
+ ├── Reduces data usage
651
+ └── Better UX on slow networks
652
+ ```
653
+
654
+ ### Request Optimization
655
+
656
+ ```
657
+ BATCH: Combine multiple requests into one
658
+ ├── 10 small requests → 1 batch request
659
+ ├── Reduces connection overhead
660
+ └── Better for battery (radio on once)
661
+
662
+ CACHE: Don't re-fetch unchanged data
663
+ ├── ETag/If-None-Match headers
664
+ ├── Cache-Control headers
665
+ └── Stale-while-revalidate pattern
666
+
667
+ COMPRESS: Reduce payload size
668
+ ├── gzip/brotli compression
669
+ ├── Request only needed fields (GraphQL)
670
+ └── Paginate large lists
671
+ ```
672
+
673
+ ---
674
+
675
+ ## 8. Performance Testing
676
+
677
+ ### What to Test
678
+
679
+ | Metric | Target | Tool |
680
+ |--------|--------|------|
681
+ | **Frame rate** | ≥ 60fps | Performance overlay |
682
+ | **Memory** | Stable, no growth | Profiler |
683
+ | **Cold start** | < 2s | Manual timing |
684
+ | **TTI (Time to Interactive)** | < 3s | Lighthouse |
685
+ | **List scroll** | No jank | Manual feel |
686
+ | **Animation smoothness** | No drops | Performance monitor |
687
+
688
+ ### Test on Real Devices
689
+
690
+ ```
691
+ ⚠️ NEVER trust only:
692
+ ├── Simulator/emulator (faster than real)
693
+ ├── Dev mode (slower than release)
694
+ ├── High-end devices only
695
+
696
+ ✅ ALWAYS test on:
697
+ ├── Low-end Android (< $200 phone)
698
+ ├── Older iOS device (iPhone 8 or SE)
699
+ ├── Release/profile build
700
+ └── With real data (not 10 items)
701
+ ```
702
+
703
+ ### Performance Monitoring Checklist
704
+
705
+ ```markdown
706
+ ## During Development
707
+ - [ ] Performance overlay enabled
708
+ - [ ] Watching for dropped frames
709
+ - [ ] Memory usage stable
710
+ - [ ] No console warnings about performance
711
+
712
+ ## Before Release
713
+ - [ ] Tested on low-end device
714
+ - [ ] Profiled memory over extended use
715
+ - [ ] Cold start time measured
716
+ - [ ] List scroll tested with 1000+ items
717
+ - [ ] Animations tested at 60fps
718
+ - [ ] Network tested on slow 3G
719
+ ```
720
+
721
+ ---
722
+
723
+ ## 9. Quick Reference Card
724
+
725
+ ### React Native Essentials
726
+
727
+ ```javascript
728
+ // List: Always use
729
+ <FlatList
730
+ data={data}
731
+ renderItem={useCallback(({item}) => <MemoItem item={item} />, [])}
732
+ keyExtractor={useCallback(item => item.id, [])}
733
+ getItemLayout={useCallback((_, i) => ({length: H, offset: H*i, index: i}), [])}
734
+ />
735
+
736
+ // Animation: Always native
737
+ useNativeDriver: true
738
+
739
+ // Cleanup: Always present
740
+ useEffect(() => {
741
+ return () => cleanup();
742
+ }, []);
743
+ ```
744
+
745
+ ### Flutter Essentials
746
+
747
+ ```dart
748
+ // Widgets: Always const
749
+ const MyWidget()
750
+
751
+ // Lists: Always builder
752
+ ListView.builder(itemBuilder: ...)
753
+
754
+ // State: Always targeted
755
+ ValueListenableBuilder() or ref.watch(provider.select(...))
756
+
757
+ // Dispose: Always cleanup
758
+ @override
759
+ void dispose() {
760
+ controller.dispose();
761
+ super.dispose();
762
+ }
763
+ ```
764
+
765
+ ### Animation Targets
766
+
767
+ ```
768
+ Transform/Opacity only ← What to animate
769
+ 16.67ms per frame ← Time budget
770
+ 60fps minimum ← Target
771
+ Low-end Android ← Test device
772
+ ```
773
+
774
+ ---
775
+
776
+ > **Remember:** Performance is not optimization—it's baseline quality. A slow app is a broken app. Test on the worst device your users have, not the best device you have.
777
+ ---
778
+
779
+ \r\n\r\n---\r\n\r\n## 🔗 Related\r\n\r\n| File | When to Read |\r\n|------|-------------|\r\n| [../SKILL.md](../SKILL.md) | MFRI performance risk dimension |\r\n| [mobile-testing.md](mobile-testing.md) | Performance testing strategies |\r\n| [mobile-debugging.md](mobile-debugging.md) | Performance debugging |\r\n| [mobile-backend.md](mobile-backend.md) | API performance, caching |\r\n| [engineering-spec.md](engineering-spec.md) | Full engineering spec |
780
+
781
+ ---
782
+
783
+ ⚡ PikaKit v3.9.134