@oriro/orirocli 0.1.8 → 0.1.11

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 (1445) hide show
  1. package/ATTRIBUTION.md +53 -45
  2. package/LICENSE +21 -0
  3. package/README.md +20 -17
  4. package/dist/cli.js +4425 -2975
  5. package/package.json +64 -64
  6. package/skills/1password/SKILL.md +118 -118
  7. package/skills/1password/references/cli-examples.md +29 -29
  8. package/skills/1password/references/get-started.md +21 -21
  9. package/skills/21stdev/SKILL.md +64 -0
  10. package/skills/algorithmic-art/LICENSE +21 -21
  11. package/skills/algorithmic-art/SKILL.md +446 -446
  12. package/skills/algorithmic-art/templates/generator_template.js +223 -223
  13. package/skills/algorithmic-art/templates/viewer.html +598 -598
  14. package/skills/apple-notes/SKILL.md +81 -81
  15. package/skills/apple-reminders/SKILL.md +122 -122
  16. package/skills/bear-notes/SKILL.md +111 -111
  17. package/skills/blogwatcher/SKILL.md +73 -73
  18. package/skills/blucli/SKILL.md +51 -51
  19. package/skills/brand-guidelines/LICENSE +21 -21
  20. package/skills/brand-guidelines/SKILL.md +76 -76
  21. package/skills/business/biz-analysis/LICENSE +21 -21
  22. package/skills/business/biz-analysis/SKILL.md +103 -103
  23. package/skills/business/biz-corporate-strategy/LICENSE +21 -21
  24. package/skills/business/biz-corporate-strategy/SKILL.md +76 -76
  25. package/skills/business/biz-customer-success/LICENSE +21 -21
  26. package/skills/business/biz-customer-success/SKILL.md +55 -55
  27. package/skills/business/biz-entrepreneurship/LICENSE +21 -21
  28. package/skills/business/biz-entrepreneurship/SKILL.md +72 -72
  29. package/skills/business/biz-hr/LICENSE +21 -21
  30. package/skills/business/biz-hr/SKILL.md +67 -67
  31. package/skills/business/biz-international/LICENSE +21 -21
  32. package/skills/business/biz-international/SKILL.md +51 -51
  33. package/skills/business/biz-leadership/LICENSE +21 -21
  34. package/skills/business/biz-leadership/SKILL.md +106 -106
  35. package/skills/business/biz-marketing-strategy/LICENSE +21 -21
  36. package/skills/business/biz-marketing-strategy/SKILL.md +119 -119
  37. package/skills/business/biz-negotiation/LICENSE +21 -21
  38. package/skills/business/biz-negotiation/SKILL.md +152 -152
  39. package/skills/business/biz-operations/LICENSE +21 -21
  40. package/skills/business/biz-operations/SKILL.md +74 -74
  41. package/skills/business/biz-project/LICENSE +21 -21
  42. package/skills/business/biz-project/SKILL.md +203 -203
  43. package/skills/business/biz-risk/LICENSE +21 -21
  44. package/skills/business/biz-risk/SKILL.md +85 -85
  45. package/skills/business/biz-sales/LICENSE +21 -21
  46. package/skills/business/biz-sales/SKILL.md +92 -92
  47. package/skills/business/biz-startup-ops/LICENSE +21 -21
  48. package/skills/business/biz-startup-ops/SKILL.md +70 -70
  49. package/skills/business/biz-strategy/LICENSE +21 -21
  50. package/skills/business/biz-strategy/SKILL.md +233 -233
  51. package/skills/business/biz-supply-chain-advanced/LICENSE +21 -21
  52. package/skills/business/biz-supply-chain-advanced/SKILL.md +68 -68
  53. package/skills/business/fin-chartered-exams/LICENSE +21 -21
  54. package/skills/business/fin-chartered-exams/SKILL.md +69 -69
  55. package/skills/camsnap/SKILL.md +49 -49
  56. package/skills/canvas/SKILL.md +82 -82
  57. package/skills/canvas-design/LICENSE +21 -21
  58. package/skills/canvas-design/SKILL.md +140 -140
  59. package/skills/canvas-design/canvas-fonts/ArsenalSC-OFL.txt +93 -93
  60. package/skills/canvas-design/canvas-fonts/BigShoulders-OFL.txt +93 -93
  61. package/skills/canvas-design/canvas-fonts/Boldonse-OFL.txt +93 -93
  62. package/skills/canvas-design/canvas-fonts/BricolageGrotesque-OFL.txt +93 -93
  63. package/skills/canvas-design/canvas-fonts/CrimsonPro-OFL.txt +93 -93
  64. package/skills/canvas-design/canvas-fonts/DMMono-OFL.txt +93 -93
  65. package/skills/canvas-design/canvas-fonts/EricaOne-OFL.txt +94 -94
  66. package/skills/canvas-design/canvas-fonts/GeistMono-OFL.txt +93 -93
  67. package/skills/canvas-design/canvas-fonts/Gloock-OFL.txt +93 -93
  68. package/skills/canvas-design/canvas-fonts/IBMPlexMono-OFL.txt +93 -93
  69. package/skills/canvas-design/canvas-fonts/InstrumentSans-OFL.txt +93 -93
  70. package/skills/canvas-design/canvas-fonts/JetBrainsMono-OFL.txt +93 -93
  71. package/skills/canvas-design/canvas-fonts/Jura-OFL.txt +93 -93
  72. package/skills/canvas-design/canvas-fonts/LibreBaskerville-OFL.txt +93 -93
  73. package/skills/canvas-design/canvas-fonts/Lora-OFL.txt +93 -93
  74. package/skills/canvas-design/canvas-fonts/NationalPark-OFL.txt +93 -93
  75. package/skills/canvas-design/canvas-fonts/Outfit-OFL.txt +93 -93
  76. package/skills/canvas-design/canvas-fonts/PixelifySans-OFL.txt +93 -93
  77. package/skills/canvas-design/canvas-fonts/RedHatMono-OFL.txt +93 -93
  78. package/skills/canvas-design/canvas-fonts/Silkscreen-OFL.txt +93 -93
  79. package/skills/canvas-design/canvas-fonts/SmoochSans-OFL.txt +93 -93
  80. package/skills/canvas-design/canvas-fonts/Tektur-OFL.txt +93 -93
  81. package/skills/canvas-design/canvas-fonts/WorkSans-OFL.txt +93 -93
  82. package/skills/canvas-design/canvas-fonts/YoungSerif-OFL.txt +93 -93
  83. package/skills/coding-agent/SKILL.md +146 -146
  84. package/skills/communication/comm-business-writing/LICENSE +21 -21
  85. package/skills/communication/comm-business-writing/SKILL.md +67 -67
  86. package/skills/communication/comm-cross-cultural/LICENSE +21 -21
  87. package/skills/communication/comm-cross-cultural/SKILL.md +88 -88
  88. package/skills/communication/comm-journalism/LICENSE +21 -21
  89. package/skills/communication/comm-journalism/SKILL.md +81 -81
  90. package/skills/communication/comm-linguistics/LICENSE +21 -21
  91. package/skills/communication/comm-linguistics/SKILL.md +82 -82
  92. package/skills/communication/comm-negotiation/LICENSE +21 -21
  93. package/skills/communication/comm-negotiation/SKILL.md +120 -120
  94. package/skills/communication/comm-presentations/LICENSE +21 -21
  95. package/skills/communication/comm-presentations/SKILL.md +93 -93
  96. package/skills/communication/comm-public-speaking/LICENSE +21 -21
  97. package/skills/communication/comm-public-speaking/SKILL.md +68 -68
  98. package/skills/communication/comm-writing/LICENSE +21 -21
  99. package/skills/communication/comm-writing/SKILL.md +69 -69
  100. package/skills/craft/ai-engineering/LICENSE +21 -21
  101. package/skills/craft/ai-engineering/SKILL.md +828 -828
  102. package/skills/craft/app-builder-guide/LICENSE +21 -21
  103. package/skills/craft/app-builder-guide/SKILL.md +332 -332
  104. package/skills/craft/become-an-ai-engineer-26/CONTRIBUTING.md +46 -46
  105. package/skills/craft/become-an-ai-engineer-26/LICENSE +21 -21
  106. package/skills/craft/become-an-ai-engineer-26/README.md +270 -270
  107. package/skills/craft/become-an-ai-engineer-26/SKILL.md +667 -667
  108. package/skills/craft/become-an-ai-engineer-26/community/BUILDS.md +13 -13
  109. package/skills/craft/become-an-ai-engineer-26/community/DISCUSSIONS.md +8 -8
  110. package/skills/craft/become-an-ai-engineer-26/phases/phase-0-mental-models/README.md +14 -14
  111. package/skills/craft/become-an-ai-engineer-26/phases/phase-0-mental-models/project/TEMPLATE.md +33 -33
  112. package/skills/craft/become-an-ai-engineer-26/phases/phase-1-first-agent/README.md +25 -25
  113. package/skills/craft/become-an-ai-engineer-26/phases/phase-1-first-agent/code/raw_loop.py +126 -126
  114. package/skills/craft/become-an-ai-engineer-26/phases/phase-2-architecture/README.md +17 -17
  115. package/skills/craft/become-an-ai-engineer-26/phases/phase-3-harness/README.md +17 -17
  116. package/skills/craft/become-an-ai-engineer-26/phases/phase-4-evals/README.md +21 -21
  117. package/skills/craft/become-an-ai-engineer-26/phases/phase-4-evals/code/.github/workflows/eval.yml +40 -40
  118. package/skills/craft/become-an-ai-engineer-26/phases/phase-5-production/README.md +16 -16
  119. package/skills/craft/become-an-ai-engineer-26/projects/1-mobile-app-slm/README.md +11 -11
  120. package/skills/craft/become-an-ai-engineer-26/projects/2-self-improving-coder/README.md +11 -11
  121. package/skills/craft/become-an-ai-engineer-26/projects/3-video-editor-agent/README.md +11 -11
  122. package/skills/craft/become-an-ai-engineer-26/projects/4-personal-life-os/README.md +12 -12
  123. package/skills/craft/become-an-ai-engineer-26/projects/5-enterprise-workflow/README.md +12 -12
  124. package/skills/craft/become-an-ai-engineer-26/references/benchmark-numbers.md +41 -41
  125. package/skills/craft/become-an-ai-engineer-26/references/mhc-stable-training.md +73 -73
  126. package/skills/craft/become-an-ai-engineer-26/references/stack-decisions.md +37 -37
  127. package/skills/craft/become-an-ai-engineer-26/references/yarn-context-extension.md +123 -123
  128. package/skills/craft/codex-result-handling/LICENSE +21 -21
  129. package/skills/craft/codex-result-handling/SKILL.md +26 -26
  130. package/skills/craft/debug-and-build-methodology/LICENSE +21 -21
  131. package/skills/craft/debug-and-build-methodology/SKILL.md +432 -432
  132. package/skills/craft/design/LICENSE +21 -21
  133. package/skills/craft/design/SKILL.md +274 -274
  134. package/skills/craft/dev/LICENSE +21 -21
  135. package/skills/craft/dev/SKILL.md +12 -12
  136. package/skills/craft/dev/release.md +85 -85
  137. package/skills/craft/dev/roll.md +50 -50
  138. package/skills/craft/doc-coauthoring/LICENSE +21 -21
  139. package/skills/craft/doc-coauthoring/SKILL.md +397 -397
  140. package/skills/craft/focus/LICENSE +21 -21
  141. package/skills/craft/focus/SKILL.md +432 -432
  142. package/skills/craft/focus/UPSTREAM_README.md +233 -233
  143. package/skills/craft/gh/LICENSE +21 -21
  144. package/skills/craft/gh/SKILL.md +84 -84
  145. package/skills/craft/gh-skill/LICENSE +21 -21
  146. package/skills/craft/gh-skill/SKILL.md +121 -121
  147. package/skills/craft/godmode/LICENSE +21 -21
  148. package/skills/craft/godmode/SKILL.md +87 -87
  149. package/skills/craft/godmode/references/android-launch.md +680 -680
  150. package/skills/craft/godmode/references/data-gcp.md +1038 -1038
  151. package/skills/craft/godmode/references/expo-eas.md +816 -816
  152. package/skills/craft/godmode/references/ios-launch.md +734 -734
  153. package/skills/craft/google-ai-latest/LICENSE +21 -21
  154. package/skills/craft/google-ai-latest/SKILL.md +682 -682
  155. package/skills/craft/gpt-5-4-prompting/LICENSE +21 -21
  156. package/skills/craft/gpt-5-4-prompting/SKILL.md +63 -63
  157. package/skills/craft/gpt-5-4-prompting/references/codex-prompt-antipatterns.md +101 -101
  158. package/skills/craft/gpt-5-4-prompting/references/codex-prompt-recipes.md +150 -150
  159. package/skills/craft/gpt-5-4-prompting/references/prompt-blocks.md +172 -172
  160. package/skills/craft/grill-me/LICENSE +21 -21
  161. package/skills/craft/grill-me/SKILL.md +13 -13
  162. package/skills/craft/idea-to-deploy/LICENSE +21 -21
  163. package/skills/craft/idea-to-deploy/SKILL.md +292 -292
  164. package/skills/craft/idea-to-deploy/references/auth-playbook.md +195 -195
  165. package/skills/craft/idea-to-deploy/references/gcp-deployment.md +268 -268
  166. package/skills/craft/idea-to-deploy/references/stack-selection.md +117 -117
  167. package/skills/craft/image-generation-engineer/LICENSE +21 -21
  168. package/skills/craft/image-generation-engineer/SKILL.md +183 -183
  169. package/skills/craft/image-generation-engineer/references/architectures.md +260 -260
  170. package/skills/craft/image-generation-engineer/references/foundations.md +107 -107
  171. package/skills/craft/image-generation-engineer/references/inference-and-serving.md +253 -253
  172. package/skills/craft/image-generation-engineer/references/training.md +149 -149
  173. package/skills/craft/marketing/LICENSE +21 -21
  174. package/skills/craft/marketing/SKILL.md +1954 -1954
  175. package/skills/craft/master-architect/LICENSE +21 -21
  176. package/skills/craft/master-architect/SKILL.md +361 -361
  177. package/skills/craft/master-architect/references/ai-ml.md +317 -317
  178. package/skills/craft/master-architect/references/architecture.md +268 -268
  179. package/skills/craft/master-architect/references/auth-playbook.md +195 -195
  180. package/skills/craft/master-architect/references/cloud.md +323 -323
  181. package/skills/craft/master-architect/references/cyber.md +839 -839
  182. package/skills/craft/master-architect/references/data-eng.md +366 -366
  183. package/skills/craft/master-architect/references/devops.md +550 -550
  184. package/skills/craft/master-architect/references/gcp-deployment.md +268 -268
  185. package/skills/craft/master-architect/references/languages.md +748 -748
  186. package/skills/craft/master-architect/references/legacy.md +240 -240
  187. package/skills/craft/master-architect/references/mobile.md +447 -447
  188. package/skills/craft/master-architect/references/patterns.md +451 -451
  189. package/skills/craft/master-architect/references/saas-patterns.md +379 -379
  190. package/skills/craft/master-architect/references/sdlc.md +349 -349
  191. package/skills/craft/master-architect/references/stack-selection.md +117 -117
  192. package/skills/craft/oriro-ui-2026/LICENSE +21 -21
  193. package/skills/craft/oriro-ui-2026/SKILL.md +329 -329
  194. package/skills/craft/playwright-cli/LICENSE +21 -21
  195. package/skills/craft/playwright-cli/SKILL.md +393 -393
  196. package/skills/craft/playwright-cli/references/element-attributes.md +23 -23
  197. package/skills/craft/playwright-cli/references/playwright-tests.md +39 -39
  198. package/skills/craft/playwright-cli/references/request-mocking.md +87 -87
  199. package/skills/craft/playwright-cli/references/running-code.md +240 -240
  200. package/skills/craft/playwright-cli/references/session-management.md +226 -226
  201. package/skills/craft/playwright-cli/references/spec-driven-testing.md +312 -312
  202. package/skills/craft/playwright-cli/references/storage-state.md +275 -275
  203. package/skills/craft/playwright-cli/references/test-generation.md +134 -134
  204. package/skills/craft/playwright-cli/references/tracing.md +142 -142
  205. package/skills/craft/playwright-cli/references/video-recording.md +150 -150
  206. package/skills/craft/remotion-best-practices/LICENSE +21 -21
  207. package/skills/craft/remotion-best-practices/SKILL.md +345 -345
  208. package/skills/craft/remotion-best-practices/rules/3d.md +86 -86
  209. package/skills/craft/remotion-best-practices/rules/assets/charts-bar-chart.tsx +165 -165
  210. package/skills/craft/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +89 -89
  211. package/skills/craft/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +101 -101
  212. package/skills/craft/remotion-best-practices/rules/audio-visualization.md +195 -195
  213. package/skills/craft/remotion-best-practices/rules/audio.md +167 -167
  214. package/skills/craft/remotion-best-practices/rules/calculate-metadata.md +118 -118
  215. package/skills/craft/remotion-best-practices/rules/compositions.md +132 -132
  216. package/skills/craft/remotion-best-practices/rules/display-captions.md +176 -176
  217. package/skills/craft/remotion-best-practices/rules/ffmpeg.md +34 -34
  218. package/skills/craft/remotion-best-practices/rules/get-audio-duration.md +58 -58
  219. package/skills/craft/remotion-best-practices/rules/get-video-dimensions.md +68 -68
  220. package/skills/craft/remotion-best-practices/rules/get-video-duration.md +60 -60
  221. package/skills/craft/remotion-best-practices/rules/gifs.md +135 -135
  222. package/skills/craft/remotion-best-practices/rules/google-fonts.md +72 -72
  223. package/skills/craft/remotion-best-practices/rules/html-in-canvas.md +122 -122
  224. package/skills/craft/remotion-best-practices/rules/images.md +67 -67
  225. package/skills/craft/remotion-best-practices/rules/import-srt-captions.md +69 -69
  226. package/skills/craft/remotion-best-practices/rules/light-leaks.md +73 -73
  227. package/skills/craft/remotion-best-practices/rules/local-fonts.md +65 -65
  228. package/skills/craft/remotion-best-practices/rules/lottie.md +67 -67
  229. package/skills/craft/remotion-best-practices/rules/maplibre.md +441 -441
  230. package/skills/craft/remotion-best-practices/rules/measuring-dom-nodes.md +34 -34
  231. package/skills/craft/remotion-best-practices/rules/measuring-text.md +140 -140
  232. package/skills/craft/remotion-best-practices/rules/parameters.md +109 -109
  233. package/skills/craft/remotion-best-practices/rules/sequencing.md +144 -144
  234. package/skills/craft/remotion-best-practices/rules/sfx.md +30 -30
  235. package/skills/craft/remotion-best-practices/rules/silence-detection.md +73 -73
  236. package/skills/craft/remotion-best-practices/rules/subtitles.md +36 -36
  237. package/skills/craft/remotion-best-practices/rules/tailwind.md +11 -11
  238. package/skills/craft/remotion-best-practices/rules/text-animations.md +20 -20
  239. package/skills/craft/remotion-best-practices/rules/timing.md +130 -130
  240. package/skills/craft/remotion-best-practices/rules/transcribe-captions.md +70 -70
  241. package/skills/craft/remotion-best-practices/rules/transitions.md +193 -193
  242. package/skills/craft/remotion-best-practices/rules/transparent-videos.md +102 -102
  243. package/skills/craft/remotion-best-practices/rules/trimming.md +51 -51
  244. package/skills/craft/remotion-best-practices/rules/videos.md +169 -169
  245. package/skills/craft/remotion-best-practices/rules/voiceover.md +94 -94
  246. package/skills/craft/supabase-postgres-best-practices/CHANGELOG.md +25 -25
  247. package/skills/craft/supabase-postgres-best-practices/LICENSE +21 -21
  248. package/skills/craft/supabase-postgres-best-practices/SKILL.md +69 -69
  249. package/skills/craft/supabase-postgres-best-practices/references/_contributing.md +166 -166
  250. package/skills/craft/supabase-postgres-best-practices/references/_sections.md +47 -47
  251. package/skills/craft/supabase-postgres-best-practices/references/_template.md +34 -34
  252. package/skills/craft/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -55
  253. package/skills/craft/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -49
  254. package/skills/craft/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -46
  255. package/skills/craft/supabase-postgres-best-practices/references/conn-limits.md +44 -44
  256. package/skills/craft/supabase-postgres-best-practices/references/conn-pooling.md +41 -41
  257. package/skills/craft/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -46
  258. package/skills/craft/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -54
  259. package/skills/craft/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -53
  260. package/skills/craft/supabase-postgres-best-practices/references/data-pagination.md +50 -50
  261. package/skills/craft/supabase-postgres-best-practices/references/data-upsert.md +50 -50
  262. package/skills/craft/supabase-postgres-best-practices/references/lock-advisory.md +56 -56
  263. package/skills/craft/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -68
  264. package/skills/craft/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -50
  265. package/skills/craft/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -54
  266. package/skills/craft/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -45
  267. package/skills/craft/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -55
  268. package/skills/craft/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -55
  269. package/skills/craft/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -44
  270. package/skills/craft/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -40
  271. package/skills/craft/supabase-postgres-best-practices/references/query-index-types.md +48 -48
  272. package/skills/craft/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -43
  273. package/skills/craft/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -45
  274. package/skills/craft/supabase-postgres-best-practices/references/schema-constraints.md +80 -80
  275. package/skills/craft/supabase-postgres-best-practices/references/schema-data-types.md +46 -46
  276. package/skills/craft/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -59
  277. package/skills/craft/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -55
  278. package/skills/craft/supabase-postgres-best-practices/references/schema-partitioning.md +55 -55
  279. package/skills/craft/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -61
  280. package/skills/craft/supabase-postgres-best-practices/references/security-privileges.md +54 -54
  281. package/skills/craft/supabase-postgres-best-practices/references/security-rls-basics.md +50 -50
  282. package/skills/craft/supabase-postgres-best-practices/references/security-rls-performance.md +63 -63
  283. package/skills/craft/uipm-banner-design/LICENSE +21 -21
  284. package/skills/craft/uipm-banner-design/SKILL.md +201 -201
  285. package/skills/craft/uipm-banner-design/references/banner-sizes-and-styles.md +129 -129
  286. package/skills/craft/uipm-brand/LICENSE +21 -21
  287. package/skills/craft/uipm-brand/SKILL.md +104 -104
  288. package/skills/craft/uipm-brand/references/approval-checklist.md +184 -184
  289. package/skills/craft/uipm-brand/references/asset-organization.md +167 -167
  290. package/skills/craft/uipm-brand/references/brand-guideline-template.md +161 -161
  291. package/skills/craft/uipm-brand/references/color-palette-management.md +203 -203
  292. package/skills/craft/uipm-brand/references/consistency-checklist.md +105 -105
  293. package/skills/craft/uipm-brand/references/logo-usage-rules.md +204 -204
  294. package/skills/craft/uipm-brand/references/messaging-framework.md +91 -91
  295. package/skills/craft/uipm-brand/references/typography-specifications.md +265 -265
  296. package/skills/craft/uipm-brand/references/update.md +128 -128
  297. package/skills/craft/uipm-brand/references/visual-identity.md +109 -109
  298. package/skills/craft/uipm-brand/references/voice-framework.md +99 -99
  299. package/skills/craft/uipm-brand/scripts/extract-colors.cjs +333 -333
  300. package/skills/craft/uipm-brand/scripts/inject-brand-context.cjs +324 -324
  301. package/skills/craft/uipm-brand/scripts/sync-brand-to-tokens.cjs +269 -269
  302. package/skills/craft/uipm-brand/scripts/validate-asset.cjs +361 -361
  303. package/skills/craft/uipm-brand/templates/brand-guidelines-starter.md +280 -280
  304. package/skills/craft/uipm-design/LICENSE +21 -21
  305. package/skills/craft/uipm-design/SKILL.md +305 -305
  306. package/skills/craft/uipm-design/data/cip/deliverables.csv +50 -50
  307. package/skills/craft/uipm-design/data/cip/industries.csv +20 -20
  308. package/skills/craft/uipm-design/data/cip/mockup-contexts.csv +20 -20
  309. package/skills/craft/uipm-design/data/cip/styles.csv +20 -20
  310. package/skills/craft/uipm-design/data/icon/styles.csv +16 -16
  311. package/skills/craft/uipm-design/data/logo/colors.csv +56 -56
  312. package/skills/craft/uipm-design/data/logo/industries.csv +56 -56
  313. package/skills/craft/uipm-design/data/logo/styles.csv +56 -56
  314. package/skills/craft/uipm-design/references/banner-sizes-and-styles.md +129 -129
  315. package/skills/craft/uipm-design/references/cip-deliverable-guide.md +111 -111
  316. package/skills/craft/uipm-design/references/cip-design.md +121 -121
  317. package/skills/craft/uipm-design/references/cip-prompt-engineering.md +94 -94
  318. package/skills/craft/uipm-design/references/cip-style-guide.md +76 -76
  319. package/skills/craft/uipm-design/references/design-routing.md +226 -226
  320. package/skills/craft/uipm-design/references/icon-design.md +122 -122
  321. package/skills/craft/uipm-design/references/logo-color-psychology.md +113 -113
  322. package/skills/craft/uipm-design/references/logo-design.md +92 -92
  323. package/skills/craft/uipm-design/references/logo-prompt-engineering.md +176 -176
  324. package/skills/craft/uipm-design/references/logo-style-guide.md +129 -129
  325. package/skills/craft/uipm-design/references/slides-copywriting-formulas.md +92 -92
  326. package/skills/craft/uipm-design/references/slides-create.md +5 -5
  327. package/skills/craft/uipm-design/references/slides-html-template.md +374 -374
  328. package/skills/craft/uipm-design/references/slides-layout-patterns.md +155 -155
  329. package/skills/craft/uipm-design/references/slides-strategies.md +97 -97
  330. package/skills/craft/uipm-design/references/slides.md +42 -42
  331. package/skills/craft/uipm-design/references/social-photos-design.md +353 -353
  332. package/skills/craft/uipm-design/scripts/cip/core.py +215 -215
  333. package/skills/craft/uipm-design/scripts/cip/generate.py +484 -484
  334. package/skills/craft/uipm-design/scripts/cip/render-html.py +424 -424
  335. package/skills/craft/uipm-design/scripts/cip/search.py +127 -127
  336. package/skills/craft/uipm-design/scripts/icon/generate.py +487 -487
  337. package/skills/craft/uipm-design/scripts/logo/core.py +175 -175
  338. package/skills/craft/uipm-design/scripts/logo/generate.py +362 -362
  339. package/skills/craft/uipm-design/scripts/logo/search.py +114 -114
  340. package/skills/craft/uipm-design-system/LICENSE +21 -21
  341. package/skills/craft/uipm-design-system/SKILL.md +255 -255
  342. package/skills/craft/uipm-design-system/data/slide-backgrounds.csv +11 -11
  343. package/skills/craft/uipm-design-system/data/slide-charts.csv +26 -26
  344. package/skills/craft/uipm-design-system/data/slide-color-logic.csv +14 -14
  345. package/skills/craft/uipm-design-system/data/slide-copy.csv +26 -26
  346. package/skills/craft/uipm-design-system/data/slide-layout-logic.csv +16 -16
  347. package/skills/craft/uipm-design-system/data/slide-layouts.csv +26 -26
  348. package/skills/craft/uipm-design-system/data/slide-strategies.csv +16 -16
  349. package/skills/craft/uipm-design-system/data/slide-typography.csv +15 -15
  350. package/skills/craft/uipm-design-system/references/component-specs.md +236 -236
  351. package/skills/craft/uipm-design-system/references/component-tokens.md +214 -214
  352. package/skills/craft/uipm-design-system/references/primitive-tokens.md +199 -199
  353. package/skills/craft/uipm-design-system/references/semantic-tokens.md +215 -215
  354. package/skills/craft/uipm-design-system/references/states-and-variants.md +243 -243
  355. package/skills/craft/uipm-design-system/references/tailwind-integration.md +257 -257
  356. package/skills/craft/uipm-design-system/references/token-architecture.md +226 -226
  357. package/skills/craft/uipm-design-system/scripts/embed-tokens.cjs +97 -97
  358. package/skills/craft/uipm-design-system/scripts/fetch-background.py +317 -317
  359. package/skills/craft/uipm-design-system/scripts/generate-slide.py +753 -753
  360. package/skills/craft/uipm-design-system/scripts/generate-tokens.cjs +213 -213
  361. package/skills/craft/uipm-design-system/scripts/html-token-validator.py +327 -327
  362. package/skills/craft/uipm-design-system/scripts/search-slides.py +218 -218
  363. package/skills/craft/uipm-design-system/scripts/slide-token-validator.py +35 -35
  364. package/skills/craft/uipm-design-system/scripts/slide_search_core.py +453 -453
  365. package/skills/craft/uipm-design-system/scripts/validate-tokens.cjs +254 -254
  366. package/skills/craft/uipm-design-system/templates/design-tokens-starter.json +143 -143
  367. package/skills/craft/uipm-slides/LICENSE +21 -21
  368. package/skills/craft/uipm-slides/SKILL.md +45 -45
  369. package/skills/craft/uipm-slides/references/copywriting-formulas.md +92 -92
  370. package/skills/craft/uipm-slides/references/create.md +5 -5
  371. package/skills/craft/uipm-slides/references/html-template.md +374 -374
  372. package/skills/craft/uipm-slides/references/layout-patterns.md +155 -155
  373. package/skills/craft/uipm-slides/references/slide-strategies.md +97 -97
  374. package/skills/craft/uipm-ui-ux-pro-max/LICENSE +21 -21
  375. package/skills/craft/uipm-ui-ux-pro-max/SKILL.md +678 -678
  376. package/skills/craft/uipm-ui-ux-pro-max/data/_sync_all.py +414 -414
  377. package/skills/craft/uipm-ui-ux-pro-max/data/app-interface.csv +30 -30
  378. package/skills/craft/uipm-ui-ux-pro-max/data/charts.csv +26 -26
  379. package/skills/craft/uipm-ui-ux-pro-max/data/colors.csv +161 -161
  380. package/skills/craft/uipm-ui-ux-pro-max/data/design.csv +1775 -1775
  381. package/skills/craft/uipm-ui-ux-pro-max/data/draft.csv +1778 -1778
  382. package/skills/craft/uipm-ui-ux-pro-max/data/google-fonts.csv +1924 -1924
  383. package/skills/craft/uipm-ui-ux-pro-max/data/icons.csv +105 -105
  384. package/skills/craft/uipm-ui-ux-pro-max/data/landing.csv +35 -35
  385. package/skills/craft/uipm-ui-ux-pro-max/data/products.csv +162 -162
  386. package/skills/craft/uipm-ui-ux-pro-max/data/react-performance.csv +45 -45
  387. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/angular.csv +51 -51
  388. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/astro.csv +54 -54
  389. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/flutter.csv +53 -53
  390. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -56
  391. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -53
  392. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/laravel.csv +51 -51
  393. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/nextjs.csv +53 -53
  394. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -51
  395. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -59
  396. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/react-native.csv +52 -52
  397. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/react.csv +54 -54
  398. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/shadcn.csv +61 -61
  399. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/svelte.csv +54 -54
  400. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/swiftui.csv +51 -51
  401. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/threejs.csv +54 -54
  402. package/skills/craft/uipm-ui-ux-pro-max/data/stacks/vue.csv +50 -50
  403. package/skills/craft/uipm-ui-ux-pro-max/data/styles.csv +85 -85
  404. package/skills/craft/uipm-ui-ux-pro-max/data/typography.csv +74 -74
  405. package/skills/craft/uipm-ui-ux-pro-max/data/ui-reasoning.csv +162 -162
  406. package/skills/craft/uipm-ui-ux-pro-max/data/ux-guidelines.csv +99 -99
  407. package/skills/craft/uipm-ui-ux-pro-max/scripts/core.py +262 -262
  408. package/skills/craft/uipm-ui-ux-pro-max/scripts/design_system.py +1148 -1148
  409. package/skills/craft/uipm-ui-ux-pro-max/scripts/search.py +114 -114
  410. package/skills/craft/uipm-ui-ux-pro-max/templates/base/quick-reference.md +297 -297
  411. package/skills/craft/uipm-ui-ux-pro-max/templates/base/skill-content.md +375 -375
  412. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/agent.json +21 -21
  413. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/augment.json +18 -18
  414. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/claude.json +21 -21
  415. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/codebuddy.json +21 -21
  416. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/codex.json +21 -21
  417. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/continue.json +21 -21
  418. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/copilot.json +21 -21
  419. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/cursor.json +21 -21
  420. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/droid.json +21 -21
  421. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/gemini.json +21 -21
  422. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/kilocode.json +21 -21
  423. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/kiro.json +21 -21
  424. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/opencode.json +21 -21
  425. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/qoder.json +21 -21
  426. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/roocode.json +21 -21
  427. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/trae.json +21 -21
  428. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/warp.json +18 -18
  429. package/skills/craft/uipm-ui-ux-pro-max/templates/platforms/windsurf.json +21 -21
  430. package/skills/craft/vercel-optimize/AGENTS.md +48 -48
  431. package/skills/craft/vercel-optimize/CONTRIBUTING.md +41 -41
  432. package/skills/craft/vercel-optimize/LICENSE +21 -21
  433. package/skills/craft/vercel-optimize/README.md +91 -91
  434. package/skills/craft/vercel-optimize/SKILL.md +325 -325
  435. package/skills/craft/vercel-optimize/lib/auth-route.mjs +23 -23
  436. package/skills/craft/vercel-optimize/lib/budget-summary.mjs +208 -208
  437. package/skills/craft/vercel-optimize/lib/citations.mjs +147 -147
  438. package/skills/craft/vercel-optimize/lib/cost-coverage.mjs +162 -162
  439. package/skills/craft/vercel-optimize/lib/dedup-recs.mjs +340 -340
  440. package/skills/craft/vercel-optimize/lib/deep-dive.mjs +371 -371
  441. package/skills/craft/vercel-optimize/lib/display-labels.mjs +219 -219
  442. package/skills/craft/vercel-optimize/lib/extract-claims.mjs +640 -640
  443. package/skills/craft/vercel-optimize/lib/framework-support.mjs +69 -69
  444. package/skills/craft/vercel-optimize/lib/gates/build-minutes-fanout.mjs +73 -73
  445. package/skills/craft/vercel-optimize/lib/gates/cold-start.mjs +72 -72
  446. package/skills/craft/vercel-optimize/lib/gates/contract.mjs +82 -82
  447. package/skills/craft/vercel-optimize/lib/gates/cwv-poor.mjs +95 -95
  448. package/skills/craft/vercel-optimize/lib/gates/external-api-slow.mjs +60 -60
  449. package/skills/craft/vercel-optimize/lib/gates/hard-gates.mjs +70 -70
  450. package/skills/craft/vercel-optimize/lib/gates/index.mjs +45 -45
  451. package/skills/craft/vercel-optimize/lib/gates/isr-overrevalidation.mjs +62 -62
  452. package/skills/craft/vercel-optimize/lib/gates/middleware-heavy.mjs +53 -53
  453. package/skills/craft/vercel-optimize/lib/gates/observability-events-attribution.mjs +58 -58
  454. package/skills/craft/vercel-optimize/lib/gates/platform-bot-protection.mjs +123 -123
  455. package/skills/craft/vercel-optimize/lib/gates/platform-fluid-compute.mjs +94 -94
  456. package/skills/craft/vercel-optimize/lib/gates/region-misconfig.mjs +71 -71
  457. package/skills/craft/vercel-optimize/lib/gates/route-errors.mjs +95 -95
  458. package/skills/craft/vercel-optimize/lib/gates/scanner-driven.mjs +150 -150
  459. package/skills/craft/vercel-optimize/lib/gates/select-candidates.mjs +137 -137
  460. package/skills/craft/vercel-optimize/lib/gates/slow-route.mjs +97 -97
  461. package/skills/craft/vercel-optimize/lib/gates/types.d.ts +38 -38
  462. package/skills/craft/vercel-optimize/lib/gates/uncached-route.mjs +103 -103
  463. package/skills/craft/vercel-optimize/lib/gates/usage-spike-triage.mjs +122 -122
  464. package/skills/craft/vercel-optimize/lib/grade-recommendation.mjs +170 -170
  465. package/skills/craft/vercel-optimize/lib/impact-label.mjs +128 -128
  466. package/skills/craft/vercel-optimize/lib/impact-magnitude.mjs +66 -66
  467. package/skills/craft/vercel-optimize/lib/investigation-brief.mjs +751 -751
  468. package/skills/craft/vercel-optimize/lib/observation-safety.mjs +217 -217
  469. package/skills/craft/vercel-optimize/lib/project-facts.mjs +101 -101
  470. package/skills/craft/vercel-optimize/lib/queries.mjs +333 -333
  471. package/skills/craft/vercel-optimize/lib/reconcile-candidates.mjs +388 -388
  472. package/skills/craft/vercel-optimize/lib/render-report.mjs +1065 -1065
  473. package/skills/craft/vercel-optimize/lib/repo-root.mjs +97 -97
  474. package/skills/craft/vercel-optimize/lib/route-normalize.mjs +224 -224
  475. package/skills/craft/vercel-optimize/lib/sanitizers/bot-protection-certainty.mjs +56 -56
  476. package/skills/craft/vercel-optimize/lib/sanitizers/cache-tag-invalidation-certainty.mjs +33 -33
  477. package/skills/craft/vercel-optimize/lib/sanitizers/count-correct.mjs +53 -53
  478. package/skills/craft/vercel-optimize/lib/sanitizers/function-duration-invocations.mjs +32 -32
  479. package/skills/craft/vercel-optimize/lib/sanitizers/index.mjs +87 -87
  480. package/skills/craft/vercel-optimize/lib/sanitizers/middleware-conflict.mjs +37 -37
  481. package/skills/craft/vercel-optimize/lib/sanitizers/missing-citation.mjs +16 -16
  482. package/skills/craft/vercel-optimize/lib/sanitizers/pre-release.mjs +75 -75
  483. package/skills/craft/vercel-optimize/lib/sanitizers/rate-limit.mjs +73 -73
  484. package/skills/craft/vercel-optimize/lib/sanitizers/rendering-mode-mislabel.mjs +42 -42
  485. package/skills/craft/vercel-optimize/lib/sanitizers/undeclared-dep.mjs +110 -110
  486. package/skills/craft/vercel-optimize/lib/sanitizers/vercel-directive-strip.mjs +37 -37
  487. package/skills/craft/vercel-optimize/lib/sanitizers/window-units.mjs +26 -26
  488. package/skills/craft/vercel-optimize/lib/scanners/cache-components-suspense-dedupe.mjs +114 -114
  489. package/skills/craft/vercel-optimize/lib/scanners/edge-heavy-import.mjs +102 -102
  490. package/skills/craft/vercel-optimize/lib/scanners/force-dynamic.mjs +39 -39
  491. package/skills/craft/vercel-optimize/lib/scanners/headers-in-page.mjs +43 -43
  492. package/skills/craft/vercel-optimize/lib/scanners/index.mjs +35 -35
  493. package/skills/craft/vercel-optimize/lib/scanners/large-static-asset.mjs +93 -93
  494. package/skills/craft/vercel-optimize/lib/scanners/max-age-without-s-maxage.mjs +47 -47
  495. package/skills/craft/vercel-optimize/lib/scanners/middleware-broad-matcher.mjs +53 -53
  496. package/skills/craft/vercel-optimize/lib/scanners/missing-cache-headers.mjs +97 -97
  497. package/skills/craft/vercel-optimize/lib/scanners/prisma-include-tree.mjs +39 -39
  498. package/skills/craft/vercel-optimize/lib/scanners/region-pin-in-config.mjs +89 -89
  499. package/skills/craft/vercel-optimize/lib/scanners/source-maps-production.mjs +33 -33
  500. package/skills/craft/vercel-optimize/lib/scanners/sveltekit-prerender-missing.mjs +47 -47
  501. package/skills/craft/vercel-optimize/lib/scanners/turbo-force-bypass.mjs +136 -136
  502. package/skills/craft/vercel-optimize/lib/scanners/unoptimized-image.mjs +127 -127
  503. package/skills/craft/vercel-optimize/lib/scanners/use-cache-date-stamp.mjs +112 -112
  504. package/skills/craft/vercel-optimize/lib/support-topics.mjs +365 -365
  505. package/skills/craft/vercel-optimize/lib/throttle.mjs +280 -280
  506. package/skills/craft/vercel-optimize/lib/util.mjs +17 -17
  507. package/skills/craft/vercel-optimize/lib/vercel.mjs +855 -855
  508. package/skills/craft/vercel-optimize/lib/verify-claim.mjs +1843 -1843
  509. package/skills/craft/vercel-optimize/lib/workspace-resolver.mjs +552 -552
  510. package/skills/craft/vercel-optimize/metadata.json +14 -14
  511. package/skills/craft/vercel-optimize/references/candidates.md +176 -176
  512. package/skills/craft/vercel-optimize/references/data-collection.md +224 -224
  513. package/skills/craft/vercel-optimize/references/docs-library.json +683 -683
  514. package/skills/craft/vercel-optimize/references/doctrine.md +108 -108
  515. package/skills/craft/vercel-optimize/references/observability-plus.md +109 -109
  516. package/skills/craft/vercel-optimize/references/playbooks/README.md +57 -57
  517. package/skills/craft/vercel-optimize/references/playbooks/ai-application.md +32 -32
  518. package/skills/craft/vercel-optimize/references/playbooks/api-service.md +30 -30
  519. package/skills/craft/vercel-optimize/references/playbooks/content-site.md +30 -30
  520. package/skills/craft/vercel-optimize/references/playbooks/ecommerce.md +30 -30
  521. package/skills/craft/vercel-optimize/references/playbooks/marketing.md +30 -30
  522. package/skills/craft/vercel-optimize/references/playbooks/saas.md +31 -31
  523. package/skills/craft/vercel-optimize/references/playbooks/sveltekit.md +75 -75
  524. package/skills/craft/vercel-optimize/references/recommendations.md +214 -214
  525. package/skills/craft/vercel-optimize/references/scanner-patterns.md +266 -266
  526. package/skills/craft/vercel-optimize/references/scoring.md +208 -208
  527. package/skills/craft/vercel-optimize/references/support-topics/README.md +50 -50
  528. package/skills/craft/vercel-optimize/references/support-topics/astro-edge-middleware-scope.md +30 -30
  529. package/skills/craft/vercel-optimize/references/support-topics/astro-output-mode-and-isr.md +31 -31
  530. package/skills/craft/vercel-optimize/references/support-topics/auth-preserving-parallelization.md +30 -30
  531. package/skills/craft/vercel-optimize/references/support-topics/bot-protection-product-guardrails.md +32 -32
  532. package/skills/craft/vercel-optimize/references/support-topics/build-minutes-monorepo-fanout.md +32 -32
  533. package/skills/craft/vercel-optimize/references/support-topics/cache-components-static-shell-boundaries.md +31 -31
  534. package/skills/craft/vercel-optimize/references/support-topics/cache-components-suspense-dedupe-pitfall.md +32 -32
  535. package/skills/craft/vercel-optimize/references/support-topics/cdn-cache-auth-safety.md +31 -31
  536. package/skills/craft/vercel-optimize/references/support-topics/cold-start-initialization-bundle.md +31 -31
  537. package/skills/craft/vercel-optimize/references/support-topics/core-web-vitals-client-bottlenecks.md +33 -33
  538. package/skills/craft/vercel-optimize/references/support-topics/database-egress-pooling-region.md +32 -32
  539. package/skills/craft/vercel-optimize/references/support-topics/dynamic-rendering-traps.md +31 -31
  540. package/skills/craft/vercel-optimize/references/support-topics/external-api-critical-path-platform.md +31 -31
  541. package/skills/craft/vercel-optimize/references/support-topics/external-api-critical-path.md +31 -31
  542. package/skills/craft/vercel-optimize/references/support-topics/fast-data-transfer-payloads.md +26 -26
  543. package/skills/craft/vercel-optimize/references/support-topics/fluid-compute-caveats.md +26 -26
  544. package/skills/craft/vercel-optimize/references/support-topics/function-duration-io-and-after.md +31 -31
  545. package/skills/craft/vercel-optimize/references/support-topics/function-invocation-reduction.md +31 -31
  546. package/skills/craft/vercel-optimize/references/support-topics/function-region-misconfiguration-ttfb.md +31 -31
  547. package/skills/craft/vercel-optimize/references/support-topics/image-optimization-cost-control.md +31 -31
  548. package/skills/craft/vercel-optimize/references/support-topics/isr-revalidation-static-generation.md +31 -31
  549. package/skills/craft/vercel-optimize/references/support-topics/middleware-proxy-edge-cost.md +30 -30
  550. package/skills/craft/vercel-optimize/references/support-topics/next-fetch-revalidate-floor.md +30 -30
  551. package/skills/craft/vercel-optimize/references/support-topics/next-font-cls-self-hosting.md +31 -31
  552. package/skills/craft/vercel-optimize/references/support-topics/next-heavy-ui-lazy-load-boundaries.md +28 -28
  553. package/skills/craft/vercel-optimize/references/support-topics/next-image-lcp-preload-sizes.md +31 -31
  554. package/skills/craft/vercel-optimize/references/support-topics/next-route-handler-get-cache-defaults.md +30 -30
  555. package/skills/craft/vercel-optimize/references/support-topics/next-script-third-party-strategy.md +31 -31
  556. package/skills/craft/vercel-optimize/references/support-topics/nextjs-version-cache-semantics.md +31 -31
  557. package/skills/craft/vercel-optimize/references/support-topics/not-found-catchall-request-waste.md +33 -33
  558. package/skills/craft/vercel-optimize/references/support-topics/nuxt-route-rules-cache-isr.md +31 -31
  559. package/skills/craft/vercel-optimize/references/support-topics/observability-events-cost-attribution.md +27 -27
  560. package/skills/craft/vercel-optimize/references/support-topics/post-response-work-waituntil.md +26 -26
  561. package/skills/craft/vercel-optimize/references/support-topics/route-error-durable-offload.md +33 -33
  562. package/skills/craft/vercel-optimize/references/support-topics/route-error-runtime-limits.md +31 -31
  563. package/skills/craft/vercel-optimize/references/support-topics/runtime-cache-reusable-data.md +30 -30
  564. package/skills/craft/vercel-optimize/references/support-topics/sveltekit-isr-prerender-safety.md +31 -31
  565. package/skills/craft/vercel-optimize/references/support-topics/sveltekit-split-cold-start-tradeoff.md +30 -30
  566. package/skills/craft/vercel-optimize/references/support-topics/usage-spike-triage.md +31 -31
  567. package/skills/craft/vercel-optimize/references/support-topics/use-cache-date-stamp-isr-write-amplifier.md +31 -31
  568. package/skills/craft/vercel-optimize/references/support-topics/use-cache-remote-shared-origin-data.md +30 -30
  569. package/skills/craft/vercel-optimize/references/support-topics/workflow-resumable-stream-routes.md +32 -32
  570. package/skills/craft/vercel-optimize/references/verification.md +102 -102
  571. package/skills/craft/vercel-optimize/references/voice.md +76 -76
  572. package/skills/craft/vercel-optimize/scripts/budget-summary.mjs +58 -58
  573. package/skills/craft/vercel-optimize/scripts/build-docs.mjs +76 -76
  574. package/skills/craft/vercel-optimize/scripts/check-citations.mjs +91 -91
  575. package/skills/craft/vercel-optimize/scripts/check-docs-fresh.mjs +100 -100
  576. package/skills/craft/vercel-optimize/scripts/collect-signals.mjs +638 -638
  577. package/skills/craft/vercel-optimize/scripts/collect-sub-agent-outputs.mjs +306 -306
  578. package/skills/craft/vercel-optimize/scripts/deep-dive.mjs +358 -358
  579. package/skills/craft/vercel-optimize/scripts/gate-investigations.mjs +178 -178
  580. package/skills/craft/vercel-optimize/scripts/merge-signals.mjs +203 -203
  581. package/skills/craft/vercel-optimize/scripts/prepare-investigation-brief.mjs +249 -249
  582. package/skills/craft/vercel-optimize/scripts/reconcile-candidates.mjs +69 -69
  583. package/skills/craft/vercel-optimize/scripts/render-report.mjs +462 -462
  584. package/skills/craft/vercel-optimize/scripts/scan-codebase.mjs +361 -361
  585. package/skills/craft/vercel-optimize/scripts/verify-and-regen.mjs +379 -379
  586. package/skills/craft/vercel-optimize/scripts/verify-finding.mjs +21 -21
  587. package/skills/craft/web-design-guidelines/LICENSE +21 -21
  588. package/skills/craft/web-design-guidelines/SKILL.md +43 -43
  589. package/skills/craft/zero-to-live/LICENSE +21 -21
  590. package/skills/craft/zero-to-live/SKILL.md +422 -422
  591. package/skills/creative/creative-3d-modeling/LICENSE +21 -21
  592. package/skills/creative/creative-3d-modeling/SKILL.md +70 -70
  593. package/skills/creative/creative-architecture/LICENSE +21 -21
  594. package/skills/creative/creative-architecture/SKILL.md +94 -94
  595. package/skills/creative/creative-design-principles/LICENSE +21 -21
  596. package/skills/creative/creative-design-principles/SKILL.md +95 -95
  597. package/skills/creative/creative-fashion-advanced/LICENSE +21 -21
  598. package/skills/creative/creative-fashion-advanced/SKILL.md +68 -68
  599. package/skills/creative/creative-fashion-design/LICENSE +21 -21
  600. package/skills/creative/creative-fashion-design/SKILL.md +66 -66
  601. package/skills/creative/creative-game-design/LICENSE +21 -21
  602. package/skills/creative/creative-game-design/SKILL.md +77 -77
  603. package/skills/creative/creative-industrial-design/LICENSE +21 -21
  604. package/skills/creative/creative-industrial-design/SKILL.md +57 -57
  605. package/skills/creative/creative-interior-design/LICENSE +21 -21
  606. package/skills/creative/creative-interior-design/SKILL.md +59 -59
  607. package/skills/creative/creative-music-theory/LICENSE +21 -21
  608. package/skills/creative/creative-music-theory/SKILL.md +98 -98
  609. package/skills/creative/creative-photography/LICENSE +21 -21
  610. package/skills/creative/creative-photography/SKILL.md +87 -87
  611. package/skills/creative/creative-textile-science/LICENSE +21 -21
  612. package/skills/creative/creative-textile-science/SKILL.md +67 -67
  613. package/skills/creative/creative-ux/LICENSE +21 -21
  614. package/skills/creative/creative-ux/SKILL.md +81 -81
  615. package/skills/creative/creative-video/LICENSE +21 -21
  616. package/skills/creative/creative-video/SKILL.md +84 -84
  617. package/skills/creative/creative-writing-craft/LICENSE +21 -21
  618. package/skills/creative/creative-writing-craft/SKILL.md +91 -91
  619. package/skills/diagram-maker/SKILL.md +56 -56
  620. package/skills/diagram-maker/references/excalidraw-patterns.md +85 -85
  621. package/skills/diagram-maker/references/svg-template.md +112 -112
  622. package/skills/discord/SKILL.md +140 -140
  623. package/skills/education/edu-adult-learning/LICENSE +21 -21
  624. package/skills/education/edu-adult-learning/SKILL.md +81 -81
  625. package/skills/education/edu-africa-multilingual/LICENSE +21 -21
  626. package/skills/education/edu-africa-multilingual/SKILL.md +55 -55
  627. package/skills/education/edu-arabic/LICENSE +21 -21
  628. package/skills/education/edu-arabic/SKILL.md +60 -60
  629. package/skills/education/edu-australia-nz/LICENSE +21 -21
  630. package/skills/education/edu-australia-nz/SKILL.md +48 -48
  631. package/skills/education/edu-china-mandarin/LICENSE +21 -21
  632. package/skills/education/edu-china-mandarin/SKILL.md +58 -58
  633. package/skills/education/edu-critical-thinking/LICENSE +21 -21
  634. package/skills/education/edu-critical-thinking/SKILL.md +86 -86
  635. package/skills/education/edu-curriculum/LICENSE +21 -21
  636. package/skills/education/edu-curriculum/SKILL.md +87 -87
  637. package/skills/education/edu-ed-tech/LICENSE +21 -21
  638. package/skills/education/edu-ed-tech/SKILL.md +73 -73
  639. package/skills/education/edu-france/LICENSE +21 -21
  640. package/skills/education/edu-france/SKILL.md +42 -42
  641. package/skills/education/edu-germany/LICENSE +21 -21
  642. package/skills/education/edu-germany/SKILL.md +46 -46
  643. package/skills/education/edu-india-competitive/LICENSE +21 -21
  644. package/skills/education/edu-india-competitive/SKILL.md +159 -159
  645. package/skills/education/edu-india-east/LICENSE +21 -21
  646. package/skills/education/edu-india-east/SKILL.md +60 -60
  647. package/skills/education/edu-india-hindi/LICENSE +21 -21
  648. package/skills/education/edu-india-hindi/SKILL.md +107 -107
  649. package/skills/education/edu-india-south/LICENSE +21 -21
  650. package/skills/education/edu-india-south/SKILL.md +64 -64
  651. package/skills/education/edu-india-west/LICENSE +21 -21
  652. package/skills/education/edu-india-west/SKILL.md +68 -68
  653. package/skills/education/edu-indonesia-malay/LICENSE +21 -21
  654. package/skills/education/edu-indonesia-malay/SKILL.md +57 -57
  655. package/skills/education/edu-international-ib/LICENSE +21 -21
  656. package/skills/education/edu-international-ib/SKILL.md +61 -61
  657. package/skills/education/edu-japan/LICENSE +21 -21
  658. package/skills/education/edu-japan/SKILL.md +48 -48
  659. package/skills/education/edu-korea/LICENSE +21 -21
  660. package/skills/education/edu-korea/SKILL.md +48 -48
  661. package/skills/education/edu-learning-science/LICENSE +21 -21
  662. package/skills/education/edu-learning-science/SKILL.md +76 -76
  663. package/skills/education/edu-portuguese-brazil/LICENSE +21 -21
  664. package/skills/education/edu-portuguese-brazil/SKILL.md +51 -51
  665. package/skills/education/edu-russia/LICENSE +21 -21
  666. package/skills/education/edu-russia/SKILL.md +50 -50
  667. package/skills/education/edu-spain-latam/LICENSE +21 -21
  668. package/skills/education/edu-spain-latam/SKILL.md +55 -55
  669. package/skills/education/edu-special/LICENSE +21 -21
  670. package/skills/education/edu-special/SKILL.md +76 -76
  671. package/skills/education/edu-thailand/LICENSE +21 -21
  672. package/skills/education/edu-thailand/SKILL.md +55 -55
  673. package/skills/education/edu-turkey/LICENSE +21 -21
  674. package/skills/education/edu-turkey/SKILL.md +58 -58
  675. package/skills/education/edu-uk-gcse-alevel/LICENSE +21 -21
  676. package/skills/education/edu-uk-gcse-alevel/SKILL.md +51 -51
  677. package/skills/education/edu-usa-graduate/LICENSE +21 -21
  678. package/skills/education/edu-usa-graduate/SKILL.md +57 -57
  679. package/skills/education/edu-usa-sat-act/LICENSE +21 -21
  680. package/skills/education/edu-usa-sat-act/SKILL.md +55 -55
  681. package/skills/education/edu-vietnam/LICENSE +21 -21
  682. package/skills/education/edu-vietnam/SKILL.md +53 -53
  683. package/skills/eightctl/SKILL.md +54 -54
  684. package/skills/engineering/eng-aerospace/LICENSE +21 -21
  685. package/skills/engineering/eng-aerospace/SKILL.md +117 -117
  686. package/skills/engineering/eng-chemical/LICENSE +21 -21
  687. package/skills/engineering/eng-chemical/SKILL.md +63 -63
  688. package/skills/engineering/eng-civil/LICENSE +21 -21
  689. package/skills/engineering/eng-civil/SKILL.md +223 -223
  690. package/skills/engineering/eng-control-systems/LICENSE +21 -21
  691. package/skills/engineering/eng-control-systems/SKILL.md +158 -158
  692. package/skills/engineering/eng-cryogenics/LICENSE +21 -21
  693. package/skills/engineering/eng-cryogenics/SKILL.md +151 -151
  694. package/skills/engineering/eng-electrical/LICENSE +21 -21
  695. package/skills/engineering/eng-electrical/SKILL.md +70 -70
  696. package/skills/engineering/eng-electronics-embedded/LICENSE +21 -21
  697. package/skills/engineering/eng-electronics-embedded/SKILL.md +89 -89
  698. package/skills/engineering/eng-environmental/LICENSE +21 -21
  699. package/skills/engineering/eng-environmental/SKILL.md +66 -66
  700. package/skills/engineering/eng-manufacturing/LICENSE +21 -21
  701. package/skills/engineering/eng-manufacturing/SKILL.md +78 -78
  702. package/skills/engineering/eng-mechanical/LICENSE +21 -21
  703. package/skills/engineering/eng-mechanical/SKILL.md +66 -66
  704. package/skills/engineering/eng-project/LICENSE +21 -21
  705. package/skills/engineering/eng-project/SKILL.md +72 -72
  706. package/skills/engineering/eng-propulsion/LICENSE +21 -21
  707. package/skills/engineering/eng-propulsion/SKILL.md +133 -133
  708. package/skills/engineering/eng-robotics/LICENSE +21 -21
  709. package/skills/engineering/eng-robotics/SKILL.md +92 -92
  710. package/skills/engineering/eng-systems/LICENSE +21 -21
  711. package/skills/engineering/eng-systems/SKILL.md +81 -81
  712. package/skills/environment/env-biodiversity/LICENSE +21 -21
  713. package/skills/environment/env-biodiversity/SKILL.md +66 -66
  714. package/skills/environment/env-circular-economy/LICENSE +21 -21
  715. package/skills/environment/env-circular-economy/SKILL.md +71 -71
  716. package/skills/environment/env-climate-action/LICENSE +21 -21
  717. package/skills/environment/env-climate-action/SKILL.md +55 -55
  718. package/skills/environment/env-energy/LICENSE +21 -21
  719. package/skills/environment/env-energy/SKILL.md +83 -83
  720. package/skills/environment/env-sustainability-biz/LICENSE +21 -21
  721. package/skills/environment/env-sustainability-biz/SKILL.md +65 -65
  722. package/skills/environment/env-water/LICENSE +21 -21
  723. package/skills/environment/env-water/SKILL.md +67 -67
  724. package/skills/finance/finance-accounting/LICENSE +21 -21
  725. package/skills/finance/finance-accounting/SKILL.md +239 -239
  726. package/skills/finance/finance-banking/LICENSE +21 -21
  727. package/skills/finance/finance-banking/SKILL.md +54 -54
  728. package/skills/finance/finance-corporate/LICENSE +21 -21
  729. package/skills/finance/finance-corporate/SKILL.md +105 -105
  730. package/skills/finance/finance-crypto/LICENSE +21 -21
  731. package/skills/finance/finance-crypto/SKILL.md +94 -94
  732. package/skills/finance/finance-debt-management/LICENSE +21 -21
  733. package/skills/finance/finance-debt-management/SKILL.md +87 -87
  734. package/skills/finance/finance-insurance/LICENSE +21 -21
  735. package/skills/finance/finance-insurance/SKILL.md +91 -91
  736. package/skills/finance/finance-investing/LICENSE +21 -21
  737. package/skills/finance/finance-investing/SKILL.md +269 -269
  738. package/skills/finance/finance-options-derivatives/LICENSE +21 -21
  739. package/skills/finance/finance-options-derivatives/SKILL.md +68 -68
  740. package/skills/finance/finance-personal/LICENSE +21 -21
  741. package/skills/finance/finance-personal/SKILL.md +268 -268
  742. package/skills/finance/finance-real-estate/LICENSE +21 -21
  743. package/skills/finance/finance-real-estate/SKILL.md +110 -110
  744. package/skills/finance/finance-startup/LICENSE +21 -21
  745. package/skills/finance/finance-startup/SKILL.md +253 -253
  746. package/skills/finance/finance-tax-planning/LICENSE +21 -21
  747. package/skills/finance/finance-tax-planning/SKILL.md +89 -89
  748. package/skills/finance/finance-trading/LICENSE +21 -21
  749. package/skills/finance/finance-trading/SKILL.md +112 -112
  750. package/skills/gemini/SKILL.md +51 -51
  751. package/skills/gh-issues/SKILL.md +216 -216
  752. package/skills/gifgrep/SKILL.md +89 -89
  753. package/skills/github/SKILL.md +87 -87
  754. package/skills/gog/SKILL.md +120 -120
  755. package/skills/goplaces/SKILL.md +56 -56
  756. package/skills/graphify/SKILL.md +619 -0
  757. package/skills/graphify/__init__.py +28 -0
  758. package/skills/graphify/__main__.py +4582 -0
  759. package/skills/graphify/affected.py +154 -0
  760. package/skills/graphify/always_on/agents-md.md +12 -0
  761. package/skills/graphify/always_on/antigravity-rules.md +14 -0
  762. package/skills/graphify/always_on/claude-md.md +9 -0
  763. package/skills/graphify/always_on/gemini-md.md +9 -0
  764. package/skills/graphify/always_on/kiro-steering.md +5 -0
  765. package/skills/graphify/always_on/vscode-instructions.md +17 -0
  766. package/skills/graphify/analyze.py +724 -0
  767. package/skills/graphify/benchmark.py +155 -0
  768. package/skills/graphify/build.py +487 -0
  769. package/skills/graphify/cache.py +417 -0
  770. package/skills/graphify/callflow_html.py +2020 -0
  771. package/skills/graphify/cluster.py +272 -0
  772. package/skills/graphify/command-kilo.md +15 -0
  773. package/skills/graphify/dedup.py +429 -0
  774. package/skills/graphify/detect.py +1379 -0
  775. package/skills/graphify/diagnostics.py +390 -0
  776. package/skills/graphify/export.py +1408 -0
  777. package/skills/graphify/extract.py +11570 -0
  778. package/skills/graphify/global_graph.py +159 -0
  779. package/skills/graphify/google_workspace.py +223 -0
  780. package/skills/graphify/hooks.py +457 -0
  781. package/skills/graphify/ingest.py +331 -0
  782. package/skills/graphify/llm.py +1896 -0
  783. package/skills/graphify/manifest.py +4 -0
  784. package/skills/graphify/mcp_ingest.py +392 -0
  785. package/skills/graphify/multigraph_compat.py +212 -0
  786. package/skills/graphify/pg_introspect.py +142 -0
  787. package/skills/graphify/prs.py +748 -0
  788. package/skills/graphify/querylog.py +70 -0
  789. package/skills/graphify/report.py +218 -0
  790. package/skills/graphify/scip_ingest.py +363 -0
  791. package/skills/graphify/security.py +336 -0
  792. package/skills/graphify/semantic_cleanup.py +319 -0
  793. package/skills/graphify/serve.py +1309 -0
  794. package/skills/graphify/skill-aider.md +1246 -0
  795. package/skills/graphify/skill-amp.md +613 -0
  796. package/skills/graphify/skill-claw.md +616 -0
  797. package/skills/graphify/skill-codex.md +613 -0
  798. package/skills/graphify/skill-copilot.md +616 -0
  799. package/skills/graphify/skill-devin.md +1372 -0
  800. package/skills/graphify/skill-droid.md +613 -0
  801. package/skills/graphify/skill-kilo.md +625 -0
  802. package/skills/graphify/skill-kiro.md +615 -0
  803. package/skills/graphify/skill-opencode.md +608 -0
  804. package/skills/graphify/skill-pi.md +615 -0
  805. package/skills/graphify/skill-trae.md +614 -0
  806. package/skills/graphify/skill-vscode.md +612 -0
  807. package/skills/graphify/skill-windows.md +651 -0
  808. package/skills/graphify/skills/amp/references/add-watch.md +56 -0
  809. package/skills/graphify/skills/amp/references/exports.md +71 -0
  810. package/skills/graphify/skills/amp/references/extraction-spec.md +68 -0
  811. package/skills/graphify/skills/amp/references/github-and-merge.md +46 -0
  812. package/skills/graphify/skills/amp/references/hooks.md +33 -0
  813. package/skills/graphify/skills/amp/references/query.md +249 -0
  814. package/skills/graphify/skills/amp/references/transcribe.md +48 -0
  815. package/skills/graphify/skills/amp/references/update.md +179 -0
  816. package/skills/graphify/skills/claude/references/add-watch.md +56 -0
  817. package/skills/graphify/skills/claude/references/exports.md +71 -0
  818. package/skills/graphify/skills/claude/references/extraction-spec.md +68 -0
  819. package/skills/graphify/skills/claude/references/github-and-merge.md +46 -0
  820. package/skills/graphify/skills/claude/references/hooks.md +33 -0
  821. package/skills/graphify/skills/claude/references/query.md +103 -0
  822. package/skills/graphify/skills/claude/references/transcribe.md +48 -0
  823. package/skills/graphify/skills/claude/references/update.md +179 -0
  824. package/skills/graphify/skills/claw/references/add-watch.md +56 -0
  825. package/skills/graphify/skills/claw/references/exports.md +71 -0
  826. package/skills/graphify/skills/claw/references/extraction-spec.md +29 -0
  827. package/skills/graphify/skills/claw/references/github-and-merge.md +46 -0
  828. package/skills/graphify/skills/claw/references/hooks.md +33 -0
  829. package/skills/graphify/skills/claw/references/query.md +249 -0
  830. package/skills/graphify/skills/claw/references/transcribe.md +48 -0
  831. package/skills/graphify/skills/claw/references/update.md +179 -0
  832. package/skills/graphify/skills/codex/references/add-watch.md +56 -0
  833. package/skills/graphify/skills/codex/references/exports.md +71 -0
  834. package/skills/graphify/skills/codex/references/extraction-spec.md +29 -0
  835. package/skills/graphify/skills/codex/references/github-and-merge.md +46 -0
  836. package/skills/graphify/skills/codex/references/hooks.md +33 -0
  837. package/skills/graphify/skills/codex/references/query.md +249 -0
  838. package/skills/graphify/skills/codex/references/transcribe.md +48 -0
  839. package/skills/graphify/skills/codex/references/update.md +179 -0
  840. package/skills/graphify/skills/copilot/references/add-watch.md +56 -0
  841. package/skills/graphify/skills/copilot/references/exports.md +71 -0
  842. package/skills/graphify/skills/copilot/references/extraction-spec.md +68 -0
  843. package/skills/graphify/skills/copilot/references/github-and-merge.md +46 -0
  844. package/skills/graphify/skills/copilot/references/hooks.md +33 -0
  845. package/skills/graphify/skills/copilot/references/query.md +249 -0
  846. package/skills/graphify/skills/copilot/references/transcribe.md +48 -0
  847. package/skills/graphify/skills/copilot/references/update.md +179 -0
  848. package/skills/graphify/skills/droid/references/add-watch.md +56 -0
  849. package/skills/graphify/skills/droid/references/exports.md +71 -0
  850. package/skills/graphify/skills/droid/references/extraction-spec.md +68 -0
  851. package/skills/graphify/skills/droid/references/github-and-merge.md +46 -0
  852. package/skills/graphify/skills/droid/references/hooks.md +33 -0
  853. package/skills/graphify/skills/droid/references/query.md +249 -0
  854. package/skills/graphify/skills/droid/references/transcribe.md +48 -0
  855. package/skills/graphify/skills/droid/references/update.md +179 -0
  856. package/skills/graphify/skills/kilo/references/add-watch.md +56 -0
  857. package/skills/graphify/skills/kilo/references/exports.md +71 -0
  858. package/skills/graphify/skills/kilo/references/extraction-spec.md +68 -0
  859. package/skills/graphify/skills/kilo/references/github-and-merge.md +46 -0
  860. package/skills/graphify/skills/kilo/references/hooks.md +33 -0
  861. package/skills/graphify/skills/kilo/references/query.md +249 -0
  862. package/skills/graphify/skills/kilo/references/transcribe.md +48 -0
  863. package/skills/graphify/skills/kilo/references/update.md +179 -0
  864. package/skills/graphify/skills/kiro/references/add-watch.md +56 -0
  865. package/skills/graphify/skills/kiro/references/exports.md +71 -0
  866. package/skills/graphify/skills/kiro/references/extraction-spec.md +29 -0
  867. package/skills/graphify/skills/kiro/references/github-and-merge.md +46 -0
  868. package/skills/graphify/skills/kiro/references/hooks.md +33 -0
  869. package/skills/graphify/skills/kiro/references/query.md +249 -0
  870. package/skills/graphify/skills/kiro/references/transcribe.md +48 -0
  871. package/skills/graphify/skills/kiro/references/update.md +179 -0
  872. package/skills/graphify/skills/opencode/references/add-watch.md +56 -0
  873. package/skills/graphify/skills/opencode/references/exports.md +71 -0
  874. package/skills/graphify/skills/opencode/references/extraction-spec.md +68 -0
  875. package/skills/graphify/skills/opencode/references/github-and-merge.md +46 -0
  876. package/skills/graphify/skills/opencode/references/hooks.md +33 -0
  877. package/skills/graphify/skills/opencode/references/query.md +249 -0
  878. package/skills/graphify/skills/opencode/references/transcribe.md +48 -0
  879. package/skills/graphify/skills/opencode/references/update.md +179 -0
  880. package/skills/graphify/skills/pi/references/add-watch.md +56 -0
  881. package/skills/graphify/skills/pi/references/exports.md +71 -0
  882. package/skills/graphify/skills/pi/references/extraction-spec.md +29 -0
  883. package/skills/graphify/skills/pi/references/github-and-merge.md +46 -0
  884. package/skills/graphify/skills/pi/references/hooks.md +33 -0
  885. package/skills/graphify/skills/pi/references/query.md +249 -0
  886. package/skills/graphify/skills/pi/references/transcribe.md +48 -0
  887. package/skills/graphify/skills/pi/references/update.md +179 -0
  888. package/skills/graphify/skills/trae/references/add-watch.md +56 -0
  889. package/skills/graphify/skills/trae/references/exports.md +71 -0
  890. package/skills/graphify/skills/trae/references/extraction-spec.md +68 -0
  891. package/skills/graphify/skills/trae/references/github-and-merge.md +46 -0
  892. package/skills/graphify/skills/trae/references/hooks.md +35 -0
  893. package/skills/graphify/skills/trae/references/query.md +249 -0
  894. package/skills/graphify/skills/trae/references/transcribe.md +48 -0
  895. package/skills/graphify/skills/trae/references/update.md +179 -0
  896. package/skills/graphify/skills/vscode/references/add-watch.md +56 -0
  897. package/skills/graphify/skills/vscode/references/exports.md +71 -0
  898. package/skills/graphify/skills/vscode/references/extraction-spec.md +68 -0
  899. package/skills/graphify/skills/vscode/references/github-and-merge.md +46 -0
  900. package/skills/graphify/skills/vscode/references/hooks.md +33 -0
  901. package/skills/graphify/skills/vscode/references/query.md +249 -0
  902. package/skills/graphify/skills/vscode/references/transcribe.md +48 -0
  903. package/skills/graphify/skills/vscode/references/update.md +179 -0
  904. package/skills/graphify/skills/windows/references/add-watch.md +56 -0
  905. package/skills/graphify/skills/windows/references/exports.md +71 -0
  906. package/skills/graphify/skills/windows/references/extraction-spec.md +68 -0
  907. package/skills/graphify/skills/windows/references/github-and-merge.md +46 -0
  908. package/skills/graphify/skills/windows/references/hooks.md +33 -0
  909. package/skills/graphify/skills/windows/references/query.md +249 -0
  910. package/skills/graphify/skills/windows/references/transcribe.md +48 -0
  911. package/skills/graphify/skills/windows/references/update.md +179 -0
  912. package/skills/graphify/symbol_resolution.py +538 -0
  913. package/skills/graphify/transcribe.py +184 -0
  914. package/skills/graphify/tree_html.py +582 -0
  915. package/skills/graphify/validate.py +72 -0
  916. package/skills/graphify/watch.py +898 -0
  917. package/skills/graphify/wiki.py +282 -0
  918. package/skills/health/health-aging/LICENSE +21 -21
  919. package/skills/health/health-aging/SKILL.md +82 -82
  920. package/skills/health/health-chronic/LICENSE +21 -21
  921. package/skills/health/health-chronic/SKILL.md +202 -202
  922. package/skills/health/health-dental/LICENSE +21 -21
  923. package/skills/health/health-dental/SKILL.md +41 -41
  924. package/skills/health/health-eye-care/LICENSE +21 -21
  925. package/skills/health/health-eye-care/SKILL.md +56 -56
  926. package/skills/health/health-first-aid/LICENSE +21 -21
  927. package/skills/health/health-first-aid/SKILL.md +201 -201
  928. package/skills/health/health-fitness/LICENSE +21 -21
  929. package/skills/health/health-fitness/SKILL.md +111 -111
  930. package/skills/health/health-general/LICENSE +21 -21
  931. package/skills/health/health-general/SKILL.md +277 -277
  932. package/skills/health/health-mens/LICENSE +21 -21
  933. package/skills/health/health-mens/SKILL.md +53 -53
  934. package/skills/health/health-mental/LICENSE +21 -21
  935. package/skills/health/health-mental/SKILL.md +221 -221
  936. package/skills/health/health-naturopathy-ayurveda/LICENSE +21 -21
  937. package/skills/health/health-naturopathy-ayurveda/SKILL.md +60 -60
  938. package/skills/health/health-nutrition/LICENSE +21 -21
  939. package/skills/health/health-nutrition/SKILL.md +262 -262
  940. package/skills/health/health-pediatric/LICENSE +21 -21
  941. package/skills/health/health-pediatric/SKILL.md +94 -94
  942. package/skills/health/health-pharmacology/LICENSE +21 -21
  943. package/skills/health/health-pharmacology/SKILL.md +87 -87
  944. package/skills/health/health-pregnancy/LICENSE +21 -21
  945. package/skills/health/health-pregnancy/SKILL.md +71 -71
  946. package/skills/health/health-skin/LICENSE +21 -21
  947. package/skills/health/health-skin/SKILL.md +71 -71
  948. package/skills/health/health-sleep/LICENSE +21 -21
  949. package/skills/health/health-sleep/SKILL.md +81 -81
  950. package/skills/health/health-womens/LICENSE +21 -21
  951. package/skills/health/health-womens/SKILL.md +72 -72
  952. package/skills/health/health-yoga-wellness/LICENSE +21 -21
  953. package/skills/health/health-yoga-wellness/SKILL.md +58 -58
  954. package/skills/healthcare-systems/health-sys-global/LICENSE +21 -21
  955. package/skills/healthcare-systems/health-sys-global/SKILL.md +69 -69
  956. package/skills/healthcare-systems/health-sys-management/LICENSE +21 -21
  957. package/skills/healthcare-systems/health-sys-management/SKILL.md +71 -71
  958. package/skills/healthcare-systems/health-sys-navigation/LICENSE +21 -21
  959. package/skills/healthcare-systems/health-sys-navigation/SKILL.md +60 -60
  960. package/skills/healthcare-systems/health-sys-public/LICENSE +21 -21
  961. package/skills/healthcare-systems/health-sys-public/SKILL.md +71 -71
  962. package/skills/healthcheck/SKILL.md +109 -109
  963. package/skills/himalaya/SKILL.md +84 -84
  964. package/skills/himalaya/references/configuration.md +184 -184
  965. package/skills/himalaya/references/message-composition.md +199 -199
  966. package/skills/humanities/humanities-history-world/LICENSE +21 -21
  967. package/skills/humanities/humanities-history-world/SKILL.md +59 -59
  968. package/skills/humanities/humanities-indian-classical/LICENSE +21 -21
  969. package/skills/humanities/humanities-indian-classical/SKILL.md +104 -104
  970. package/skills/humanities/humanities-philosophy/LICENSE +21 -21
  971. package/skills/humanities/humanities-philosophy/SKILL.md +105 -105
  972. package/skills/humanities/humanities-world-religions/LICENSE +21 -21
  973. package/skills/humanities/humanities-world-religions/SKILL.md +67 -67
  974. package/skills/impeccable/SKILL.md +186 -0
  975. package/skills/impeccable/agents/impeccable_asset_producer.toml +92 -0
  976. package/skills/impeccable/agents/impeccable_manual_edit_applier.toml +95 -0
  977. package/skills/impeccable/agents/openai.yaml +4 -0
  978. package/skills/impeccable/reference/adapt.md +311 -0
  979. package/skills/impeccable/reference/animate.md +201 -0
  980. package/skills/impeccable/reference/audit.md +133 -0
  981. package/skills/impeccable/reference/bolder.md +113 -0
  982. package/skills/impeccable/reference/brand.md +108 -0
  983. package/skills/impeccable/reference/clarify.md +288 -0
  984. package/skills/impeccable/reference/codex.md +105 -0
  985. package/skills/impeccable/reference/colorize.md +257 -0
  986. package/skills/impeccable/reference/craft.md +123 -0
  987. package/skills/impeccable/reference/critique.md +790 -0
  988. package/skills/impeccable/reference/delight.md +302 -0
  989. package/skills/impeccable/reference/distill.md +111 -0
  990. package/skills/impeccable/reference/document.md +429 -0
  991. package/skills/impeccable/reference/extract.md +69 -0
  992. package/skills/impeccable/reference/harden.md +347 -0
  993. package/skills/impeccable/reference/init.md +172 -0
  994. package/skills/impeccable/reference/interaction-design.md +189 -0
  995. package/skills/impeccable/reference/layout.md +161 -0
  996. package/skills/impeccable/reference/live.md +720 -0
  997. package/skills/impeccable/reference/onboard.md +234 -0
  998. package/skills/impeccable/reference/optimize.md +258 -0
  999. package/skills/impeccable/reference/overdrive.md +130 -0
  1000. package/skills/impeccable/reference/polish.md +241 -0
  1001. package/skills/impeccable/reference/product.md +60 -0
  1002. package/skills/impeccable/reference/quieter.md +99 -0
  1003. package/skills/impeccable/reference/shape.md +165 -0
  1004. package/skills/impeccable/reference/typeset.md +279 -0
  1005. package/skills/impeccable/scripts/cleanup-deprecated.mjs +284 -0
  1006. package/skills/impeccable/scripts/command-metadata.json +94 -0
  1007. package/skills/impeccable/scripts/context-signals.mjs +225 -0
  1008. package/skills/impeccable/scripts/context.mjs +266 -0
  1009. package/skills/impeccable/scripts/critique-storage.mjs +242 -0
  1010. package/skills/impeccable/scripts/design-parser.mjs +835 -0
  1011. package/skills/impeccable/scripts/detect-csp.mjs +198 -0
  1012. package/skills/impeccable/scripts/detect.mjs +21 -0
  1013. package/skills/impeccable/scripts/detector/browser/injected/index.mjs +1733 -0
  1014. package/skills/impeccable/scripts/detector/cli/main.mjs +244 -0
  1015. package/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +4618 -0
  1016. package/skills/impeccable/scripts/detector/detect-antipatterns.mjs +43 -0
  1017. package/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +252 -0
  1018. package/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +535 -0
  1019. package/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +986 -0
  1020. package/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +208 -0
  1021. package/skills/impeccable/scripts/detector/engines/visual/screenshot-contrast.mjs +189 -0
  1022. package/skills/impeccable/scripts/detector/findings.mjs +12 -0
  1023. package/skills/impeccable/scripts/detector/node/file-system.mjs +198 -0
  1024. package/skills/impeccable/scripts/detector/profile/profiler.mjs +166 -0
  1025. package/skills/impeccable/scripts/detector/registry/antipatterns.mjs +419 -0
  1026. package/skills/impeccable/scripts/detector/rules/checks.mjs +2384 -0
  1027. package/skills/impeccable/scripts/detector/shared/color.mjs +124 -0
  1028. package/skills/impeccable/scripts/detector/shared/constants.mjs +101 -0
  1029. package/skills/impeccable/scripts/detector/shared/page.mjs +7 -0
  1030. package/skills/impeccable/scripts/impeccable-paths.mjs +126 -0
  1031. package/skills/impeccable/scripts/is-generated.mjs +69 -0
  1032. package/skills/impeccable/scripts/live-accept.mjs +812 -0
  1033. package/skills/impeccable/scripts/live-browser-session.js +123 -0
  1034. package/skills/impeccable/scripts/live-browser.js +10295 -0
  1035. package/skills/impeccable/scripts/live-commit-manual-edits.mjs +1241 -0
  1036. package/skills/impeccable/scripts/live-complete.mjs +75 -0
  1037. package/skills/impeccable/scripts/live-completion.mjs +19 -0
  1038. package/skills/impeccable/scripts/live-copy-edit-agent.mjs +683 -0
  1039. package/skills/impeccable/scripts/live-discard-manual-edits.mjs +51 -0
  1040. package/skills/impeccable/scripts/live-event-validation.mjs +137 -0
  1041. package/skills/impeccable/scripts/live-inject.mjs +557 -0
  1042. package/skills/impeccable/scripts/live-insert-ui.mjs +458 -0
  1043. package/skills/impeccable/scripts/live-insert.mjs +272 -0
  1044. package/skills/impeccable/scripts/live-manual-edit-evidence.mjs +363 -0
  1045. package/skills/impeccable/scripts/live-manual-edits-buffer.mjs +152 -0
  1046. package/skills/impeccable/scripts/live-poll.mjs +379 -0
  1047. package/skills/impeccable/scripts/live-resume.mjs +94 -0
  1048. package/skills/impeccable/scripts/live-server.mjs +2326 -0
  1049. package/skills/impeccable/scripts/live-session-store.mjs +289 -0
  1050. package/skills/impeccable/scripts/live-status.mjs +61 -0
  1051. package/skills/impeccable/scripts/live-svelte-component.mjs +826 -0
  1052. package/skills/impeccable/scripts/live-sveltekit-adapter.mjs +274 -0
  1053. package/skills/impeccable/scripts/live-ui-core.mjs +179 -0
  1054. package/skills/impeccable/scripts/live-vocabulary.mjs +36 -0
  1055. package/skills/impeccable/scripts/live-wrap.mjs +894 -0
  1056. package/skills/impeccable/scripts/live.mjs +246 -0
  1057. package/skills/impeccable/scripts/modern-screenshot.umd.js +14 -0
  1058. package/skills/impeccable/scripts/palette.mjs +633 -0
  1059. package/skills/impeccable/scripts/pin.mjs +214 -0
  1060. package/skills/imsg/SKILL.md +126 -126
  1061. package/skills/industry/industry-construction/LICENSE +21 -21
  1062. package/skills/industry/industry-construction/SKILL.md +81 -81
  1063. package/skills/industry/industry-education-sector/LICENSE +21 -21
  1064. package/skills/industry/industry-education-sector/SKILL.md +49 -49
  1065. package/skills/industry/industry-fashion/LICENSE +21 -21
  1066. package/skills/industry/industry-fashion/SKILL.md +82 -82
  1067. package/skills/industry/industry-food/LICENSE +21 -21
  1068. package/skills/industry/industry-food/SKILL.md +79 -79
  1069. package/skills/industry/industry-government/LICENSE +21 -21
  1070. package/skills/industry/industry-government/SKILL.md +80 -80
  1071. package/skills/industry/industry-hospitality/LICENSE +21 -21
  1072. package/skills/industry/industry-hospitality/SKILL.md +73 -73
  1073. package/skills/industry/industry-insurance-sector/LICENSE +21 -21
  1074. package/skills/industry/industry-insurance-sector/SKILL.md +57 -57
  1075. package/skills/industry/industry-logistics/LICENSE +21 -21
  1076. package/skills/industry/industry-logistics/SKILL.md +80 -80
  1077. package/skills/industry/industry-media/LICENSE +21 -21
  1078. package/skills/industry/industry-media/SKILL.md +66 -66
  1079. package/skills/industry/industry-nonprofit/LICENSE +21 -21
  1080. package/skills/industry/industry-nonprofit/SKILL.md +77 -77
  1081. package/skills/industry/industry-pharma/LICENSE +21 -21
  1082. package/skills/industry/industry-pharma/SKILL.md +69 -69
  1083. package/skills/industry/industry-real-estate/LICENSE +21 -21
  1084. package/skills/industry/industry-real-estate/SKILL.md +61 -61
  1085. package/skills/industry/industry-sports/LICENSE +21 -21
  1086. package/skills/industry/industry-sports/SKILL.md +71 -71
  1087. package/skills/industry/industry-tech-startup/LICENSE +21 -21
  1088. package/skills/industry/industry-tech-startup/SKILL.md +82 -82
  1089. package/skills/internal-comms/LICENSE +21 -21
  1090. package/skills/internal-comms/SKILL.md +38 -38
  1091. package/skills/internal-comms/examples/3p-updates.md +49 -49
  1092. package/skills/internal-comms/examples/company-newsletter.md +76 -76
  1093. package/skills/internal-comms/examples/faq-answers.md +35 -35
  1094. package/skills/internal-comms/examples/general-comms.md +19 -19
  1095. package/skills/legal/legal-business/LICENSE +21 -21
  1096. package/skills/legal/legal-business/SKILL.md +227 -227
  1097. package/skills/legal/legal-consumer/LICENSE +21 -21
  1098. package/skills/legal/legal-consumer/SKILL.md +155 -155
  1099. package/skills/legal/legal-contracts/LICENSE +21 -21
  1100. package/skills/legal/legal-contracts/SKILL.md +268 -268
  1101. package/skills/legal/legal-corporate-governance/LICENSE +21 -21
  1102. package/skills/legal/legal-corporate-governance/SKILL.md +53 -53
  1103. package/skills/legal/legal-employment/LICENSE +21 -21
  1104. package/skills/legal/legal-employment/SKILL.md +291 -291
  1105. package/skills/legal/legal-immigration/LICENSE +21 -21
  1106. package/skills/legal/legal-immigration/SKILL.md +146 -146
  1107. package/skills/legal/legal-international/LICENSE +21 -21
  1108. package/skills/legal/legal-international/SKILL.md +51 -51
  1109. package/skills/legal/legal-ip/LICENSE +21 -21
  1110. package/skills/legal/legal-ip/SKILL.md +264 -264
  1111. package/skills/legal/legal-privacy/LICENSE +21 -21
  1112. package/skills/legal/legal-privacy/SKILL.md +161 -161
  1113. package/skills/legal/legal-real-estate/LICENSE +21 -21
  1114. package/skills/legal/legal-real-estate/SKILL.md +142 -142
  1115. package/skills/legal/legal-startup/LICENSE +21 -21
  1116. package/skills/legal/legal-startup/SKILL.md +182 -182
  1117. package/skills/legal/legal-tax/LICENSE +21 -21
  1118. package/skills/legal/legal-tax/SKILL.md +156 -156
  1119. package/skills/mcp-builder/LICENSE +21 -21
  1120. package/skills/mcp-builder/SKILL.md +257 -257
  1121. package/skills/mcp-builder/reference/evaluation.md +630 -630
  1122. package/skills/mcp-builder/reference/mcp_best_practices.md +269 -269
  1123. package/skills/mcp-builder/reference/node_mcp_server.md +980 -980
  1124. package/skills/mcp-builder/reference/python_mcp_server.md +737 -737
  1125. package/skills/mcp-builder/scripts/connections.py +151 -151
  1126. package/skills/mcp-builder/scripts/evaluation.py +373 -373
  1127. package/skills/mcp-builder/scripts/example_evaluation.xml +22 -22
  1128. package/skills/mcp-builder/scripts/requirements.txt +2 -2
  1129. package/skills/mcporter/SKILL.md +65 -65
  1130. package/skills/meme-maker/SKILL.md +46 -46
  1131. package/skills/meme-maker/references/templates.json +358 -358
  1132. package/skills/meme-maker/scripts/meme.mjs +398 -398
  1133. package/skills/mental-health/mental-health-cbt/LICENSE +21 -21
  1134. package/skills/mental-health/mental-health-cbt/SKILL.md +254 -254
  1135. package/skills/mental-health/psych-addiction/LICENSE +21 -21
  1136. package/skills/mental-health/psych-addiction/SKILL.md +79 -79
  1137. package/skills/mental-health/psych-behavioral-econ/LICENSE +21 -21
  1138. package/skills/mental-health/psych-behavioral-econ/SKILL.md +84 -84
  1139. package/skills/mental-health/psych-child/LICENSE +21 -21
  1140. package/skills/mental-health/psych-child/SKILL.md +84 -84
  1141. package/skills/mental-health/psych-grief/LICENSE +21 -21
  1142. package/skills/mental-health/psych-grief/SKILL.md +85 -85
  1143. package/skills/mental-health/psych-mindfulness/LICENSE +21 -21
  1144. package/skills/mental-health/psych-mindfulness/SKILL.md +71 -71
  1145. package/skills/mental-health/psych-org/LICENSE +21 -21
  1146. package/skills/mental-health/psych-org/SKILL.md +115 -115
  1147. package/skills/mental-health/psych-positive/LICENSE +21 -21
  1148. package/skills/mental-health/psych-positive/SKILL.md +86 -86
  1149. package/skills/mental-health/psych-relationships/LICENSE +21 -21
  1150. package/skills/mental-health/psych-relationships/SKILL.md +100 -100
  1151. package/skills/mental-health/psych-trauma/LICENSE +21 -21
  1152. package/skills/mental-health/psych-trauma/SKILL.md +109 -109
  1153. package/skills/model-usage/SKILL.md +75 -75
  1154. package/skills/model-usage/references/codexbar-cli.md +33 -33
  1155. package/skills/model-usage/scripts/model_usage.py +319 -319
  1156. package/skills/model-usage/scripts/test_model_usage.py +40 -40
  1157. package/skills/nano-pdf/SKILL.md +42 -42
  1158. package/skills/node-connect/SKILL.md +147 -147
  1159. package/skills/node-inspect-debugger/SKILL.md +88 -88
  1160. package/skills/notion/SKILL.md +154 -154
  1161. package/skills/obsidian/SKILL.md +123 -123
  1162. package/skills/openai-whisper/SKILL.md +42 -42
  1163. package/skills/openai-whisper-api/SKILL.md +75 -75
  1164. package/skills/openai-whisper-api/scripts/transcribe.sh +154 -154
  1165. package/skills/openhue/SKILL.md +116 -116
  1166. package/skills/oracle/SKILL.md +130 -130
  1167. package/skills/ordercli/SKILL.md +82 -82
  1168. package/skills/peekaboo/SKILL.md +217 -217
  1169. package/skills/pyproject.toml +10 -10
  1170. package/skills/python-debugpy/SKILL.md +76 -76
  1171. package/skills/sag/SKILL.md +91 -91
  1172. package/skills/science/sci-astronomy/LICENSE +21 -21
  1173. package/skills/science/sci-astronomy/SKILL.md +80 -80
  1174. package/skills/science/sci-biology/LICENSE +21 -21
  1175. package/skills/science/sci-biology/SKILL.md +74 -74
  1176. package/skills/science/sci-chemistry/LICENSE +21 -21
  1177. package/skills/science/sci-chemistry/SKILL.md +89 -89
  1178. package/skills/science/sci-climate/LICENSE +21 -21
  1179. package/skills/science/sci-climate/SKILL.md +72 -72
  1180. package/skills/science/sci-data-analysis/LICENSE +21 -21
  1181. package/skills/science/sci-data-analysis/SKILL.md +87 -87
  1182. package/skills/science/sci-environmental-science/LICENSE +21 -21
  1183. package/skills/science/sci-environmental-science/SKILL.md +69 -69
  1184. package/skills/science/sci-geology/LICENSE +21 -21
  1185. package/skills/science/sci-geology/SKILL.md +56 -56
  1186. package/skills/science/sci-method/LICENSE +21 -21
  1187. package/skills/science/sci-method/SKILL.md +77 -77
  1188. package/skills/science/sci-neuroscience/LICENSE +21 -21
  1189. package/skills/science/sci-neuroscience/SKILL.md +79 -79
  1190. package/skills/science/sci-physics/LICENSE +21 -21
  1191. package/skills/science/sci-physics/SKILL.md +78 -78
  1192. package/skills/science/sci-research-methods/LICENSE +21 -21
  1193. package/skills/science/sci-research-methods/SKILL.md +83 -83
  1194. package/skills/science/sci-statistics/LICENSE +21 -21
  1195. package/skills/science/sci-statistics/SKILL.md +249 -249
  1196. package/skills/session-logs/SKILL.md +155 -155
  1197. package/skills/sherpa-onnx-tts/SKILL.md +113 -113
  1198. package/skills/skill-creator/SKILL.md +81 -81
  1199. package/skills/skill-creator/license.txt +202 -202
  1200. package/skills/skill-creator/scripts/init_skill.py +378 -378
  1201. package/skills/skill-creator/scripts/package_skill.py +144 -144
  1202. package/skills/skill-creator/scripts/quick_validate.py +169 -169
  1203. package/skills/skill-creator/scripts/test_init_skill.py +51 -51
  1204. package/skills/skill-creator/scripts/test_package_skill.py +199 -199
  1205. package/skills/skill-creator/scripts/test_quick_validate.py +116 -116
  1206. package/skills/slack/SKILL.md +82 -82
  1207. package/skills/slack-gif-creator/LICENSE +21 -21
  1208. package/skills/slack-gif-creator/SKILL.md +293 -293
  1209. package/skills/slack-gif-creator/requirements.txt +3 -3
  1210. package/skills/social-sciences/social-anthropology/LICENSE +21 -21
  1211. package/skills/social-sciences/social-anthropology/SKILL.md +62 -62
  1212. package/skills/social-sciences/social-economics/LICENSE +21 -21
  1213. package/skills/social-sciences/social-economics/SKILL.md +88 -88
  1214. package/skills/social-sciences/social-geography/LICENSE +21 -21
  1215. package/skills/social-sciences/social-geography/SKILL.md +61 -61
  1216. package/skills/social-sciences/social-international-dev/LICENSE +21 -21
  1217. package/skills/social-sciences/social-international-dev/SKILL.md +76 -76
  1218. package/skills/social-sciences/social-political-science/LICENSE +21 -21
  1219. package/skills/social-sciences/social-political-science/SKILL.md +70 -70
  1220. package/skills/social-sciences/social-public-policy/LICENSE +21 -21
  1221. package/skills/social-sciences/social-public-policy/SKILL.md +73 -73
  1222. package/skills/social-sciences/social-sociology/LICENSE +21 -21
  1223. package/skills/social-sciences/social-sociology/SKILL.md +78 -78
  1224. package/skills/songsee/SKILL.md +53 -53
  1225. package/skills/sonoscli/SKILL.md +69 -69
  1226. package/skills/spike/SKILL.md +55 -55
  1227. package/skills/spotify-player/SKILL.md +68 -68
  1228. package/skills/summarize/SKILL.md +90 -90
  1229. package/skills/taskflow/SKILL.md +153 -153
  1230. package/skills/taskflow/examples/inbox-triage.lobster +33 -33
  1231. package/skills/taskflow/examples/pr-intake.lobster +32 -32
  1232. package/skills/taskflow-inbox-triage/SKILL.md +123 -123
  1233. package/skills/technical/ai-ethics/LICENSE +21 -21
  1234. package/skills/technical/ai-ethics/SKILL.md +92 -92
  1235. package/skills/technical/ai-product-builder/LICENSE +21 -21
  1236. package/skills/technical/ai-product-builder/SKILL.md +180 -180
  1237. package/skills/technical/analytics-setup/LICENSE +21 -21
  1238. package/skills/technical/analytics-setup/SKILL.md +125 -125
  1239. package/skills/technical/api-builder/LICENSE +21 -21
  1240. package/skills/technical/api-builder/SKILL.md +202 -202
  1241. package/skills/technical/architecture-decisions/LICENSE +21 -21
  1242. package/skills/technical/architecture-decisions/SKILL.md +120 -120
  1243. package/skills/technical/auth-security/LICENSE +21 -21
  1244. package/skills/technical/auth-security/SKILL.md +209 -209
  1245. package/skills/technical/blockchain-web3/LICENSE +21 -21
  1246. package/skills/technical/blockchain-web3/SKILL.md +84 -84
  1247. package/skills/technical/cloud-architecture/LICENSE +21 -21
  1248. package/skills/technical/cloud-architecture/SKILL.md +85 -85
  1249. package/skills/technical/content-platform/LICENSE +21 -21
  1250. package/skills/technical/content-platform/SKILL.md +134 -134
  1251. package/skills/technical/cybersecurity-advanced/LICENSE +21 -21
  1252. package/skills/technical/cybersecurity-advanced/SKILL.md +99 -99
  1253. package/skills/technical/data-engineering/LICENSE +21 -21
  1254. package/skills/technical/data-engineering/SKILL.md +117 -117
  1255. package/skills/technical/database-design/LICENSE +21 -21
  1256. package/skills/technical/database-design/SKILL.md +185 -185
  1257. package/skills/technical/devops-cicd/LICENSE +21 -21
  1258. package/skills/technical/devops-cicd/SKILL.md +181 -181
  1259. package/skills/technical/ecommerce-builder/LICENSE +21 -21
  1260. package/skills/technical/ecommerce-builder/SKILL.md +123 -123
  1261. package/skills/technical/email-marketing/LICENSE +21 -21
  1262. package/skills/technical/email-marketing/SKILL.md +128 -128
  1263. package/skills/technical/fintech-builder/LICENSE +21 -21
  1264. package/skills/technical/fintech-builder/SKILL.md +141 -141
  1265. package/skills/technical/full-stack-web/LICENSE +21 -21
  1266. package/skills/technical/full-stack-web/SKILL.md +173 -173
  1267. package/skills/technical/gdpr-basics/LICENSE +21 -21
  1268. package/skills/technical/gdpr-basics/SKILL.md +145 -145
  1269. package/skills/technical/launch-playbook/LICENSE +21 -21
  1270. package/skills/technical/launch-playbook/SKILL.md +95 -95
  1271. package/skills/technical/marketing-copy/LICENSE +21 -21
  1272. package/skills/technical/marketing-copy/SKILL.md +126 -126
  1273. package/skills/technical/marketplace-builder/LICENSE +21 -21
  1274. package/skills/technical/marketplace-builder/SKILL.md +105 -105
  1275. package/skills/technical/mobile-pwa/LICENSE +21 -21
  1276. package/skills/technical/mobile-pwa/SKILL.md +191 -191
  1277. package/skills/technical/no-code-tools/LICENSE +21 -21
  1278. package/skills/technical/no-code-tools/SKILL.md +80 -80
  1279. package/skills/technical/open-source/LICENSE +21 -21
  1280. package/skills/technical/open-source/SKILL.md +71 -71
  1281. package/skills/technical/performance-optimization/LICENSE +21 -21
  1282. package/skills/technical/performance-optimization/SKILL.md +155 -155
  1283. package/skills/technical/pricing-design/LICENSE +21 -21
  1284. package/skills/technical/pricing-design/SKILL.md +87 -87
  1285. package/skills/technical/product-management/LICENSE +21 -21
  1286. package/skills/technical/product-management/SKILL.md +94 -94
  1287. package/skills/technical/saas-builder/LICENSE +21 -21
  1288. package/skills/technical/saas-builder/SKILL.md +138 -138
  1289. package/skills/technical/scope-estimation/LICENSE +21 -21
  1290. package/skills/technical/scope-estimation/SKILL.md +99 -99
  1291. package/skills/technical/secrets-management/LICENSE +21 -21
  1292. package/skills/technical/secrets-management/SKILL.md +135 -135
  1293. package/skills/technical/seo-technical/LICENSE +21 -21
  1294. package/skills/technical/seo-technical/SKILL.md +136 -136
  1295. package/skills/technical/technical-writing/LICENSE +21 -21
  1296. package/skills/technical/technical-writing/SKILL.md +149 -149
  1297. package/skills/technical/ux-research-tools/LICENSE +21 -21
  1298. package/skills/technical/ux-research-tools/SKILL.md +54 -54
  1299. package/skills/theme-factory/LICENSE +21 -21
  1300. package/skills/theme-factory/SKILL.md +65 -65
  1301. package/skills/theme-factory/themes/arctic-frost.md +19 -19
  1302. package/skills/theme-factory/themes/botanical-garden.md +19 -19
  1303. package/skills/theme-factory/themes/desert-rose.md +19 -19
  1304. package/skills/theme-factory/themes/forest-canopy.md +19 -19
  1305. package/skills/theme-factory/themes/golden-hour.md +19 -19
  1306. package/skills/theme-factory/themes/midnight-galaxy.md +19 -19
  1307. package/skills/theme-factory/themes/modern-minimalist.md +19 -19
  1308. package/skills/theme-factory/themes/ocean-depths.md +19 -19
  1309. package/skills/theme-factory/themes/sunset-boulevard.md +19 -19
  1310. package/skills/theme-factory/themes/tech-innovation.md +19 -19
  1311. package/skills/things-mac/SKILL.md +90 -90
  1312. package/skills/tmux/SKILL.md +95 -95
  1313. package/skills/tmux/scripts/find-sessions.sh +112 -112
  1314. package/skills/tmux/scripts/wait-for-text.sh +83 -83
  1315. package/skills/trades/trades-agriculture/LICENSE +21 -21
  1316. package/skills/trades/trades-agriculture/SKILL.md +80 -80
  1317. package/skills/trades/trades-automotive/LICENSE +21 -21
  1318. package/skills/trades/trades-automotive/SKILL.md +84 -84
  1319. package/skills/trades/trades-carpentry/LICENSE +21 -21
  1320. package/skills/trades/trades-carpentry/SKILL.md +71 -71
  1321. package/skills/trades/trades-cooking-pro/LICENSE +21 -21
  1322. package/skills/trades/trades-cooking-pro/SKILL.md +90 -90
  1323. package/skills/trades/trades-electrical/LICENSE +21 -21
  1324. package/skills/trades/trades-electrical/SKILL.md +146 -146
  1325. package/skills/trades/trades-hvac/LICENSE +21 -21
  1326. package/skills/trades/trades-hvac/SKILL.md +80 -80
  1327. package/skills/trades/trades-landscaping/LICENSE +21 -21
  1328. package/skills/trades/trades-landscaping/SKILL.md +60 -60
  1329. package/skills/trades/trades-metalworking/LICENSE +21 -21
  1330. package/skills/trades/trades-metalworking/SKILL.md +64 -64
  1331. package/skills/trades/trades-painting/LICENSE +21 -21
  1332. package/skills/trades/trades-painting/SKILL.md +70 -70
  1333. package/skills/trades/trades-plumbing/LICENSE +21 -21
  1334. package/skills/trades/trades-plumbing/SKILL.md +160 -160
  1335. package/skills/trades/trades-welding/LICENSE +21 -21
  1336. package/skills/trades/trades-welding/SKILL.md +82 -82
  1337. package/skills/trello/SKILL.md +112 -112
  1338. package/skills/uipm-ui-styling/LICENSE.txt +202 -0
  1339. package/skills/uipm-ui-styling/SKILL.md +328 -0
  1340. package/skills/uipm-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
  1341. package/skills/uipm-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
  1342. package/skills/uipm-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
  1343. package/skills/uipm-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
  1344. package/skills/uipm-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
  1345. package/skills/uipm-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
  1346. package/skills/uipm-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
  1347. package/skills/uipm-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
  1348. package/skills/uipm-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
  1349. package/skills/uipm-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
  1350. package/skills/uipm-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
  1351. package/skills/uipm-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
  1352. package/skills/uipm-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
  1353. package/skills/uipm-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
  1354. package/skills/uipm-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
  1355. package/skills/uipm-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
  1356. package/skills/uipm-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
  1357. package/skills/uipm-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
  1358. package/skills/uipm-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
  1359. package/skills/uipm-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
  1360. package/skills/uipm-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
  1361. package/skills/uipm-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
  1362. package/skills/uipm-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
  1363. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
  1364. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
  1365. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
  1366. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
  1367. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
  1368. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
  1369. package/skills/uipm-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
  1370. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
  1371. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
  1372. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
  1373. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
  1374. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
  1375. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
  1376. package/skills/uipm-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
  1377. package/skills/uipm-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
  1378. package/skills/uipm-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
  1379. package/skills/uipm-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
  1380. package/skills/uipm-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
  1381. package/skills/uipm-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
  1382. package/skills/uipm-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
  1383. package/skills/uipm-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
  1384. package/skills/uipm-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
  1385. package/skills/uipm-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
  1386. package/skills/uipm-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
  1387. package/skills/uipm-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
  1388. package/skills/uipm-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
  1389. package/skills/uipm-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
  1390. package/skills/uipm-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
  1391. package/skills/uipm-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
  1392. package/skills/uipm-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
  1393. package/skills/uipm-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
  1394. package/skills/uipm-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
  1395. package/skills/uipm-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
  1396. package/skills/uipm-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
  1397. package/skills/uipm-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
  1398. package/skills/uipm-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
  1399. package/skills/uipm-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
  1400. package/skills/uipm-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
  1401. package/skills/uipm-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
  1402. package/skills/uipm-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
  1403. package/skills/uipm-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
  1404. package/skills/uipm-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
  1405. package/skills/uipm-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
  1406. package/skills/uipm-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
  1407. package/skills/uipm-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
  1408. package/skills/uipm-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
  1409. package/skills/uipm-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
  1410. package/skills/uipm-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
  1411. package/skills/uipm-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
  1412. package/skills/uipm-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
  1413. package/skills/uipm-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
  1414. package/skills/uipm-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
  1415. package/skills/uipm-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
  1416. package/skills/uipm-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
  1417. package/skills/uipm-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
  1418. package/skills/uipm-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
  1419. package/skills/uipm-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
  1420. package/skills/uipm-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
  1421. package/skills/uipm-ui-styling/references/canvas-design-system.md +320 -0
  1422. package/skills/uipm-ui-styling/references/shadcn-accessibility.md +471 -0
  1423. package/skills/uipm-ui-styling/references/shadcn-components.md +424 -0
  1424. package/skills/uipm-ui-styling/references/shadcn-theming.md +373 -0
  1425. package/skills/uipm-ui-styling/references/tailwind-customization.md +483 -0
  1426. package/skills/uipm-ui-styling/references/tailwind-responsive.md +382 -0
  1427. package/skills/uipm-ui-styling/references/tailwind-utilities.md +455 -0
  1428. package/skills/uipm-ui-styling/scripts/.coverage +0 -0
  1429. package/skills/uipm-ui-styling/scripts/requirements.txt +17 -0
  1430. package/skills/uipm-ui-styling/scripts/shadcn_add.py +292 -0
  1431. package/skills/uipm-ui-styling/scripts/tailwind_config_gen.py +456 -0
  1432. package/skills/uipm-ui-styling/scripts/tests/coverage-ui.json +1 -0
  1433. package/skills/uipm-ui-styling/scripts/tests/requirements.txt +3 -0
  1434. package/skills/uipm-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
  1435. package/skills/uipm-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
  1436. package/skills/video-frames/SKILL.md +50 -50
  1437. package/skills/video-frames/scripts/frame.sh +81 -81
  1438. package/skills/voice-call/SKILL.md +49 -49
  1439. package/skills/wacli/SKILL.md +76 -76
  1440. package/skills/weather/SKILL.md +91 -91
  1441. package/skills/web-artifacts-builder/LICENSE +21 -21
  1442. package/skills/web-artifacts-builder/SKILL.md +82 -82
  1443. package/skills/web-artifacts-builder/scripts/bundle-artifact.sh +53 -53
  1444. package/skills/web-artifacts-builder/scripts/init-artifact.sh +322 -322
  1445. package/skills/xurl/SKILL.md +124 -124
