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,778 @@
1
+ ---
2
+ title: Mobile Performance Reference
3
+ impact: MEDIUM
4
+ tags: mobile-developer
5
+ ---
6
+
7
+ # Mobile Performance Reference
8
+
9
+ > Deep dive into React Native and Flutter performance optimization, 60fps animations, memory management, and battery considerations.
10
+ > **This file covers the #1 area where AI-generated code FAILS.**
11
+
12
+ ---
13
+
14
+ ## 1. The Mobile Performance Mindset
15
+
16
+ ### Why Mobile Performance is Different
17
+
18
+ ```
19
+ DESKTOP: MOBILE:
20
+ ├── Unlimited power ├── Battery matters
21
+ ├── Abundant RAM ├── RAM is shared, limited
22
+ ├── Stable network ├── Network is unreliable
23
+ ├── CPU always available ├── CPU throttles when hot
24
+ └── User expects fast anyway └── User expects INSTANT
25
+ ```
26
+
27
+ ### Performance Budget Concept
28
+
29
+ ```
30
+ Every frame must complete in:
31
+ ├── 60fps → 16.67ms per frame
32
+ ├── 120fps (ProMotion) → 8.33ms per frame
33
+
34
+ If your code takes longer:
35
+ ├── Frame drops → Janky scroll/animation
36
+ ├── User perceives as "slow" or "broken"
37
+ └── They WILL uninstall your app
38
+ ```
39
+
40
+ ---
41
+
42
+ ## 2. React Native Performance
43
+
44
+ ### 🚫 The #1 AI Mistake: ScrollView for Lists
45
+
46
+ ```javascript
47
+ // ❌ NEVER DO THIS - AI's favorite mistake
48
+ <ScrollView>
49
+ {items.map(item => (
50
+ <ItemComponent key={item.id} item={item} />
51
+ ))}
52
+ </ScrollView>
53
+
54
+ // Why it's catastrophic:
55
+ // ├── Renders ALL items immediately (1000 items = 1000 renders)
56
+ // ├── Memory explodes
57
+ // ├── Initial render takes seconds
58
+ // └── Scroll becomes janky
59
+
60
+ // ✅ ALWAYS USE FlatList
61
+ <FlatList
62
+ data={items}
63
+ renderItem={renderItem}
64
+ keyExtractor={item => item.id}
65
+ />
66
+ ```
67
+
68
+ ### FlatList Optimization Checklist
69
+
70
+ ```javascript
71
+ // ✅ CORRECT: All optimizations applied
72
+
73
+ // 1. Memoize the item component
74
+ const ListItem = React.memo(({ item }: { item: Item }) => {
75
+ return (
76
+ <Pressable style={styles.item}>
77
+ <Text>{item.title}</Text>
78
+ </Pressable>
79
+ );
80
+ });
81
+
82
+ // 2. Memoize renderItem with useCallback
83
+ const renderItem = useCallback(
84
+ ({ item }: { item: Item }) => <ListItem item={item} />,
85
+ [] // Empty deps = never recreated
86
+ );
87
+
88
+ // 3. Stable keyExtractor (NEVER use index!)
89
+ const keyExtractor = useCallback((item: Item) => item.id, []);
90
+
91
+ // 4. Provide getItemLayout for fixed-height items
92
+ const getItemLayout = useCallback(
93
+ (data: Item[] | null, index: number) => ({
94
+ length: ITEM_HEIGHT, // Fixed height
95
+ offset: ITEM_HEIGHT * index,
96
+ index,
97
+ }),
98
+ []
99
+ );
100
+
101
+ // 5. Apply to FlatList
102
+ <FlatList
103
+ data={items}
104
+ renderItem={renderItem}
105
+ keyExtractor={keyExtractor}
106
+ getItemLayout={getItemLayout}
107
+ // Performance props
108
+ removeClippedSubviews={true} // Android: detach off-screen
109
+ maxToRenderPerBatch={10} // Items per batch
110
+ windowSize={5} // Render window (5 = 2 screens each side)
111
+ initialNumToRender={10} // Initial items
112
+ updateCellsBatchingPeriod={50} // Batching delay
113
+ />
114
+ ```
115
+
116
+ ### Why Each Optimization Matters
117
+
118
+ | Optimization | What It Prevents | Impact |
119
+ |--------------|------------------|--------|
120
+ | `React.memo` | Re-render on parent change | 🔴 Critical |
121
+ | `useCallback renderItem` | New function every render | 🔴 Critical |
122
+ | Stable `keyExtractor` | Wrong item recycling | 🔴 Critical |
123
+ | `getItemLayout` | Async layout calculation | 🟡 High |
124
+ | `removeClippedSubviews` | Memory from off-screen | 🟡 High |
125
+ | `maxToRenderPerBatch` | Blocking main thread | 🟢 Medium |
126
+ | `windowSize` | Memory usage | 🟢 Medium |
127
+
128
+ ### FlashList: The Better Option
129
+
130
+ ```javascript
131
+ // Consider FlashList for better performance
132
+ import { FlashList } from "@shopify/flash-list";
133
+
134
+ <FlashList
135
+ data={items}
136
+ renderItem={renderItem}
137
+ estimatedItemSize={ITEM_HEIGHT}
138
+ keyExtractor={keyExtractor}
139
+ />
140
+
141
+ // Benefits over FlatList:
142
+ // ├── Faster recycling
143
+ // ├── Better memory management
144
+ // ├── Simpler API
145
+ // └── Fewer optimization props needed
146
+ ```
147
+
148
+ ### Animation Performance
149
+
150
+ ```javascript
151
+ // ❌ JS-driven animation (blocks JS thread)
152
+ Animated.timing(value, {
153
+ toValue: 1,
154
+ duration: 300,
155
+ useNativeDriver: false, // BAD!
156
+ }).start();
157
+
158
+ // ✅ Native-driver animation (runs on UI thread)
159
+ Animated.timing(value, {
160
+ toValue: 1,
161
+ duration: 300,
162
+ useNativeDriver: true, // GOOD!
163
+ }).start();
164
+
165
+ // Native driver supports ONLY:
166
+ // ├── transform (translate, scale, rotate)
167
+ // └── opacity
168
+ //
169
+ // Does NOT support:
170
+ // ├── width, height
171
+ // ├── backgroundColor
172
+ // ├── borderRadius changes
173
+ // └── margin, padding
174
+ ```
175
+
176
+ ### Reanimated for Complex Animations
177
+
178
+ ```javascript
179
+ // For animations native driver can't handle, use Reanimated 3
180
+
181
+ import Animated, {
182
+ useSharedValue,
183
+ useAnimatedStyle,
184
+ withSpring,
185
+ } from 'react-native-reanimated';
186
+
187
+ const Component = () => {
188
+ const offset = useSharedValue(0);
189
+
190
+ const animatedStyles = useAnimatedStyle(() => ({
191
+ transform: [{ translateX: withSpring(offset.value) }],
192
+ }));
193
+
194
+ return <Animated.View style={animatedStyles} />;
195
+ };
196
+
197
+ // Benefits:
198
+ // ├── Runs on UI thread (60fps guaranteed)
199
+ // ├── Can animate any property
200
+ // ├── Gesture-driven animations
201
+ // └── Worklets for complex logic
202
+ ```
203
+
204
+ ### Memory Leak Prevention
205
+
206
+ ```javascript
207
+ // ❌ Memory leak: uncleared interval
208
+ useEffect(() => {
209
+ const interval = setInterval(() => {
210
+ fetchData();
211
+ }, 5000);
212
+ // Missing cleanup!
213
+ }, []);
214
+
215
+ // ✅ Proper cleanup
216
+ useEffect(() => {
217
+ const interval = setInterval(() => {
218
+ fetchData();
219
+ }, 5000);
220
+
221
+ return () => clearInterval(interval); // CLEANUP!
222
+ }, []);
223
+
224
+ // Common memory leak sources:
225
+ // ├── Timers (setInterval, setTimeout)
226
+ // ├── Event listeners
227
+ // ├── Subscriptions (WebSocket, PubSub)
228
+ // ├── Async operations that update state after unmount
229
+ // └── Image caching without limits
230
+ ```
231
+
232
+ ### React Native Performance Checklist
233
+
234
+ ```markdown
235
+ ## Before Every List
236
+ - [ ] Using FlatList or FlashList (NOT ScrollView)
237
+ - [ ] renderItem is useCallback memoized
238
+ - [ ] List items are React.memo wrapped
239
+ - [ ] keyExtractor uses stable ID (NOT index)
240
+ - [ ] getItemLayout provided (if fixed height)
241
+
242
+ ## Before Every Animation
243
+ - [ ] useNativeDriver: true (if possible)
244
+ - [ ] Using Reanimated for complex animations
245
+ - [ ] Only animating transform/opacity
246
+ - [ ] Tested on low-end Android device
247
+
248
+ ## Before Any Release
249
+ - [ ] console.log statements removed
250
+ - [ ] Cleanup functions in all useEffects
251
+ - [ ] No memory leaks (test with profiler)
252
+ - [ ] Tested in release build (not dev)
253
+ ```
254
+
255
+ ---
256
+
257
+ ## 3. Flutter Performance
258
+
259
+ ### 🚫 The #1 AI Mistake: setState Overuse
260
+
261
+ ```dart
262
+ // ❌ WRONG: setState rebuilds ENTIRE widget tree
263
+ class BadCounter extends StatefulWidget {
264
+ @override
265
+ State<BadCounter> createState() => _BadCounterState();
266
+ }
267
+
268
+ class _BadCounterState extends State<BadCounter> {
269
+ int _counter = 0;
270
+
271
+ void _increment() {
272
+ setState(() {
273
+ _counter++; // This rebuilds EVERYTHING below!
274
+ });
275
+ }
276
+
277
+ @override
278
+ Widget build(BuildContext context) {
279
+ return Column(
280
+ children: [
281
+ Text('Counter: $_counter'),
282
+ ExpensiveWidget(), // Rebuilds unnecessarily!
283
+ AnotherExpensiveWidget(), // Rebuilds unnecessarily!
284
+ ],
285
+ );
286
+ }
287
+ }
288
+ ```
289
+
290
+ ### The `const` Constructor Revolution
291
+
292
+ ```dart
293
+ // ✅ CORRECT: const prevents rebuilds
294
+
295
+ class GoodCounter extends StatefulWidget {
296
+ const GoodCounter({super.key}); // CONST constructor!
297
+
298
+ @override
299
+ State<GoodCounter> createState() => _GoodCounterState();
300
+ }
301
+
302
+ class _GoodCounterState extends State<GoodCounter> {
303
+ int _counter = 0;
304
+
305
+ @override
306
+ Widget build(BuildContext context) {
307
+ return Column(
308
+ children: [
309
+ Text('Counter: $_counter'),
310
+ const ExpensiveWidget(), // Won't rebuild!
311
+ const AnotherExpensiveWidget(), // Won't rebuild!
312
+ ],
313
+ );
314
+ }
315
+ }
316
+
317
+ // RULE: Add `const` to EVERY widget that doesn't depend on state
318
+ ```
319
+
320
+ ### Targeted State Management
321
+
322
+ ```dart
323
+ // ❌ setState rebuilds whole tree
324
+ setState(() => _value = newValue);
325
+
326
+ // ✅ ValueListenableBuilder: surgical rebuilds
327
+ class TargetedState extends StatelessWidget {
328
+ final ValueNotifier<int> counter = ValueNotifier(0);
329
+
330
+ @override
331
+ Widget build(BuildContext context) {
332
+ return Column(
333
+ children: [
334
+ // Only this rebuilds when counter changes
335
+ ValueListenableBuilder<int>(
336
+ valueListenable: counter,
337
+ builder: (context, value, child) => Text('$value'),
338
+ child: const Icon(Icons.star), // Won't rebuild!
339
+ ),
340
+ const ExpensiveWidget(), // Never rebuilds
341
+ ],
342
+ );
343
+ }
344
+ }
345
+ ```
346
+
347
+ ### Riverpod/Provider Best Practices
348
+
349
+ ```dart
350
+ // ❌ WRONG: Reading entire provider in build
351
+ Widget build(BuildContext context) {
352
+ final state = ref.watch(myProvider); // Rebuilds on ANY change
353
+ return Text(state.name);
354
+ }
355
+
356
+ // ✅ CORRECT: Select only what you need
357
+ Widget build(BuildContext context) {
358
+ final name = ref.watch(myProvider.select((s) => s.name));
359
+ return Text(name); // Only rebuilds when name changes
360
+ }
361
+ ```
362
+
363
+ ### ListView Optimization
364
+
365
+ ```dart
366
+ // ❌ WRONG: ListView without builder (renders all)
367
+ ListView(
368
+ children: items.map((item) => ItemWidget(item)).toList(),
369
+ )
370
+
371
+ // ✅ CORRECT: ListView.builder (lazy rendering)
372
+ ListView.builder(
373
+ itemCount: items.length,
374
+ itemBuilder: (context, index) => ItemWidget(items[index]),
375
+ // Additional optimizations:
376
+ itemExtent: 56, // Fixed height = faster layout
377
+ cacheExtent: 100, // Pre-render distance
378
+ )
379
+
380
+ // ✅ EVEN BETTER: ListView.separated for dividers
381
+ ListView.separated(
382
+ itemCount: items.length,
383
+ itemBuilder: (context, index) => ItemWidget(items[index]),
384
+ separatorBuilder: (context, index) => const Divider(),
385
+ )
386
+ ```
387
+
388
+ ### Image Optimization
389
+
390
+ ```dart
391
+ // ❌ WRONG: No caching, full resolution
392
+ Image.network(url)
393
+
394
+ // ✅ CORRECT: Cached with proper sizing
395
+ CachedNetworkImage(
396
+ imageUrl: url,
397
+ width: 100,
398
+ height: 100,
399
+ fit: BoxFit.cover,
400
+ memCacheWidth: 200, // Cache at 2x for retina
401
+ memCacheHeight: 200,
402
+ placeholder: (context, url) => const Skeleton(),
403
+ errorWidget: (context, url, error) => const Icon(Icons.error),
404
+ )
405
+ ```
406
+
407
+ ### Dispose Pattern
408
+
409
+ ```dart
410
+ class MyWidget extends StatefulWidget {
411
+ @override
412
+ State<MyWidget> createState() => _MyWidgetState();
413
+ }
414
+
415
+ class _MyWidgetState extends State<MyWidget> {
416
+ late final StreamSubscription _subscription;
417
+ late final AnimationController _controller;
418
+ late final TextEditingController _textController;
419
+
420
+ @override
421
+ void initState() {
422
+ super.initState();
423
+ _subscription = stream.listen((_) {});
424
+ _controller = AnimationController(vsync: this);
425
+ _textController = TextEditingController();
426
+ }
427
+
428
+ @override
429
+ void dispose() {
430
+ // ALWAYS dispose in reverse order of creation
431
+ _textController.dispose();
432
+ _controller.dispose();
433
+ _subscription.cancel();
434
+ super.dispose();
435
+ }
436
+
437
+ @override
438
+ Widget build(BuildContext context) => Container();
439
+ }
440
+ ```
441
+
442
+ ### Flutter Performance Checklist
443
+
444
+ ```markdown
445
+ ## Before Every Widget
446
+ - [ ] const constructor added (if no runtime args)
447
+ - [ ] const keywords on static children
448
+ - [ ] Minimal setState scope
449
+ - [ ] Using selectors for provider watches
450
+
451
+ ## Before Every List
452
+ - [ ] Using ListView.builder (NOT ListView with children)
453
+ - [ ] itemExtent provided (if fixed height)
454
+ - [ ] Image caching with size limits
455
+
456
+ ## Before Any Animation
457
+ - [ ] Using Impeller (Flutter 3.16+)
458
+ - [ ] Avoiding Opacity widget (use FadeTransition)
459
+ - [ ] TickerProviderStateMixin for AnimationController
460
+
461
+ ## Before Any Release
462
+ - [ ] All dispose() methods implemented
463
+ - [ ] No print() in production
464
+ - [ ] Tested in profile/release mode
465
+ - [ ] DevTools performance overlay checked
466
+ ```
467
+
468
+ ---
469
+
470
+ ## 4. Animation Performance (Both Platforms)
471
+
472
+ ### The 60fps Imperative
473
+
474
+ ```
475
+ Human eye detects:
476
+ ├── < 24 fps → "Slideshow" (broken)
477
+ ├── 24-30 fps → "Choppy" (uncomfortable)
478
+ ├── 30-45 fps → "Noticeably not smooth"
479
+ ├── 45-60 fps → "Smooth" (acceptable)
480
+ ├── 60 fps → "Buttery" (target)
481
+ └── 120 fps → "Premium" (ProMotion devices)
482
+
483
+ NEVER ship < 60fps animations.
484
+ ```
485
+
486
+ ### GPU vs CPU Animation
487
+
488
+ ```
489
+ GPU-ACCELERATED (FAST): CPU-BOUND (SLOW):
490
+ ├── transform: translate ├── width, height
491
+ ├── transform: scale ├── top, left, right, bottom
492
+ ├── transform: rotate ├── margin, padding
493
+ ├── opacity ├── border-radius (animated)
494
+ └── (Composited, off main) └── box-shadow (animated)
495
+
496
+ RULE: Only animate transform and opacity.
497
+ Everything else causes layout recalculation.
498
+ ```
499
+
500
+ ### Animation Timing Guide
501
+
502
+ | Animation Type | Duration | Easing |
503
+ |----------------|----------|--------|
504
+ | Micro-interaction | 100-200ms | ease-out |
505
+ | Standard transition | 200-300ms | ease-out |
506
+ | Page transition | 300-400ms | ease-in-out |
507
+ | Complex/dramatic | 400-600ms | ease-in-out |
508
+ | Loading skeletons | 1000-1500ms | linear (loop) |
509
+
510
+ ### Spring Physics
511
+
512
+ ```javascript
513
+ // React Native Reanimated
514
+ withSpring(targetValue, {
515
+ damping: 15, // How quickly it settles (higher = faster stop)
516
+ stiffness: 150, // How "tight" the spring (higher = faster)
517
+ mass: 1, // Weight of the object
518
+ })
519
+
520
+ // Flutter
521
+ SpringSimulation(
522
+ SpringDescription(
523
+ mass: 1,
524
+ stiffness: 150,
525
+ damping: 15,
526
+ ),
527
+ start,
528
+ end,
529
+ velocity,
530
+ )
531
+
532
+ // Natural feel ranges:
533
+ // Damping: 10-20 (bouncy to settled)
534
+ // Stiffness: 100-200 (loose to tight)
535
+ // Mass: 0.5-2 (light to heavy)
536
+ ```
537
+
538
+ ---
539
+
540
+ ## 5. Memory Management
541
+
542
+ ### Common Memory Leaks
543
+
544
+ | Source | Platform | Solution |
545
+ |--------|----------|----------|
546
+ | Timers | Both | Clear in cleanup/dispose |
547
+ | Event listeners | Both | Remove in cleanup/dispose |
548
+ | Subscriptions | Both | Cancel in cleanup/dispose |
549
+ | Large images | Both | Limit cache, resize |
550
+ | Async after unmount | RN | isMounted check or AbortController |
551
+ | Animation controllers | Flutter | Dispose controllers |
552
+
553
+ ### Image Memory
554
+
555
+ ```
556
+ Image memory = width × height × 4 bytes (RGBA)
557
+
558
+ 1080p image = 1920 × 1080 × 4 = 8.3 MB
559
+ 4K image = 3840 × 2160 × 4 = 33.2 MB
560
+
561
+ 10 4K images = 332 MB → App crash!
562
+
563
+ RULE: Always resize images to display size (or 2-3x for retina).
564
+ ```
565
+
566
+ ### Memory Profiling
567
+
568
+ ```
569
+ React Native:
570
+ ├── React Native DevTools → Performance tab
571
+ ├── Reactotron → State + Memory monitoring
572
+ ├── Xcode Instruments (iOS)
573
+ └── Android Studio Profiler
574
+
575
+ Flutter:
576
+ ├── DevTools → Memory tab
577
+ ├── Observatory
578
+ └── flutter run --profile
579
+ ```
580
+
581
+ ---
582
+
583
+ ## 6. Battery Optimization
584
+
585
+ ### Battery Drain Sources
586
+
587
+ | Source | Impact | Mitigation |
588
+ |--------|--------|------------|
589
+ | **Screen on** | 🔴 Highest | Dark mode on OLED |
590
+ | **GPS continuous** | 🔴 Very high | Use significant change |
591
+ | **Network requests** | 🟡 High | Batch, cache aggressively |
592
+ | **Animations** | 🟡 Medium | Reduce when low battery |
593
+ | **Background work** | 🟡 Medium | Defer non-critical |
594
+ | **CPU computation** | 🟢 Lower | Offload to backend |
595
+
596
+ ### OLED Battery Saving
597
+
598
+ ```
599
+ OLED screens: Black pixels = OFF = 0 power
600
+
601
+ Dark mode savings:
602
+ ├── True black (#000000) → Maximum savings
603
+ ├── Dark gray (#1a1a1a) → Slight savings
604
+ ├── Any color → Some power
605
+ └── White (#FFFFFF) → Maximum power
606
+
607
+ RULE: On dark mode, use true black for backgrounds.
608
+ ```
609
+
610
+ ### Background Task Guidelines
611
+
612
+ ```
613
+ iOS:
614
+ ├── Background refresh: Limited, system-scheduled
615
+ ├── Push notifications: Use for important updates
616
+ ├── Background modes: Location, audio, VoIP only
617
+ └── Background tasks: Max ~30 seconds
618
+
619
+ Android:
620
+ ├── WorkManager: System-scheduled, battery-aware
621
+ ├── Foreground service: Visible to user, continuous
622
+ ├── JobScheduler: Batch network operations
623
+ └── Doze mode: Respect it, batch operations
624
+ ```
625
+
626
+ ---
627
+
628
+ ## 7. Network Performance
629
+
630
+ ### Offline-First Architecture
631
+
632
+ ```
633
+ ┌──────────────┐
634
+ │ UI │
635
+ └──────┬───────┘
636
+
637
+ ┌──────▼───────┐
638
+ │ Cache │ ← Read from cache FIRST
639
+ └──────┬───────┘
640
+
641
+ ┌──────▼───────┐
642
+ │ Network │ ← Update cache from network
643
+ └──────────────┘
644
+
645
+ Benefits:
646
+ ├── Instant UI (no loading spinner for cached data)
647
+ ├── Works offline
648
+ ├── Reduces data usage
649
+ └── Better UX on slow networks
650
+ ```
651
+
652
+ ### Request Optimization
653
+
654
+ ```
655
+ BATCH: Combine multiple requests into one
656
+ ├── 10 small requests → 1 batch request
657
+ ├── Reduces connection overhead
658
+ └── Better for battery (radio on once)
659
+
660
+ CACHE: Don't re-fetch unchanged data
661
+ ├── ETag/If-None-Match headers
662
+ ├── Cache-Control headers
663
+ └── Stale-while-revalidate pattern
664
+
665
+ COMPRESS: Reduce payload size
666
+ ├── gzip/brotli compression
667
+ ├── Request only needed fields (GraphQL)
668
+ └── Paginate large lists
669
+ ```
670
+
671
+ ---
672
+
673
+ ## 8. Performance Testing
674
+
675
+ ### What to Test
676
+
677
+ | Metric | Target | Tool |
678
+ |--------|--------|------|
679
+ | **Frame rate** | ≥ 60fps | Performance overlay |
680
+ | **Memory** | Stable, no growth | Profiler |
681
+ | **Cold start** | < 2s | Manual timing |
682
+ | **TTI (Time to Interactive)** | < 3s | Lighthouse |
683
+ | **List scroll** | No jank | Manual feel |
684
+ | **Animation smoothness** | No drops | Performance monitor |
685
+
686
+ ### Test on Real Devices
687
+
688
+ ```
689
+ ⚠️ NEVER trust only:
690
+ ├── Simulator/emulator (faster than real)
691
+ ├── Dev mode (slower than release)
692
+ ├── High-end devices only
693
+
694
+ ✅ ALWAYS test on:
695
+ ├── Low-end Android (< $200 phone)
696
+ ├── Older iOS device (iPhone 8 or SE)
697
+ ├── Release/profile build
698
+ └── With real data (not 10 items)
699
+ ```
700
+
701
+ ### Performance Monitoring Checklist
702
+
703
+ ```markdown
704
+ ## During Development
705
+ - [ ] Performance overlay enabled
706
+ - [ ] Watching for dropped frames
707
+ - [ ] Memory usage stable
708
+ - [ ] No console warnings about performance
709
+
710
+ ## Before Release
711
+ - [ ] Tested on low-end device
712
+ - [ ] Profiled memory over extended use
713
+ - [ ] Cold start time measured
714
+ - [ ] List scroll tested with 1000+ items
715
+ - [ ] Animations tested at 60fps
716
+ - [ ] Network tested on slow 3G
717
+ ```
718
+
719
+ ---
720
+
721
+ ## 9. Quick Reference Card
722
+
723
+ ### React Native Essentials
724
+
725
+ ```javascript
726
+ // List: Always use
727
+ <FlatList
728
+ data={data}
729
+ renderItem={useCallback(({item}) => <MemoItem item={item} />, [])}
730
+ keyExtractor={useCallback(item => item.id, [])}
731
+ getItemLayout={useCallback((_, i) => ({length: H, offset: H*i, index: i}), [])}
732
+ />
733
+
734
+ // Animation: Always native
735
+ useNativeDriver: true
736
+
737
+ // Cleanup: Always present
738
+ useEffect(() => {
739
+ return () => cleanup();
740
+ }, []);
741
+ ```
742
+
743
+ ### Flutter Essentials
744
+
745
+ ```dart
746
+ // Widgets: Always const
747
+ const MyWidget()
748
+
749
+ // Lists: Always builder
750
+ ListView.builder(itemBuilder: ...)
751
+
752
+ // State: Always targeted
753
+ ValueListenableBuilder() or ref.watch(provider.select(...))
754
+
755
+ // Dispose: Always cleanup
756
+ @override
757
+ void dispose() {
758
+ controller.dispose();
759
+ super.dispose();
760
+ }
761
+ ```
762
+
763
+ ### Animation Targets
764
+
765
+ ```
766
+ Transform/Opacity only ← What to animate
767
+ 16.67ms per frame ← Time budget
768
+ 60fps minimum ← Target
769
+ Low-end Android ← Test device
770
+ ```
771
+
772
+ ---
773
+
774
+ > **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.
775
+
776
+ ---
777
+
778
+ ⚡ PikaKit v3.9.134