@heyai-rules/pilo-masterkit 1.2.2 → 2.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 (708) hide show
  1. package/.agent/agents/PILO_MASTER.md +77 -77
  2. package/.agent/agents/backend-specialist.md +263 -263
  3. package/.agent/agents/code-archaeologist.md +106 -106
  4. package/.agent/agents/csharp-reviewer.md +101 -0
  5. package/.agent/agents/dart-build-resolver.md +201 -0
  6. package/.agent/agents/database-architect.md +226 -226
  7. package/.agent/agents/debugger.md +225 -225
  8. package/.agent/agents/devops-engineer.md +242 -242
  9. package/.agent/agents/documentation-writer.md +104 -104
  10. package/.agent/agents/explorer-agent.md +73 -73
  11. package/.agent/agents/frontend-specialist.md +593 -593
  12. package/.agent/agents/game-developer.md +162 -162
  13. package/.agent/agents/gan-evaluator.md +209 -0
  14. package/.agent/agents/gan-generator.md +131 -0
  15. package/.agent/agents/gan-planner.md +99 -0
  16. package/.agent/agents/healthcare-reviewer.md +83 -0
  17. package/.agent/agents/mobile-developer.md +377 -377
  18. package/.agent/agents/opensource-forker.md +198 -0
  19. package/.agent/agents/opensource-packager.md +249 -0
  20. package/.agent/agents/opensource-sanitizer.md +188 -0
  21. package/.agent/agents/orchestrator.md +416 -416
  22. package/.agent/agents/penetration-tester.md +188 -188
  23. package/.agent/agents/performance-optimizer.md +446 -187
  24. package/.agent/agents/personas/athena-agent/agent.json +10 -0
  25. package/.agent/agents/personas/athena-agent/athena-backend-logic-architecture-profile.md +189 -0
  26. package/.agent/agents/personas/athena-agent/context-files/agents.md +55 -0
  27. package/.agent/agents/personas/athena-agent/context-files/identity.md +23 -0
  28. package/.agent/agents/personas/athena-agent/context-files/soul.md +51 -0
  29. package/.agent/agents/personas/athena-agent/context-files/user-predefined.md +15 -0
  30. package/.agent/agents/personas/athena-agent/user-context-files/system/bootstrap.md +37 -0
  31. package/.agent/agents/personas/athena-agent/user-context-files/system/user.md +45 -0
  32. package/.agent/agents/personas/da-vinci-agent/agent.json +10 -0
  33. package/.agent/agents/personas/da-vinci-agent/context-files/agents.md +55 -0
  34. package/.agent/agents/personas/da-vinci-agent/context-files/identity.md +23 -0
  35. package/.agent/agents/personas/da-vinci-agent/context-files/soul.md +51 -0
  36. package/.agent/agents/personas/da-vinci-agent/context-files/user-predefined.md +15 -0
  37. package/.agent/agents/personas/da-vinci-agent/da-vinci-frontend-ui-ux-design-profile.md +189 -0
  38. package/.agent/agents/personas/da-vinci-agent/user-context-files/system/bootstrap.md +37 -0
  39. package/.agent/agents/personas/da-vinci-agent/user-context-files/system/user.md +45 -0
  40. package/.agent/agents/personas/duong-tang-agent/agent.json +10 -0
  41. package/.agent/agents/personas/duong-tang-agent/context-files/agents.md +55 -0
  42. package/.agent/agents/personas/duong-tang-agent/context-files/identity.md +23 -0
  43. package/.agent/agents/personas/duong-tang-agent/context-files/soul.md +51 -0
  44. package/.agent/agents/personas/duong-tang-agent/context-files/user-predefined.md +15 -0
  45. package/.agent/agents/personas/duong-tang-agent/tang-monk-quality-testing-documentation-profile.md +189 -0
  46. package/.agent/agents/personas/duong-tang-agent/user-context-files/system/bootstrap.md +37 -0
  47. package/.agent/agents/personas/duong-tang-agent/user-context-files/system/user.md +45 -0
  48. package/.agent/agents/personas/gia-cat-luong-agent/agent.json +10 -0
  49. package/.agent/agents/personas/gia-cat-luong-agent/context-files/agents.md +55 -0
  50. package/.agent/agents/personas/gia-cat-luong-agent/context-files/identity.md +23 -0
  51. package/.agent/agents/personas/gia-cat-luong-agent/context-files/soul.md +51 -0
  52. package/.agent/agents/personas/gia-cat-luong-agent/context-files/user-predefined.md +15 -0
  53. package/.agent/agents/personas/gia-cat-luong-agent/kongming-research-strategy-analysis-profile.md +189 -0
  54. package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/bootstrap.md +37 -0
  55. package/.agent/agents/personas/gia-cat-luong-agent/user-context-files/system/user.md +45 -0
  56. package/.agent/agents/personas/mihata-agent/agent.json +10 -0
  57. package/.agent/agents/personas/mihata-agent/context-files/agents.md +55 -0
  58. package/.agent/agents/personas/mihata-agent/context-files/identity.md +23 -0
  59. package/.agent/agents/personas/mihata-agent/context-files/soul.md +51 -0
  60. package/.agent/agents/personas/mihata-agent/context-files/user-predefined.md +15 -0
  61. package/.agent/agents/personas/mihata-agent/mihata-multi-agent-orchestration-profile.md +189 -0
  62. package/.agent/agents/personas/mihata-agent/user-context-files/system/bootstrap.md +37 -0
  63. package/.agent/agents/personas/mihata-agent/user-context-files/system/user.md +45 -0
  64. package/.agent/agents/personas/tesla-agent/agent.json +10 -0
  65. package/.agent/agents/personas/tesla-agent/context-files/agents.md +55 -0
  66. package/.agent/agents/personas/tesla-agent/context-files/identity.md +23 -0
  67. package/.agent/agents/personas/tesla-agent/context-files/soul.md +51 -0
  68. package/.agent/agents/personas/tesla-agent/context-files/user-predefined.md +15 -0
  69. package/.agent/agents/personas/tesla-agent/tesla-fullstack-system-optimization-profile.md +189 -0
  70. package/.agent/agents/personas/tesla-agent/user-context-files/system/bootstrap.md +37 -0
  71. package/.agent/agents/personas/tesla-agent/user-context-files/system/user.md +45 -0
  72. package/.agent/agents/personas/tu-ma-y-agent/agent.json +10 -0
  73. package/.agent/agents/personas/tu-ma-y-agent/context-files/agents.md +55 -0
  74. package/.agent/agents/personas/tu-ma-y-agent/context-files/identity.md +23 -0
  75. package/.agent/agents/personas/tu-ma-y-agent/context-files/soul.md +51 -0
  76. package/.agent/agents/personas/tu-ma-y-agent/context-files/user-predefined.md +15 -0
  77. package/.agent/agents/personas/tu-ma-y-agent/simayi-feasibility-risk-control-profile.md +189 -0
  78. package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/bootstrap.md +37 -0
  79. package/.agent/agents/personas/tu-ma-y-agent/user-context-files/system/user.md +45 -0
  80. package/.agent/agents/personas/venti-agent/agent.json +10 -0
  81. package/.agent/agents/personas/venti-agent/context-files/agents.md +55 -0
  82. package/.agent/agents/personas/venti-agent/context-files/identity.md +23 -0
  83. package/.agent/agents/personas/venti-agent/context-files/soul.md +51 -0
  84. package/.agent/agents/personas/venti-agent/context-files/user-predefined.md +15 -0
  85. package/.agent/agents/personas/venti-agent/user-context-files/system/bootstrap.md +37 -0
  86. package/.agent/agents/personas/venti-agent/user-context-files/system/user.md +45 -0
  87. package/.agent/agents/personas/venti-agent/venti-learning-communication-mentoring-profile.md +189 -0
  88. package/.agent/agents/product-manager.md +112 -112
  89. package/.agent/agents/product-owner.md +95 -95
  90. package/.agent/agents/project-planner.md +406 -406
  91. package/.agent/agents/qa-automation-engineer.md +103 -103
  92. package/.agent/agents/security-auditor.md +170 -170
  93. package/.agent/agents/seo-specialist.md +111 -111
  94. package/.agent/agents/test-engineer.md +158 -158
  95. package/.agent/contexts/dev.md +20 -0
  96. package/.agent/contexts/research.md +26 -0
  97. package/.agent/contexts/review.md +22 -0
  98. package/.agent/hooks/hooks.json +395 -0
  99. package/.agent/hooks/readme.md +222 -0
  100. package/.agent/mcp-configs/mcp-servers.json +181 -0
  101. package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -62
  102. package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -69
  103. package/.agent/rules/CORE_RULES.md +72 -72
  104. package/.agent/rules/PROJECT_MAP.md +58 -58
  105. package/.agent/rules/QUALITY_ASSURANCE.md +54 -54
  106. package/.agent/rules/SECURITY_ARMOR.md +44 -44
  107. package/.agent/rules/VERSION_ORCHESTRATION.md +64 -64
  108. package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -55
  109. package/.agent/rules/common/agents.md +50 -0
  110. package/.agent/rules/common/code-review.md +124 -0
  111. package/.agent/rules/common/coding-style.md +48 -0
  112. package/.agent/rules/common/development-workflow.md +44 -0
  113. package/.agent/rules/common/git-workflow.md +24 -0
  114. package/.agent/rules/common/hooks.md +30 -0
  115. package/.agent/rules/common/patterns.md +31 -0
  116. package/.agent/rules/common/performance.md +55 -0
  117. package/.agent/rules/common/security.md +29 -0
  118. package/.agent/rules/common/testing.md +29 -0
  119. package/.agent/rules/cpp/coding-style.md +44 -0
  120. package/.agent/rules/cpp/hooks.md +39 -0
  121. package/.agent/rules/cpp/patterns.md +51 -0
  122. package/.agent/rules/cpp/security.md +51 -0
  123. package/.agent/rules/cpp/testing.md +44 -0
  124. package/.agent/rules/csharp/coding-style.md +72 -0
  125. package/.agent/rules/csharp/hooks.md +25 -0
  126. package/.agent/rules/csharp/patterns.md +50 -0
  127. package/.agent/rules/csharp/security.md +58 -0
  128. package/.agent/rules/csharp/testing.md +46 -0
  129. package/.agent/rules/dart/coding-style.md +159 -0
  130. package/.agent/rules/dart/hooks.md +66 -0
  131. package/.agent/rules/dart/patterns.md +261 -0
  132. package/.agent/rules/dart/security.md +135 -0
  133. package/.agent/rules/dart/testing.md +215 -0
  134. package/.agent/rules/golang/coding-style.md +32 -0
  135. package/.agent/rules/golang/hooks.md +17 -0
  136. package/.agent/rules/golang/patterns.md +45 -0
  137. package/.agent/rules/golang/security.md +34 -0
  138. package/.agent/rules/golang/testing.md +31 -0
  139. package/.agent/rules/java/coding-style.md +114 -0
  140. package/.agent/rules/java/hooks.md +18 -0
  141. package/.agent/rules/java/patterns.md +146 -0
  142. package/.agent/rules/java/security.md +100 -0
  143. package/.agent/rules/java/testing.md +131 -0
  144. package/.agent/rules/kotlin/coding-style.md +86 -0
  145. package/.agent/rules/kotlin/hooks.md +17 -0
  146. package/.agent/rules/kotlin/patterns.md +146 -0
  147. package/.agent/rules/kotlin/security.md +82 -0
  148. package/.agent/rules/kotlin/testing.md +128 -0
  149. package/.agent/rules/perl/coding-style.md +46 -0
  150. package/.agent/rules/perl/hooks.md +22 -0
  151. package/.agent/rules/perl/patterns.md +76 -0
  152. package/.agent/rules/perl/security.md +69 -0
  153. package/.agent/rules/perl/testing.md +54 -0
  154. package/.agent/rules/php/coding-style.md +40 -0
  155. package/.agent/rules/php/hooks.md +24 -0
  156. package/.agent/rules/php/patterns.md +33 -0
  157. package/.agent/rules/php/security.md +37 -0
  158. package/.agent/rules/php/testing.md +39 -0
  159. package/.agent/rules/python/coding-style.md +42 -0
  160. package/.agent/rules/python/hooks.md +19 -0
  161. package/.agent/rules/python/patterns.md +39 -0
  162. package/.agent/rules/python/security.md +30 -0
  163. package/.agent/rules/python/testing.md +38 -0
  164. package/.agent/rules/readme.md +111 -0
  165. package/.agent/rules/rust/coding-style.md +151 -0
  166. package/.agent/rules/rust/hooks.md +16 -0
  167. package/.agent/rules/rust/patterns.md +168 -0
  168. package/.agent/rules/rust/security.md +141 -0
  169. package/.agent/rules/rust/testing.md +154 -0
  170. package/.agent/rules/swift/coding-style.md +47 -0
  171. package/.agent/rules/swift/hooks.md +20 -0
  172. package/.agent/rules/swift/patterns.md +66 -0
  173. package/.agent/rules/swift/security.md +33 -0
  174. package/.agent/rules/swift/testing.md +45 -0
  175. package/.agent/rules/typescript/coding-style.md +199 -0
  176. package/.agent/rules/typescript/hooks.md +22 -0
  177. package/.agent/rules/typescript/patterns.md +52 -0
  178. package/.agent/rules/typescript/security.md +28 -0
  179. package/.agent/rules/typescript/testing.md +18 -0
  180. package/.agent/rules/web/coding-style.md +96 -0
  181. package/.agent/rules/web/design-quality.md +63 -0
  182. package/.agent/rules/web/hooks.md +120 -0
  183. package/.agent/rules/web/patterns.md +79 -0
  184. package/.agent/rules/web/performance.md +64 -0
  185. package/.agent/rules/web/security.md +57 -0
  186. package/.agent/rules/web/testing.md +55 -0
  187. package/.agent/rules/zh/agents.md +50 -0
  188. package/.agent/rules/zh/code-review.md +124 -0
  189. package/.agent/rules/zh/coding-style.md +48 -0
  190. package/.agent/rules/zh/development-workflow.md +44 -0
  191. package/.agent/rules/zh/git-workflow.md +24 -0
  192. package/.agent/rules/zh/hooks.md +30 -0
  193. package/.agent/rules/zh/patterns.md +31 -0
  194. package/.agent/rules/zh/performance.md +55 -0
  195. package/.agent/rules/zh/readme.md +108 -0
  196. package/.agent/rules/zh/security.md +29 -0
  197. package/.agent/rules/zh/testing.md +29 -0
  198. package/.agent/scripts/auto_preview.py +148 -148
  199. package/.agent/scripts/checklist.py +217 -217
  200. package/.agent/scripts/session_manager.py +120 -120
  201. package/.agent/scripts/verify_all.py +327 -327
  202. package/.agent/skills/agent-eval/SKILL.md +145 -0
  203. package/.agent/skills/agent-harness-construction/SKILL.md +73 -0
  204. package/.agent/skills/agent-payment-x402/SKILL.md +178 -0
  205. package/.agent/skills/agentic-engineering/SKILL.md +63 -0
  206. package/.agent/skills/ai-first-engineering/SKILL.md +51 -0
  207. package/.agent/skills/ai-regression-testing/SKILL.md +385 -0
  208. package/.agent/skills/android-clean-architecture/SKILL.md +339 -0
  209. package/.agent/skills/api-design/SKILL.md +523 -0
  210. package/.agent/skills/api-patterns/SKILL.md +81 -81
  211. package/.agent/skills/api-patterns/api-style.md +42 -42
  212. package/.agent/skills/api-patterns/auth.md +24 -24
  213. package/.agent/skills/api-patterns/documentation.md +26 -26
  214. package/.agent/skills/api-patterns/graphql.md +41 -41
  215. package/.agent/skills/api-patterns/rate-limiting.md +31 -31
  216. package/.agent/skills/api-patterns/response.md +37 -37
  217. package/.agent/skills/api-patterns/rest.md +40 -40
  218. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -211
  219. package/.agent/skills/api-patterns/security-testing.md +122 -122
  220. package/.agent/skills/api-patterns/trpc.md +41 -41
  221. package/.agent/skills/api-patterns/versioning.md +22 -22
  222. package/.agent/skills/app-builder/SKILL.md +75 -75
  223. package/.agent/skills/app-builder/agent-coordination.md +71 -71
  224. package/.agent/skills/app-builder/feature-building.md +53 -53
  225. package/.agent/skills/app-builder/project-detection.md +34 -34
  226. package/.agent/skills/app-builder/scaffolding.md +118 -118
  227. package/.agent/skills/app-builder/tech-stack.md +41 -41
  228. package/.agent/skills/app-builder/templates/SKILL.md +39 -39
  229. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -76
  230. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -92
  231. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -88
  232. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -88
  233. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -83
  234. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -90
  235. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -90
  236. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -122
  237. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -122
  238. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -169
  239. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -134
  240. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -83
  241. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -119
  242. package/.agent/skills/architecture/SKILL.md +55 -55
  243. package/.agent/skills/architecture/context-discovery.md +43 -43
  244. package/.agent/skills/architecture/examples.md +94 -94
  245. package/.agent/skills/architecture/pattern-selection.md +68 -68
  246. package/.agent/skills/architecture/patterns-reference.md +50 -50
  247. package/.agent/skills/architecture/trade-off-analysis.md +77 -77
  248. package/.agent/skills/architecture-decision-records/SKILL.md +179 -0
  249. package/.agent/skills/article-writing/SKILL.md +79 -0
  250. package/.agent/skills/autonomous-agent-harness/SKILL.md +267 -0
  251. package/.agent/skills/autonomous-loops/SKILL.md +610 -0
  252. package/.agent/skills/backend-patterns/SKILL.md +598 -0
  253. package/.agent/skills/bash-linux/SKILL.md +199 -199
  254. package/.agent/skills/behavioral-modes/SKILL.md +242 -242
  255. package/.agent/skills/benchmark/SKILL.md +93 -0
  256. package/.agent/skills/blueprint/SKILL.md +105 -0
  257. package/.agent/skills/brainstorming/SKILL.md +163 -163
  258. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -350
  259. package/.agent/skills/brand-voice/SKILL.md +97 -0
  260. package/.agent/skills/brand-voice/references/voice-profile-schema.md +55 -0
  261. package/.agent/skills/browser-qa/SKILL.md +87 -0
  262. package/.agent/skills/bun-runtime/SKILL.md +84 -0
  263. package/.agent/skills/canary-watch/SKILL.md +99 -0
  264. package/.agent/skills/carrier-relationship-management/SKILL.md +212 -0
  265. package/.agent/skills/ck/SKILL.md +147 -0
  266. package/.agent/skills/ck/commands/forget.mjs +44 -0
  267. package/.agent/skills/ck/commands/info.mjs +24 -0
  268. package/.agent/skills/ck/commands/init.mjs +143 -0
  269. package/.agent/skills/ck/commands/list.mjs +40 -0
  270. package/.agent/skills/ck/commands/migrate.mjs +202 -0
  271. package/.agent/skills/ck/commands/resume.mjs +36 -0
  272. package/.agent/skills/ck/commands/save.mjs +210 -0
  273. package/.agent/skills/ck/commands/shared.mjs +387 -0
  274. package/.agent/skills/ck/hooks/session-start.mjs +224 -0
  275. package/.agent/skills/claude-api/SKILL.md +337 -0
  276. package/.agent/skills/claude-devfleet/SKILL.md +103 -0
  277. package/.agent/skills/clean-code/SKILL.md +201 -201
  278. package/.agent/skills/click-path-audit/SKILL.md +244 -0
  279. package/.agent/skills/clickhouse-io/SKILL.md +439 -0
  280. package/.agent/skills/code-review-checklist/SKILL.md +109 -109
  281. package/.agent/skills/codebase-onboarding/SKILL.md +233 -0
  282. package/.agent/skills/coding-standards/SKILL.md +530 -0
  283. package/.agent/skills/compose-multiplatform-patterns/SKILL.md +299 -0
  284. package/.agent/skills/configure-ecc/SKILL.md +367 -0
  285. package/.agent/skills/connections-optimizer/SKILL.md +189 -0
  286. package/.agent/skills/content-engine/SKILL.md +131 -0
  287. package/.agent/skills/content-hash-cache-pattern/SKILL.md +161 -0
  288. package/.agent/skills/context-budget/SKILL.md +135 -0
  289. package/.agent/skills/continuous-agent-loop/SKILL.md +45 -0
  290. package/.agent/skills/continuous-learning/SKILL.md +119 -0
  291. package/.agent/skills/continuous-learning/config.json +18 -0
  292. package/.agent/skills/continuous-learning/evaluate-session.sh +69 -0
  293. package/.agent/skills/continuous-learning-v2/SKILL.md +365 -0
  294. package/.agent/skills/continuous-learning-v2/agents/observer-loop.sh +271 -0
  295. package/.agent/skills/continuous-learning-v2/agents/observer.md +198 -0
  296. package/.agent/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
  297. package/.agent/skills/continuous-learning-v2/agents/start-observer.sh +244 -0
  298. package/.agent/skills/continuous-learning-v2/config.json +8 -0
  299. package/.agent/skills/continuous-learning-v2/hooks/observe.sh +428 -0
  300. package/.agent/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
  301. package/.agent/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
  302. package/.agent/skills/continuous-learning-v2/scripts/test-parse-instinct.py +984 -0
  303. package/.agent/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
  304. package/.agent/skills/cpp-coding-standards/SKILL.md +723 -0
  305. package/.agent/skills/cpp-testing/SKILL.md +324 -0
  306. package/.agent/skills/crosspost/SKILL.md +111 -0
  307. package/.agent/skills/csharp-testing/SKILL.md +321 -0
  308. package/.agent/skills/customer-billing-ops/SKILL.md +140 -0
  309. package/.agent/skills/customs-trade-compliance/SKILL.md +263 -0
  310. package/.agent/skills/dart-flutter-patterns/SKILL.md +563 -0
  311. package/.agent/skills/data-scraper-agent/SKILL.md +764 -0
  312. package/.agent/skills/database-design/SKILL.md +52 -52
  313. package/.agent/skills/database-design/database-selection.md +43 -43
  314. package/.agent/skills/database-design/indexing.md +39 -39
  315. package/.agent/skills/database-design/migrations.md +48 -48
  316. package/.agent/skills/database-design/optimization.md +36 -36
  317. package/.agent/skills/database-design/orm-selection.md +30 -30
  318. package/.agent/skills/database-design/schema-design.md +56 -56
  319. package/.agent/skills/database-design/scripts/schema_validator.py +172 -172
  320. package/.agent/skills/database-migrations/SKILL.md +429 -0
  321. package/.agent/skills/deep-research/SKILL.md +155 -0
  322. package/.agent/skills/deployment-patterns/SKILL.md +427 -0
  323. package/.agent/skills/deployment-procedures/SKILL.md +241 -241
  324. package/.agent/skills/design-system/SKILL.md +82 -0
  325. package/.agent/skills/django-patterns/SKILL.md +734 -0
  326. package/.agent/skills/django-security/SKILL.md +593 -0
  327. package/.agent/skills/django-tdd/SKILL.md +729 -0
  328. package/.agent/skills/django-verification/SKILL.md +469 -0
  329. package/.agent/skills/dmux-workflows/SKILL.md +191 -0
  330. package/.agent/skills/doc.md +177 -177
  331. package/.agent/skills/docker-patterns/SKILL.md +364 -0
  332. package/.agent/skills/documentation-lookup/SKILL.md +90 -0
  333. package/.agent/skills/documentation-templates/SKILL.md +194 -194
  334. package/.agent/skills/dotnet-patterns/SKILL.md +321 -0
  335. package/.agent/skills/e2e-testing/SKILL.md +326 -0
  336. package/.agent/skills/energy-procurement/SKILL.md +228 -0
  337. package/.agent/skills/enterprise-agent-ops/SKILL.md +50 -0
  338. package/.agent/skills/eval-harness/SKILL.md +270 -0
  339. package/.agent/skills/exa-search/SKILL.md +103 -0
  340. package/.agent/skills/fal-ai-media/SKILL.md +284 -0
  341. package/.agent/skills/flutter-dart-code-review/SKILL.md +435 -0
  342. package/.agent/skills/foundation-models-on-device/SKILL.md +243 -0
  343. package/.agent/skills/frontend-design/SKILL.md +452 -452
  344. package/.agent/skills/frontend-design/animation-guide.md +331 -331
  345. package/.agent/skills/frontend-design/color-system.md +311 -311
  346. package/.agent/skills/frontend-design/decision-trees.md +418 -418
  347. package/.agent/skills/frontend-design/motion-graphics.md +306 -306
  348. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -183
  349. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -722
  350. package/.agent/skills/frontend-design/typography-system.md +345 -345
  351. package/.agent/skills/frontend-design/ux-psychology.md +1116 -1116
  352. package/.agent/skills/frontend-design/visual-effects.md +383 -383
  353. package/.agent/skills/frontend-patterns/SKILL.md +642 -0
  354. package/.agent/skills/frontend-slides/SKILL.md +184 -0
  355. package/.agent/skills/frontend-slides/style-presets.md +330 -0
  356. package/.agent/skills/game-development/2d-games/SKILL.md +119 -119
  357. package/.agent/skills/game-development/3d-games/SKILL.md +135 -135
  358. package/.agent/skills/game-development/SKILL.md +167 -167
  359. package/.agent/skills/game-development/game-art/SKILL.md +185 -185
  360. package/.agent/skills/game-development/game-audio/SKILL.md +190 -190
  361. package/.agent/skills/game-development/game-design/SKILL.md +129 -129
  362. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -108
  363. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -132
  364. package/.agent/skills/game-development/pc-games/SKILL.md +144 -144
  365. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -123
  366. package/.agent/skills/game-development/web-games/SKILL.md +150 -150
  367. package/.agent/skills/gan-style-harness/SKILL.md +278 -0
  368. package/.agent/skills/geo-fundamentals/SKILL.md +156 -156
  369. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -289
  370. package/.agent/skills/git-workflow/SKILL.md +715 -0
  371. package/.agent/skills/golang-patterns/SKILL.md +674 -0
  372. package/.agent/skills/golang-testing/SKILL.md +720 -0
  373. package/.agent/skills/google-workspace-ops/SKILL.md +95 -0
  374. package/.agent/skills/healthcare-cdss-patterns/SKILL.md +245 -0
  375. package/.agent/skills/healthcare-emr-patterns/SKILL.md +159 -0
  376. package/.agent/skills/healthcare-eval-harness/SKILL.md +207 -0
  377. package/.agent/skills/healthcare-phi-compliance/SKILL.md +145 -0
  378. package/.agent/skills/hexagonal-architecture/SKILL.md +276 -0
  379. package/.agent/skills/i18n-localization/SKILL.md +154 -154
  380. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -241
  381. package/.agent/skills/intelligent-routing/SKILL.md +335 -335
  382. package/.agent/skills/inventory-demand-planning/SKILL.md +247 -0
  383. package/.agent/skills/investor-materials/SKILL.md +96 -0
  384. package/.agent/skills/investor-outreach/SKILL.md +91 -0
  385. package/.agent/skills/iterative-retrieval/SKILL.md +211 -0
  386. package/.agent/skills/java-coding-standards/SKILL.md +147 -0
  387. package/.agent/skills/jira-integration/SKILL.md +293 -0
  388. package/.agent/skills/jpa-patterns/SKILL.md +151 -0
  389. package/.agent/skills/kotlin-coroutines-flows/SKILL.md +284 -0
  390. package/.agent/skills/kotlin-exposed-patterns/SKILL.md +719 -0
  391. package/.agent/skills/kotlin-ktor-patterns/SKILL.md +689 -0
  392. package/.agent/skills/kotlin-patterns/SKILL.md +711 -0
  393. package/.agent/skills/kotlin-testing/SKILL.md +824 -0
  394. package/.agent/skills/laravel-patterns/SKILL.md +415 -0
  395. package/.agent/skills/laravel-plugin-discovery/SKILL.md +229 -0
  396. package/.agent/skills/laravel-security/SKILL.md +285 -0
  397. package/.agent/skills/laravel-tdd/SKILL.md +283 -0
  398. package/.agent/skills/laravel-verification/SKILL.md +179 -0
  399. package/.agent/skills/lead-intelligence/SKILL.md +321 -0
  400. package/.agent/skills/lead-intelligence/agents/enrichment-agent.md +85 -0
  401. package/.agent/skills/lead-intelligence/agents/mutual-mapper.md +75 -0
  402. package/.agent/skills/lead-intelligence/agents/outreach-drafter.md +98 -0
  403. package/.agent/skills/lead-intelligence/agents/signal-scorer.md +60 -0
  404. package/.agent/skills/lint-and-validate/SKILL.md +45 -45
  405. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -184
  406. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -173
  407. package/.agent/skills/liquid-glass-design/SKILL.md +279 -0
  408. package/.agent/skills/logistics-exception-management/SKILL.md +222 -0
  409. package/.agent/skills/manim-video/SKILL.md +89 -0
  410. package/.agent/skills/manim-video/assets/network-graph-scene.py +52 -0
  411. package/.agent/skills/market-research/SKILL.md +75 -0
  412. package/.agent/skills/mcp-builder/SKILL.md +173 -113
  413. package/.agent/skills/mcp-builder/license.txt +202 -0
  414. package/.agent/skills/mcp-builder/reference/evaluation.md +602 -0
  415. package/.agent/skills/mcp-builder/reference/mcp-best-practices.md +249 -0
  416. package/.agent/skills/mcp-builder/reference/node-mcp-server.md +970 -0
  417. package/.agent/skills/mcp-builder/reference/python-mcp-server.md +719 -0
  418. package/.agent/skills/mcp-builder/scripts/connections.py +151 -0
  419. package/.agent/skills/mcp-builder/scripts/evaluation.py +373 -0
  420. package/.agent/skills/mcp-builder/scripts/example-evaluation.xml +22 -0
  421. package/.agent/skills/mcp-builder/scripts/requirements.txt +2 -0
  422. package/.agent/skills/mcp-server-patterns/SKILL.md +67 -0
  423. package/.agent/skills/mobile-design/SKILL.md +394 -394
  424. package/.agent/skills/mobile-design/decision-trees.md +516 -516
  425. package/.agent/skills/mobile-design/mobile-backend.md +491 -491
  426. package/.agent/skills/mobile-design/mobile-color-system.md +420 -420
  427. package/.agent/skills/mobile-design/mobile-debugging.md +122 -122
  428. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -357
  429. package/.agent/skills/mobile-design/mobile-navigation.md +458 -458
  430. package/.agent/skills/mobile-design/mobile-performance.md +767 -767
  431. package/.agent/skills/mobile-design/mobile-testing.md +356 -356
  432. package/.agent/skills/mobile-design/mobile-typography.md +433 -433
  433. package/.agent/skills/mobile-design/platform-android.md +666 -666
  434. package/.agent/skills/mobile-design/platform-ios.md +561 -561
  435. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -670
  436. package/.agent/skills/mobile-design/touch-psychology.md +537 -537
  437. package/.agent/skills/nanoclaw-repl/SKILL.md +33 -0
  438. package/.agent/skills/nestjs-patterns/SKILL.md +230 -0
  439. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -351
  440. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -240
  441. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -490
  442. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -264
  443. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -581
  444. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -432
  445. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -684
  446. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -150
  447. package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -103
  448. package/.agent/skills/nextjs-react-expert/SKILL.md +293 -293
  449. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -222
  450. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -252
  451. package/.agent/skills/nextjs-turbopack/SKILL.md +44 -0
  452. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -333
  453. package/.agent/skills/nutrient-document-processing/SKILL.md +167 -0
  454. package/.agent/skills/nuxt4-patterns/SKILL.md +100 -0
  455. package/.agent/skills/openclaw-persona-forge/SKILL.md +296 -0
  456. package/.agent/skills/openclaw-persona-forge/gacha.py +224 -0
  457. package/.agent/skills/openclaw-persona-forge/gacha.sh +5 -0
  458. package/.agent/skills/openclaw-persona-forge/references/avatar-style.md +124 -0
  459. package/.agent/skills/openclaw-persona-forge/references/boundary-rules.md +53 -0
  460. package/.agent/skills/openclaw-persona-forge/references/error-handling.md +53 -0
  461. package/.agent/skills/openclaw-persona-forge/references/identity-tension.md +48 -0
  462. package/.agent/skills/openclaw-persona-forge/references/naming-system.md +39 -0
  463. package/.agent/skills/openclaw-persona-forge/references/output-template.md +166 -0
  464. package/.agent/skills/opensource-pipeline/SKILL.md +255 -0
  465. package/.agent/skills/parallel-agents/SKILL.md +175 -175
  466. package/.agent/skills/performance-profiling/SKILL.md +143 -143
  467. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -76
  468. package/.agent/skills/perl-patterns/SKILL.md +504 -0
  469. package/.agent/skills/perl-security/SKILL.md +503 -0
  470. package/.agent/skills/perl-testing/SKILL.md +475 -0
  471. package/.agent/skills/plan-writing/SKILL.md +152 -152
  472. package/.agent/skills/plankton-code-quality/SKILL.md +236 -0
  473. package/.agent/skills/postgres-patterns/SKILL.md +147 -0
  474. package/.agent/skills/powershell-windows/SKILL.md +167 -167
  475. package/.agent/skills/product-lens/SKILL.md +85 -0
  476. package/.agent/skills/production-scheduling/SKILL.md +238 -0
  477. package/.agent/skills/project-flow-ops/SKILL.md +111 -0
  478. package/.agent/skills/project-guidelines-example/SKILL.md +349 -0
  479. package/.agent/skills/prompt-optimizer/SKILL.md +397 -0
  480. package/.agent/skills/python-patterns/SKILL.md +750 -441
  481. package/.agent/skills/python-testing/SKILL.md +816 -0
  482. package/.agent/skills/pytorch-patterns/SKILL.md +396 -0
  483. package/.agent/skills/quality-nonconformance/SKILL.md +260 -0
  484. package/.agent/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
  485. package/.agent/skills/red-team-tactics/SKILL.md +199 -199
  486. package/.agent/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
  487. package/.agent/skills/remotion-video-creation/SKILL.md +43 -0
  488. package/.agent/skills/remotion-video-creation/rules/3d.md +86 -0
  489. package/.agent/skills/remotion-video-creation/rules/animations.md +29 -0
  490. package/.agent/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +173 -0
  491. package/.agent/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +100 -0
  492. package/.agent/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +108 -0
  493. package/.agent/skills/remotion-video-creation/rules/assets.md +78 -0
  494. package/.agent/skills/remotion-video-creation/rules/audio.md +172 -0
  495. package/.agent/skills/remotion-video-creation/rules/calculate-metadata.md +104 -0
  496. package/.agent/skills/remotion-video-creation/rules/can-decode.md +75 -0
  497. package/.agent/skills/remotion-video-creation/rules/charts.md +58 -0
  498. package/.agent/skills/remotion-video-creation/rules/compositions.md +146 -0
  499. package/.agent/skills/remotion-video-creation/rules/display-captions.md +126 -0
  500. package/.agent/skills/remotion-video-creation/rules/extract-frames.md +229 -0
  501. package/.agent/skills/remotion-video-creation/rules/fonts.md +152 -0
  502. package/.agent/skills/remotion-video-creation/rules/get-audio-duration.md +58 -0
  503. package/.agent/skills/remotion-video-creation/rules/get-video-dimensions.md +68 -0
  504. package/.agent/skills/remotion-video-creation/rules/get-video-duration.md +58 -0
  505. package/.agent/skills/remotion-video-creation/rules/gifs.md +138 -0
  506. package/.agent/skills/remotion-video-creation/rules/images.md +130 -0
  507. package/.agent/skills/remotion-video-creation/rules/import-srt-captions.md +67 -0
  508. package/.agent/skills/remotion-video-creation/rules/lottie.md +67 -0
  509. package/.agent/skills/remotion-video-creation/rules/measuring-dom-nodes.md +34 -0
  510. package/.agent/skills/remotion-video-creation/rules/measuring-text.md +143 -0
  511. package/.agent/skills/remotion-video-creation/rules/sequencing.md +106 -0
  512. package/.agent/skills/remotion-video-creation/rules/tailwind.md +11 -0
  513. package/.agent/skills/remotion-video-creation/rules/text-animations.md +20 -0
  514. package/.agent/skills/remotion-video-creation/rules/timing.md +179 -0
  515. package/.agent/skills/remotion-video-creation/rules/transcribe-captions.md +19 -0
  516. package/.agent/skills/remotion-video-creation/rules/transitions.md +122 -0
  517. package/.agent/skills/remotion-video-creation/rules/trimming.md +52 -0
  518. package/.agent/skills/remotion-video-creation/rules/videos.md +171 -0
  519. package/.agent/skills/repo-scan/SKILL.md +78 -0
  520. package/.agent/skills/returns-reverse-logistics/SKILL.md +240 -0
  521. package/.agent/skills/rules-distill/SKILL.md +264 -0
  522. package/.agent/skills/rules-distill/scripts/scan-rules.sh +58 -0
  523. package/.agent/skills/rules-distill/scripts/scan-skills.sh +129 -0
  524. package/.agent/skills/rust-patterns/SKILL.md +499 -0
  525. package/.agent/skills/rust-pro/SKILL.md +175 -175
  526. package/.agent/skills/rust-testing/SKILL.md +500 -0
  527. package/.agent/skills/safety-guard/SKILL.md +75 -0
  528. package/.agent/skills/santa-method/SKILL.md +306 -0
  529. package/.agent/skills/search-first/SKILL.md +161 -0
  530. package/.agent/skills/security-review/SKILL.md +495 -0
  531. package/.agent/skills/security-review/cloud-infrastructure-security.md +361 -0
  532. package/.agent/skills/security-scan/SKILL.md +165 -0
  533. package/.agent/skills/seo-fundamentals/SKILL.md +129 -129
  534. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -219
  535. package/.agent/skills/server-management/SKILL.md +161 -161
  536. package/.agent/skills/skill-comply/SKILL.md +58 -0
  537. package/.agent/skills/skill-comply/fixtures/compliant-trace.jsonl +5 -0
  538. package/.agent/skills/skill-comply/fixtures/noncompliant-trace.jsonl +3 -0
  539. package/.agent/skills/skill-comply/fixtures/tdd-spec.yaml +44 -0
  540. package/.agent/skills/skill-comply/prompts/classifier.md +24 -0
  541. package/.agent/skills/skill-comply/prompts/scenario-generator.md +62 -0
  542. package/.agent/skills/skill-comply/prompts/spec-generator.md +42 -0
  543. package/.agent/skills/skill-comply/pyproject.toml +15 -0
  544. package/.agent/skills/skill-comply/scripts/classifier.py +85 -0
  545. package/.agent/skills/skill-comply/scripts/grader.py +122 -0
  546. package/.agent/skills/skill-comply/scripts/init.py +0 -0
  547. package/.agent/skills/skill-comply/scripts/parser.py +107 -0
  548. package/.agent/skills/skill-comply/scripts/report.py +170 -0
  549. package/.agent/skills/skill-comply/scripts/run.py +127 -0
  550. package/.agent/skills/skill-comply/scripts/runner.py +161 -0
  551. package/.agent/skills/skill-comply/scripts/scenario-generator.py +70 -0
  552. package/.agent/skills/skill-comply/scripts/spec-generator.py +72 -0
  553. package/.agent/skills/skill-comply/scripts/utils.py +13 -0
  554. package/.agent/skills/skill-comply/tests/test-grader.py +137 -0
  555. package/.agent/skills/skill-comply/tests/test-parser.py +90 -0
  556. package/.agent/skills/skill-creator/SKILL.md +485 -0
  557. package/.agent/skills/skill-creator/agents/analyzer.md +274 -0
  558. package/.agent/skills/skill-creator/agents/comparator.md +202 -0
  559. package/.agent/skills/skill-creator/agents/grader.md +223 -0
  560. package/.agent/skills/skill-creator/assets/eval-review.html +146 -0
  561. package/.agent/skills/skill-creator/eval-viewer/generate-review.py +471 -0
  562. package/.agent/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  563. package/.agent/skills/skill-creator/license.txt +202 -0
  564. package/.agent/skills/skill-creator/references/schemas.md +430 -0
  565. package/.agent/skills/skill-creator/scripts/aggregate-benchmark.py +401 -0
  566. package/.agent/skills/skill-creator/scripts/generate-report.py +326 -0
  567. package/.agent/skills/skill-creator/scripts/improve-description.py +247 -0
  568. package/.agent/skills/skill-creator/scripts/init.py +0 -0
  569. package/.agent/skills/skill-creator/scripts/package-skill.py +136 -0
  570. package/.agent/skills/skill-creator/scripts/quick-validate.py +103 -0
  571. package/.agent/skills/skill-creator/scripts/run-eval.py +310 -0
  572. package/.agent/skills/skill-creator/scripts/run-loop.py +328 -0
  573. package/.agent/skills/skill-creator/scripts/utils.py +47 -0
  574. package/.agent/skills/skill-stocktake/SKILL.md +193 -0
  575. package/.agent/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
  576. package/.agent/skills/skill-stocktake/scripts/save-results.sh +56 -0
  577. package/.agent/skills/skill-stocktake/scripts/scan.sh +170 -0
  578. package/.agent/skills/social-graph-ranker/SKILL.md +154 -0
  579. package/.agent/skills/springboot-patterns/SKILL.md +314 -0
  580. package/.agent/skills/springboot-security/SKILL.md +272 -0
  581. package/.agent/skills/springboot-tdd/SKILL.md +158 -0
  582. package/.agent/skills/springboot-verification/SKILL.md +231 -0
  583. package/.agent/skills/strategic-compact/SKILL.md +131 -0
  584. package/.agent/skills/strategic-compact/suggest-compact.sh +54 -0
  585. package/.agent/skills/swift-actor-persistence/SKILL.md +143 -0
  586. package/.agent/skills/swift-concurrency-6-2/SKILL.md +216 -0
  587. package/.agent/skills/swift-protocol-di-testing/SKILL.md +190 -0
  588. package/.agent/skills/swiftui-patterns/SKILL.md +259 -0
  589. package/.agent/skills/systematic-debugging/SKILL.md +109 -109
  590. package/.agent/skills/tailwind-patterns/SKILL.md +269 -269
  591. package/.agent/skills/tdd-workflow/SKILL.md +463 -149
  592. package/.agent/skills/team-builder/SKILL.md +168 -0
  593. package/.agent/skills/testing-patterns/SKILL.md +178 -178
  594. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -219
  595. package/.agent/skills/token-budget-advisor/SKILL.md +133 -0
  596. package/.agent/skills/ui-demo/SKILL.md +465 -0
  597. package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -292
  598. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -101
  599. package/.agent/skills/ui-ux-pro-max/data/landing.csv +3 -3
  600. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -45
  601. package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -54
  602. package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  603. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  604. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  605. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  606. package/.agent/skills/ui-ux-pro-max/data/typography.csv +57 -57
  607. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -101
  608. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -31
  609. package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -253
  610. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -1067
  611. package/.agent/skills/verification-loop/SKILL.md +126 -0
  612. package/.agent/skills/video-editing/SKILL.md +310 -0
  613. package/.agent/skills/videodb/SKILL.md +374 -0
  614. package/.agent/skills/videodb/reference/api-reference.md +550 -0
  615. package/.agent/skills/videodb/reference/capture-reference.md +407 -0
  616. package/.agent/skills/videodb/reference/capture.md +101 -0
  617. package/.agent/skills/videodb/reference/editor.md +443 -0
  618. package/.agent/skills/videodb/reference/generative.md +331 -0
  619. package/.agent/skills/videodb/reference/rtstream-reference.md +564 -0
  620. package/.agent/skills/videodb/reference/rtstream.md +65 -0
  621. package/.agent/skills/videodb/reference/search.md +230 -0
  622. package/.agent/skills/videodb/reference/streaming.md +406 -0
  623. package/.agent/skills/videodb/reference/use-cases.md +118 -0
  624. package/.agent/skills/videodb/scripts/ws-listener.py +282 -0
  625. package/.agent/skills/visa-doc-translate/SKILL.md +117 -0
  626. package/.agent/skills/visa-doc-translate/readme.md +86 -0
  627. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -276
  628. package/.agent/skills/vulnerability-scanner/checklists.md +121 -121
  629. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -458
  630. package/.agent/skills/web-design-guidelines/SKILL.md +57 -57
  631. package/.agent/skills/webapp-testing/SKILL.md +187 -187
  632. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -173
  633. package/.agent/skills/workspace-surface-audit/SKILL.md +125 -0
  634. package/.agent/skills/x-api/SKILL.md +230 -0
  635. package/.agent/tasks/lessons.md +40 -40
  636. package/.agent/tasks/todo.md +33 -33
  637. package/.agent/tasks/two-track-merge-contract.md +29 -0
  638. package/.agent/workflows/aside.md +3 -3
  639. package/.agent/workflows/brainstorm.md +113 -113
  640. package/.agent/workflows/claw.md +13 -41
  641. package/.agent/workflows/clean-memory.md +34 -0
  642. package/.agent/workflows/code-review.md +260 -11
  643. package/.agent/workflows/context-budget.md +12 -18
  644. package/.agent/workflows/cpp-build.md +1 -1
  645. package/.agent/workflows/cpp-review.md +4 -4
  646. package/.agent/workflows/create.md +59 -59
  647. package/.agent/workflows/debug.md +103 -103
  648. package/.agent/workflows/deploy.md +176 -176
  649. package/.agent/workflows/devfleet.md +13 -82
  650. package/.agent/workflows/docs.md +13 -21
  651. package/.agent/workflows/e2e.md +38 -135
  652. package/.agent/workflows/enhance.md +63 -63
  653. package/.agent/workflows/eval.md +15 -112
  654. package/.agent/workflows/flutter-build.md +164 -0
  655. package/.agent/workflows/flutter-review.md +116 -0
  656. package/.agent/workflows/flutter-test.md +144 -0
  657. package/.agent/workflows/gan-build.md +99 -0
  658. package/.agent/workflows/gan-design.md +35 -0
  659. package/.agent/workflows/go-build.md +1 -1
  660. package/.agent/workflows/go-review.md +4 -4
  661. package/.agent/workflows/harness-audit.md +5 -3
  662. package/.agent/workflows/init-docs.md +46 -46
  663. package/.agent/workflows/instinct-import.md +4 -4
  664. package/.agent/workflows/jira.md +106 -0
  665. package/.agent/workflows/kotlin-build.md +1 -1
  666. package/.agent/workflows/kotlin-review.md +5 -5
  667. package/.agent/workflows/learn-eval.md +9 -9
  668. package/.agent/workflows/multi-plan.md +10 -10
  669. package/.agent/workflows/orchestrate.md +23 -119
  670. package/.agent/workflows/plan.md +2 -0
  671. package/.agent/workflows/preview.md +81 -81
  672. package/.agent/workflows/prompt-optimize.md +13 -28
  673. package/.agent/workflows/prp-commit.md +112 -0
  674. package/.agent/workflows/prp-implement.md +385 -0
  675. package/.agent/workflows/prp-plan.md +502 -0
  676. package/.agent/workflows/prp-pr.md +184 -0
  677. package/.agent/workflows/prp-prd.md +447 -0
  678. package/.agent/workflows/python-review.md +5 -5
  679. package/.agent/workflows/refactor-clean.md +1 -1
  680. package/.agent/workflows/resume-session.md +10 -10
  681. package/.agent/workflows/rules-distill.md +14 -5
  682. package/.agent/workflows/santa-loop.md +175 -0
  683. package/.agent/workflows/save-session.md +9 -9
  684. package/.agent/workflows/status.md +86 -86
  685. package/.agent/workflows/tdd.md +30 -127
  686. package/.agent/workflows/test-coverage.md +1 -1
  687. package/.agent/workflows/test.md +144 -144
  688. package/.agent/workflows/ui-ux-pro-max.md +295 -295
  689. package/.agent/workflows/verify.md +15 -51
  690. package/README.md +144 -136
  691. package/RELEASE.md +32 -36
  692. package/package.json +87 -79
  693. package/scripts/release-check.js +1 -1
  694. package/src/bin/cli.js +354 -78
  695. package/src/lib/installer.js +151 -117
  696. package/src/lib/manifests/stacks.js +122 -0
  697. package/src/lib/slash-commands.js +28 -0
  698. package/src/templates/claude/CLAUDE.en.md +42 -0
  699. package/src/templates/claude/CLAUDE.md +42 -0
  700. package/src/templates/claude/CLAUDE.vi.md +42 -0
  701. package/src/templates/codex/AGENTS.en.md +40 -0
  702. package/src/templates/codex/AGENTS.md +40 -0
  703. package/src/templates/codex/AGENTS.vi.md +40 -0
  704. package/src/templates/cursor/pilo-masterkit.mdc +20 -0
  705. package/src/templates/gemini/GEMINI.en.md +56 -0
  706. package/src/templates/gemini/GEMINI.md +56 -0
  707. package/src/templates/gemini/GEMINI.vi.md +56 -0
  708. package/src/templates/github/copilot-instructions.md +16 -0
