@heyai-rules/pilo-masterkit 2.1.0 → 3.1.0

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 (739) hide show
  1. package/.agent/agents/PILO_MASTER.md +77 -77
  2. package/.agent/agents/architect.md +211 -211
  3. package/.agent/agents/backend-specialist.md +263 -263
  4. package/.agent/agents/build-error-resolver.md +114 -114
  5. package/.agent/agents/chief-of-staff.md +151 -151
  6. package/.agent/agents/code-archaeologist.md +106 -106
  7. package/.agent/agents/code-reviewer.md +237 -237
  8. package/.agent/agents/cpp-build-resolver.md +90 -90
  9. package/.agent/agents/cpp-reviewer.md +72 -72
  10. package/.agent/agents/csharp-reviewer.md +101 -101
  11. package/.agent/agents/dart-build-resolver.md +201 -201
  12. package/.agent/agents/database-architect.md +226 -226
  13. package/.agent/agents/database-reviewer.md +91 -91
  14. package/.agent/agents/debugger.md +225 -225
  15. package/.agent/agents/devops-engineer.md +242 -242
  16. package/.agent/agents/doc-updater.md +107 -107
  17. package/.agent/agents/docs-lookup.md +68 -68
  18. package/.agent/agents/documentation-writer.md +104 -104
  19. package/.agent/agents/e2e-runner.md +107 -107
  20. package/.agent/agents/explorer-agent.md +73 -73
  21. package/.agent/agents/flutter-reviewer.md +243 -243
  22. package/.agent/agents/frontend-specialist.md +593 -593
  23. package/.agent/agents/game-developer.md +162 -162
  24. package/.agent/agents/gan-evaluator.md +209 -209
  25. package/.agent/agents/gan-generator.md +131 -131
  26. package/.agent/agents/gan-planner.md +99 -99
  27. package/.agent/agents/go-build-resolver.md +94 -94
  28. package/.agent/agents/go-reviewer.md +76 -76
  29. package/.agent/agents/harness-optimizer.md +35 -35
  30. package/.agent/agents/healthcare-reviewer.md +83 -83
  31. package/.agent/agents/java-build-resolver.md +153 -153
  32. package/.agent/agents/java-reviewer.md +92 -92
  33. package/.agent/agents/kotlin-build-resolver.md +118 -118
  34. package/.agent/agents/kotlin-reviewer.md +159 -159
  35. package/.agent/agents/loop-operator.md +36 -36
  36. package/.agent/agents/mobile-developer.md +377 -377
  37. package/.agent/agents/opensource-forker.md +198 -198
  38. package/.agent/agents/opensource-packager.md +249 -249
  39. package/.agent/agents/opensource-sanitizer.md +188 -188
  40. package/.agent/agents/orchestrator.md +416 -416
  41. package/.agent/agents/penetration-tester.md +188 -188
  42. package/.agent/agents/performance-optimizer.md +446 -446
  43. package/.agent/agents/personas/athena-agent/agent.json +10 -10
  44. package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +3 -3
  45. package/.agent/agents/personas/athena-agent/context-files/agents.md +1 -1
  46. package/.agent/agents/personas/athena-agent/context-files/identity.md +1 -1
  47. package/.agent/agents/personas/athena-agent/context-files/soul.md +1 -1
  48. package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +1 -1
  49. package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +1 -1
  50. package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +1 -1
  51. package/.agent/agents/personas/da-vinci-agent/agent.json +10 -10
  52. package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +1 -1
  53. package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +1 -1
  54. package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +1 -1
  55. package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +1 -1
  56. package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +3 -3
  57. package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +1 -1
  58. package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +1 -1
  59. package/.agent/agents/personas/duong-tang-agent/agent.json +10 -10
  60. package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +1 -1
  61. package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +1 -1
  62. package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +1 -1
  63. package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +1 -1
  64. package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +3 -3
  65. package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +1 -1
  66. package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +1 -1
  67. package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -10
  68. package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +1 -1
  69. package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +1 -1
  70. package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +1 -1
  71. package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +1 -1
  72. package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +3 -3
  73. package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +1 -1
  74. package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +1 -1
  75. package/.agent/agents/personas/mihata-agent/agent.json +10 -10
  76. package/.agent/agents/personas/mihata-agent/context-files/agents.md +1 -1
  77. package/.agent/agents/personas/mihata-agent/context-files/identity.md +1 -1
  78. package/.agent/agents/personas/mihata-agent/context-files/soul.md +1 -1
  79. package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +1 -1
  80. package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +3 -3
  81. package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +1 -1
  82. package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +1 -1
  83. package/.agent/agents/personas/tesla-agent/agent.json +10 -10
  84. package/.agent/agents/personas/tesla-agent/context-files/agents.md +1 -1
  85. package/.agent/agents/personas/tesla-agent/context-files/identity.md +1 -1
  86. package/.agent/agents/personas/tesla-agent/context-files/soul.md +1 -1
  87. package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +1 -1
  88. package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +3 -3
  89. package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +1 -1
  90. package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +1 -1
  91. package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -10
  92. package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +1 -1
  93. package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +1 -1
  94. package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +1 -1
  95. package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +1 -1
  96. package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +3 -3
  97. package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +1 -1
  98. package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +1 -1
  99. package/.agent/agents/personas/venti-agent/agent.json +10 -10
  100. package/.agent/agents/personas/venti-agent/context-files/agents.md +1 -1
  101. package/.agent/agents/personas/venti-agent/context-files/identity.md +1 -1
  102. package/.agent/agents/personas/venti-agent/context-files/soul.md +1 -1
  103. package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +1 -1
  104. package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +1 -1
  105. package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +1 -1
  106. package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +3 -3
  107. package/.agent/agents/planner.md +212 -212
  108. package/.agent/agents/product-manager.md +112 -112
  109. package/.agent/agents/product-owner.md +95 -95
  110. package/.agent/agents/project-planner.md +406 -406
  111. package/.agent/agents/python-reviewer.md +98 -98
  112. package/.agent/agents/pytorch-build-resolver.md +120 -120
  113. package/.agent/agents/qa-automation-engineer.md +103 -103
  114. package/.agent/agents/refactor-cleaner.md +85 -85
  115. package/.agent/agents/rust-build-resolver.md +148 -148
  116. package/.agent/agents/rust-reviewer.md +94 -94
  117. package/.agent/agents/security-auditor.md +170 -170
  118. package/.agent/agents/security-reviewer.md +108 -108
  119. package/.agent/agents/seo-specialist.md +111 -111
  120. package/.agent/agents/tdd-guide.md +91 -91
  121. package/.agent/agents/test-engineer.md +158 -158
  122. package/.agent/agents/typescript-reviewer.md +112 -112
  123. package/.agent/contexts/dev.md +20 -20
  124. package/.agent/contexts/research.md +26 -26
  125. package/.agent/contexts/review.md +22 -22
  126. package/.agent/hooks/hooks.json +395 -395
  127. package/.agent/hooks/readme.md +222 -222
  128. package/.agent/mcp-configs/mcp-servers.json +181 -181
  129. package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -62
  130. package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -69
  131. package/.agent/rules/CORE_RULES.md +72 -72
  132. package/.agent/rules/PROJECT_MAP.md +58 -58
  133. package/.agent/rules/QUALITY_ASSURANCE.md +54 -54
  134. package/.agent/rules/SECURITY_ARMOR.md +44 -44
  135. package/.agent/rules/VERSION_ORCHESTRATION.md +64 -64
  136. package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -55
  137. package/.agent/rules/common/agents.md +50 -50
  138. package/.agent/rules/common/code-review.md +124 -124
  139. package/.agent/rules/common/coding-style.md +48 -48
  140. package/.agent/rules/common/development-workflow.md +44 -44
  141. package/.agent/rules/common/git-workflow.md +24 -24
  142. package/.agent/rules/common/hooks.md +30 -30
  143. package/.agent/rules/common/patterns.md +31 -31
  144. package/.agent/rules/common/performance.md +55 -55
  145. package/.agent/rules/common/security.md +29 -29
  146. package/.agent/rules/common/testing.md +29 -29
  147. package/.agent/rules/cpp/coding-style.md +44 -44
  148. package/.agent/rules/cpp/hooks.md +39 -39
  149. package/.agent/rules/cpp/patterns.md +51 -51
  150. package/.agent/rules/cpp/security.md +51 -51
  151. package/.agent/rules/cpp/testing.md +44 -44
  152. package/.agent/rules/csharp/coding-style.md +72 -72
  153. package/.agent/rules/csharp/hooks.md +25 -25
  154. package/.agent/rules/csharp/patterns.md +50 -50
  155. package/.agent/rules/csharp/security.md +58 -58
  156. package/.agent/rules/csharp/testing.md +46 -46
  157. package/.agent/rules/dart/coding-style.md +159 -159
  158. package/.agent/rules/dart/hooks.md +66 -66
  159. package/.agent/rules/dart/patterns.md +261 -261
  160. package/.agent/rules/dart/security.md +135 -135
  161. package/.agent/rules/dart/testing.md +215 -215
  162. package/.agent/rules/golang/coding-style.md +32 -32
  163. package/.agent/rules/golang/hooks.md +17 -17
  164. package/.agent/rules/golang/patterns.md +45 -45
  165. package/.agent/rules/golang/security.md +34 -34
  166. package/.agent/rules/golang/testing.md +31 -31
  167. package/.agent/rules/java/coding-style.md +114 -114
  168. package/.agent/rules/java/hooks.md +18 -18
  169. package/.agent/rules/java/patterns.md +146 -146
  170. package/.agent/rules/java/security.md +100 -100
  171. package/.agent/rules/java/testing.md +131 -131
  172. package/.agent/rules/kotlin/coding-style.md +86 -86
  173. package/.agent/rules/kotlin/hooks.md +17 -17
  174. package/.agent/rules/kotlin/patterns.md +146 -146
  175. package/.agent/rules/kotlin/security.md +82 -82
  176. package/.agent/rules/kotlin/testing.md +128 -128
  177. package/.agent/rules/perl/coding-style.md +46 -46
  178. package/.agent/rules/perl/hooks.md +22 -22
  179. package/.agent/rules/perl/patterns.md +76 -76
  180. package/.agent/rules/perl/security.md +69 -69
  181. package/.agent/rules/perl/testing.md +54 -54
  182. package/.agent/rules/php/coding-style.md +40 -40
  183. package/.agent/rules/php/hooks.md +24 -24
  184. package/.agent/rules/php/patterns.md +33 -33
  185. package/.agent/rules/php/security.md +37 -37
  186. package/.agent/rules/php/testing.md +39 -39
  187. package/.agent/rules/python/coding-style.md +42 -42
  188. package/.agent/rules/python/hooks.md +19 -19
  189. package/.agent/rules/python/patterns.md +39 -39
  190. package/.agent/rules/python/security.md +30 -30
  191. package/.agent/rules/python/testing.md +38 -38
  192. package/.agent/rules/readme.md +111 -111
  193. package/.agent/rules/rust/coding-style.md +151 -151
  194. package/.agent/rules/rust/hooks.md +16 -16
  195. package/.agent/rules/rust/patterns.md +168 -168
  196. package/.agent/rules/rust/security.md +141 -141
  197. package/.agent/rules/rust/testing.md +154 -154
  198. package/.agent/rules/swift/coding-style.md +47 -47
  199. package/.agent/rules/swift/hooks.md +20 -20
  200. package/.agent/rules/swift/patterns.md +66 -66
  201. package/.agent/rules/swift/security.md +33 -33
  202. package/.agent/rules/swift/testing.md +45 -45
  203. package/.agent/rules/typescript/coding-style.md +199 -199
  204. package/.agent/rules/typescript/hooks.md +22 -22
  205. package/.agent/rules/typescript/patterns.md +52 -52
  206. package/.agent/rules/typescript/security.md +28 -28
  207. package/.agent/rules/typescript/testing.md +18 -18
  208. package/.agent/rules/web/coding-style.md +96 -96
  209. package/.agent/rules/web/design-quality.md +63 -63
  210. package/.agent/rules/web/hooks.md +120 -120
  211. package/.agent/rules/web/patterns.md +79 -79
  212. package/.agent/rules/web/performance.md +64 -64
  213. package/.agent/rules/web/security.md +57 -57
  214. package/.agent/rules/web/testing.md +55 -55
  215. package/.agent/rules/zh/agents.md +50 -50
  216. package/.agent/rules/zh/code-review.md +124 -124
  217. package/.agent/rules/zh/coding-style.md +48 -48
  218. package/.agent/rules/zh/development-workflow.md +44 -44
  219. package/.agent/rules/zh/git-workflow.md +24 -24
  220. package/.agent/rules/zh/hooks.md +30 -30
  221. package/.agent/rules/zh/patterns.md +31 -31
  222. package/.agent/rules/zh/performance.md +55 -55
  223. package/.agent/rules/zh/readme.md +108 -108
  224. package/.agent/rules/zh/security.md +29 -29
  225. package/.agent/rules/zh/testing.md +29 -29
  226. package/.agent/scripts/auto_preview.py +148 -148
  227. package/.agent/scripts/checklist.py +217 -217
  228. package/.agent/scripts/session_manager.py +120 -120
  229. package/.agent/scripts/verify_all.py +327 -327
  230. package/.agent/skills/agent-eval/SKILL.md +145 -145
  231. package/.agent/skills/agent-harness-construction/SKILL.md +73 -73
  232. package/.agent/skills/agent-payment-x402/SKILL.md +178 -178
  233. package/.agent/skills/agentic-engineering/SKILL.md +63 -63
  234. package/.agent/skills/ai-first-engineering/SKILL.md +51 -51
  235. package/.agent/skills/ai-regression-testing/SKILL.md +385 -385
  236. package/.agent/skills/android-clean-architecture/SKILL.md +339 -339
  237. package/.agent/skills/api-design/SKILL.md +523 -523
  238. package/.agent/skills/api-patterns/SKILL.md +81 -81
  239. package/.agent/skills/api-patterns/api-style.md +42 -42
  240. package/.agent/skills/api-patterns/auth.md +24 -24
  241. package/.agent/skills/api-patterns/documentation.md +26 -26
  242. package/.agent/skills/api-patterns/graphql.md +41 -41
  243. package/.agent/skills/api-patterns/rate-limiting.md +31 -31
  244. package/.agent/skills/api-patterns/response.md +37 -37
  245. package/.agent/skills/api-patterns/rest.md +40 -40
  246. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -211
  247. package/.agent/skills/api-patterns/security-testing.md +122 -122
  248. package/.agent/skills/api-patterns/trpc.md +41 -41
  249. package/.agent/skills/api-patterns/versioning.md +22 -22
  250. package/.agent/skills/app-builder/SKILL.md +75 -75
  251. package/.agent/skills/app-builder/agent-coordination.md +71 -71
  252. package/.agent/skills/app-builder/feature-building.md +53 -53
  253. package/.agent/skills/app-builder/project-detection.md +34 -34
  254. package/.agent/skills/app-builder/scaffolding.md +118 -118
  255. package/.agent/skills/app-builder/tech-stack.md +41 -41
  256. package/.agent/skills/app-builder/templates/SKILL.md +39 -39
  257. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  258. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  259. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  260. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  261. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  262. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  263. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  264. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  265. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  266. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  267. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  268. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  269. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  270. package/.agent/skills/architecture/SKILL.md +55 -55
  271. package/.agent/skills/architecture/context-discovery.md +43 -43
  272. package/.agent/skills/architecture/examples.md +94 -94
  273. package/.agent/skills/architecture/pattern-selection.md +68 -68
  274. package/.agent/skills/architecture/patterns-reference.md +50 -50
  275. package/.agent/skills/architecture/trade-off-analysis.md +77 -77
  276. package/.agent/skills/architecture-decision-records/SKILL.md +179 -179
  277. package/.agent/skills/article-writing/SKILL.md +79 -79
  278. package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -267
  279. package/.agent/skills/autonomous-loops/SKILL.md +610 -610
  280. package/.agent/skills/backend-patterns/SKILL.md +598 -598
  281. package/.agent/skills/bash-linux/SKILL.md +199 -199
  282. package/.agent/skills/behavioral-modes/SKILL.md +242 -242
  283. package/.agent/skills/benchmark/SKILL.md +93 -93
  284. package/.agent/skills/blueprint/SKILL.md +105 -105
  285. package/.agent/skills/brainstorming/SKILL.md +163 -163
  286. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -350
  287. package/.agent/skills/brand-voice/SKILL.md +97 -97
  288. package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -55
  289. package/.agent/skills/browser-qa/SKILL.md +87 -87
  290. package/.agent/skills/bun-runtime/SKILL.md +84 -84
  291. package/.agent/skills/canary-watch/SKILL.md +99 -99
  292. package/.agent/skills/carrier-relationship-management/SKILL.md +212 -212
  293. package/.agent/skills/ck/SKILL.md +147 -147
  294. package/.agent/skills/ck/commands/forget.mjs +44 -44
  295. package/.agent/skills/ck/commands/info.mjs +24 -24
  296. package/.agent/skills/ck/commands/init.mjs +143 -143
  297. package/.agent/skills/ck/commands/list.mjs +40 -40
  298. package/.agent/skills/ck/commands/migrate.mjs +202 -202
  299. package/.agent/skills/ck/commands/resume.mjs +36 -36
  300. package/.agent/skills/ck/commands/save.mjs +210 -210
  301. package/.agent/skills/ck/commands/shared.mjs +387 -387
  302. package/.agent/skills/ck/hooks/session-start.mjs +224 -224
  303. package/.agent/skills/claude-api/SKILL.md +337 -337
  304. package/.agent/skills/claude-devfleet/SKILL.md +103 -103
  305. package/.agent/skills/clean-code/SKILL.md +201 -201
  306. package/.agent/skills/click-path-audit/SKILL.md +244 -244
  307. package/.agent/skills/clickhouse-io/SKILL.md +439 -439
  308. package/.agent/skills/code-review-checklist/SKILL.md +109 -109
  309. package/.agent/skills/codebase-onboarding/SKILL.md +233 -233
  310. package/.agent/skills/coding-standards/SKILL.md +530 -530
  311. package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -299
  312. package/.agent/skills/configure-ecc/SKILL.md +367 -367
  313. package/.agent/skills/connections-optimizer/SKILL.md +189 -189
  314. package/.agent/skills/content-engine/SKILL.md +131 -131
  315. package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -161
  316. package/.agent/skills/context-budget/SKILL.md +135 -135
  317. package/.agent/skills/continuous-agent-loop/SKILL.md +45 -45
  318. package/.agent/skills/continuous-learning/SKILL.md +119 -119
  319. package/.agent/skills/continuous-learning/config.json +18 -18
  320. package/.agent/skills/continuous-learning/evaluate-session.sh +69 -69
  321. package/.agent/skills/continuous-learning-v2/SKILL.md +365 -365
  322. package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -271
  323. package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -198
  324. package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -150
  325. package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -244
  326. package/.agent/skills/continuous-learning-v2/config.json +8 -8
  327. package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -428
  328. package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -228
  329. package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -1426
  330. package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -984
  331. package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -183
  332. package/.agent/skills/cpp-coding-standards/SKILL.md +723 -723
  333. package/.agent/skills/cpp-testing/SKILL.md +324 -324
  334. package/.agent/skills/crosspost/SKILL.md +111 -111
  335. package/.agent/skills/csharp-testing/SKILL.md +321 -321
  336. package/.agent/skills/customer-billing-ops/SKILL.md +140 -140
  337. package/.agent/skills/customs-trade-compliance/SKILL.md +263 -263
  338. package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -563
  339. package/.agent/skills/data-scraper-agent/SKILL.md +764 -764
  340. package/.agent/skills/database-design/SKILL.md +52 -52
  341. package/.agent/skills/database-design/database-selection.md +43 -43
  342. package/.agent/skills/database-design/indexing.md +39 -39
  343. package/.agent/skills/database-design/migrations.md +48 -48
  344. package/.agent/skills/database-design/optimization.md +36 -36
  345. package/.agent/skills/database-design/orm-selection.md +30 -30
  346. package/.agent/skills/database-design/schema-design.md +56 -56
  347. package/.agent/skills/database-design/scripts/schema_validator.py +172 -172
  348. package/.agent/skills/database-migrations/SKILL.md +429 -429
  349. package/.agent/skills/deep-research/SKILL.md +155 -155
  350. package/.agent/skills/deployment-patterns/SKILL.md +427 -427
  351. package/.agent/skills/deployment-procedures/SKILL.md +241 -241
  352. package/.agent/skills/design-system/SKILL.md +82 -82
  353. package/.agent/skills/django-patterns/SKILL.md +734 -734
  354. package/.agent/skills/django-security/SKILL.md +593 -593
  355. package/.agent/skills/django-tdd/SKILL.md +729 -729
  356. package/.agent/skills/django-verification/SKILL.md +469 -469
  357. package/.agent/skills/dmux-workflows/SKILL.md +191 -191
  358. package/.agent/skills/doc.md +177 -177
  359. package/.agent/skills/docker-patterns/SKILL.md +364 -364
  360. package/.agent/skills/documentation-lookup/SKILL.md +90 -90
  361. package/.agent/skills/documentation-templates/SKILL.md +194 -194
  362. package/.agent/skills/dotnet-patterns/SKILL.md +321 -321
  363. package/.agent/skills/e2e-testing/SKILL.md +326 -326
  364. package/.agent/skills/energy-procurement/SKILL.md +228 -228
  365. package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -50
  366. package/.agent/skills/eval-harness/SKILL.md +270 -270
  367. package/.agent/skills/exa-search/SKILL.md +103 -103
  368. package/.agent/skills/fal-ai-media/SKILL.md +284 -284
  369. package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -435
  370. package/.agent/skills/foundation-models-on-device/SKILL.md +243 -243
  371. package/.agent/skills/frontend-design/SKILL.md +452 -452
  372. package/.agent/skills/frontend-design/animation-guide.md +331 -331
  373. package/.agent/skills/frontend-design/color-system.md +311 -311
  374. package/.agent/skills/frontend-design/decision-trees.md +418 -418
  375. package/.agent/skills/frontend-design/motion-graphics.md +306 -306
  376. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -183
  377. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -722
  378. package/.agent/skills/frontend-design/typography-system.md +345 -345
  379. package/.agent/skills/frontend-design/ux-psychology.md +1116 -1116
  380. package/.agent/skills/frontend-design/visual-effects.md +383 -383
  381. package/.agent/skills/frontend-patterns/SKILL.md +642 -642
  382. package/.agent/skills/frontend-slides/SKILL.md +184 -184
  383. package/.agent/skills/frontend-slides/style-presets.md +330 -330
  384. package/.agent/skills/game-development/2d-games/SKILL.md +119 -119
  385. package/.agent/skills/game-development/3d-games/SKILL.md +135 -135
  386. package/.agent/skills/game-development/SKILL.md +167 -167
  387. package/.agent/skills/game-development/game-art/SKILL.md +185 -185
  388. package/.agent/skills/game-development/game-audio/SKILL.md +190 -190
  389. package/.agent/skills/game-development/game-design/SKILL.md +129 -129
  390. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -108
  391. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -132
  392. package/.agent/skills/game-development/pc-games/SKILL.md +144 -144
  393. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -123
  394. package/.agent/skills/game-development/web-games/SKILL.md +150 -150
  395. package/.agent/skills/gan-style-harness/SKILL.md +278 -278
  396. package/.agent/skills/geo-fundamentals/SKILL.md +156 -156
  397. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -289
  398. package/.agent/skills/git-workflow/SKILL.md +715 -715
  399. package/.agent/skills/golang-patterns/SKILL.md +674 -674
  400. package/.agent/skills/golang-testing/SKILL.md +720 -720
  401. package/.agent/skills/google-workspace-ops/SKILL.md +95 -95
  402. package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -245
  403. package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -159
  404. package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -207
  405. package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -145
  406. package/.agent/skills/hexagonal-architecture/SKILL.md +276 -276
  407. package/.agent/skills/i18n-localization/SKILL.md +154 -154
  408. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  409. package/.agent/skills/intelligent-routing/SKILL.md +335 -335
  410. package/.agent/skills/inventory-demand-planning/SKILL.md +247 -247
  411. package/.agent/skills/investor-materials/SKILL.md +96 -96
  412. package/.agent/skills/investor-outreach/SKILL.md +91 -91
  413. package/.agent/skills/iterative-retrieval/SKILL.md +211 -211
  414. package/.agent/skills/java-coding-standards/SKILL.md +147 -147
  415. package/.agent/skills/jira-integration/SKILL.md +293 -293
  416. package/.agent/skills/jpa-patterns/SKILL.md +151 -151
  417. package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -284
  418. package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -719
  419. package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -689
  420. package/.agent/skills/kotlin-patterns/SKILL.md +711 -711
  421. package/.agent/skills/kotlin-testing/SKILL.md +824 -824
  422. package/.agent/skills/laravel-patterns/SKILL.md +415 -415
  423. package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -229
  424. package/.agent/skills/laravel-security/SKILL.md +285 -285
  425. package/.agent/skills/laravel-tdd/SKILL.md +283 -283
  426. package/.agent/skills/laravel-verification/SKILL.md +179 -179
  427. package/.agent/skills/lead-intelligence/SKILL.md +321 -321
  428. package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -85
  429. package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -75
  430. package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -98
  431. package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -60
  432. package/.agent/skills/lint-and-validate/SKILL.md +45 -45
  433. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  434. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  435. package/.agent/skills/liquid-glass-design/SKILL.md +279 -279
  436. package/.agent/skills/logistics-exception-management/SKILL.md +222 -222
  437. package/.agent/skills/manim-video/SKILL.md +89 -89
  438. package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -52
  439. package/.agent/skills/market-research/SKILL.md +75 -75
  440. package/.agent/skills/mcp-server-patterns/SKILL.md +67 -67
  441. package/.agent/skills/mobile-design/SKILL.md +394 -394
  442. package/.agent/skills/mobile-design/decision-trees.md +516 -516
  443. package/.agent/skills/mobile-design/mobile-backend.md +491 -491
  444. package/.agent/skills/mobile-design/mobile-color-system.md +420 -420
  445. package/.agent/skills/mobile-design/mobile-debugging.md +122 -122
  446. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -357
  447. package/.agent/skills/mobile-design/mobile-navigation.md +458 -458
  448. package/.agent/skills/mobile-design/mobile-performance.md +767 -767
  449. package/.agent/skills/mobile-design/mobile-testing.md +356 -356
  450. package/.agent/skills/mobile-design/mobile-typography.md +433 -433
  451. package/.agent/skills/mobile-design/platform-android.md +666 -666
  452. package/.agent/skills/mobile-design/platform-ios.md +561 -561
  453. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -670
  454. package/.agent/skills/mobile-design/touch-psychology.md +537 -537
  455. package/.agent/skills/nanoclaw-repl/SKILL.md +33 -33
  456. package/.agent/skills/nestjs-patterns/SKILL.md +230 -230
  457. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -351
  458. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  459. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  460. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  461. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  462. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  463. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  464. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  465. package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -103
  466. package/.agent/skills/nextjs-react-expert/SKILL.md +293 -293
  467. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  468. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  469. package/.agent/skills/nextjs-turbopack/SKILL.md +44 -44
  470. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -333
  471. package/.agent/skills/nutrient-document-processing/SKILL.md +167 -167
  472. package/.agent/skills/nuxt4-patterns/SKILL.md +100 -100
  473. package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -296
  474. package/.agent/skills/openclaw-persona-forge/gacha.py +224 -224
  475. package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -5
  476. package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -124
  477. package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -53
  478. package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -53
  479. package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -48
  480. package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -39
  481. package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -166
  482. package/.agent/skills/opensource-pipeline/SKILL.md +255 -255
  483. package/.agent/skills/parallel-agents/SKILL.md +175 -175
  484. package/.agent/skills/performance-profiling/SKILL.md +143 -143
  485. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -76
  486. package/.agent/skills/perl-patterns/SKILL.md +504 -504
  487. package/.agent/skills/perl-security/SKILL.md +503 -503
  488. package/.agent/skills/perl-testing/SKILL.md +475 -475
  489. package/.agent/skills/plan-writing/SKILL.md +152 -152
  490. package/.agent/skills/plankton-code-quality/SKILL.md +236 -236
  491. package/.agent/skills/postgres-patterns/SKILL.md +147 -147
  492. package/.agent/skills/powershell-windows/SKILL.md +167 -167
  493. package/.agent/skills/product-lens/SKILL.md +85 -85
  494. package/.agent/skills/production-scheduling/SKILL.md +238 -238
  495. package/.agent/skills/project-flow-ops/SKILL.md +111 -111
  496. package/.agent/skills/project-guidelines-example/SKILL.md +349 -349
  497. package/.agent/skills/prompt-optimizer/SKILL.md +397 -397
  498. package/.agent/skills/python-patterns/SKILL.md +750 -750
  499. package/.agent/skills/python-testing/SKILL.md +816 -816
  500. package/.agent/skills/pytorch-patterns/SKILL.md +396 -396
  501. package/.agent/skills/quality-nonconformance/SKILL.md +260 -260
  502. package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -67
  503. package/.agent/skills/red-team-tactics/SKILL.md +199 -199
  504. package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -220
  505. package/.agent/skills/remotion-video-creation/SKILL.md +43 -43
  506. package/.agent/skills/remotion-video-creation/rules/3d.md +86 -86
  507. package/.agent/skills/remotion-video-creation/rules/animations.md +29 -29
  508. package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -173
  509. package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -100
  510. package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -108
  511. package/.agent/skills/remotion-video-creation/rules/assets.md +78 -78
  512. package/.agent/skills/remotion-video-creation/rules/audio.md +172 -172
  513. package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -104
  514. package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -75
  515. package/.agent/skills/remotion-video-creation/rules/charts.md +58 -58
  516. package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -146
  517. package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -126
  518. package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -229
  519. package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -152
  520. package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -58
  521. package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -68
  522. package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -58
  523. package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -138
  524. package/.agent/skills/remotion-video-creation/rules/images.md +130 -130
  525. package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -67
  526. package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -67
  527. package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -34
  528. package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -143
  529. package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -106
  530. package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -11
  531. package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -20
  532. package/.agent/skills/remotion-video-creation/rules/timing.md +179 -179
  533. package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -19
  534. package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -122
  535. package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -52
  536. package/.agent/skills/remotion-video-creation/rules/videos.md +171 -171
  537. package/.agent/skills/repo-scan/SKILL.md +63 -63
  538. package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -240
  539. package/.agent/skills/rules-distill/SKILL.md +264 -264
  540. package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -58
  541. package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -129
  542. package/.agent/skills/rust-patterns/SKILL.md +499 -499
  543. package/.agent/skills/rust-pro/SKILL.md +175 -175
  544. package/.agent/skills/rust-testing/SKILL.md +500 -500
  545. package/.agent/skills/safety-guard/SKILL.md +75 -75
  546. package/.agent/skills/santa-method/SKILL.md +306 -306
  547. package/.agent/skills/search-first/SKILL.md +161 -161
  548. package/.agent/skills/security-review/SKILL.md +495 -495
  549. package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -361
  550. package/.agent/skills/security-scan/SKILL.md +165 -165
  551. package/.agent/skills/seo-fundamentals/SKILL.md +129 -129
  552. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  553. package/.agent/skills/server-management/SKILL.md +161 -161
  554. package/.agent/skills/skill-comply/SKILL.md +58 -58
  555. package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -5
  556. package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -3
  557. package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -44
  558. package/.agent/skills/skill-comply/prompts/classifier.md +24 -24
  559. package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -62
  560. package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -42
  561. package/.agent/skills/skill-comply/pyproject.toml +15 -15
  562. package/.agent/skills/skill-comply/scripts/classifier.py +85 -85
  563. package/.agent/skills/skill-comply/scripts/grader.py +122 -122
  564. package/.agent/skills/skill-comply/scripts/parser.py +107 -107
  565. package/.agent/skills/skill-comply/scripts/report.py +170 -170
  566. package/.agent/skills/skill-comply/scripts/run.py +127 -127
  567. package/.agent/skills/skill-comply/scripts/runner.py +161 -161
  568. package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -70
  569. package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -72
  570. package/.agent/skills/skill-comply/scripts/utils.py +13 -13
  571. package/.agent/skills/skill-comply/tests/test-grader.py +137 -137
  572. package/.agent/skills/skill-comply/tests/test-parser.py +90 -90
  573. package/.agent/skills/skill-stocktake/SKILL.md +193 -193
  574. package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -87
  575. package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -56
  576. package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -170
  577. package/.agent/skills/social-graph-ranker/SKILL.md +154 -154
  578. package/.agent/skills/springboot-patterns/SKILL.md +314 -314
  579. package/.agent/skills/springboot-security/SKILL.md +272 -272
  580. package/.agent/skills/springboot-tdd/SKILL.md +158 -158
  581. package/.agent/skills/springboot-verification/SKILL.md +231 -231
  582. package/.agent/skills/strategic-compact/SKILL.md +131 -131
  583. package/.agent/skills/strategic-compact/suggest-compact.sh +54 -54
  584. package/.agent/skills/swift-actor-persistence/SKILL.md +143 -143
  585. package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -216
  586. package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -190
  587. package/.agent/skills/swiftui-patterns/SKILL.md +259 -259
  588. package/.agent/skills/systematic-debugging/SKILL.md +109 -109
  589. package/.agent/skills/tailwind-patterns/SKILL.md +269 -269
  590. package/.agent/skills/tdd-workflow/SKILL.md +463 -463
  591. package/.agent/skills/team-builder/SKILL.md +168 -168
  592. package/.agent/skills/testing-patterns/SKILL.md +178 -178
  593. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -219
  594. package/.agent/skills/token-budget-advisor/SKILL.md +133 -133
  595. package/.agent/skills/ui-demo/SKILL.md +465 -465
  596. package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -292
  597. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -26
  598. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -97
  599. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -101
  600. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -31
  601. package/.agent/skills/ui-ux-pro-max/data/products.csv +96 -96
  602. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  603. package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  604. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  605. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  606. package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  607. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  608. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  609. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  610. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  611. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -54
  612. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  613. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  614. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  615. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -50
  616. package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -68
  617. package/.agent/skills/ui-ux-pro-max/data/typography.csv +57 -57
  618. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  619. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  620. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
  621. package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -253
  622. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
  623. package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -114
  624. package/.agent/skills/verification-loop/SKILL.md +126 -126
  625. package/.agent/skills/video-editing/SKILL.md +310 -310
  626. package/.agent/skills/videodb/SKILL.md +374 -374
  627. package/.agent/skills/videodb/reference/api-reference.md +550 -550
  628. package/.agent/skills/videodb/reference/capture-reference.md +407 -407
  629. package/.agent/skills/videodb/reference/capture.md +101 -101
  630. package/.agent/skills/videodb/reference/editor.md +443 -443
  631. package/.agent/skills/videodb/reference/generative.md +331 -331
  632. package/.agent/skills/videodb/reference/rtstream-reference.md +564 -564
  633. package/.agent/skills/videodb/reference/rtstream.md +65 -65
  634. package/.agent/skills/videodb/reference/search.md +230 -230
  635. package/.agent/skills/videodb/reference/streaming.md +406 -406
  636. package/.agent/skills/videodb/reference/use-cases.md +118 -118
  637. package/.agent/skills/videodb/scripts/ws-listener.py +282 -282
  638. package/.agent/skills/visa-doc-translate/SKILL.md +117 -117
  639. package/.agent/skills/visa-doc-translate/readme.md +86 -86
  640. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -276
  641. package/.agent/skills/vulnerability-scanner/checklists.md +121 -121
  642. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  643. package/.agent/skills/web-design-guidelines/SKILL.md +57 -57
  644. package/.agent/skills/webapp-testing/SKILL.md +187 -187
  645. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -173
  646. package/.agent/skills/workspace-surface-audit/SKILL.md +125 -125
  647. package/.agent/skills/x-api/SKILL.md +230 -230
  648. package/.agent/tasks/lessons.md +40 -40
  649. package/.agent/tasks/todo.md +33 -33
  650. package/.agent/tasks/two-track-merge-contract.md +1 -1
  651. package/.agent/workflows/aside.md +164 -164
  652. package/.agent/workflows/brainstorm.md +113 -113
  653. package/.agent/workflows/build-fix.md +62 -62
  654. package/.agent/workflows/checkpoint.md +74 -74
  655. package/.agent/workflows/claw.md +23 -23
  656. package/.agent/workflows/clean-memory.md +34 -34
  657. package/.agent/workflows/code-review.md +289 -289
  658. package/.agent/workflows/context-budget.md +23 -23
  659. package/.agent/workflows/cpp-build.md +173 -173
  660. package/.agent/workflows/cpp-review.md +132 -132
  661. package/.agent/workflows/cpp-test.md +251 -251
  662. package/.agent/workflows/create.md +59 -59
  663. package/.agent/workflows/debug.md +103 -103
  664. package/.agent/workflows/deploy.md +176 -176
  665. package/.agent/workflows/devfleet.md +23 -23
  666. package/.agent/workflows/docs.md +23 -23
  667. package/.agent/workflows/e2e.md +268 -268
  668. package/.agent/workflows/enhance.md +63 -63
  669. package/.agent/workflows/eval.md +23 -23
  670. package/.agent/workflows/evolve.md +178 -178
  671. package/.agent/workflows/flutter-build.md +164 -164
  672. package/.agent/workflows/flutter-review.md +116 -116
  673. package/.agent/workflows/flutter-test.md +144 -144
  674. package/.agent/workflows/gan-build.md +99 -99
  675. package/.agent/workflows/gan-design.md +35 -35
  676. package/.agent/workflows/go-build.md +183 -183
  677. package/.agent/workflows/go-review.md +148 -148
  678. package/.agent/workflows/go-test.md +268 -268
  679. package/.agent/workflows/gradle-build.md +70 -70
  680. package/.agent/workflows/harness-audit.md +73 -73
  681. package/.agent/workflows/init-docs.md +46 -46
  682. package/.agent/workflows/instinct-export.md +66 -66
  683. package/.agent/workflows/instinct-import.md +114 -114
  684. package/.agent/workflows/instinct-status.md +59 -59
  685. package/.agent/workflows/jira.md +106 -106
  686. package/.agent/workflows/kotlin-build.md +174 -174
  687. package/.agent/workflows/kotlin-review.md +140 -140
  688. package/.agent/workflows/kotlin-test.md +312 -312
  689. package/.agent/workflows/learn-eval.md +116 -116
  690. package/.agent/workflows/learn.md +70 -70
  691. package/.agent/workflows/loop-start.md +32 -32
  692. package/.agent/workflows/loop-status.md +24 -24
  693. package/.agent/workflows/model-route.md +26 -26
  694. package/.agent/workflows/multi-backend.md +158 -158
  695. package/.agent/workflows/multi-execute.md +315 -315
  696. package/.agent/workflows/multi-frontend.md +158 -158
  697. package/.agent/workflows/multi-plan.md +268 -268
  698. package/.agent/workflows/multi-workflow.md +191 -191
  699. package/.agent/workflows/orchestrate.md +135 -135
  700. package/.agent/workflows/plan.md +117 -117
  701. package/.agent/workflows/pm2.md +272 -272
  702. package/.agent/workflows/preview.md +81 -81
  703. package/.agent/workflows/projects.md +39 -39
  704. package/.agent/workflows/promote.md +41 -41
  705. package/.agent/workflows/prompt-optimize.md +23 -23
  706. package/.agent/workflows/prp-commit.md +112 -112
  707. package/.agent/workflows/prp-implement.md +385 -385
  708. package/.agent/workflows/prp-plan.md +502 -502
  709. package/.agent/workflows/prp-pr.md +184 -184
  710. package/.agent/workflows/prp-prd.md +447 -447
  711. package/.agent/workflows/prune.md +31 -31
  712. package/.agent/workflows/python-review.md +297 -297
  713. package/.agent/workflows/quality-gate.md +29 -29
  714. package/.agent/workflows/refactor-clean.md +80 -80
  715. package/.agent/workflows/resume-session.md +156 -156
  716. package/.agent/workflows/rules-distill.md +20 -20
  717. package/.agent/workflows/rust-build.md +187 -187
  718. package/.agent/workflows/rust-review.md +142 -142
  719. package/.agent/workflows/rust-test.md +308 -308
  720. package/.agent/workflows/santa-loop.md +175 -175
  721. package/.agent/workflows/save-session.md +275 -275
  722. package/.agent/workflows/sessions.md +333 -333
  723. package/.agent/workflows/setup-pm.md +80 -80
  724. package/.agent/workflows/skill-create.md +174 -174
  725. package/.agent/workflows/skill-health.md +54 -54
  726. package/.agent/workflows/status.md +86 -86
  727. package/.agent/workflows/tdd.md +231 -231
  728. package/.agent/workflows/test-coverage.md +69 -69
  729. package/.agent/workflows/test.md +144 -144
  730. package/.agent/workflows/ui-ux-pro-max.md +295 -295
  731. package/.agent/workflows/update-codemaps.md +72 -72
  732. package/.agent/workflows/update-docs.md +84 -84
  733. package/.agent/workflows/verify.md +23 -23
  734. package/LICENSE +176 -176
  735. package/README.md +144 -144
  736. package/package.json +1 -1
  737. package/scripts/release-check.js +55 -55
  738. package/src/bin/cli.js +424 -354
  739. package/src/lib/installer.js +223 -11