@@ -1,816 +1,816 @@
1
- # Expo / EAS Expert Reference — SDK 54 Build to Launch
2
-
3
- ## Table of Contents
4
-
5
- 1. [Expo SDK 54 Overview](#1-expo-sdk-54-overview)
6
- 2. [EAS Build Configuration (eas.json)](#2-eas-build-configuration-easjson)
7
- 3. [app.json Complete Reference](#3-appjson-complete-reference)
8
- 4. [EAS Build — Profiles & Triggers](#4-eas-build--profiles--triggers)
9
- 5. [EAS Submit — App Store & Play Store](#5-eas-submit--app-store--play-store)
10
- 6. [EAS Update (OTA)](#6-eas-update-ota)
11
- 7. [Config Plugins](#7-config-plugins)
12
- 8. [Native Modules & expo-modules](#8-native-modules--expo-modules)
13
- 9. [Secrets Management in EAS](#9-secrets-management-in-eas)
14
- 10. [Common EAS Build Errors & Fixes](#10-common-eas-build-errors--fixes)
15
- 11. [Common EAS Submit Errors & Fixes](#11-common-eas-submit-errors--fixes)
16
- 12. [Dependency Compatibility Matrix](#12-dependency-compatibility-matrix)
17
- 13. [Development Workflow](#13-development-workflow)
18
- 14. [<project> Specific Fixes](#14-<project>-specific-fixes)
19
-
20
- ---
21
-
22
- ## 1. Expo SDK 54 Overview
23
-
24
- **SDK 54 highlights (released Feb 2026):**
25
-
26
- - React Native 0.76
27
- - Hermes engine default (cannot opt out)
28
- - New Architecture (Fabric + JSI) opt-in stable
29
- - `expo-router` v4 (file-based routing)
30
- - `expo-sqlite` v15 with full synchronous and async APIs
31
- - `expo-camera` v15 with new Vision Camera API
32
- - `expo-notifications` v0.29 — improved background handling
33
- - `expo-dev-client` v4 — stable
34
- - Dropped support for Android API < 23
35
-
36
- **Breaking changes from SDK 53→54:**
37
-
38
- - `expo-av` fully replaced by `expo-video` and `expo-audio`
39
- - `expo-modules-core` requires minimum iOS 16
40
- - `SplashScreen.preventAutoHideAsync()` → must call `SplashScreen.setOptions()` first
41
- - `expo-font` async loading API changed
42
-
43
- **Hermes engine:** Enabled by default in SDK 48+.
44
- Benefits: faster startup (~2x), lower memory, better GC.
45
- `console.log` in production now works in LogBox; remove before release.
46
-
47
- **New Architecture (Fabric):**
48
- Opt-in in SDK 54 — stable but not all third-party libraries support it.
49
- Enable in app.json: `"newArchEnabled": true` (Android) — test thoroughly before enabling.
50
- For <project>: keep disabled until all native dependencies confirmed compatible.
51
-
52
- ---
53
-
54
- ## 2. EAS Build Configuration (eas.json)
55
-
56
- **<project> eas.json (complete production-ready config):**
57
-
58
- ```json
59
- {
60
- "cli": {
61
- "version": ">= 12.0.0",
62
- "appVersionSource": "remote"
63
- },
64
- "build": {
65
- "development": {
66
- "developmentClient": true,
67
- "distribution": "internal",
68
- "ios": {
69
- "simulator": false,
70
- "resourceClass": "m-medium"
71
- },
72
- "android": {
73
- "buildType": "apk",
74
- "gradleCommand": ":app:assembleDebug"
75
- },
76
- "env": {
77
- "APP_ENV": "development"
78
- }
79
- },
80
- "preview": {
81
- "distribution": "internal",
82
- "ios": {
83
- "simulator": false,
84
- "resourceClass": "m-medium"
85
- },
86
- "android": {
87
- "buildType": "apk"
88
- },
89
- "env": {
90
- "APP_ENV": "staging"
91
- }
92
- },
93
- "production": {
94
- "autoIncrement": true,
95
- "ios": {
96
- "resourceClass": "m-medium",
97
- "image": "latest"
98
- },
99
- "android": {
100
- "buildType": "app-bundle"
101
- },
102
- "env": {
103
- "APP_ENV": "production"
104
- }
105
- }
106
- },
107
- "submit": {
108
- "production": {
109
- "ios": {
110
- "appleId": "<email>",
111
- "ascAppId": "6762309517",
112
- "appleTeamId": "LZT4U6348K"
113
- },
114
- "android": {
115
- "serviceAccountKeyPath": "./google-play-service-account.json",
116
- "track": "internal"
117
- }
118
- }
119
- }
120
- }
121
- ```
122
-
123
- **`appVersionSource: "remote"`** — versionCode and buildNumber are managed by EAS servers, auto-incrementing. Recommended for production.
124
-
125
- **`autoIncrement: true`** — auto-increments versionCode/buildNumber on each production build. Use with `appVersionSource: remote`.
126
-
127
- **Resource classes:**
128
-
129
- - `m-medium`: 4 vCPU, 8GB RAM — default, sufficient for <project>
130
- - `m-large`: 8 vCPU, 16GB RAM — for very large apps or slow builds
131
- - iOS builds require macOS workers (m-medium = Apple Silicon M1)
132
-
133
- ---
134
-
135
- ## 3. app.json Complete Reference
136
-
137
- **<project> app.json (production-ready):**
138
-
139
- ```json
140
- {
141
- "expo": {
142
- "name": "<project> Shield",
143
- "slug": "<project>-shield",
144
- "version": "2.3.0",
145
- "orientation": "portrait",
146
- "icon": "./assets/icon.png",
147
- "userInterfaceStyle": "light",
148
- "scheme": "<project>",
149
- "splash": {
150
- "image": "./assets/splash.png",
151
- "resizeMode": "contain",
152
- "backgroundColor": "#0A1C48"
153
- },
154
- "assetBundlePatterns": ["**/*"],
155
- "ios": {
156
- "supportsTablet": false,
157
- "bundleIdentifier": "com.<project>.shield",
158
- "buildNumber": "15",
159
- "googleServicesFile": "./GoogleService-Info.plist",
160
- "usesAppleSignIn": true,
161
- "infoPlist": {
162
- "ITSAppUsesNonExemptEncryption": false,
163
- "UIBackgroundModes": ["fetch", "processing", "remote-notification"],
164
- "BGTaskSchedulerPermittedIdentifiers": ["com.<project>.shield.refresh"],
165
- "NSCameraUsageDescription": "Used to scan QR codes for UPI payments",
166
- "NSFaceIDUsageDescription": "Used to authenticate your identity securely",
167
- "NSContactsUsageDescription": "Used to quickly find contacts for payments"
168
- }
169
- },
170
- "android": {
171
- "package": "com.<project>.shield",
172
- "versionCode": 14,
173
- "googleServicesFile": "./google-services.json",
174
- "permissions": [
175
- "CAMERA",
176
- "VIBRATE",
177
- "RECEIVE_BOOT_COMPLETED",
178
- "USE_BIOMETRIC",
179
- "USE_FINGERPRINT"
180
- ],
181
- "adaptiveIcon": {
182
- "foregroundImage": "./assets/adaptive-icon.png",
183
- "backgroundColor": "#0A1C48"
184
- }
185
- },
186
- "web": {
187
- "favicon": "./assets/favicon.png"
188
- },
189
- "plugins": [
190
- [
191
- "expo-camera",
192
- { "cameraPermission": "Allow <project> to access your camera to scan QR codes." }
193
- ],
194
- ["expo-local-authentication"],
195
- [
196
- "expo-notifications",
197
- {
198
- "icon": "./assets/notification-icon.png",
199
- "color": "#3B82F6",
200
- "sounds": ["./assets/notification.wav"],
201
- "androidCollapsedTitle": "<project> Alert",
202
- "iosDisplayInForeground": true
203
- }
204
- ],
205
- [
206
- "@react-native-google-signin/google-signin",
207
- {
208
- "iosUrlScheme": "com.googleusercontent.apps.929418470411-REPLACE_WITH_REVERSED_CLIENT_ID"
209
- }
210
- ],
211
- "expo-apple-authentication"
212
- ],
213
- "extra": {
214
- "eas": {
215
- "projectId": "EXPO_PROJECT_ID"
216
- }
217
- }
218
- }
219
- }
220
- ```
221
-
222
- **Key fields:**
223
-
224
- - `scheme`: URL scheme for deep links (`<project>://`)
225
- - `userInterfaceStyle`: "light" | "dark" | "automatic"
226
- - `supportsTablet`: false for phone-only app
227
- - `ITSAppUsesNonExemptEncryption: false` — avoids US export compliance questionnaire if no custom crypto
228
- - `buildNumber` is a **string** (iOS), `versionCode` is a **number** (Android)
229
-
230
- ---
231
-
232
- ## 4. EAS Build — Profiles & Triggers
233
-
234
- **Build commands:**
235
-
236
- ```bash
237
- # Production iOS (App Store submission)
238
- eas build --platform ios --profile production
239
-
240
- # Production Android (AAB for Play Store)
241
- eas build --platform android --profile production
242
-
243
- # Both platforms simultaneously
244
- eas build --platform all --profile production
245
-
246
- # Preview APK (internal testing without Play Store)
247
- eas build --platform android --profile preview
248
-
249
- # Development build with expo-dev-client
250
- eas build --platform ios --profile development
251
- eas build --platform android --profile development
252
-
253
- # Check build status
254
- eas build:list
255
-
256
- # Cancel a build
257
- eas build:cancel BUILD_ID
258
- ```
259
-
260
- **Build queues:**
261
-
262
- - Free tier: serial queue, potentially long wait
263
- - Priority builds: available on paid plans (EAS $19/mo Starter or higher)
264
- - Typical build time: iOS 10-20 min, Android 8-15 min
265
-
266
- **Build artifacts:**
267
-
268
- - iOS production: `.ipa` file → directly submittable to App Store Connect
269
- - Android production: `.aab` file → directly submittable to Play Console
270
- - Android preview: `.apk` file → install directly on device
271
-
272
- **Artifact URLs:** Available in EAS Dashboard and printed in CLI output.
273
- <project> versionCode 14 AAB: `https://expo.dev/artifacts/eas/4wJ3M2VNwNco4YYjrQQNkL.aab`
274
- <project> build 15 IPA: `https://expo.dev/artifacts/eas/3K9FQFpKJRxJyxybuH9a9Z.ipa`
275
-
276
- **Build logs:**
277
-
278
- ```bash
279
- eas build:view BUILD_ID
280
- # or open in browser:
281
- # https://expo.dev/accounts/<project>/projects/<project>-shield/builds/BUILD_ID
282
- ```
283
-
284
- ---
285
-
286
- ## 5. EAS Submit — App Store & Play Store
287
-
288
- **iOS submission:**
289
-
290
- ```bash
291
- # Submit latest build
292
- eas submit --platform ios --latest
293
-
294
- # Submit specific build
295
- eas submit --platform ios --id BUILD_ID
296
-
297
- # Submit local IPA
298
- eas submit --platform ios --path ./app.ipa
299
- ```
300
-
301
- **EAS Submit requires ASC API Key (not Apple ID + password):**
302
-
303
- 1. App Store Connect → Users and Access → Integrations → App Store Connect API
304
- 2. Generate key with App Manager role
305
- 3. Download .p8 file (one-time download!)
306
- 4. Run: `eas credentials` → iOS → App Store Connect API Key → Add new
307
-
308
- **iOS submission flow:**
309
-
310
- 1. EAS validates IPA against App Store requirements
311
- 2. Uploads to App Store Connect using ASC API
312
- 3. Build appears in TestFlight section (takes 5-30 min to process)
313
- 4. Select build for external TestFlight testing or App Store release
314
-
315
- **Android submission:**
316
-
317
- ```bash
318
- # Submit latest AAB
319
- eas submit --platform android --latest
320
-
321
- # Submit to specific track
322
- eas submit --platform android --latest --android-package com.<project>.shield
323
- ```
324
-
325
- **Android requires Google Play service account:**
326
-
327
- 1. Play Console → Setup → API access → Link to Google Cloud project
328
- 2. Google Cloud Console → Create service account
329
- 3. Grant roles: Release Manager + Storage Admin
330
- 4. Download service account JSON key
331
- 5. Add to `eas.json`: `"serviceAccountKeyPath": "./google-play-service-account.json"`
332
- 6. Add to `.gitignore` — never commit this file
333
-
334
- **Submission status:**
335
-
336
- ```
337
- https://expo.dev/accounts/<project>/projects/<project>-shield/submissions/SUBMISSION_ID
338
- ```
339
-
340
- **<project> iOS submission (failed) — check:**
341
- `https://expo.dev/accounts/<project>/projects/<project>-shield/submissions/595e31cf`
342
-
343
- ---
344
-
345
- ## 6. EAS Update (OTA)
346
-
347
- **OTA updates — what can be updated:**
348
-
349
- - JavaScript bundle
350
- - Assets (images, fonts, JSON)
351
- - Any non-native code
352
-
353
- **What CANNOT be updated via OTA:**
354
-
355
- - Native module additions/removals
356
- - app.json changes requiring native rebuild
357
- - New permissions
358
- - New SDK features requiring native code
359
-
360
- **Commands:**
361
-
362
- ```bash
363
- # Push OTA update to production channel
364
- eas update --channel production --message "Fix: ACH challenge timer"
365
-
366
- # Push to staging
367
- eas update --channel staging --message "Testing new UPI flow"
368
-
369
- # List updates
370
- eas update:list
371
-
372
- # Rollback to previous update
373
- eas update:rollback --channel production
374
- ```
375
-
376
- **Channel configuration in app.json:**
377
-
378
- ```json
379
- {
380
- "expo": {
381
- "runtimeVersion": {
382
- "policy": "sdkVersion"
383
- },
384
- "updates": {
385
- "url": "https://u.expo.dev/YOUR_PROJECT_ID",
386
- "enabled": true,
387
- "fallbackToCacheTimeout": 0
388
- }
389
- }
390
- }
391
- ```
392
-
393
- **Runtime version:** Must match between the running app and the OTA update.
394
- `sdkVersion` policy: runtime version = Expo SDK version (safest, updates only delivered to compatible builds)
395
-
396
- **OTA in code (expo-updates):**
397
-
398
- ```typescript
399
- import * as Updates from "expo-updates";
400
-
401
- async function checkForUpdate() {
402
- const update = await Updates.checkForUpdateAsync();
403
- if (update.isAvailable) {
404
- await Updates.fetchUpdateAsync();
405
- await Updates.reloadAsync(); // restart app with new bundle
406
- }
407
- }
408
- ```
409
-
410
- ---
411
-
412
- ## 7. Config Plugins
413
-
414
- **What config plugins do:**
415
- Modify native iOS/Android project files without ejecting to bare workflow.
416
- Runs during `eas build` (prebuild phase).
417
-
418
- **Common config plugins for <project>:**
419
-
420
- ```json
421
- {
422
- "plugins": [
423
- "expo-camera",
424
- "expo-local-authentication",
425
- ["expo-notifications", { ... }],
426
- ["@react-native-google-signin/google-signin", { ... }],
427
- "expo-apple-authentication",
428
- ["expo-build-properties", {
429
- "android": {
430
- "compileSdkVersion": 35,
431
- "targetSdkVersion": 34,
432
- "minSdkVersion": 23,
433
- "kotlinVersion": "1.9.24"
434
- },
435
- "ios": {
436
- "deploymentTarget": "16.0"
437
- }
438
- }]
439
- ]
440
- }
441
- ```
442
-
443
- **Writing custom config plugins:**
444
-
445
- ```typescript
446
- // plugins/withPrivacyManifest.ts
447
- import { ConfigPlugin, withInfoPlist } from "expo/config-plugins";
448
-
449
- const withPrivacyManifest: ConfigPlugin = (config) => {
450
- return withInfoPlist(config, (config) => {
451
- // Modify Info.plist
452
- return config;
453
- });
454
- };
455
- export default withPrivacyManifest;
456
- ```
457
-
458
- **`expo-build-properties`** — most commonly needed plugin to set Android/iOS build settings.
459
- Install: `npx expo install expo-build-properties`
460
-
461
- **Prebuild (generate native code without building):**
462
-
463
- ```bash
464
- npx expo prebuild --clean
465
- # Generates android/ and ios/ folders
466
- # DO NOT commit these if using managed workflow
467
- ```
468
-
469
- ---
470
-
471
- ## 8. Native Modules & expo-modules
472
-
473
- **Modules removed from <project> Shield (incompatible):**
474
-
475
- - `react-native-ble-plx` — BLE (incompatible with SDK 54 managed workflow)
476
- - `react-native-mmkv` — fast key-value storage (requires bare workflow)
477
- - `react-native-tts` — text-to-speech (not needed)
478
- - `react-native-permissions` — replaced by built-in expo permission APIs
479
- - `react-native-reanimated` — removed; use `react-native-reanimated` v3+ with config plugin if needed
480
- - `react-native-gesture-handler` — use with reanimated; add as config plugin
481
- - `react-native-worklets` — incompatible
482
-
483
- **Expo SDK 54 equivalents:**
484
- | Removed | Use instead |
485
- |---------|-------------|
486
- | react-native-ble-plx | expo-bluetooth (experimental) or remove BLE features |
487
- | react-native-mmkv | expo-secure-store or AsyncStorage |
488
- | react-native-permissions | expo-camera, expo-location built-in permission APIs |
489
- | react-native-reanimated | Install v3 + add to plugins |
490
-
491
- **Adding react-native-reanimated properly (if needed):**
492
-
493
- ```bash
494
- npx expo install react-native-reanimated
495
- ```
496
-
497
- Then add to babel.config.js:
498
-
499
- ```javascript
500
- module.exports = { plugins: ["react-native-reanimated/plugin"] };
501
- ```
502
-
503
- And app.json plugins: `"react-native-reanimated"` (as config plugin).
504
-
505
- **Checking module compatibility:**
506
- https://reactnative.directory — search any module
507
- https://expo.dev/go — Expo Go supported packages
508
- https://www.npmjs.com/package/expo-modules-core — SDK compatibility matrix
509
-
510
- ---
511
-
512
- ## 9. Secrets Management in EAS
513
-
514
- **EAS secrets (stored securely, injected at build time):**
515
-
516
- ```bash
517
- # Set a secret
518
- eas secret:create --scope project --name API_KEY --value "your-value"
519
-
520
- # List secrets
521
- eas secret:list
522
-
523
- # Delete a secret
524
- eas secret:delete --id SECRET_ID
525
- ```
526
-
527
- **Types:**
528
-
529
- - **Project secrets:** Available to all builds for this project
530
- - **Account secrets:** Available to all projects under this Expo account
531
-
532
- **Using secrets in code:**
533
-
534
- ```typescript
535
- // Secrets are injected as environment variables at build time
536
- const apiKey = process.env.API_KEY;
537
-
538
- // In app.json, expose them:
539
- {
540
- "expo": {
541
- "extra": {
542
- "apiKey": process.env.API_KEY
543
- }
544
- }
545
- }
546
-
547
- // In code:
548
- import Constants from 'expo-constants';
549
- const apiKey = Constants.expoConfig?.extra?.apiKey;
550
- ```
551
-
552
- **Secret precedence:** eas.json `env` → EAS project secrets → EAS account secrets
553
-
554
- **Never put secrets in app.json directly** — these are bundled into the app binary and visible to anyone who decompiles the APK/IPA.
555
- Use EAS secrets for: API keys, backend URLs, Firebase config overrides.
556
-
557
- ---
558
-
559
- ## 10. Common EAS Build Errors & Fixes
560
-
561
- **"No Expo project found":**
562
- Run `eas init` in the project root to link with Expo account.
563
- Or check `extra.eas.projectId` in app.json is correct.
564
-
565
- **"Unable to find module 'X'":**
566
- Module not installed or incompatible with current SDK.
567
- Fix: `npx expo install X` (uses compatible version)
568
- Never use `npm install X` for Expo modules — always `npx expo install`.
569
-
570
- **iOS build: "No matching provisioning profiles found":**
571
- Fix via `eas credentials` → iOS → reset credentials and let EAS generate new ones.
572
- Or in App Store Connect: revoke expired provisioning profiles and regenerate.
573
-
574
- **iOS build: "Xcode build failed":**
575
- Check build logs: `eas build:view BUILD_ID`
576
- Common causes:
577
-
578
- - Missing config plugin configuration
579
- - Incompatible native module version
580
- - Info.plist key conflict between plugins
581
- - Swift version mismatch
582
-
583
- **Android build: "AAPT2 error":**
584
- Usually a resource conflict or missing drawable.
585
- Fix: ensure all icon assets exist at correct sizes.
586
- Adaptive icon: 108×108 dp (432×432 px for xxxhdpi)
587
-
588
- **Android build: "Duplicate class":**
589
- Two dependencies include the same class.
590
- Fix in app.json plugins/expo-build-properties:
591
-
592
- ```json
593
- [
594
- "expo-build-properties",
595
- {
596
- "android": {
597
- "packagingOptions": {
598
- "pickFirst": ["**/libc++_shared.so"]
599
- }
600
- }
601
- }
602
- ]
603
- ```
604
-
605
- **"Build queue timeout":**
606
- EAS free tier has build time limits. Upgrade or retry.
607
- Use `--no-wait` flag to submit build without waiting in CLI.
608
-
609
- **"google-services.json not found":**
610
- File must be in Expo project root (not android/ subfolder).
611
- app.json: `"android": { "googleServicesFile": "./google-services.json" }`
612
-
613
- **"GoogleService-Info.plist not found":**
614
- File must be in Expo project root.
615
- app.json: `"ios": { "googleServicesFile": "./GoogleService-Info.plist" }`
616
-
617
- **Build succeeds but app crashes on launch:**
618
-
619
- - Check EAS Build logs for any warning about incompatible modules
620
- - Common cause: Hermes engine incompatibility with a native module
621
- - Test with development build first: `eas build --profile development`
622
-
623
- ---
624
-
625
- ## 11. Common EAS Submit Errors & Fixes
626
-
627
- **iOS: "No Apple ID credentials found":**
628
- Run `eas credentials` → iOS → App Store Connect API Key → add credentials.
629
- Do not use Apple ID + password for 2FA accounts — use ASC API key instead.
630
-
631
- **iOS: "The bundle 'com.<project>.shield' is not available":**
632
- App not created in App Store Connect yet.
633
- Fix: Create app in App Store Connect first, then submit.
634
-
635
- **iOS: "App Store Connect operation error" (generic):**
636
- Check Apple system status: developer.apple.com/system-status/
637
- If Apple services are degraded, wait and retry.
638
-
639
- **iOS: "Invalid Bundle. The bundle does not support the minimum OS version":**
640
- Update `ios.deploymentTarget` in expo-build-properties plugin.
641
-
642
- **iOS: "Missing compliance" error:**
643
- Add to app.json: `"ITSAppUsesNonExemptEncryption": false`
644
- Rebuild and resubmit.
645
-
646
- **iOS: BGTaskScheduler rejection (Guideline 2.5.4):**
647
- This is an App Review rejection, not a submission error.
648
- `BGTaskSchedulerPermittedIdentifiers` in Info.plist must exactly match registered identifiers in code.
649
- Check: app.json → `BGTaskSchedulerPermittedIdentifiers` matches `BackgroundFetch.registerTaskAsync()` task name.
650
-
651
- **iOS: "Sign in with Apple required":**
652
- If Google Sign-In is present, Apple Sign-In must also be present.
653
- Install `expo-apple-authentication` and add flow.
654
-
655
- **Android: "No service account key found":**
656
- Place `google-play-service-account.json` in project root (gitignored).
657
- Update eas.json: `"serviceAccountKeyPath": "./google-play-service-account.json"`
658
-
659
- **Android: "Version code already used":**
660
- Increment versionCode in app.json and rebuild before submitting.
661
-
662
- **Android: "Package name mismatch":**
663
- Package in AAB must match Play Console app registration: `com.<project>.shield`.
664
-
665
- **Submission 595e31cf (current iOS failure):**
666
- Check: `https://expo.dev/accounts/<project>/projects/<project>-shield/submissions/595e31cf`
667
- Most likely causes given build history:
668
-
669
- 1. BGTaskScheduler identifier mismatch
670
- 2. Sign in with Apple missing
671
- 3. Privacy manifest missing (ITMS-91053)
672
- 4. Missing REVERSED_CLIENT_ID URL scheme for Google Sign-In
673
-
674
- ---
675
-
676
- ## 12. Dependency Compatibility Matrix
677
-
678
- **SDK 54 confirmed compatible packages:**
679
- | Package | Version | Notes |
680
- |---------|---------|-------|
681
- | expo | ~54.0.0 | |
682
- | react-native | 0.76.x | |
683
- | expo-camera | ~15.0.0 | |
684
- | expo-local-authentication | ~15.0.0 | |
685
- | expo-notifications | ~0.29.0 | |
686
- | expo-secure-store | ~14.0.0 | |
687
- | expo-updates | ~0.27.0 | |
688
- | expo-router | ~4.0.0 | |
689
- | expo-build-properties | ~0.13.0 | |
690
- | expo-apple-authentication | ~7.0.0 | |
691
- | @react-native-firebase/app | ~21.x | |
692
- | @react-native-firebase/messaging | ~21.x | |
693
- | @react-native-google-signin/google-signin | ~13.x | |
694
-
695
- **Install compatible versions:**
696
-
697
- ```bash
698
- npx expo install expo-camera expo-notifications expo-local-authentication
699
- ```
700
-
701
- Always use `npx expo install` — it automatically selects SDK-compatible versions.
702
-
703
- **Checking for outdated packages:**
704
-
705
- ```bash
706
- npx expo-doctor
707
- # or
708
- npx expo install --check
709
- ```
710
-
711
- ---
712
-
713
- ## 13. Development Workflow
714
-
715
- **Daily development cycle:**
716
-
717
- ```bash
718
- # Start dev server
719
- npx expo start
720
-
721
- # Start with specific options
722
- npx expo start --clear # clear cache
723
- npx expo start --tunnel # use ngrok tunnel (for physical devices on different network)
724
-
725
- # Open in simulator
726
- npx expo start --ios # iOS simulator
727
- npx expo start --android # Android emulator
728
-
729
- # Run on physical device
730
- # Install Expo Go or dev client → scan QR code
731
- ```
732
-
733
- **Development client vs Expo Go:**
734
-
735
- - **Expo Go:** Sandboxed, limited native modules, good for prototyping
736
- - **expo-dev-client:** Full native module support, required for <project> (Firebase, Google Sign-In, etc.)
737
-
738
- **Build and test on device (without EAS):**
739
-
740
- ```bash
741
- # Build locally (requires Xcode/Android Studio)
742
- npx expo run:ios
743
- npx expo run:android
744
-
745
- # EAS development build (no local Xcode needed)
746
- eas build --profile development --platform ios
747
- # Install dev client IPA on device → start Expo server → connect
748
- ```
749
-
750
- **Clearing caches (when things go wrong):**
751
-
752
- ```bash
753
- npx expo start --clear
754
- npx expo install --fix # Fix version mismatches
755
- rm -rf node_modules && npm install
756
- cd ios && pod install && cd .. # Re-install iOS pods (bare workflow)
757
- ```
758
-
759
- ---
760
-
761
- ## 14. <project> Specific Fixes
762
-
763
- **iOS submission 595e31cf failure — systematic fix checklist:**
764
-
765
- 1. **Check exact error in submission details** at expo.dev link
766
- 2. **BGTaskScheduler fix (most likely):**
767
- - Verify `BGTaskSchedulerPermittedIdentifiers` in app.json InfoPlist
768
- - Ensure exactly one identifier: `"com.<project>.shield.refresh"`
769
- - Verify same string is used in background task registration code
770
- 3. **Privacy manifest check:**
771
- - Ensure `PrivacyInfo.xcprivacy` is added via config plugin
772
- - If not present, add `expo-privacy-manifest` plugin or custom config plugin
773
- 4. **Sign in with Apple:**
774
- - `expo-apple-authentication` must be installed AND functional in app
775
- - `usesAppleSignIn: true` in app.json is not enough — actual sign-in flow must exist
776
- 5. **Rebuild after fix:**
777
- ```bash
778
- # Increment buildNumber in app.json (15 → 16)
779
- eas build --platform ios --profile production
780
- eas submit --platform ios --latest
781
- ```
782
-
783
- **Google Sign-In fix for versionCode 14 (Android):**
784
-
785
- - Both SHA-1 fingerprints are in Firebase (confirmed)
786
- - versionCode 14 build uses production SHA-1
787
- - Once Play Store approves and tester installs: test Google Sign-In
788
- - If Error 10 (DEVELOPER_ERROR) still occurs: download fresh google-services.json from Firebase
789
-
790
- **ACH Shield Unit.co webhook in app:**
791
- App receives FCM push with challenge data:
792
-
793
- ```typescript
794
- const challengeData = {
795
- challengeId: remoteMessage.data.challengeId,
796
- options: JSON.parse(remoteMessage.data.options), // ["3", "7", "9"]
797
- expiresAt: remoteMessage.data.expiresAt,
798
- amount: remoteMessage.data.amount,
799
- };
800
- // Navigate to ACH challenge screen with this data
801
- ```
802
-
803
- **UPI daily limit tracker:**
804
-
805
- - Backend: `GET /api/upi/daily-limit` returns `{ used: number, limit: 10000, currency: 'INR' }`
806
- - Stored in DB per user per UTC day
807
- - Reset at midnight UTC (not IST — careful with timezone)
808
- - For IST midnight reset: use Cloud Scheduler with IST timezone (Asia/Kolkata)
809
-
810
- **Unit.co SANDBOX → PRODUCTION switch (before public launch):**
811
-
812
- 1. Unit.co dashboard: switch org to production mode
813
- 2. Get production UNIT_API_KEY JWT
814
- 3. Update in GCP Secret Manager: `gcloud secrets versions add UNIT_API_KEY --data-file=...`
815
- 4. Redeploy all 3 regions
816
- 5. Test with a real bank account before any user-facing launch
1
+ # Expo / EAS Expert Reference — SDK 54 Build to Launch
2
+
3
+ ## Table of Contents
4
+
5
+ 1. [Expo SDK 54 Overview](#1-expo-sdk-54-overview)
6
+ 2. [EAS Build Configuration (eas.json)](#2-eas-build-configuration-easjson)
7
+ 3. [app.json Complete Reference](#3-appjson-complete-reference)
8
+ 4. [EAS Build — Profiles & Triggers](#4-eas-build--profiles--triggers)
9
+ 5. [EAS Submit — App Store & Play Store](#5-eas-submit--app-store--play-store)
10
+ 6. [EAS Update (OTA)](#6-eas-update-ota)
11
+ 7. [Config Plugins](#7-config-plugins)
12
+ 8. [Native Modules & expo-modules](#8-native-modules--expo-modules)
13
+ 9. [Secrets Management in EAS](#9-secrets-management-in-eas)
14
+ 10. [Common EAS Build Errors & Fixes](#10-common-eas-build-errors--fixes)
15
+ 11. [Common EAS Submit Errors & Fixes](#11-common-eas-submit-errors--fixes)
16
+ 12. [Dependency Compatibility Matrix](#12-dependency-compatibility-matrix)
17
+ 13. [Development Workflow](#13-development-workflow)
18
+ 14. [<project> Specific Fixes](#14-<project>-specific-fixes)
19
+
20
+ ---
21
+
22
+ ## 1. Expo SDK 54 Overview
23
+
24
+ **SDK 54 highlights (released Feb 2026):**
25
+
26
+ - React Native 0.76
27
+ - Hermes engine default (cannot opt out)
28
+ - New Architecture (Fabric + JSI) opt-in stable
29
+ - `expo-router` v4 (file-based routing)
30
+ - `expo-sqlite` v15 with full synchronous and async APIs
31
+ - `expo-camera` v15 with new Vision Camera API
32
+ - `expo-notifications` v0.29 — improved background handling
33
+ - `expo-dev-client` v4 — stable
34
+ - Dropped support for Android API < 23
35
+
36
+ **Breaking changes from SDK 53→54:**
37
+
38
+ - `expo-av` fully replaced by `expo-video` and `expo-audio`
39
+ - `expo-modules-core` requires minimum iOS 16
40
+ - `SplashScreen.preventAutoHideAsync()` → must call `SplashScreen.setOptions()` first
41
+ - `expo-font` async loading API changed
42
+
43
+ **Hermes engine:** Enabled by default in SDK 48+.
44
+ Benefits: faster startup (~2x), lower memory, better GC.
45
+ `console.log` in production now works in LogBox; remove before release.
46
+
47
+ **New Architecture (Fabric):**
48
+ Opt-in in SDK 54 — stable but not all third-party libraries support it.
49
+ Enable in app.json: `"newArchEnabled": true` (Android) — test thoroughly before enabling.
50
+ For <project>: keep disabled until all native dependencies confirmed compatible.
51
+
52
+ ---
53
+
54
+ ## 2. EAS Build Configuration (eas.json)
55
+
56
+ **<project> eas.json (complete production-ready config):**
57
+
58
+ ```json
59
+ {
60
+ "cli": {
61
+ "version": ">= 12.0.0",
62
+ "appVersionSource": "remote"
63
+ },
64
+ "build": {
65
+ "development": {
66
+ "developmentClient": true,
67
+ "distribution": "internal",
68
+ "ios": {
69
+ "simulator": false,
70
+ "resourceClass": "m-medium"
71
+ },
72
+ "android": {
73
+ "buildType": "apk",
74
+ "gradleCommand": ":app:assembleDebug"
75
+ },
76
+ "env": {
77
+ "APP_ENV": "development"
78
+ }
79
+ },
80
+ "preview": {
81
+ "distribution": "internal",
82
+ "ios": {
83
+ "simulator": false,
84
+ "resourceClass": "m-medium"
85
+ },
86
+ "android": {
87
+ "buildType": "apk"
88
+ },
89
+ "env": {
90
+ "APP_ENV": "staging"
91
+ }
92
+ },
93
+ "production": {
94
+ "autoIncrement": true,
95
+ "ios": {
96
+ "resourceClass": "m-medium",
97
+ "image": "latest"
98
+ },
99
+ "android": {
100
+ "buildType": "app-bundle"
101
+ },
102
+ "env": {
103
+ "APP_ENV": "production"
104
+ }
105
+ }
106
+ },
107
+ "submit": {
108
+ "production": {
109
+ "ios": {
110
+ "appleId": "<email>",
111
+ "ascAppId": "6762309517",
112
+ "appleTeamId": "LZT4U6348K"
113
+ },
114
+ "android": {
115
+ "serviceAccountKeyPath": "./google-play-service-account.json",
116
+ "track": "internal"
117
+ }
118
+ }
119
+ }
120
+ }
121
+ ```
122
+
123
+ **`appVersionSource: "remote"`** — versionCode and buildNumber are managed by EAS servers, auto-incrementing. Recommended for production.
124
+
125
+ **`autoIncrement: true`** — auto-increments versionCode/buildNumber on each production build. Use with `appVersionSource: remote`.
126
+
127
+ **Resource classes:**
128
+
129
+ - `m-medium`: 4 vCPU, 8GB RAM — default, sufficient for <project>
130
+ - `m-large`: 8 vCPU, 16GB RAM — for very large apps or slow builds
131
+ - iOS builds require macOS workers (m-medium = Apple Silicon M1)
132
+
133
+ ---
134
+
135
+ ## 3. app.json Complete Reference
136
+
137
+ **<project> app.json (production-ready):**
138
+
139
+ ```json
140
+ {
141
+ "expo": {
142
+ "name": "<project> Shield",
143
+ "slug": "<project>-shield",
144
+ "version": "2.3.0",
145
+ "orientation": "portrait",
146
+ "icon": "./assets/icon.png",
147
+ "userInterfaceStyle": "light",
148
+ "scheme": "<project>",
149
+ "splash": {
150
+ "image": "./assets/splash.png",
151
+ "resizeMode": "contain",
152
+ "backgroundColor": "#0A1C48"
153
+ },
154
+ "assetBundlePatterns": ["**/*"],
155
+ "ios": {
156
+ "supportsTablet": false,
157
+ "bundleIdentifier": "com.<project>.shield",
158
+ "buildNumber": "15",
159
+ "googleServicesFile": "./GoogleService-Info.plist",
160
+ "usesAppleSignIn": true,
161
+ "infoPlist": {
162
+ "ITSAppUsesNonExemptEncryption": false,
163
+ "UIBackgroundModes": ["fetch", "processing", "remote-notification"],
164
+ "BGTaskSchedulerPermittedIdentifiers": ["com.<project>.shield.refresh"],
165
+ "NSCameraUsageDescription": "Used to scan QR codes for UPI payments",
166
+ "NSFaceIDUsageDescription": "Used to authenticate your identity securely",
167
+ "NSContactsUsageDescription": "Used to quickly find contacts for payments"
168
+ }
169
+ },
170
+ "android": {
171
+ "package": "com.<project>.shield",
172
+ "versionCode": 14,
173
+ "googleServicesFile": "./google-services.json",
174
+ "permissions": [
175
+ "CAMERA",
176
+ "VIBRATE",
177
+ "RECEIVE_BOOT_COMPLETED",
178
+ "USE_BIOMETRIC",
179
+ "USE_FINGERPRINT"
180
+ ],
181
+ "adaptiveIcon": {
182
+ "foregroundImage": "./assets/adaptive-icon.png",
183
+ "backgroundColor": "#0A1C48"
184
+ }
185
+ },
186
+ "web": {
187
+ "favicon": "./assets/favicon.png"
188
+ },
189
+ "plugins": [
190
+ [
191
+ "expo-camera",
192
+ { "cameraPermission": "Allow <project> to access your camera to scan QR codes." }
193
+ ],
194
+ ["expo-local-authentication"],
195
+ [
196
+ "expo-notifications",
197
+ {
198
+ "icon": "./assets/notification-icon.png",
199
+ "color": "#3B82F6",
200
+ "sounds": ["./assets/notification.wav"],
201
+ "androidCollapsedTitle": "<project> Alert",
202
+ "iosDisplayInForeground": true
203
+ }
204
+ ],
205
+ [
206
+ "@react-native-google-signin/google-signin",
207
+ {
208
+ "iosUrlScheme": "com.googleusercontent.apps.929418470411-REPLACE_WITH_REVERSED_CLIENT_ID"
209
+ }
210
+ ],
211
+ "expo-apple-authentication"
212
+ ],
213
+ "extra": {
214
+ "eas": {
215
+ "projectId": "EXPO_PROJECT_ID"
216
+ }
217
+ }
218
+ }
219
+ }
220
+ ```
221
+
222
+ **Key fields:**
223
+
224
+ - `scheme`: URL scheme for deep links (`<project>://`)
225
+ - `userInterfaceStyle`: "light" | "dark" | "automatic"
226
+ - `supportsTablet`: false for phone-only app
227
+ - `ITSAppUsesNonExemptEncryption: false` — avoids US export compliance questionnaire if no custom crypto
228
+ - `buildNumber` is a **string** (iOS), `versionCode` is a **number** (Android)
229
+
230
+ ---
231
+
232
+ ## 4. EAS Build — Profiles & Triggers
233
+
234
+ **Build commands:**
235
+
236
+ ```bash
237
+ # Production iOS (App Store submission)
238
+ eas build --platform ios --profile production
239
+
240
+ # Production Android (AAB for Play Store)
241
+ eas build --platform android --profile production
242
+
243
+ # Both platforms simultaneously
244
+ eas build --platform all --profile production
245
+
246
+ # Preview APK (internal testing without Play Store)
247
+ eas build --platform android --profile preview
248
+
249
+ # Development build with expo-dev-client
250
+ eas build --platform ios --profile development
251
+ eas build --platform android --profile development
252
+
253
+ # Check build status
254
+ eas build:list
255
+
256
+ # Cancel a build
257
+ eas build:cancel BUILD_ID
258
+ ```
259
+
260
+ **Build queues:**
261
+
262
+ - Free tier: serial queue, potentially long wait
263
+ - Priority builds: available on paid plans (EAS $19/mo Starter or higher)
264
+ - Typical build time: iOS 10-20 min, Android 8-15 min
265
+
266
+ **Build artifacts:**
267
+
268
+ - iOS production: `.ipa` file → directly submittable to App Store Connect
269
+ - Android production: `.aab` file → directly submittable to Play Console
270
+ - Android preview: `.apk` file → install directly on device
271
+
272
+ **Artifact URLs:** Available in EAS Dashboard and printed in CLI output.
273
+ <project> versionCode 14 AAB: `https://expo.dev/artifacts/eas/4wJ3M2VNwNco4YYjrQQNkL.aab`
274
+ <project> build 15 IPA: `https://expo.dev/artifacts/eas/3K9FQFpKJRxJyxybuH9a9Z.ipa`
275
+
276
+ **Build logs:**
277
+
278
+ ```bash
279
+ eas build:view BUILD_ID
280
+ # or open in browser:
281
+ # https://expo.dev/accounts/<project>/projects/<project>-shield/builds/BUILD_ID
282
+ ```
283
+
284
+ ---
285
+
286
+ ## 5. EAS Submit — App Store & Play Store
287
+
288
+ **iOS submission:**
289
+
290
+ ```bash
291
+ # Submit latest build
292
+ eas submit --platform ios --latest
293
+
294
+ # Submit specific build
295
+ eas submit --platform ios --id BUILD_ID
296
+
297
+ # Submit local IPA
298
+ eas submit --platform ios --path ./app.ipa
299
+ ```
300
+
301
+ **EAS Submit requires ASC API Key (not Apple ID + password):**
302
+
303
+ 1. App Store Connect → Users and Access → Integrations → App Store Connect API
304
+ 2. Generate key with App Manager role
305
+ 3. Download .p8 file (one-time download!)
306
+ 4. Run: `eas credentials` → iOS → App Store Connect API Key → Add new
307
+
308
+ **iOS submission flow:**
309
+
310
+ 1. EAS validates IPA against App Store requirements
311
+ 2. Uploads to App Store Connect using ASC API
312
+ 3. Build appears in TestFlight section (takes 5-30 min to process)
313
+ 4. Select build for external TestFlight testing or App Store release
314
+
315
+ **Android submission:**
316
+
317
+ ```bash
318
+ # Submit latest AAB
319
+ eas submit --platform android --latest
320
+
321
+ # Submit to specific track
322
+ eas submit --platform android --latest --android-package com.<project>.shield
323
+ ```
324
+
325
+ **Android requires Google Play service account:**
326
+
327
+ 1. Play Console → Setup → API access → Link to Google Cloud project
328
+ 2. Google Cloud Console → Create service account
329
+ 3. Grant roles: Release Manager + Storage Admin
330
+ 4. Download service account JSON key
331
+ 5. Add to `eas.json`: `"serviceAccountKeyPath": "./google-play-service-account.json"`
332
+ 6. Add to `.gitignore` — never commit this file
333
+
334
+ **Submission status:**
335
+
336
+ ```
337
+ https://expo.dev/accounts/<project>/projects/<project>-shield/submissions/SUBMISSION_ID
338
+ ```
339
+
340
+ **<project> iOS submission (failed) — check:**
341
+ `https://expo.dev/accounts/<project>/projects/<project>-shield/submissions/595e31cf`
342
+
343
+ ---
344
+
345
+ ## 6. EAS Update (OTA)
346
+
347
+ **OTA updates — what can be updated:**
348
+
349
+ - JavaScript bundle
350
+ - Assets (images, fonts, JSON)
351
+ - Any non-native code
352
+
353
+ **What CANNOT be updated via OTA:**
354
+
355
+ - Native module additions/removals
356
+ - app.json changes requiring native rebuild
357
+ - New permissions
358
+ - New SDK features requiring native code
359
+
360
+ **Commands:**
361
+
362
+ ```bash
363
+ # Push OTA update to production channel
364
+ eas update --channel production --message "Fix: ACH challenge timer"
365
+
366
+ # Push to staging
367
+ eas update --channel staging --message "Testing new UPI flow"
368
+
369
+ # List updates
370
+ eas update:list
371
+
372
+ # Rollback to previous update
373
+ eas update:rollback --channel production
374
+ ```
375
+
376
+ **Channel configuration in app.json:**
377
+
378
+ ```json
379
+ {
380
+ "expo": {
381
+ "runtimeVersion": {
382
+ "policy": "sdkVersion"
383
+ },
384
+ "updates": {
385
+ "url": "https://u.expo.dev/YOUR_PROJECT_ID",
386
+ "enabled": true,
387
+ "fallbackToCacheTimeout": 0
388
+ }
389
+ }
390
+ }
391
+ ```
392
+
393
+ **Runtime version:** Must match between the running app and the OTA update.
394
+ `sdkVersion` policy: runtime version = Expo SDK version (safest, updates only delivered to compatible builds)
395
+
396
+ **OTA in code (expo-updates):**
397
+
398
+ ```typescript
399
+ import * as Updates from "expo-updates";
400
+
401
+ async function checkForUpdate() {
402
+ const update = await Updates.checkForUpdateAsync();
403
+ if (update.isAvailable) {
404
+ await Updates.fetchUpdateAsync();
405
+ await Updates.reloadAsync(); // restart app with new bundle
406
+ }
407
+ }
408
+ ```
409
+
410
+ ---
411
+
412
+ ## 7. Config Plugins
413
+
414
+ **What config plugins do:**
415
+ Modify native iOS/Android project files without ejecting to bare workflow.
416
+ Runs during `eas build` (prebuild phase).
417
+
418
+ **Common config plugins for <project>:**
419
+
420
+ ```json
421
+ {
422
+ "plugins": [
423
+ "expo-camera",
424
+ "expo-local-authentication",
425
+ ["expo-notifications", { ... }],
426
+ ["@react-native-google-signin/google-signin", { ... }],
427
+ "expo-apple-authentication",
428
+ ["expo-build-properties", {
429
+ "android": {
430
+ "compileSdkVersion": 35,
431
+ "targetSdkVersion": 34,
432
+ "minSdkVersion": 23,
433
+ "kotlinVersion": "1.9.24"
434
+ },
435
+ "ios": {
436
+ "deploymentTarget": "16.0"
437
+ }
438
+ }]
439
+ ]
440
+ }
441
+ ```
442
+
443
+ **Writing custom config plugins:**
444
+
445
+ ```typescript
446
+ // plugins/withPrivacyManifest.ts
447
+ import { ConfigPlugin, withInfoPlist } from "expo/config-plugins";
448
+
449
+ const withPrivacyManifest: ConfigPlugin = (config) => {
450
+ return withInfoPlist(config, (config) => {
451
+ // Modify Info.plist
452
+ return config;
453
+ });
454
+ };
455
+ export default withPrivacyManifest;
456
+ ```
457
+
458
+ **`expo-build-properties`** — most commonly needed plugin to set Android/iOS build settings.
459
+ Install: `npx expo install expo-build-properties`
460
+
461
+ **Prebuild (generate native code without building):**
462
+
463
+ ```bash
464
+ npx expo prebuild --clean
465
+ # Generates android/ and ios/ folders
466
+ # DO NOT commit these if using managed workflow
467
+ ```
468
+
469
+ ---
470
+
471
+ ## 8. Native Modules & expo-modules
472
+
473
+ **Modules removed from <project> Shield (incompatible):**
474
+
475
+ - `react-native-ble-plx` — BLE (incompatible with SDK 54 managed workflow)
476
+ - `react-native-mmkv` — fast key-value storage (requires bare workflow)
477
+ - `react-native-tts` — text-to-speech (not needed)
478
+ - `react-native-permissions` — replaced by built-in expo permission APIs
479
+ - `react-native-reanimated` — removed; use `react-native-reanimated` v3+ with config plugin if needed
480
+ - `react-native-gesture-handler` — use with reanimated; add as config plugin
481
+ - `react-native-worklets` — incompatible
482
+
483
+ **Expo SDK 54 equivalents:**
484
+ | Removed | Use instead |
485
+ |---------|-------------|
486
+ | react-native-ble-plx | expo-bluetooth (experimental) or remove BLE features |
487
+ | react-native-mmkv | expo-secure-store or AsyncStorage |
488
+ | react-native-permissions | expo-camera, expo-location built-in permission APIs |
489
+ | react-native-reanimated | Install v3 + add to plugins |
490
+
491
+ **Adding react-native-reanimated properly (if needed):**
492
+
493
+ ```bash
494
+ npx expo install react-native-reanimated
495
+ ```
496
+
497
+ Then add to babel.config.js:
498
+
499
+ ```javascript
500
+ module.exports = { plugins: ["react-native-reanimated/plugin"] };
501
+ ```
502
+
503
+ And app.json plugins: `"react-native-reanimated"` (as config plugin).
504
+
505
+ **Checking module compatibility:**
506
+ https://reactnative.directory — search any module
507
+ https://expo.dev/go — Expo Go supported packages
508
+ https://www.npmjs.com/package/expo-modules-core — SDK compatibility matrix
509
+
510
+ ---
511
+
512
+ ## 9. Secrets Management in EAS
513
+
514
+ **EAS secrets (stored securely, injected at build time):**
515
+
516
+ ```bash
517
+ # Set a secret
518
+ eas secret:create --scope project --name API_KEY --value "your-value"
519
+
520
+ # List secrets
521
+ eas secret:list
522
+
523
+ # Delete a secret
524
+ eas secret:delete --id SECRET_ID
525
+ ```
526
+
527
+ **Types:**
528
+
529
+ - **Project secrets:** Available to all builds for this project
530
+ - **Account secrets:** Available to all projects under this Expo account
531
+
532
+ **Using secrets in code:**
533
+
534
+ ```typescript
535
+ // Secrets are injected as environment variables at build time
536
+ const apiKey = process.env.API_KEY;
537
+
538
+ // In app.json, expose them:
539
+ {
540
+ "expo": {
541
+ "extra": {
542
+ "apiKey": process.env.API_KEY
543
+ }
544
+ }
545
+ }
546
+
547
+ // In code:
548
+ import Constants from 'expo-constants';
549
+ const apiKey = Constants.expoConfig?.extra?.apiKey;
550
+ ```
551
+
552
+ **Secret precedence:** eas.json `env` → EAS project secrets → EAS account secrets
553
+
554
+ **Never put secrets in app.json directly** — these are bundled into the app binary and visible to anyone who decompiles the APK/IPA.
555
+ Use EAS secrets for: API keys, backend URLs, Firebase config overrides.
556
+
557
+ ---
558
+
559
+ ## 10. Common EAS Build Errors & Fixes
560
+
561
+ **"No Expo project found":**
562
+ Run `eas init` in the project root to link with Expo account.
563
+ Or check `extra.eas.projectId` in app.json is correct.
564
+
565
+ **"Unable to find module 'X'":**
566
+ Module not installed or incompatible with current SDK.
567
+ Fix: `npx expo install X` (uses compatible version)
568
+ Never use `npm install X` for Expo modules — always `npx expo install`.
569
+
570
+ **iOS build: "No matching provisioning profiles found":**
571
+ Fix via `eas credentials` → iOS → reset credentials and let EAS generate new ones.
572
+ Or in App Store Connect: revoke expired provisioning profiles and regenerate.
573
+
574
+ **iOS build: "Xcode build failed":**
575
+ Check build logs: `eas build:view BUILD_ID`
576
+ Common causes:
577
+
578
+ - Missing config plugin configuration
579
+ - Incompatible native module version
580
+ - Info.plist key conflict between plugins
581
+ - Swift version mismatch
582
+
583
+ **Android build: "AAPT2 error":**
584
+ Usually a resource conflict or missing drawable.
585
+ Fix: ensure all icon assets exist at correct sizes.
586
+ Adaptive icon: 108×108 dp (432×432 px for xxxhdpi)
587
+
588
+ **Android build: "Duplicate class":**
589
+ Two dependencies include the same class.
590
+ Fix in app.json plugins/expo-build-properties:
591
+
592
+ ```json
593
+ [
594
+ "expo-build-properties",
595
+ {
596
+ "android": {
597
+ "packagingOptions": {
598
+ "pickFirst": ["**/libc++_shared.so"]
599
+ }
600
+ }
601
+ }
602
+ ]
603
+ ```
604
+
605
+ **"Build queue timeout":**
606
+ EAS free tier has build time limits. Upgrade or retry.
607
+ Use `--no-wait` flag to submit build without waiting in CLI.
608
+
609
+ **"google-services.json not found":**
610
+ File must be in Expo project root (not android/ subfolder).
611
+ app.json: `"android": { "googleServicesFile": "./google-services.json" }`
612
+
613
+ **"GoogleService-Info.plist not found":**
614
+ File must be in Expo project root.
615
+ app.json: `"ios": { "googleServicesFile": "./GoogleService-Info.plist" }`
616
+
617
+ **Build succeeds but app crashes on launch:**
618
+
619
+ - Check EAS Build logs for any warning about incompatible modules
620
+ - Common cause: Hermes engine incompatibility with a native module
621
+ - Test with development build first: `eas build --profile development`
622
+
623
+ ---
624
+
625
+ ## 11. Common EAS Submit Errors & Fixes
626
+
627
+ **iOS: "No Apple ID credentials found":**
628
+ Run `eas credentials` → iOS → App Store Connect API Key → add credentials.
629
+ Do not use Apple ID + password for 2FA accounts — use ASC API key instead.
630
+
631
+ **iOS: "The bundle 'com.<project>.shield' is not available":**
632
+ App not created in App Store Connect yet.
633
+ Fix: Create app in App Store Connect first, then submit.
634
+
635
+ **iOS: "App Store Connect operation error" (generic):**
636
+ Check Apple system status: developer.apple.com/system-status/
637
+ If Apple services are degraded, wait and retry.
638
+
639
+ **iOS: "Invalid Bundle. The bundle does not support the minimum OS version":**
640
+ Update `ios.deploymentTarget` in expo-build-properties plugin.
641
+
642
+ **iOS: "Missing compliance" error:**
643
+ Add to app.json: `"ITSAppUsesNonExemptEncryption": false`
644
+ Rebuild and resubmit.
645
+
646
+ **iOS: BGTaskScheduler rejection (Guideline 2.5.4):**
647
+ This is an App Review rejection, not a submission error.
648
+ `BGTaskSchedulerPermittedIdentifiers` in Info.plist must exactly match registered identifiers in code.
649
+ Check: app.json → `BGTaskSchedulerPermittedIdentifiers` matches `BackgroundFetch.registerTaskAsync()` task name.
650
+
651
+ **iOS: "Sign in with Apple required":**
652
+ If Google Sign-In is present, Apple Sign-In must also be present.
653
+ Install `expo-apple-authentication` and add flow.
654
+
655
+ **Android: "No service account key found":**
656
+ Place `google-play-service-account.json` in project root (gitignored).
657
+ Update eas.json: `"serviceAccountKeyPath": "./google-play-service-account.json"`
658
+
659
+ **Android: "Version code already used":**
660
+ Increment versionCode in app.json and rebuild before submitting.
661
+
662
+ **Android: "Package name mismatch":**
663
+ Package in AAB must match Play Console app registration: `com.<project>.shield`.
664
+
665
+ **Submission 595e31cf (current iOS failure):**
666
+ Check: `https://expo.dev/accounts/<project>/projects/<project>-shield/submissions/595e31cf`
667
+ Most likely causes given build history:
668
+
669
+ 1. BGTaskScheduler identifier mismatch
670
+ 2. Sign in with Apple missing
671
+ 3. Privacy manifest missing (ITMS-91053)
672
+ 4. Missing REVERSED_CLIENT_ID URL scheme for Google Sign-In
673
+
674
+ ---
675
+
676
+ ## 12. Dependency Compatibility Matrix
677
+
678
+ **SDK 54 confirmed compatible packages:**
679
+ | Package | Version | Notes |
680
+ |---------|---------|-------|
681
+ | expo | ~54.0.0 | |
682
+ | react-native | 0.76.x | |
683
+ | expo-camera | ~15.0.0 | |
684
+ | expo-local-authentication | ~15.0.0 | |
685
+ | expo-notifications | ~0.29.0 | |
686
+ | expo-secure-store | ~14.0.0 | |
687
+ | expo-updates | ~0.27.0 | |
688
+ | expo-router | ~4.0.0 | |
689
+ | expo-build-properties | ~0.13.0 | |
690
+ | expo-apple-authentication | ~7.0.0 | |
691
+ | @react-native-firebase/app | ~21.x | |
692
+ | @react-native-firebase/messaging | ~21.x | |
693
+ | @react-native-google-signin/google-signin | ~13.x | |
694
+
695
+ **Install compatible versions:**
696
+
697
+ ```bash
698
+ npx expo install expo-camera expo-notifications expo-local-authentication
699
+ ```
700
+
701
+ Always use `npx expo install` — it automatically selects SDK-compatible versions.
702
+
703
+ **Checking for outdated packages:**
704
+
705
+ ```bash
706
+ npx expo-doctor
707
+ # or
708
+ npx expo install --check
709
+ ```
710
+
711
+ ---
712
+
713
+ ## 13. Development Workflow
714
+
715
+ **Daily development cycle:**
716
+
717
+ ```bash
718
+ # Start dev server
719
+ npx expo start
720
+
721
+ # Start with specific options
722
+ npx expo start --clear # clear cache
723
+ npx expo start --tunnel # use ngrok tunnel (for physical devices on different network)
724
+
725
+ # Open in simulator
726
+ npx expo start --ios # iOS simulator
727
+ npx expo start --android # Android emulator
728
+
729
+ # Run on physical device
730
+ # Install Expo Go or dev client → scan QR code
731
+ ```
732
+
733
+ **Development client vs Expo Go:**
734
+
735
+ - **Expo Go:** Sandboxed, limited native modules, good for prototyping
736
+ - **expo-dev-client:** Full native module support, required for <project> (Firebase, Google Sign-In, etc.)
737
+
738
+ **Build and test on device (without EAS):**
739
+
740
+ ```bash
741
+ # Build locally (requires Xcode/Android Studio)
742
+ npx expo run:ios
743
+ npx expo run:android
744
+
745
+ # EAS development build (no local Xcode needed)
746
+ eas build --profile development --platform ios
747
+ # Install dev client IPA on device → start Expo server → connect
748
+ ```
749
+
750
+ **Clearing caches (when things go wrong):**
751
+
752
+ ```bash
753
+ npx expo start --clear
754
+ npx expo install --fix # Fix version mismatches
755
+ rm -rf node_modules && npm install
756
+ cd ios && pod install && cd .. # Re-install iOS pods (bare workflow)
757
+ ```
758
+
759
+ ---
760
+
761
+ ## 14. <project> Specific Fixes
762
+
763
+ **iOS submission 595e31cf failure — systematic fix checklist:**
764
+
765
+ 1. **Check exact error in submission details** at expo.dev link
766
+ 2. **BGTaskScheduler fix (most likely):**
767
+ - Verify `BGTaskSchedulerPermittedIdentifiers` in app.json InfoPlist
768
+ - Ensure exactly one identifier: `"com.<project>.shield.refresh"`
769
+ - Verify same string is used in background task registration code
770
+ 3. **Privacy manifest check:**
771
+ - Ensure `PrivacyInfo.xcprivacy` is added via config plugin
772
+ - If not present, add `expo-privacy-manifest` plugin or custom config plugin
773
+ 4. **Sign in with Apple:**
774
+ - `expo-apple-authentication` must be installed AND functional in app
775
+ - `usesAppleSignIn: true` in app.json is not enough — actual sign-in flow must exist
776
+ 5. **Rebuild after fix:**
777
+ ```bash
778
+ # Increment buildNumber in app.json (15 → 16)
779
+ eas build --platform ios --profile production
780
+ eas submit --platform ios --latest
781
+ ```
782
+
783
+ **Google Sign-In fix for versionCode 14 (Android):**
784
+
785
+ - Both SHA-1 fingerprints are in Firebase (confirmed)
786
+ - versionCode 14 build uses production SHA-1
787
+ - Once Play Store approves and tester installs: test Google Sign-In
788
+ - If Error 10 (DEVELOPER_ERROR) still occurs: download fresh google-services.json from Firebase
789
+
790
+ **ACH Shield Unit.co webhook in app:**
791
+ App receives FCM push with challenge data:
792
+
793
+ ```typescript
794
+ const challengeData = {
795
+ challengeId: remoteMessage.data.challengeId,
796
+ options: JSON.parse(remoteMessage.data.options), // ["3", "7", "9"]
797
+ expiresAt: remoteMessage.data.expiresAt,
798
+ amount: remoteMessage.data.amount,
799
+ };
800
+ // Navigate to ACH challenge screen with this data
801
+ ```
802
+
803
+ **UPI daily limit tracker:**
804
+
805
+ - Backend: `GET /api/upi/daily-limit` returns `{ used: number, limit: 10000, currency: 'INR' }`
806
+ - Stored in DB per user per UTC day
807
+ - Reset at midnight UTC (not IST — careful with timezone)
808
+ - For IST midnight reset: use Cloud Scheduler with IST timezone (Asia/Kolkata)
809
+
810
+ **Unit.co SANDBOX → PRODUCTION switch (before public launch):**
811
+
812
+ 1. Unit.co dashboard: switch org to production mode
813
+ 2. Get production UNIT_API_KEY JWT
814
+ 3. Update in GCP Secret Manager: `gcloud secrets versions add UNIT_API_KEY --data-file=...`
815
+ 4. Redeploy all 3 regions
816
+ 5. Test with a real bank account before any user-facing launch