@@ -1,356 +1,356 @@
1
- # Mobile Testing Patterns
2
-
3
- > **Mobile testing is NOT web testing. Different constraints, different strategies.**
4
- > This file teaches WHEN to use each testing approach and WHY.
5
- > **Code examples are minimal - focus on decision-making.**
6
-
7
- ---
8
-
9
- ## 🧠 MOBILE TESTING MINDSET
10
-
11
- ```
12
- Mobile testing differs from web:
13
- ├── Real devices matter (emulators hide bugs)
14
- ├── Platform differences (iOS vs Android behavior)
15
- ├── Network conditions vary wildly
16
- ├── Battery/performance under test
17
- ├── App lifecycle (background, killed, restored)
18
- ├── Permissions and system dialogs
19
- └── Touch interactions vs clicks
20
- ```
21
-
22
- ---
23
-
24
- ## 🚫 AI MOBILE TESTING ANTI-PATTERNS
25
-
26
- | ❌ AI Default | Why It's Wrong | ✅ Mobile-Correct |
27
- |---------------|----------------|-------------------|
28
- | Jest-only testing | Misses native layer | Jest + E2E on device |
29
- | Enzyme patterns | Deprecated, web-focused | React Native Testing Library |
30
- | Browser-based E2E (Cypress) | Can't test native features | Detox / Maestro |
31
- | Mock everything | Misses integration bugs | Real device testing |
32
- | Ignore platform tests | iOS/Android differ | Platform-specific cases |
33
- | Skip performance tests | Mobile perf is critical | Profile on low-end device |
34
- | Test only happy path | Mobile has more edge cases | Offline, permissions, interrupts |
35
- | 100% unit test coverage | False security | Pyramid balance |
36
- | Copy web testing patterns | Different environment | Mobile-specific tools |
37
-
38
- ---
39
-
40
- ## 1. Testing Tool Selection
41
-
42
- ### Decision Tree
43
-
44
- ```
45
- WHAT ARE YOU TESTING?
46
-
47
- ├── Pure functions, utilities, helpers
48
- │ └── Jest (unit tests)
49
- │ └── No special mobile setup needed
50
-
51
- ├── Individual components (isolated)
52
- │ ├── React Native → React Native Testing Library
53
- │ └── Flutter → flutter_test (widget tests)
54
-
55
- ├── Components with hooks, context, navigation
56
- │ ├── React Native → RNTL + mocked providers
57
- │ └── Flutter → integration_test package
58
-
59
- ├── Full user flows (login, checkout, etc.)
60
- │ ├── Detox (React Native, fast, reliable)
61
- │ ├── Maestro (Cross-platform, YAML-based)
62
- │ └── Appium (Legacy, slow, last resort)
63
-
64
- └── Performance, memory, battery
65
- ├── Flashlight (RN performance)
66
- ├── Flutter DevTools
67
- └── Real device profiling (Xcode/Android Studio)
68
- ```
69
-
70
- ### Tool Comparison
71
-
72
- | Tool | Platform | Speed | Reliability | Use When |
73
- |------|----------|-------|-------------|----------|
74
- | **Jest** | RN | ⚡⚡⚡ | ⚡⚡⚡ | Unit tests, logic |
75
- | **RNTL** | RN | ⚡⚡⚡ | ⚡⚡ | Component tests |
76
- | **flutter_test** | Flutter | ⚡⚡⚡ | ⚡⚡⚡ | Widget tests |
77
- | **Detox** | RN | ⚡⚡ | ⚡⚡⚡ | E2E, critical flows |
78
- | **Maestro** | Both | ⚡⚡ | ⚡⚡ | E2E, cross-platform |
79
- | **Appium** | Both | ⚡ | ⚡ | Legacy, last resort |
80
-
81
- ---
82
-
83
- ## 2. Testing Pyramid for Mobile
84
-
85
- ```
86
- ┌───────────────┐
87
- │ E2E Tests │ 10%
88
- │ (Real device) │ Slow, expensive, essential
89
- ├───────────────┤
90
- │ Integration │ 20%
91
- │ Tests │ Component + context
92
- ├───────────────┤
93
- │ Component │ 30%
94
- │ Tests │ Isolated UI
95
- ├───────────────┤
96
- │ Unit Tests │ 40%
97
- │ (Jest) │ Pure logic
98
- └───────────────┘
99
- ```
100
-
101
- ### Why This Distribution?
102
-
103
- | Level | Why This % |
104
- |-------|------------|
105
- | **E2E 10%** | Slow, flaky, but catches integration bugs |
106
- | **Integration 20%** | Tests real user flows without full app |
107
- | **Component 30%** | Fast feedback on UI changes |
108
- | **Unit 40%** | Fastest, most stable, logic coverage |
109
-
110
- > 🔴 **If you have 90% unit tests and 0% E2E, you're testing the wrong things.**
111
-
112
- ---
113
-
114
- ## 3. What to Test at Each Level
115
-
116
- ### Unit Tests (Jest)
117
-
118
- ```
119
- ✅ TEST:
120
- ├── Utility functions (formatDate, calculatePrice)
121
- ├── State reducers (Redux, Zustand stores)
122
- ├── API response transformers
123
- ├── Validation logic
124
- └── Business rules
125
-
126
- ❌ DON'T TEST:
127
- ├── Component rendering (use component tests)
128
- ├── Navigation (use integration tests)
129
- ├── Native modules (mock them)
130
- └── Third-party libraries
131
- ```
132
-
133
- ### Component Tests (RNTL / flutter_test)
134
-
135
- ```
136
- ✅ TEST:
137
- ├── Component renders correctly
138
- ├── User interactions (tap, type, swipe)
139
- ├── Loading/error/empty states
140
- ├── Accessibility labels exist
141
- └── Props change behavior
142
-
143
- ❌ DON'T TEST:
144
- ├── Internal implementation details
145
- ├── Snapshot everything (only key components)
146
- ├── Styling specifics (brittle)
147
- └── Third-party component internals
148
- ```
149
-
150
- ### Integration Tests
151
-
152
- ```
153
- ✅ TEST:
154
- ├── Form submission flows
155
- ├── Navigation between screens
156
- ├── State persistence across screens
157
- ├── API integration (with mocked server)
158
- └── Context/provider interactions
159
-
160
- ❌ DON'T TEST:
161
- ├── Every possible path (use unit tests)
162
- ├── Third-party services (mock them)
163
- └── Backend logic (backend tests)
164
- ```
165
-
166
- ### E2E Tests
167
-
168
- ```
169
- ✅ TEST:
170
- ├── Critical user journeys (login, purchase, signup)
171
- ├── Offline → online transitions
172
- ├── Deep link handling
173
- ├── Push notification navigation
174
- ├── Permission flows
175
- └── Payment flows
176
-
177
- ❌ DON'T TEST:
178
- ├── Every edge case (too slow)
179
- ├── Visual regression (use snapshot tests)
180
- ├── Non-critical features
181
- └── Backend-only logic
182
- ```
183
-
184
- ---
185
-
186
- ## 4. Platform-Specific Testing
187
-
188
- ### What Differs Between iOS and Android?
189
-
190
- | Area | iOS Behavior | Android Behavior | Test Both? |
191
- |------|--------------|------------------|------------|
192
- | **Back navigation** | Edge swipe | System back button | ✅ YES |
193
- | **Permissions** | Ask once, settings | Ask each time, rationale | ✅ YES |
194
- | **Keyboard** | Different appearance | Different behavior | ✅ YES |
195
- | **Date picker** | Wheel/modal | Material dialog | ⚠️ If custom UI |
196
- | **Push format** | APNs payload | FCM payload | ✅ YES |
197
- | **Deep links** | Universal Links | App Links | ✅ YES |
198
- | **Gestures** | Some unique | Material gestures | ⚠️ If custom |
199
-
200
- ### Platform Testing Strategy
201
-
202
- ```
203
- FOR EACH PLATFORM:
204
- ├── Run unit tests (same on both)
205
- ├── Run component tests (same on both)
206
- ├── Run E2E on REAL DEVICE
207
- │ ├── iOS: iPhone (not just simulator)
208
- │ └── Android: Mid-range device (not flagship)
209
- └── Test platform-specific features separately
210
- ```
211
-
212
- ---
213
-
214
- ## 5. Offline & Network Testing
215
-
216
- ### Offline Scenarios to Test
217
-
218
- | Scenario | What to Verify |
219
- |----------|----------------|
220
- | Start app offline | Shows cached data or offline message |
221
- | Go offline mid-action | Action queued, not lost |
222
- | Come back online | Queue synced, no duplicates |
223
- | Slow network (2G) | Loading states, timeouts work |
224
- | Flaky network | Retry logic, error recovery |
225
-
226
- ### How to Test Network Conditions
227
-
228
- ```
229
- APPROACH:
230
- ├── Unit tests: Mock NetInfo, test logic
231
- ├── Integration: Mock API responses, test UI
232
- ├── E2E (Detox): Use device.setURLBlacklist()
233
- ├── E2E (Maestro): Use network conditions
234
- └── Manual: Use Charles Proxy / Network Link Conditioner
235
- ```
236
-
237
- ---
238
-
239
- ## 6. Performance Testing
240
-
241
- ### What to Measure
242
-
243
- | Metric | Target | How to Measure |
244
- |--------|--------|----------------|
245
- | **App startup** | < 2 seconds | Profiler, Flashlight |
246
- | **Screen transition** | < 300ms | React DevTools |
247
- | **List scroll** | 60 FPS | Profiler, feel |
248
- | **Memory** | Stable, no leaks | Instruments / Android Profiler |
249
- | **Bundle size** | Minimize | Metro bundler analysis |
250
-
251
- ### When to Performance Test
252
-
253
- ```
254
- PERFORMANCE TEST:
255
- ├── Before release (required)
256
- ├── After adding heavy features
257
- ├── After upgrading dependencies
258
- ├── When users report slowness
259
- └── On CI (optional, automated benchmarks)
260
-
261
- WHERE TO TEST:
262
- ├── Real device (REQUIRED)
263
- ├── Low-end device (Galaxy A series, old iPhone)
264
- ├── NOT on emulator (lies about performance)
265
- └── With production-like data (not 3 items)
266
- ```
267
-
268
- ---
269
-
270
- ## 7. Accessibility Testing
271
-
272
- ### What to Verify
273
-
274
- | Element | Check |
275
- |---------|-------|
276
- | Interactive elements | Have accessibilityLabel |
277
- | Images | Have alt text or decorative flag |
278
- | Forms | Labels linked to inputs |
279
- | Buttons | Role = button |
280
- | Touch targets | ≥ 44x44 (iOS) / 48x48 (Android) |
281
- | Color contrast | WCAG AA minimum |
282
-
283
- ### How to Test
284
-
285
- ```
286
- AUTOMATED:
287
- ├── React Native: jest-axe
288
- ├── Flutter: Accessibility checker in tests
289
- └── Lint rules for missing labels
290
-
291
- MANUAL:
292
- ├── Enable VoiceOver (iOS) / TalkBack (Android)
293
- ├── Navigate entire app with screen reader
294
- ├── Test with increased text size
295
- └── Test with reduced motion
296
- ```
297
-
298
- ---
299
-
300
- ## 8. CI/CD Integration
301
-
302
- ### What to Run Where
303
-
304
- | Stage | Tests | Devices |
305
- |-------|-------|---------|
306
- | **PR** | Unit + Component | None (fast) |
307
- | **Merge to main** | + Integration | Simulator/Emulator |
308
- | **Pre-release** | + E2E | Real devices (farm) |
309
- | **Nightly** | Full suite | Device farm |
310
-
311
- ### Device Farm Options
312
-
313
- | Service | Pros | Cons |
314
- |---------|------|------|
315
- | **Firebase Test Lab** | Free tier, Google devices | Android focus |
316
- | **AWS Device Farm** | Wide selection | Expensive |
317
- | **BrowserStack** | Good UX | Expensive |
318
- | **Local devices** | Free, reliable | Limited variety |
319
-
320
- ---
321
-
322
- ## 📝 MOBILE TESTING CHECKLIST
323
-
324
- ### Before PR
325
- - [ ] Unit tests for new logic
326
- - [ ] Component tests for new UI
327
- - [ ] No console.logs in tests
328
- - [ ] Tests pass on CI
329
-
330
- ### Before Release
331
- - [ ] E2E on real iOS device
332
- - [ ] E2E on real Android device
333
- - [ ] Tested on low-end device
334
- - [ ] Offline scenarios verified
335
- - [ ] Performance acceptable
336
- - [ ] Accessibility verified
337
-
338
- ### What to Skip (Consciously)
339
- - [ ] 100% coverage (aim for meaningful coverage)
340
- - [ ] Every visual permutation (use snapshots sparingly)
341
- - [ ] Third-party library internals
342
- - [ ] Backend logic (separate tests)
343
-
344
- ---
345
-
346
- ## 🎯 Testing Questions to Ask
347
-
348
- Before writing tests, answer:
349
-
350
- 1. **What could break?** → Test that
351
- 2. **What's critical for users?** → E2E test that
352
- 3. **What's complex logic?** → Unit test that
353
- 4. **What's platform-specific?** → Test on both platforms
354
- 5. **What happens offline?** → Test that scenario
355
-
356
- > **Remember:** Good mobile testing is about testing the RIGHT things, not EVERYTHING. A flaky E2E test is worse than no test. A failing unit test that catches a bug is worth 100 passing trivial tests.
1
+ # Mobile Testing Patterns
2
+
3
+ > **Mobile testing is NOT web testing. Different constraints, different strategies.**
4
+ > This file teaches WHEN to use each testing approach and WHY.
5
+ > **Code examples are minimal - focus on decision-making.**
6
+
7
+ ---
8
+
9
+ ## 🧠 MOBILE TESTING MINDSET
10
+
11
+ ```
12
+ Mobile testing differs from web:
13
+ ├── Real devices matter (emulators hide bugs)
14
+ ├── Platform differences (iOS vs Android behavior)
15
+ ├── Network conditions vary wildly
16
+ ├── Battery/performance under test
17
+ ├── App lifecycle (background, killed, restored)
18
+ ├── Permissions and system dialogs
19
+ └── Touch interactions vs clicks
20
+ ```
21
+
22
+ ---
23
+
24
+ ## 🚫 AI MOBILE TESTING ANTI-PATTERNS
25
+
26
+ | ❌ AI Default | Why It's Wrong | ✅ Mobile-Correct |
27
+ |---------------|----------------|-------------------|
28
+ | Jest-only testing | Misses native layer | Jest + E2E on device |
29
+ | Enzyme patterns | Deprecated, web-focused | React Native Testing Library |
30
+ | Browser-based E2E (Cypress) | Can't test native features | Detox / Maestro |
31
+ | Mock everything | Misses integration bugs | Real device testing |
32
+ | Ignore platform tests | iOS/Android differ | Platform-specific cases |
33
+ | Skip performance tests | Mobile perf is critical | Profile on low-end device |
34
+ | Test only happy path | Mobile has more edge cases | Offline, permissions, interrupts |
35
+ | 100% unit test coverage | False security | Pyramid balance |
36
+ | Copy web testing patterns | Different environment | Mobile-specific tools |
37
+
38
+ ---
39
+
40
+ ## 1. Testing Tool Selection
41
+
42
+ ### Decision Tree
43
+
44
+ ```
45
+ WHAT ARE YOU TESTING?
46
+
47
+ ├── Pure functions, utilities, helpers
48
+ │ └── Jest (unit tests)
49
+ │ └── No special mobile setup needed
50
+
51
+ ├── Individual components (isolated)
52
+ │ ├── React Native → React Native Testing Library
53
+ │ └── Flutter → flutter_test (widget tests)
54
+
55
+ ├── Components with hooks, context, navigation
56
+ │ ├── React Native → RNTL + mocked providers
57
+ │ └── Flutter → integration_test package
58
+
59
+ ├── Full user flows (login, checkout, etc.)
60
+ │ ├── Detox (React Native, fast, reliable)
61
+ │ ├── Maestro (Cross-platform, YAML-based)
62
+ │ └── Appium (Legacy, slow, last resort)
63
+
64
+ └── Performance, memory, battery
65
+ ├── Flashlight (RN performance)
66
+ ├── Flutter DevTools
67
+ └── Real device profiling (Xcode/Android Studio)
68
+ ```
69
+
70
+ ### Tool Comparison
71
+
72
+ | Tool | Platform | Speed | Reliability | Use When |
73
+ |------|----------|-------|-------------|----------|
74
+ | **Jest** | RN | ⚡⚡⚡ | ⚡⚡⚡ | Unit tests, logic |
75
+ | **RNTL** | RN | ⚡⚡⚡ | ⚡⚡ | Component tests |
76
+ | **flutter_test** | Flutter | ⚡⚡⚡ | ⚡⚡⚡ | Widget tests |
77
+ | **Detox** | RN | ⚡⚡ | ⚡⚡⚡ | E2E, critical flows |
78
+ | **Maestro** | Both | ⚡⚡ | ⚡⚡ | E2E, cross-platform |
79
+ | **Appium** | Both | ⚡ | ⚡ | Legacy, last resort |
80
+
81
+ ---
82
+
83
+ ## 2. Testing Pyramid for Mobile
84
+
85
+ ```
86
+ ┌───────────────┐
87
+ │ E2E Tests │ 10%
88
+ │ (Real device) │ Slow, expensive, essential
89
+ ├───────────────┤
90
+ │ Integration │ 20%
91
+ │ Tests │ Component + context
92
+ ├───────────────┤
93
+ │ Component │ 30%
94
+ │ Tests │ Isolated UI
95
+ ├───────────────┤
96
+ │ Unit Tests │ 40%
97
+ │ (Jest) │ Pure logic
98
+ └───────────────┘
99
+ ```
100
+
101
+ ### Why This Distribution?
102
+
103
+ | Level | Why This % |
104
+ |-------|------------|
105
+ | **E2E 10%** | Slow, flaky, but catches integration bugs |
106
+ | **Integration 20%** | Tests real user flows without full app |
107
+ | **Component 30%** | Fast feedback on UI changes |
108
+ | **Unit 40%** | Fastest, most stable, logic coverage |
109
+
110
+ > 🔴 **If you have 90% unit tests and 0% E2E, you're testing the wrong things.**
111
+
112
+ ---
113
+
114
+ ## 3. What to Test at Each Level
115
+
116
+ ### Unit Tests (Jest)
117
+
118
+ ```
119
+ ✅ TEST:
120
+ ├── Utility functions (formatDate, calculatePrice)
121
+ ├── State reducers (Redux, Zustand stores)
122
+ ├── API response transformers
123
+ ├── Validation logic
124
+ └── Business rules
125
+
126
+ ❌ DON'T TEST:
127
+ ├── Component rendering (use component tests)
128
+ ├── Navigation (use integration tests)
129
+ ├── Native modules (mock them)
130
+ └── Third-party libraries
131
+ ```
132
+
133
+ ### Component Tests (RNTL / flutter_test)
134
+
135
+ ```
136
+ ✅ TEST:
137
+ ├── Component renders correctly
138
+ ├── User interactions (tap, type, swipe)
139
+ ├── Loading/error/empty states
140
+ ├── Accessibility labels exist
141
+ └── Props change behavior
142
+
143
+ ❌ DON'T TEST:
144
+ ├── Internal implementation details
145
+ ├── Snapshot everything (only key components)
146
+ ├── Styling specifics (brittle)
147
+ └── Third-party component internals
148
+ ```
149
+
150
+ ### Integration Tests
151
+
152
+ ```
153
+ ✅ TEST:
154
+ ├── Form submission flows
155
+ ├── Navigation between screens
156
+ ├── State persistence across screens
157
+ ├── API integration (with mocked server)
158
+ └── Context/provider interactions
159
+
160
+ ❌ DON'T TEST:
161
+ ├── Every possible path (use unit tests)
162
+ ├── Third-party services (mock them)
163
+ └── Backend logic (backend tests)
164
+ ```
165
+
166
+ ### E2E Tests
167
+
168
+ ```
169
+ ✅ TEST:
170
+ ├── Critical user journeys (login, purchase, signup)
171
+ ├── Offline → online transitions
172
+ ├── Deep link handling
173
+ ├── Push notification navigation
174
+ ├── Permission flows
175
+ └── Payment flows
176
+
177
+ ❌ DON'T TEST:
178
+ ├── Every edge case (too slow)
179
+ ├── Visual regression (use snapshot tests)
180
+ ├── Non-critical features
181
+ └── Backend-only logic
182
+ ```
183
+
184
+ ---
185
+
186
+ ## 4. Platform-Specific Testing
187
+
188
+ ### What Differs Between iOS and Android?
189
+
190
+ | Area | iOS Behavior | Android Behavior | Test Both? |
191
+ |------|--------------|------------------|------------|
192
+ | **Back navigation** | Edge swipe | System back button | ✅ YES |
193
+ | **Permissions** | Ask once, settings | Ask each time, rationale | ✅ YES |
194
+ | **Keyboard** | Different appearance | Different behavior | ✅ YES |
195
+ | **Date picker** | Wheel/modal | Material dialog | ⚠️ If custom UI |
196
+ | **Push format** | APNs payload | FCM payload | ✅ YES |
197
+ | **Deep links** | Universal Links | App Links | ✅ YES |
198
+ | **Gestures** | Some unique | Material gestures | ⚠️ If custom |
199
+
200
+ ### Platform Testing Strategy
201
+
202
+ ```
203
+ FOR EACH PLATFORM:
204
+ ├── Run unit tests (same on both)
205
+ ├── Run component tests (same on both)
206
+ ├── Run E2E on REAL DEVICE
207
+ │ ├── iOS: iPhone (not just simulator)
208
+ │ └── Android: Mid-range device (not flagship)
209
+ └── Test platform-specific features separately
210
+ ```
211
+
212
+ ---
213
+
214
+ ## 5. Offline & Network Testing
215
+
216
+ ### Offline Scenarios to Test
217
+
218
+ | Scenario | What to Verify |
219
+ |----------|----------------|
220
+ | Start app offline | Shows cached data or offline message |
221
+ | Go offline mid-action | Action queued, not lost |
222
+ | Come back online | Queue synced, no duplicates |
223
+ | Slow network (2G) | Loading states, timeouts work |
224
+ | Flaky network | Retry logic, error recovery |
225
+
226
+ ### How to Test Network Conditions
227
+
228
+ ```
229
+ APPROACH:
230
+ ├── Unit tests: Mock NetInfo, test logic
231
+ ├── Integration: Mock API responses, test UI
232
+ ├── E2E (Detox): Use device.setURLBlacklist()
233
+ ├── E2E (Maestro): Use network conditions
234
+ └── Manual: Use Charles Proxy / Network Link Conditioner
235
+ ```
236
+
237
+ ---
238
+
239
+ ## 6. Performance Testing
240
+
241
+ ### What to Measure
242
+
243
+ | Metric | Target | How to Measure |
244
+ |--------|--------|----------------|
245
+ | **App startup** | < 2 seconds | Profiler, Flashlight |
246
+ | **Screen transition** | < 300ms | React DevTools |
247
+ | **List scroll** | 60 FPS | Profiler, feel |
248
+ | **Memory** | Stable, no leaks | Instruments / Android Profiler |
249
+ | **Bundle size** | Minimize | Metro bundler analysis |
250
+
251
+ ### When to Performance Test
252
+
253
+ ```
254
+ PERFORMANCE TEST:
255
+ ├── Before release (required)
256
+ ├── After adding heavy features
257
+ ├── After upgrading dependencies
258
+ ├── When users report slowness
259
+ └── On CI (optional, automated benchmarks)
260
+
261
+ WHERE TO TEST:
262
+ ├── Real device (REQUIRED)
263
+ ├── Low-end device (Galaxy A series, old iPhone)
264
+ ├── NOT on emulator (lies about performance)
265
+ └── With production-like data (not 3 items)
266
+ ```
267
+
268
+ ---
269
+
270
+ ## 7. Accessibility Testing
271
+
272
+ ### What to Verify
273
+
274
+ | Element | Check |
275
+ |---------|-------|
276
+ | Interactive elements | Have accessibilityLabel |
277
+ | Images | Have alt text or decorative flag |
278
+ | Forms | Labels linked to inputs |
279
+ | Buttons | Role = button |
280
+ | Touch targets | ≥ 44x44 (iOS) / 48x48 (Android) |
281
+ | Color contrast | WCAG AA minimum |
282
+
283
+ ### How to Test
284
+
285
+ ```
286
+ AUTOMATED:
287
+ ├── React Native: jest-axe
288
+ ├── Flutter: Accessibility checker in tests
289
+ └── Lint rules for missing labels
290
+
291
+ MANUAL:
292
+ ├── Enable VoiceOver (iOS) / TalkBack (Android)
293
+ ├── Navigate entire app with screen reader
294
+ ├── Test with increased text size
295
+ └── Test with reduced motion
296
+ ```
297
+
298
+ ---
299
+
300
+ ## 8. CI/CD Integration
301
+
302
+ ### What to Run Where
303
+
304
+ | Stage | Tests | Devices |
305
+ |-------|-------|---------|
306
+ | **PR** | Unit + Component | None (fast) |
307
+ | **Merge to main** | + Integration | Simulator/Emulator |
308
+ | **Pre-release** | + E2E | Real devices (farm) |
309
+ | **Nightly** | Full suite | Device farm |
310
+
311
+ ### Device Farm Options
312
+
313
+ | Service | Pros | Cons |
314
+ |---------|------|------|
315
+ | **Firebase Test Lab** | Free tier, Google devices | Android focus |
316
+ | **AWS Device Farm** | Wide selection | Expensive |
317
+ | **BrowserStack** | Good UX | Expensive |
318
+ | **Local devices** | Free, reliable | Limited variety |
319
+
320
+ ---
321
+
322
+ ## 📝 MOBILE TESTING CHECKLIST
323
+
324
+ ### Before PR
325
+ - [ ] Unit tests for new logic
326
+ - [ ] Component tests for new UI
327
+ - [ ] No console.logs in tests
328
+ - [ ] Tests pass on CI
329
+
330
+ ### Before Release
331
+ - [ ] E2E on real iOS device
332
+ - [ ] E2E on real Android device
333
+ - [ ] Tested on low-end device
334
+ - [ ] Offline scenarios verified
335
+ - [ ] Performance acceptable
336
+ - [ ] Accessibility verified
337
+
338
+ ### What to Skip (Consciously)
339
+ - [ ] 100% coverage (aim for meaningful coverage)
340
+ - [ ] Every visual permutation (use snapshots sparingly)
341
+ - [ ] Third-party library internals
342
+ - [ ] Backend logic (separate tests)
343
+
344
+ ---
345
+
346
+ ## 🎯 Testing Questions to Ask
347
+
348
+ Before writing tests, answer:
349
+
350
+ 1. **What could break?** → Test that
351
+ 2. **What's critical for users?** → E2E test that
352
+ 3. **What's complex logic?** → Unit test that
353
+ 4. **What's platform-specific?** → Test on both platforms
354
+ 5. **What happens offline?** → Test that scenario
355
+
356
+ > **Remember:** Good mobile testing is about testing the RIGHT things, not EVERYTHING. A flaky E2E test is worse than no test. A failing unit test that catches a bug is worth 100 passing trivial tests.