@@ -1,666 +1,666 @@
1
- # Android Platform Guidelines
2
-
3
- > Material Design 3 essentials, Android design conventions, Roboto typography, and native patterns.
4
- > **Read this file when building for Android devices.**
5
-
6
- ---
7
-
8
- ## 1. Material Design 3 Philosophy
9
-
10
- ### Core Material Principles
11
-
12
- ```
13
- MATERIAL AS METAPHOR:
14
- ├── Surfaces exist in 3D space
15
- ├── Light and shadow define hierarchy
16
- ├── Motion provides continuity
17
- └── Bold, graphic, intentional design
18
-
19
- ADAPTIVE DESIGN:
20
- ├── Responds to device capabilities
21
- ├── One UI for all form factors
22
- ├── Dynamic color from wallpaper
23
- └── Personalized per user
24
-
25
- ACCESSIBLE BY DEFAULT:
26
- ├── Large touch targets
27
- ├── Clear visual hierarchy
28
- ├── Semantic colors
29
- └── Motion respects preferences
30
- ```
31
-
32
- ### Material Design Values
33
-
34
- | Value | Implementation |
35
- |-------|----------------|
36
- | **Dynamic Color** | Colors adapt to wallpaper/user preference |
37
- | **Personalization** | User-specific themes |
38
- | **Accessibility** | Built into every component |
39
- | **Responsiveness** | Works on all screen sizes |
40
- | **Consistency** | Unified design language |
41
-
42
- ---
43
-
44
- ## 2. Android Typography
45
-
46
- ### Roboto Font Family
47
-
48
- ```
49
- Android System Fonts:
50
- ├── Roboto: Default sans-serif
51
- ├── Roboto Flex: Variable font (API 33+)
52
- ├── Roboto Serif: Serif alternative
53
- ├── Roboto Mono: Monospace
54
- └── Google Sans: Google products (special license)
55
- ```
56
-
57
- ### Material Type Scale
58
-
59
- | Role | Size | Weight | Line Height | Usage |
60
- |------|------|--------|-------------|-------|
61
- | **Display Large** | 57sp | Regular | 64sp | Hero text, splash |
62
- | **Display Medium** | 45sp | Regular | 52sp | Large headers |
63
- | **Display Small** | 36sp | Regular | 44sp | Medium headers |
64
- | **Headline Large** | 32sp | Regular | 40sp | Page titles |
65
- | **Headline Medium** | 28sp | Regular | 36sp | Section headers |
66
- | **Headline Small** | 24sp | Regular | 32sp | Subsections |
67
- | **Title Large** | 22sp | Regular | 28sp | Dialogs, cards |
68
- | **Title Medium** | 16sp | Medium | 24sp | Lists, navigation |
69
- | **Title Small** | 14sp | Medium | 20sp | Tabs, secondary |
70
- | **Body Large** | 16sp | Regular | 24sp | Primary content |
71
- | **Body Medium** | 14sp | Regular | 20sp | Secondary content |
72
- | **Body Small** | 12sp | Regular | 16sp | Captions |
73
- | **Label Large** | 14sp | Medium | 20sp | Buttons, FAB |
74
- | **Label Medium** | 12sp | Medium | 16sp | Navigation |
75
- | **Label Small** | 11sp | Medium | 16sp | Chips, badges |
76
-
77
- ### Scalable Pixels (sp)
78
-
79
- ```
80
- sp = Scale-independent pixels
81
-
82
- sp automatically scales with:
83
- ├── User font size preference
84
- ├── Display density
85
- └── Accessibility settings
86
-
87
- RULE: ALWAYS use sp for text, dp for everything else.
88
- ```
89
-
90
- ### Font Weight Usage
91
-
92
- | Weight | Use Case |
93
- |--------|----------|
94
- | Regular (400) | Body text, display |
95
- | Medium (500) | Buttons, labels, emphasis |
96
- | Bold (700) | Rarely, strong emphasis only |
97
-
98
- ---
99
-
100
- ## 3. Material Color System
101
-
102
- ### Dynamic Color (Material You)
103
-
104
- ```
105
- Android 12+ Dynamic Color:
106
-
107
- User's wallpaper → Color extraction → App theme
108
-
109
- Your app automatically adapts to:
110
- ├── Primary color (from wallpaper)
111
- ├── Secondary color (complementary)
112
- ├── Tertiary color (accent)
113
- ├── Surface colors (derived)
114
- └── All semantic colors adjust
115
-
116
- RULE: Implement dynamic color for personalized feel.
117
- ```
118
-
119
- ### Semantic Color Roles
120
-
121
- ```
122
- Surface Colors:
123
- ├── Surface → Main background
124
- ├── SurfaceVariant → Cards, containers
125
- ├── SurfaceTint → Elevation overlay
126
- ├── InverseSurface → Snackbars, tooltips
127
-
128
- On-Surface Colors:
129
- ├── OnSurface → Primary text
130
- ├── OnSurfaceVariant → Secondary text
131
- ├── Outline → Borders, dividers
132
- ├── OutlineVariant → Subtle dividers
133
-
134
- Primary Colors:
135
- ├── Primary → Key actions, FAB
136
- ├── OnPrimary → Text on primary
137
- ├── PrimaryContainer → Less emphasis
138
- ├── OnPrimaryContainer → Text on container
139
-
140
- Secondary/Tertiary: Similar pattern
141
- ```
142
-
143
- ### Error, Warning, Success Colors
144
-
145
- | Role | Light | Dark | Usage |
146
- |------|-------|------|-------|
147
- | Error | #B3261E | #F2B8B5 | Errors, destructive |
148
- | OnError | #FFFFFF | #601410 | Text on error |
149
- | ErrorContainer | #F9DEDC | #8C1D18 | Error backgrounds |
150
-
151
- ### Dark Theme
152
-
153
- ```
154
- Material Dark Theme:
155
-
156
- ├── Background: #121212 (not pure black by default)
157
- ├── Surface: #1E1E1E, #232323, etc. (elevation)
158
- ├── Elevation: Higher = lighter overlay
159
- ├── Reduce saturation on colors
160
- └── Check contrast ratios
161
-
162
- Elevation overlays (dark mode):
163
- ├── 0dp → 0% overlay
164
- ├── 1dp → 5% overlay
165
- ├── 3dp → 8% overlay
166
- ├── 6dp → 11% overlay
167
- ├── 8dp → 12% overlay
168
- ├── 12dp → 14% overlay
169
- ```
170
-
171
- ---
172
-
173
- ## 4. Android Layout & Spacing
174
-
175
- ### Layout Grid
176
-
177
- ```
178
- Android uses 8dp baseline grid:
179
-
180
- All spacing in multiples of 8dp:
181
- ├── 4dp: Component internal (half-step)
182
- ├── 8dp: Minimum spacing
183
- ├── 16dp: Standard spacing
184
- ├── 24dp: Section spacing
185
- ├── 32dp: Large spacing
186
-
187
- Margins:
188
- ├── Compact (phone): 16dp
189
- ├── Medium (small tablet): 24dp
190
- ├── Expanded (large): 24dp+ or columns
191
- ```
192
-
193
- ### Responsive Layout
194
-
195
- ```
196
- Window Size Classes:
197
-
198
- COMPACT (< 600dp width):
199
- ├── Phones in portrait
200
- ├── Single column layout
201
- ├── Bottom navigation
202
-
203
- MEDIUM (600-840dp width):
204
- ├── Tablets, foldables
205
- ├── Consider 2 columns
206
- ├── Navigation rail option
207
-
208
- EXPANDED (> 840dp width):
209
- ├── Large tablets, desktop
210
- ├── Multi-column layouts
211
- ├── Navigation drawer
212
- ```
213
-
214
- ### Canonical Layouts
215
-
216
- | Layout | Use Case | Window Class |
217
- |--------|----------|--------------|
218
- | **List-Detail** | Email, messages | Medium, Expanded |
219
- | **Feed** | Social, news | All |
220
- | **Supporting Pane** | Reference content | Medium, Expanded |
221
-
222
- ---
223
-
224
- ## 5. Android Navigation Patterns
225
-
226
- ### Navigation Components
227
-
228
- | Component | Use Case | Position |
229
- |-----------|----------|----------|
230
- | **Bottom Navigation** | 3-5 top-level destinations | Bottom |
231
- | **Navigation Rail** | Tablets, foldables | Left side, vertical |
232
- | **Navigation Drawer** | Many destinations, large screens | Left side, hidden/visible |
233
- | **Top App Bar** | Current context, actions | Top |
234
-
235
- ### Bottom Navigation
236
-
237
- ```
238
- ┌─────────────────────────────────────┐
239
- │ │
240
- │ Content Area │
241
- │ │
242
- ├─────────────────────────────────────┤
243
- │ 🏠 🔍 ➕ ❤️ 👤 │ ← 80dp height
244
- │ Home Search FAB Saved Profile│
245
- └─────────────────────────────────────┘
246
-
247
- Rules:
248
- ├── 3-5 destinations
249
- ├── Icons: Material Symbols (24dp)
250
- ├── Labels: Always visible (accessibility)
251
- ├── Active: Filled icon + indicator pill
252
- ├── Badge: For notifications
253
- ├── FAB can integrate (optional)
254
- ```
255
-
256
- ### Top App Bar
257
-
258
- ```
259
- Types:
260
- ├── Center-aligned: Logo apps, simple
261
- ├── Small: Compact, scrolls away
262
- ├── Medium: Title + actions, collapses
263
- ├── Large: Display title, collapses to small
264
-
265
- ┌─────────────────────────────────────┐
266
- │ ☰ App Title 🔔 ⋮ │ ← 64dp (small)
267
- ├─────────────────────────────────────┤
268
- │ │
269
- │ Content Area │
270
- └─────────────────────────────────────┘
271
-
272
- Actions: Max 3 icons, overflow menu ( ⋮ ) for more
273
- ```
274
-
275
- ### Navigation Rail (Tablets)
276
-
277
- ```
278
- ┌───────┬─────────────────────────────┐
279
- │ ≡ │ │
280
- │ │ │
281
- │ 🏠 │ │
282
- │ Home │ Content Area │
283
- │ │ │
284
- │ 🔍 │ │
285
- │Search │ │
286
- │ │ │
287
- │ 👤 │ │
288
- │Profile│ │
289
- └───────┴─────────────────────────────┘
290
-
291
- Width: 80dp
292
- Icons: 24dp
293
- Labels: Below icon
294
- FAB: Can be at top
295
- ```
296
-
297
- ### Back Navigation
298
-
299
- ```
300
- Android provides system back:
301
- ├── Back button (3-button nav)
302
- ├── Back gesture (swipe from edge)
303
- ├── Predictive back (Android 14+)
304
-
305
- Your app must:
306
- ├── Handle back correctly (pop stack)
307
- ├── Support predictive back animation
308
- ├── Never hijack/override back unexpectedly
309
- └── Confirm before discarding unsaved work
310
- ```
311
-
312
- ---
313
-
314
- ## 6. Material Components
315
-
316
- ### Buttons
317
-
318
- ```
319
- Button Types:
320
-
321
- ┌──────────────────────┐
322
- │ Filled Button │ ← Primary action
323
- └──────────────────────┘
324
-
325
- ┌──────────────────────┐
326
- │ Tonal Button │ ← Secondary, less emphasis
327
- └──────────────────────┘
328
-
329
- ┌──────────────────────┐
330
- │ Outlined Button │ ← Tertiary, lower emphasis
331
- └──────────────────────┘
332
-
333
- Text Button ← Lowest emphasis
334
-
335
- Heights:
336
- ├── Small: 40dp (when constrained)
337
- ├── Standard: 40dp
338
- ├── Large: 56dp (FAB size when needed)
339
-
340
- Min touch target: 48dp (even if visual is smaller)
341
- ```
342
-
343
- ### Floating Action Button (FAB)
344
-
345
- ```
346
- FAB Types:
347
- ├── Standard: 56dp diameter
348
- ├── Small: 40dp diameter
349
- ├── Large: 96dp diameter
350
- ├── Extended: Icon + text, variable width
351
-
352
- Position: Bottom right, 16dp from edges
353
- Elevation: Floats above content
354
-
355
- ┌─────────────────────────────────────┐
356
- │ │
357
- │ Content │
358
- │ │
359
- │ ┌────┐ │
360
- │ │ ➕ │ │ ← FAB
361
- │ └────┘ │
362
- ├─────────────────────────────────────┤
363
- │ Bottom Navigation │
364
- └─────────────────────────────────────┘
365
- ```
366
-
367
- ### Cards
368
-
369
- ```
370
- Card Types:
371
- ├── Elevated: Shadow, resting state
372
- ├── Filled: Background color, no shadow
373
- ├── Outlined: Border, no shadow
374
-
375
- Card Anatomy:
376
- ┌─────────────────────────────────────┐
377
- │ Header Image │ ← Optional
378
- ├─────────────────────────────────────┤
379
- │ Title / Headline │
380
- │ Subhead / Supporting text │
381
- ├─────────────────────────────────────┤
382
- │ [ Action ] [ Action ] │ ← Optional actions
383
- └─────────────────────────────────────┘
384
-
385
- Corner radius: 12dp (M3 default)
386
- Padding: 16dp
387
- ```
388
-
389
- ### Text Fields
390
-
391
- ```
392
- Types:
393
- ├── Filled: Background fill, underline
394
- ├── Outlined: Border all around
395
-
396
- ┌─────────────────────────────────────┐
397
- │ Label │ ← Floats up on focus
398
- │ ________________________________________________
399
- │ │ Input text here... │ ← Leading/trailing icons
400
- │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
401
- │ Supporting text or error │
402
- └─────────────────────────────────────┘
403
-
404
- Height: 56dp
405
- Label: Animates from placeholder to top
406
- Error: Red color + icon + message
407
- ```
408
-
409
- ### Chips
410
-
411
- ```
412
- Types:
413
- ├── Assist: Smart actions (directions, call)
414
- ├── Filter: Toggle filters
415
- ├── Input: Represent entities (tags, contacts)
416
- ├── Suggestion: Dynamic recommendations
417
-
418
- ┌───────────────┐
419
- │ 🏷️ Filter │ ← 32dp height, 8dp corner radius
420
- └───────────────┘
421
-
422
- States: Unselected, Selected, Disabled
423
- ```
424
-
425
- ---
426
-
427
- ## 7. Android-Specific Patterns
428
-
429
- ### Snackbars
430
-
431
- ```
432
- Position: Bottom, above navigation
433
- Duration: 4-10 seconds
434
- Action: One optional text action
435
-
436
- ┌─────────────────────────────────────────────────┐
437
- │ Archived 1 item [ UNDO ] │
438
- └─────────────────────────────────────────────────┘
439
-
440
- Rules:
441
- ├── Brief message, single line if possible
442
- ├── Max 2 lines
443
- ├── One action (text, not icon)
444
- ├── Can be dismissed by swipe
445
- └── Don't stack, queue them
446
- ```
447
-
448
- ### Bottom Sheets
449
-
450
- ```
451
- Types:
452
- ├── Standard: Interactive content
453
- ├── Modal: Blocks background (with scrim)
454
-
455
- Modal Bottom Sheet:
456
- ┌─────────────────────────────────────┐
457
- │ │
458
- │ (Scrim over content) │
459
- │ │
460
- ├═════════════════════════════════════┤
461
- │ ───── (Drag handle, optional) │
462
- │ │
463
- │ Sheet Content │
464
- │ │
465
- │ Actions / Options │
466
- │ │
467
- └─────────────────────────────────────┘
468
-
469
- Corner radius: 28dp (top corners)
470
- ```
471
-
472
- ### Dialogs
473
-
474
- ```
475
- Types:
476
- ├── Basic: Title + content + actions
477
- ├── Full-screen: Complex editing (mobile)
478
- ├── Date/Time picker
479
- ├── Confirmation dialog
480
-
481
- ┌─────────────────────────────────────┐
482
- │ Title │
483
- │ │
484
- │ Supporting text that │
485
- │ explains the dialog │
486
- │ │
487
- │ [ Cancel ] [ Confirm ] │
488
- └─────────────────────────────────────┘
489
-
490
- Rules:
491
- ├── Centered on screen
492
- ├── Scrim behind (dim background)
493
- ├── Max 2 actions aligned right
494
- ├── Destructive action can be on left
495
- ```
496
-
497
- ### Pull to Refresh
498
-
499
- ```
500
- Android uses SwipeRefreshLayout pattern:
501
-
502
- ┌─────────────────────────────────────┐
503
- │ ○ (Spinner) │ ← Circular progress
504
- ├─────────────────────────────────────┤
505
- │ │
506
- │ Content │
507
- │ │
508
- └─────────────────────────────────────┘
509
-
510
- Spinner: Material circular indicator
511
- Position: Top center, pulls down with content
512
- ```
513
-
514
- ### Ripple Effect
515
-
516
- ```
517
- Every touchable element needs ripple:
518
-
519
- Touch down → Ripple expands from touch point
520
- Touch up → Ripple completes and fades
521
-
522
- Color:
523
- ├── On light: Black at ~12% opacity
524
- ├── On dark: White at ~12% opacity
525
- ├── On colored: Appropriate contrast
526
-
527
- This is MANDATORY for Android feel.
528
- ```
529
-
530
- ---
531
-
532
- ## 8. Material Symbols
533
-
534
- ### Usage Guidelines
535
-
536
- ```
537
- Material Symbols: Google's icon library
538
-
539
- Styles:
540
- ├── Outlined: Default, most common
541
- ├── Rounded: Softer, friendly
542
- ├── Sharp: Angular, precise
543
-
544
- Variable font axes:
545
- ├── FILL: 0 (outline) to 1 (filled)
546
- ├── wght: 100-700 (weight)
547
- ├── GRAD: -25 to 200 (emphasis)
548
- ├── opsz: 20, 24, 40, 48 (optical size)
549
- ```
550
-
551
- ### Icon Sizes
552
-
553
- | Size | Usage |
554
- |------|-------|
555
- | 20dp | Dense UI, inline |
556
- | 24dp | Standard (most common) |
557
- | 40dp | Larger touch targets |
558
- | 48dp | Emphasis, standalone |
559
-
560
- ### States
561
-
562
- ```
563
- Icon States:
564
- ├── Default: Full opacity
565
- ├── Disabled: 38% opacity
566
- ├── Hover/Focus: Container highlight
567
- ├── Selected: Filled variant + tint
568
-
569
- Active vs Inactive:
570
- ├── Inactive: Outlined
571
- ├── Active: Filled + indicator
572
- ```
573
-
574
- ---
575
-
576
- ## 9. Android Accessibility
577
-
578
- ### TalkBack Requirements
579
-
580
- ```
581
- Every interactive element needs:
582
- ├── contentDescription (what it is)
583
- ├── Correct semantics (button, checkbox, etc.)
584
- ├── State announcements (selected, disabled)
585
- └── Grouping where logical
586
-
587
- Jetpack Compose:
588
- Modifier.semantics {
589
- contentDescription = "Play button"
590
- role = Role.Button
591
- }
592
-
593
- React Native:
594
- accessibilityLabel="Play button"
595
- accessibilityRole="button"
596
- accessibilityState={{ disabled: false }}
597
- ```
598
-
599
- ### Touch Target Size
600
-
601
- ```
602
- MANDATORY: 48dp × 48dp minimum
603
-
604
- Even if visual element is smaller:
605
- ├── Icon: 24dp visual, 48dp touch area
606
- ├── Checkbox: 20dp visual, 48dp touch area
607
- └── Add padding to reach 48dp
608
-
609
- Spacing between targets: 8dp minimum
610
- ```
611
-
612
- ### Font Scaling
613
-
614
- ```
615
- Android supports font scaling:
616
- ├── 85% (smaller)
617
- ├── 100% (default)
618
- ├── 115%, 130%, 145%...
619
- ├── Up to 200% (largest)
620
-
621
- RULE: Test your UI at 200% font scale.
622
- Use sp units and avoid fixed heights.
623
- ```
624
-
625
- ### Reduce Motion
626
-
627
- ```kotlin
628
- // Check motion preference
629
- val reduceMotion = Settings.Global.getFloat(
630
- contentResolver,
631
- Settings.Global.ANIMATOR_DURATION_SCALE,
632
- 1f
633
- ) == 0f
634
-
635
- if (reduceMotion) {
636
- // Skip or reduce animations
637
- }
638
- ```
639
-
640
- ---
641
-
642
- ## 10. Android Checklist
643
-
644
- ### Before Every Android Screen
645
-
646
- - [ ] Using Material 3 components
647
- - [ ] Touch targets ≥ 48dp
648
- - [ ] Ripple effect on all touchables
649
- - [ ] Roboto or Material type scale
650
- - [ ] Semantic colors (dynamic color support)
651
- - [ ] Back navigation works correctly
652
-
653
- ### Before Android Release
654
-
655
- - [ ] Dark theme tested
656
- - [ ] Dynamic color tested (if supported)
657
- - [ ] All font sizes tested (200% scale)
658
- - [ ] TalkBack tested
659
- - [ ] Predictive back implemented (Android 14+)
660
- - [ ] Edge-to-edge display (Android 15+)
661
- - [ ] Different screen sizes tested (phones, tablets)
662
- - [ ] Navigation patterns match platform (back, gestures)
663
-
664
- ---
665
-
666
- > **Remember:** Android users expect Material Design. Custom designs that ignore Material patterns feel foreign and broken. Use Material components as your foundation, customize thoughtfully.
1
+ # Android Platform Guidelines
2
+
3
+ > Material Design 3 essentials, Android design conventions, Roboto typography, and native patterns.
4
+ > **Read this file when building for Android devices.**
5
+
6
+ ---
7
+
8
+ ## 1. Material Design 3 Philosophy
9
+
10
+ ### Core Material Principles
11
+
12
+ ```
13
+ MATERIAL AS METAPHOR:
14
+ ├── Surfaces exist in 3D space
15
+ ├── Light and shadow define hierarchy
16
+ ├── Motion provides continuity
17
+ └── Bold, graphic, intentional design
18
+
19
+ ADAPTIVE DESIGN:
20
+ ├── Responds to device capabilities
21
+ ├── One UI for all form factors
22
+ ├── Dynamic color from wallpaper
23
+ └── Personalized per user
24
+
25
+ ACCESSIBLE BY DEFAULT:
26
+ ├── Large touch targets
27
+ ├── Clear visual hierarchy
28
+ ├── Semantic colors
29
+ └── Motion respects preferences
30
+ ```
31
+
32
+ ### Material Design Values
33
+
34
+ | Value | Implementation |
35
+ |-------|----------------|
36
+ | **Dynamic Color** | Colors adapt to wallpaper/user preference |
37
+ | **Personalization** | User-specific themes |
38
+ | **Accessibility** | Built into every component |
39
+ | **Responsiveness** | Works on all screen sizes |
40
+ | **Consistency** | Unified design language |
41
+
42
+ ---
43
+
44
+ ## 2. Android Typography
45
+
46
+ ### Roboto Font Family
47
+
48
+ ```
49
+ Android System Fonts:
50
+ ├── Roboto: Default sans-serif
51
+ ├── Roboto Flex: Variable font (API 33+)
52
+ ├── Roboto Serif: Serif alternative
53
+ ├── Roboto Mono: Monospace
54
+ └── Google Sans: Google products (special license)
55
+ ```
56
+
57
+ ### Material Type Scale
58
+
59
+ | Role | Size | Weight | Line Height | Usage |
60
+ |------|------|--------|-------------|-------|
61
+ | **Display Large** | 57sp | Regular | 64sp | Hero text, splash |
62
+ | **Display Medium** | 45sp | Regular | 52sp | Large headers |
63
+ | **Display Small** | 36sp | Regular | 44sp | Medium headers |
64
+ | **Headline Large** | 32sp | Regular | 40sp | Page titles |
65
+ | **Headline Medium** | 28sp | Regular | 36sp | Section headers |
66
+ | **Headline Small** | 24sp | Regular | 32sp | Subsections |
67
+ | **Title Large** | 22sp | Regular | 28sp | Dialogs, cards |
68
+ | **Title Medium** | 16sp | Medium | 24sp | Lists, navigation |
69
+ | **Title Small** | 14sp | Medium | 20sp | Tabs, secondary |
70
+ | **Body Large** | 16sp | Regular | 24sp | Primary content |
71
+ | **Body Medium** | 14sp | Regular | 20sp | Secondary content |
72
+ | **Body Small** | 12sp | Regular | 16sp | Captions |
73
+ | **Label Large** | 14sp | Medium | 20sp | Buttons, FAB |
74
+ | **Label Medium** | 12sp | Medium | 16sp | Navigation |
75
+ | **Label Small** | 11sp | Medium | 16sp | Chips, badges |
76
+
77
+ ### Scalable Pixels (sp)
78
+
79
+ ```
80
+ sp = Scale-independent pixels
81
+
82
+ sp automatically scales with:
83
+ ├── User font size preference
84
+ ├── Display density
85
+ └── Accessibility settings
86
+
87
+ RULE: ALWAYS use sp for text, dp for everything else.
88
+ ```
89
+
90
+ ### Font Weight Usage
91
+
92
+ | Weight | Use Case |
93
+ |--------|----------|
94
+ | Regular (400) | Body text, display |
95
+ | Medium (500) | Buttons, labels, emphasis |
96
+ | Bold (700) | Rarely, strong emphasis only |
97
+
98
+ ---
99
+
100
+ ## 3. Material Color System
101
+
102
+ ### Dynamic Color (Material You)
103
+
104
+ ```
105
+ Android 12+ Dynamic Color:
106
+
107
+ User's wallpaper → Color extraction → App theme
108
+
109
+ Your app automatically adapts to:
110
+ ├── Primary color (from wallpaper)
111
+ ├── Secondary color (complementary)
112
+ ├── Tertiary color (accent)
113
+ ├── Surface colors (derived)
114
+ └── All semantic colors adjust
115
+
116
+ RULE: Implement dynamic color for personalized feel.
117
+ ```
118
+
119
+ ### Semantic Color Roles
120
+
121
+ ```
122
+ Surface Colors:
123
+ ├── Surface → Main background
124
+ ├── SurfaceVariant → Cards, containers
125
+ ├── SurfaceTint → Elevation overlay
126
+ ├── InverseSurface → Snackbars, tooltips
127
+
128
+ On-Surface Colors:
129
+ ├── OnSurface → Primary text
130
+ ├── OnSurfaceVariant → Secondary text
131
+ ├── Outline → Borders, dividers
132
+ ├── OutlineVariant → Subtle dividers
133
+
134
+ Primary Colors:
135
+ ├── Primary → Key actions, FAB
136
+ ├── OnPrimary → Text on primary
137
+ ├── PrimaryContainer → Less emphasis
138
+ ├── OnPrimaryContainer → Text on container
139
+
140
+ Secondary/Tertiary: Similar pattern
141
+ ```
142
+
143
+ ### Error, Warning, Success Colors
144
+
145
+ | Role | Light | Dark | Usage |
146
+ |------|-------|------|-------|
147
+ | Error | #B3261E | #F2B8B5 | Errors, destructive |
148
+ | OnError | #FFFFFF | #601410 | Text on error |
149
+ | ErrorContainer | #F9DEDC | #8C1D18 | Error backgrounds |
150
+
151
+ ### Dark Theme
152
+
153
+ ```
154
+ Material Dark Theme:
155
+
156
+ ├── Background: #121212 (not pure black by default)
157
+ ├── Surface: #1E1E1E, #232323, etc. (elevation)
158
+ ├── Elevation: Higher = lighter overlay
159
+ ├── Reduce saturation on colors
160
+ └── Check contrast ratios
161
+
162
+ Elevation overlays (dark mode):
163
+ ├── 0dp → 0% overlay
164
+ ├── 1dp → 5% overlay
165
+ ├── 3dp → 8% overlay
166
+ ├── 6dp → 11% overlay
167
+ ├── 8dp → 12% overlay
168
+ ├── 12dp → 14% overlay
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 4. Android Layout & Spacing
174
+
175
+ ### Layout Grid
176
+
177
+ ```
178
+ Android uses 8dp baseline grid:
179
+
180
+ All spacing in multiples of 8dp:
181
+ ├── 4dp: Component internal (half-step)
182
+ ├── 8dp: Minimum spacing
183
+ ├── 16dp: Standard spacing
184
+ ├── 24dp: Section spacing
185
+ ├── 32dp: Large spacing
186
+
187
+ Margins:
188
+ ├── Compact (phone): 16dp
189
+ ├── Medium (small tablet): 24dp
190
+ ├── Expanded (large): 24dp+ or columns
191
+ ```
192
+
193
+ ### Responsive Layout
194
+
195
+ ```
196
+ Window Size Classes:
197
+
198
+ COMPACT (< 600dp width):
199
+ ├── Phones in portrait
200
+ ├── Single column layout
201
+ ├── Bottom navigation
202
+
203
+ MEDIUM (600-840dp width):
204
+ ├── Tablets, foldables
205
+ ├── Consider 2 columns
206
+ ├── Navigation rail option
207
+
208
+ EXPANDED (> 840dp width):
209
+ ├── Large tablets, desktop
210
+ ├── Multi-column layouts
211
+ ├── Navigation drawer
212
+ ```
213
+
214
+ ### Canonical Layouts
215
+
216
+ | Layout | Use Case | Window Class |
217
+ |--------|----------|--------------|
218
+ | **List-Detail** | Email, messages | Medium, Expanded |
219
+ | **Feed** | Social, news | All |
220
+ | **Supporting Pane** | Reference content | Medium, Expanded |
221
+
222
+ ---
223
+
224
+ ## 5. Android Navigation Patterns
225
+
226
+ ### Navigation Components
227
+
228
+ | Component | Use Case | Position |
229
+ |-----------|----------|----------|
230
+ | **Bottom Navigation** | 3-5 top-level destinations | Bottom |
231
+ | **Navigation Rail** | Tablets, foldables | Left side, vertical |
232
+ | **Navigation Drawer** | Many destinations, large screens | Left side, hidden/visible |
233
+ | **Top App Bar** | Current context, actions | Top |
234
+
235
+ ### Bottom Navigation
236
+
237
+ ```
238
+ ┌─────────────────────────────────────┐
239
+ │ │
240
+ │ Content Area │
241
+ │ │
242
+ ├─────────────────────────────────────┤
243
+ │ 🏠 🔍 ➕ ❤️ 👤 │ ← 80dp height
244
+ │ Home Search FAB Saved Profile│
245
+ └─────────────────────────────────────┘
246
+
247
+ Rules:
248
+ ├── 3-5 destinations
249
+ ├── Icons: Material Symbols (24dp)
250
+ ├── Labels: Always visible (accessibility)
251
+ ├── Active: Filled icon + indicator pill
252
+ ├── Badge: For notifications
253
+ ├── FAB can integrate (optional)
254
+ ```
255
+
256
+ ### Top App Bar
257
+
258
+ ```
259
+ Types:
260
+ ├── Center-aligned: Logo apps, simple
261
+ ├── Small: Compact, scrolls away
262
+ ├── Medium: Title + actions, collapses
263
+ ├── Large: Display title, collapses to small
264
+
265
+ ┌─────────────────────────────────────┐
266
+ │ ☰ App Title 🔔 ⋮ │ ← 64dp (small)
267
+ ├─────────────────────────────────────┤
268
+ │ │
269
+ │ Content Area │
270
+ └─────────────────────────────────────┘
271
+
272
+ Actions: Max 3 icons, overflow menu ( ⋮ ) for more
273
+ ```
274
+
275
+ ### Navigation Rail (Tablets)
276
+
277
+ ```
278
+ ┌───────┬─────────────────────────────┐
279
+ │ ≡ │ │
280
+ │ │ │
281
+ │ 🏠 │ │
282
+ │ Home │ Content Area │
283
+ │ │ │
284
+ │ 🔍 │ │
285
+ │Search │ │
286
+ │ │ │
287
+ │ 👤 │ │
288
+ │Profile│ │
289
+ └───────┴─────────────────────────────┘
290
+
291
+ Width: 80dp
292
+ Icons: 24dp
293
+ Labels: Below icon
294
+ FAB: Can be at top
295
+ ```
296
+
297
+ ### Back Navigation
298
+
299
+ ```
300
+ Android provides system back:
301
+ ├── Back button (3-button nav)
302
+ ├── Back gesture (swipe from edge)
303
+ ├── Predictive back (Android 14+)
304
+
305
+ Your app must:
306
+ ├── Handle back correctly (pop stack)
307
+ ├── Support predictive back animation
308
+ ├── Never hijack/override back unexpectedly
309
+ └── Confirm before discarding unsaved work
310
+ ```
311
+
312
+ ---
313
+
314
+ ## 6. Material Components
315
+
316
+ ### Buttons
317
+
318
+ ```
319
+ Button Types:
320
+
321
+ ┌──────────────────────┐
322
+ │ Filled Button │ ← Primary action
323
+ └──────────────────────┘
324
+
325
+ ┌──────────────────────┐
326
+ │ Tonal Button │ ← Secondary, less emphasis
327
+ └──────────────────────┘
328
+
329
+ ┌──────────────────────┐
330
+ │ Outlined Button │ ← Tertiary, lower emphasis
331
+ └──────────────────────┘
332
+
333
+ Text Button ← Lowest emphasis
334
+
335
+ Heights:
336
+ ├── Small: 40dp (when constrained)
337
+ ├── Standard: 40dp
338
+ ├── Large: 56dp (FAB size when needed)
339
+
340
+ Min touch target: 48dp (even if visual is smaller)
341
+ ```
342
+
343
+ ### Floating Action Button (FAB)
344
+
345
+ ```
346
+ FAB Types:
347
+ ├── Standard: 56dp diameter
348
+ ├── Small: 40dp diameter
349
+ ├── Large: 96dp diameter
350
+ ├── Extended: Icon + text, variable width
351
+
352
+ Position: Bottom right, 16dp from edges
353
+ Elevation: Floats above content
354
+
355
+ ┌─────────────────────────────────────┐
356
+ │ │
357
+ │ Content │
358
+ │ │
359
+ │ ┌────┐ │
360
+ │ │ ➕ │ │ ← FAB
361
+ │ └────┘ │
362
+ ├─────────────────────────────────────┤
363
+ │ Bottom Navigation │
364
+ └─────────────────────────────────────┘
365
+ ```
366
+
367
+ ### Cards
368
+
369
+ ```
370
+ Card Types:
371
+ ├── Elevated: Shadow, resting state
372
+ ├── Filled: Background color, no shadow
373
+ ├── Outlined: Border, no shadow
374
+
375
+ Card Anatomy:
376
+ ┌─────────────────────────────────────┐
377
+ │ Header Image │ ← Optional
378
+ ├─────────────────────────────────────┤
379
+ │ Title / Headline │
380
+ │ Subhead / Supporting text │
381
+ ├─────────────────────────────────────┤
382
+ │ [ Action ] [ Action ] │ ← Optional actions
383
+ └─────────────────────────────────────┘
384
+
385
+ Corner radius: 12dp (M3 default)
386
+ Padding: 16dp
387
+ ```
388
+
389
+ ### Text Fields
390
+
391
+ ```
392
+ Types:
393
+ ├── Filled: Background fill, underline
394
+ ├── Outlined: Border all around
395
+
396
+ ┌─────────────────────────────────────┐
397
+ │ Label │ ← Floats up on focus
398
+ │ ________________________________________________
399
+ │ │ Input text here... │ ← Leading/trailing icons
400
+ │ ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
401
+ │ Supporting text or error │
402
+ └─────────────────────────────────────┘
403
+
404
+ Height: 56dp
405
+ Label: Animates from placeholder to top
406
+ Error: Red color + icon + message
407
+ ```
408
+
409
+ ### Chips
410
+
411
+ ```
412
+ Types:
413
+ ├── Assist: Smart actions (directions, call)
414
+ ├── Filter: Toggle filters
415
+ ├── Input: Represent entities (tags, contacts)
416
+ ├── Suggestion: Dynamic recommendations
417
+
418
+ ┌───────────────┐
419
+ │ 🏷️ Filter │ ← 32dp height, 8dp corner radius
420
+ └───────────────┘
421
+
422
+ States: Unselected, Selected, Disabled
423
+ ```
424
+
425
+ ---
426
+
427
+ ## 7. Android-Specific Patterns
428
+
429
+ ### Snackbars
430
+
431
+ ```
432
+ Position: Bottom, above navigation
433
+ Duration: 4-10 seconds
434
+ Action: One optional text action
435
+
436
+ ┌─────────────────────────────────────────────────┐
437
+ │ Archived 1 item [ UNDO ] │
438
+ └─────────────────────────────────────────────────┘
439
+
440
+ Rules:
441
+ ├── Brief message, single line if possible
442
+ ├── Max 2 lines
443
+ ├── One action (text, not icon)
444
+ ├── Can be dismissed by swipe
445
+ └── Don't stack, queue them
446
+ ```
447
+
448
+ ### Bottom Sheets
449
+
450
+ ```
451
+ Types:
452
+ ├── Standard: Interactive content
453
+ ├── Modal: Blocks background (with scrim)
454
+
455
+ Modal Bottom Sheet:
456
+ ┌─────────────────────────────────────┐
457
+ │ │
458
+ │ (Scrim over content) │
459
+ │ │
460
+ ├═════════════════════════════════════┤
461
+ │ ───── (Drag handle, optional) │
462
+ │ │
463
+ │ Sheet Content │
464
+ │ │
465
+ │ Actions / Options │
466
+ │ │
467
+ └─────────────────────────────────────┘
468
+
469
+ Corner radius: 28dp (top corners)
470
+ ```
471
+
472
+ ### Dialogs
473
+
474
+ ```
475
+ Types:
476
+ ├── Basic: Title + content + actions
477
+ ├── Full-screen: Complex editing (mobile)
478
+ ├── Date/Time picker
479
+ ├── Confirmation dialog
480
+
481
+ ┌─────────────────────────────────────┐
482
+ │ Title │
483
+ │ │
484
+ │ Supporting text that │
485
+ │ explains the dialog │
486
+ │ │
487
+ │ [ Cancel ] [ Confirm ] │
488
+ └─────────────────────────────────────┘
489
+
490
+ Rules:
491
+ ├── Centered on screen
492
+ ├── Scrim behind (dim background)
493
+ ├── Max 2 actions aligned right
494
+ ├── Destructive action can be on left
495
+ ```
496
+
497
+ ### Pull to Refresh
498
+
499
+ ```
500
+ Android uses SwipeRefreshLayout pattern:
501
+
502
+ ┌─────────────────────────────────────┐
503
+ │ ○ (Spinner) │ ← Circular progress
504
+ ├─────────────────────────────────────┤
505
+ │ │
506
+ │ Content │
507
+ │ │
508
+ └─────────────────────────────────────┘
509
+
510
+ Spinner: Material circular indicator
511
+ Position: Top center, pulls down with content
512
+ ```
513
+
514
+ ### Ripple Effect
515
+
516
+ ```
517
+ Every touchable element needs ripple:
518
+
519
+ Touch down → Ripple expands from touch point
520
+ Touch up → Ripple completes and fades
521
+
522
+ Color:
523
+ ├── On light: Black at ~12% opacity
524
+ ├── On dark: White at ~12% opacity
525
+ ├── On colored: Appropriate contrast
526
+
527
+ This is MANDATORY for Android feel.
528
+ ```
529
+
530
+ ---
531
+
532
+ ## 8. Material Symbols
533
+
534
+ ### Usage Guidelines
535
+
536
+ ```
537
+ Material Symbols: Google's icon library
538
+
539
+ Styles:
540
+ ├── Outlined: Default, most common
541
+ ├── Rounded: Softer, friendly
542
+ ├── Sharp: Angular, precise
543
+
544
+ Variable font axes:
545
+ ├── FILL: 0 (outline) to 1 (filled)
546
+ ├── wght: 100-700 (weight)
547
+ ├── GRAD: -25 to 200 (emphasis)
548
+ ├── opsz: 20, 24, 40, 48 (optical size)
549
+ ```
550
+
551
+ ### Icon Sizes
552
+
553
+ | Size | Usage |
554
+ |------|-------|
555
+ | 20dp | Dense UI, inline |
556
+ | 24dp | Standard (most common) |
557
+ | 40dp | Larger touch targets |
558
+ | 48dp | Emphasis, standalone |
559
+
560
+ ### States
561
+
562
+ ```
563
+ Icon States:
564
+ ├── Default: Full opacity
565
+ ├── Disabled: 38% opacity
566
+ ├── Hover/Focus: Container highlight
567
+ ├── Selected: Filled variant + tint
568
+
569
+ Active vs Inactive:
570
+ ├── Inactive: Outlined
571
+ ├── Active: Filled + indicator
572
+ ```
573
+
574
+ ---
575
+
576
+ ## 9. Android Accessibility
577
+
578
+ ### TalkBack Requirements
579
+
580
+ ```
581
+ Every interactive element needs:
582
+ ├── contentDescription (what it is)
583
+ ├── Correct semantics (button, checkbox, etc.)
584
+ ├── State announcements (selected, disabled)
585
+ └── Grouping where logical
586
+
587
+ Jetpack Compose:
588
+ Modifier.semantics {
589
+ contentDescription = "Play button"
590
+ role = Role.Button
591
+ }
592
+
593
+ React Native:
594
+ accessibilityLabel="Play button"
595
+ accessibilityRole="button"
596
+ accessibilityState={{ disabled: false }}
597
+ ```
598
+
599
+ ### Touch Target Size
600
+
601
+ ```
602
+ MANDATORY: 48dp × 48dp minimum
603
+
604
+ Even if visual element is smaller:
605
+ ├── Icon: 24dp visual, 48dp touch area
606
+ ├── Checkbox: 20dp visual, 48dp touch area
607
+ └── Add padding to reach 48dp
608
+
609
+ Spacing between targets: 8dp minimum
610
+ ```
611
+
612
+ ### Font Scaling
613
+
614
+ ```
615
+ Android supports font scaling:
616
+ ├── 85% (smaller)
617
+ ├── 100% (default)
618
+ ├── 115%, 130%, 145%...
619
+ ├── Up to 200% (largest)
620
+
621
+ RULE: Test your UI at 200% font scale.
622
+ Use sp units and avoid fixed heights.
623
+ ```
624
+
625
+ ### Reduce Motion
626
+
627
+ ```kotlin
628
+ // Check motion preference
629
+ val reduceMotion = Settings.Global.getFloat(
630
+ contentResolver,
631
+ Settings.Global.ANIMATOR_DURATION_SCALE,
632
+ 1f
633
+ ) == 0f
634
+
635
+ if (reduceMotion) {
636
+ // Skip or reduce animations
637
+ }
638
+ ```
639
+
640
+ ---
641
+
642
+ ## 10. Android Checklist
643
+
644
+ ### Before Every Android Screen
645
+
646
+ - [ ] Using Material 3 components
647
+ - [ ] Touch targets ≥ 48dp
648
+ - [ ] Ripple effect on all touchables
649
+ - [ ] Roboto or Material type scale
650
+ - [ ] Semantic colors (dynamic color support)
651
+ - [ ] Back navigation works correctly
652
+
653
+ ### Before Android Release
654
+
655
+ - [ ] Dark theme tested
656
+ - [ ] Dynamic color tested (if supported)
657
+ - [ ] All font sizes tested (200% scale)
658
+ - [ ] TalkBack tested
659
+ - [ ] Predictive back implemented (Android 14+)
660
+ - [ ] Edge-to-edge display (Android 15+)
661
+ - [ ] Different screen sizes tested (phones, tablets)
662
+ - [ ] Navigation patterns match platform (back, gestures)
663
+
664
+ ---
665
+
666
+ > **Remember:** Android users expect Material Design. Custom designs that ignore Material patterns feel foreign and broken. Use Material components as your foundation, customize thoughtfully.