@jhm1909/ag-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/.agent/ARCHITECTURE.md +189 -0
  2. package/.agent/known-registries.json +181 -0
  3. package/.agent/mcp_config.json +19 -0
  4. package/.agent/rules/clean-code.md +107 -0
  5. package/.agent/rules/documents.md +177 -0
  6. package/.agent/rules/git-workflow.md +68 -0
  7. package/.agent/rules/nano-banana.md +46 -0
  8. package/.agent/rules/research.md +35 -0
  9. package/.agent/rules/skill-loading.md +100 -0
  10. package/.agent/rules/skill-suggestion.md +47 -0
  11. package/.agent/rules/testing.md +52 -0
  12. package/.agent/rules/workflow-advisor.md +108 -0
  13. package/.agent/rules/workflow-skill-convention.md +127 -0
  14. package/.agent/skills/ai-engineer/SKILL.md +824 -0
  15. package/.agent/skills/ai-engineer/references/agentic-patterns.md +329 -0
  16. package/.agent/skills/ai-engineer/references/evaluation.md +493 -0
  17. package/.agent/skills/ai-engineer/references/llm.md +490 -0
  18. package/.agent/skills/ai-engineer/references/rag-advanced.md +444 -0
  19. package/.agent/skills/ai-engineer/references/serving-optimization.md +531 -0
  20. package/.agent/skills/ai-engineer/vector-db/README.md +137 -0
  21. package/.agent/skills/app-builder/SKILL.md +75 -0
  22. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  23. package/.agent/skills/app-builder/feature-building.md +53 -0
  24. package/.agent/skills/app-builder/project-detection.md +34 -0
  25. package/.agent/skills/app-builder/scaffolding.md +118 -0
  26. package/.agent/skills/app-builder/tech-stack.md +41 -0
  27. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  28. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  29. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  30. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  31. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  32. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  33. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  34. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  35. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  36. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  37. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  38. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  39. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  40. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  41. package/.agent/skills/backend-developer/SKILL.md +763 -0
  42. package/.agent/skills/backend-developer/references/general-patterns.md +65 -0
  43. package/.agent/skills/backend-developer/references/go-echo.md +68 -0
  44. package/.agent/skills/backend-developer/references/go-gin.md +76 -0
  45. package/.agent/skills/backend-developer/references/java-springboot.md +83 -0
  46. package/.agent/skills/backend-developer/references/node-express.md +64 -0
  47. package/.agent/skills/backend-developer/references/node-nestjs.md +69 -0
  48. package/.agent/skills/backend-developer/references/python-django.md +67 -0
  49. package/.agent/skills/backend-developer/references/python-fastapi.md +80 -0
  50. package/.agent/skills/blockchain-engineer/SKILL.md +975 -0
  51. package/.agent/skills/blockchain-engineer/references/deployment.md +28 -0
  52. package/.agent/skills/blockchain-engineer/references/evm.md +14 -0
  53. package/.agent/skills/blockchain-engineer/references/mechanisms.md +32 -0
  54. package/.agent/skills/blockchain-engineer/references/solidity.md +32 -0
  55. package/.agent/skills/business-analysis/SKILL.md +85 -0
  56. package/.agent/skills/business-analysis/references/best-practices/diagrams.md +141 -0
  57. package/.agent/skills/business-analysis/references/domains/ai-agent.md +94 -0
  58. package/.agent/skills/business-analysis/references/domains/blockchain-dapp.md +86 -0
  59. package/.agent/skills/business-analysis/references/domains/ecommerce.md +77 -0
  60. package/.agent/skills/business-analysis/references/domains/education.md +42 -0
  61. package/.agent/skills/business-analysis/references/domains/fintech.md +44 -0
  62. package/.agent/skills/business-analysis/references/domains/fnb.md +82 -0
  63. package/.agent/skills/business-analysis/references/domains/healthtech.md +44 -0
  64. package/.agent/skills/business-analysis/references/domains/internal-tools.md +38 -0
  65. package/.agent/skills/business-analysis/references/domains/marketplace.md +52 -0
  66. package/.agent/skills/business-analysis/references/domains/saas.md +36 -0
  67. package/.agent/skills/business-analysis/references/workflows/collaboration.md +41 -0
  68. package/.agent/skills/business-analysis/scripts/verify_mermaid.py +86 -0
  69. package/.agent/skills/business-analysis/templates/brd.md +46 -0
  70. package/.agent/skills/business-analysis/templates/change-request.md +41 -0
  71. package/.agent/skills/business-analysis/templates/prd-functional.md +38 -0
  72. package/.agent/skills/business-analysis/templates/use-case.md +40 -0
  73. package/.agent/skills/business-analysis/templates/user-story-detailed.md +36 -0
  74. package/.agent/skills/code-review/SKILL.md +113 -0
  75. package/.agent/skills/code-review/references/code-review-reception.md +209 -0
  76. package/.agent/skills/code-review/references/differential_review.md +59 -0
  77. package/.agent/skills/code-review/references/requesting-code-review.md +105 -0
  78. package/.agent/skills/code-review/references/spec_compliance.md +43 -0
  79. package/.agent/skills/code-review/references/verification-before-completion.md +139 -0
  80. package/.agent/skills/context-engineering/SKILL.md +68 -0
  81. package/.agent/skills/context-engineering/references/context-compression.md +84 -0
  82. package/.agent/skills/context-engineering/references/context-degradation.md +93 -0
  83. package/.agent/skills/context-engineering/references/context-fundamentals.md +75 -0
  84. package/.agent/skills/context-engineering/references/context-optimization.md +82 -0
  85. package/.agent/skills/context-engineering/references/evaluation.md +89 -0
  86. package/.agent/skills/context-engineering/references/memory-systems.md +88 -0
  87. package/.agent/skills/context-engineering/references/multi-agent-patterns.md +90 -0
  88. package/.agent/skills/context-engineering/references/project-development.md +97 -0
  89. package/.agent/skills/context-engineering/references/tool-design.md +86 -0
  90. package/.agent/skills/debugging/SKILL.md +60 -0
  91. package/.agent/skills/debugging/references/defense-in-depth.md +130 -0
  92. package/.agent/skills/debugging/references/root-cause-tracing.md +177 -0
  93. package/.agent/skills/debugging/references/systematic-debugging.md +295 -0
  94. package/.agent/skills/debugging/references/verification-before-completion.md +142 -0
  95. package/.agent/skills/designer/SKILL.md +159 -0
  96. package/.agent/skills/designer/concepts/apple-glass.md +48 -0
  97. package/.agent/skills/designer/concepts/aurora-gradients.md +26 -0
  98. package/.agent/skills/designer/concepts/bento-grids.md +14 -0
  99. package/.agent/skills/designer/concepts/claymorphism.md +27 -0
  100. package/.agent/skills/designer/concepts/neo-brutalism.md +32 -0
  101. package/.agent/skills/designer/data/app-interface.csv +31 -0
  102. package/.agent/skills/designer/data/charts.csv +26 -0
  103. package/.agent/skills/designer/data/colors.csv +162 -0
  104. package/.agent/skills/designer/data/design.csv +1776 -0
  105. package/.agent/skills/designer/data/icons.csv +106 -0
  106. package/.agent/skills/designer/data/landing.csv +35 -0
  107. package/.agent/skills/designer/data/products.csv +162 -0
  108. package/.agent/skills/designer/data/react-performance.csv +45 -0
  109. package/.agent/skills/designer/data/styles.csv +85 -0
  110. package/.agent/skills/designer/data/typography.csv +74 -0
  111. package/.agent/skills/designer/data/ui-reasoning.csv +162 -0
  112. package/.agent/skills/designer/data/ux-guidelines.csv +100 -0
  113. package/.agent/skills/designer/references/accessibility.md +172 -0
  114. package/.agent/skills/designer/references/branding.md +88 -0
  115. package/.agent/skills/designer/references/color-theory.md +139 -0
  116. package/.agent/skills/designer/references/creation.md +118 -0
  117. package/.agent/skills/designer/references/design-systems.md +219 -0
  118. package/.agent/skills/designer/references/frontend_design_aesthetics.md +57 -0
  119. package/.agent/skills/designer/references/layout.md +200 -0
  120. package/.agent/skills/designer/references/motion.md +92 -0
  121. package/.agent/skills/designer/references/review.md +100 -0
  122. package/.agent/skills/designer/references/trends.md +209 -0
  123. package/.agent/skills/designer/references/typography.md +190 -0
  124. package/.agent/skills/designer/scripts/remove_background.py +135 -0
  125. package/.agent/skills/designer/scripts/ui-search/__pycache__/core.cpython-314.pyc +0 -0
  126. package/.agent/skills/designer/scripts/ui-search/__pycache__/design_system.cpython-314.pyc +0 -0
  127. package/.agent/skills/designer/scripts/ui-search/core.py +217 -0
  128. package/.agent/skills/designer/scripts/ui-search/design_system.py +1067 -0
  129. package/.agent/skills/designer/scripts/ui-search/search.py +114 -0
  130. package/.agent/skills/designer/templates/design-motion-spec.md +30 -0
  131. package/.agent/skills/devops-engineer/SKILL.md +90 -0
  132. package/.agent/skills/devops-engineer/docker-compose/README.md +47 -0
  133. package/.agent/skills/devops-engineer/references/ci-cd-pipelines.md +76 -0
  134. package/.agent/skills/devops-engineer/references/cloud-providers.md +57 -0
  135. package/.agent/skills/devops-engineer/references/codebase-normalization.md +104 -0
  136. package/.agent/skills/devops-engineer/references/container-orchestration.md +69 -0
  137. package/.agent/skills/devops-engineer/references/iac-tools.md +63 -0
  138. package/.agent/skills/devops-engineer/references/observability-security.md +45 -0
  139. package/.agent/skills/devops-engineer/references/vercel-supabase.md +17 -0
  140. package/.agent/skills/devops-engineer/templates/release-notes.md +8 -0
  141. package/.agent/skills/frontend-developer/SKILL.md +125 -0
  142. package/.agent/skills/frontend-developer/react-nextjs/README.md +90 -0
  143. package/.agent/skills/frontend-developer/references/angular.md +52 -0
  144. package/.agent/skills/frontend-developer/references/composition_patterns.md +60 -0
  145. package/.agent/skills/frontend-developer/references/core-performance.md +68 -0
  146. package/.agent/skills/frontend-developer/references/modern-signals.md +43 -0
  147. package/.agent/skills/frontend-developer/references/react_performance_rules.md +55 -0
  148. package/.agent/skills/frontend-developer/references/vue-nuxt.md +55 -0
  149. package/.agent/skills/frontend-developer/scripts/validate_compliance.py +65 -0
  150. package/.agent/skills/frontend-developer/threejs/README.md +89 -0
  151. package/.agent/skills/frontend-developer/threejs/animation.md +552 -0
  152. package/.agent/skills/frontend-developer/threejs/fundamentals.md +488 -0
  153. package/.agent/skills/frontend-developer/threejs/geometry.md +548 -0
  154. package/.agent/skills/frontend-developer/threejs/interaction.md +660 -0
  155. package/.agent/skills/frontend-developer/threejs/lighting.md +481 -0
  156. package/.agent/skills/frontend-developer/threejs/loaders.md +623 -0
  157. package/.agent/skills/frontend-developer/threejs/materials.md +520 -0
  158. package/.agent/skills/frontend-developer/threejs/postprocessing.md +602 -0
  159. package/.agent/skills/frontend-developer/threejs/router.json +181 -0
  160. package/.agent/skills/frontend-developer/threejs/shaders.md +642 -0
  161. package/.agent/skills/frontend-developer/threejs/textures.md +628 -0
  162. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  163. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  164. package/.agent/skills/game-development/SKILL.md +167 -0
  165. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  166. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  167. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  168. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  169. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  170. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  171. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  172. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  173. package/.agent/skills/lead-architect/SKILL.md +85 -0
  174. package/.agent/skills/lead-architect/references/application-architecture.md +70 -0
  175. package/.agent/skills/lead-architect/references/infrastructure.md +51 -0
  176. package/.agent/skills/lead-architect/references/process.md +42 -0
  177. package/.agent/skills/lead-architect/references/system-architecture.md +62 -0
  178. package/.agent/skills/lead-architect/references/web-fullstack.md +82 -0
  179. package/.agent/skills/lead-architect/templates/adr.md +62 -0
  180. package/.agent/skills/lead-architect/templates/rfc.md +46 -0
  181. package/.agent/skills/lead-architect/templates/sdd.md +62 -0
  182. package/.agent/skills/lead-architect/templates/technical-spec.md +61 -0
  183. package/.agent/skills/marketer/SKILL.md +66 -0
  184. package/.agent/skills/marketer/remotion-best-practices/SKILL.md +58 -0
  185. package/.agent/skills/marketer/remotion-best-practices/rules/3d.md +86 -0
  186. package/.agent/skills/marketer/remotion-best-practices/rules/animations.md +29 -0
  187. package/.agent/skills/marketer/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  188. package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  189. package/.agent/skills/marketer/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  190. package/.agent/skills/marketer/remotion-best-practices/rules/assets.md +78 -0
  191. package/.agent/skills/marketer/remotion-best-practices/rules/audio.md +172 -0
  192. package/.agent/skills/marketer/remotion-best-practices/rules/calculate-metadata.md +104 -0
  193. package/.agent/skills/marketer/remotion-best-practices/rules/can-decode.md +75 -0
  194. package/.agent/skills/marketer/remotion-best-practices/rules/charts.md +58 -0
  195. package/.agent/skills/marketer/remotion-best-practices/rules/compositions.md +146 -0
  196. package/.agent/skills/marketer/remotion-best-practices/rules/display-captions.md +126 -0
  197. package/.agent/skills/marketer/remotion-best-practices/rules/extract-frames.md +229 -0
  198. package/.agent/skills/marketer/remotion-best-practices/rules/fonts.md +152 -0
  199. package/.agent/skills/marketer/remotion-best-practices/rules/get-audio-duration.md +58 -0
  200. package/.agent/skills/marketer/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  201. package/.agent/skills/marketer/remotion-best-practices/rules/get-video-duration.md +58 -0
  202. package/.agent/skills/marketer/remotion-best-practices/rules/gifs.md +138 -0
  203. package/.agent/skills/marketer/remotion-best-practices/rules/images.md +130 -0
  204. package/.agent/skills/marketer/remotion-best-practices/rules/import-srt-captions.md +67 -0
  205. package/.agent/skills/marketer/remotion-best-practices/rules/lottie.md +68 -0
  206. package/.agent/skills/marketer/remotion-best-practices/rules/measuring-dom-nodes.md +35 -0
  207. package/.agent/skills/marketer/remotion-best-practices/rules/measuring-text.md +143 -0
  208. package/.agent/skills/marketer/remotion-best-practices/rules/sequencing.md +106 -0
  209. package/.agent/skills/marketer/remotion-best-practices/rules/tailwind.md +11 -0
  210. package/.agent/skills/marketer/remotion-best-practices/rules/text-animations.md +20 -0
  211. package/.agent/skills/marketer/remotion-best-practices/rules/timing.md +179 -0
  212. package/.agent/skills/marketer/remotion-best-practices/rules/transcribe-captions.md +19 -0
  213. package/.agent/skills/marketer/remotion-best-practices/rules/transitions.md +122 -0
  214. package/.agent/skills/marketer/remotion-best-practices/rules/trimming.md +53 -0
  215. package/.agent/skills/marketer/remotion-best-practices/rules/videos.md +171 -0
  216. package/.agent/skills/mcp-builder/SKILL.md +76 -0
  217. package/.agent/skills/mcp-builder/references/evaluation.md +602 -0
  218. package/.agent/skills/mcp-builder/references/mcp_best_practices.md +249 -0
  219. package/.agent/skills/mcp-builder/references/node_mcp_server.md +970 -0
  220. package/.agent/skills/mcp-builder/references/python_mcp_server.md +719 -0
  221. package/.agent/skills/mobile-developer/SKILL.md +83 -0
  222. package/.agent/skills/mobile-developer/api-routes/SKILL.md +389 -0
  223. package/.agent/skills/mobile-developer/building-ui/SKILL.md +335 -0
  224. package/.agent/skills/mobile-developer/building-ui/references/animations.md +220 -0
  225. package/.agent/skills/mobile-developer/building-ui/references/controls.md +270 -0
  226. package/.agent/skills/mobile-developer/building-ui/references/form-sheet.md +227 -0
  227. package/.agent/skills/mobile-developer/building-ui/references/gradients.md +106 -0
  228. package/.agent/skills/mobile-developer/building-ui/references/icons.md +213 -0
  229. package/.agent/skills/mobile-developer/building-ui/references/media.md +198 -0
  230. package/.agent/skills/mobile-developer/building-ui/references/route-structure.md +229 -0
  231. package/.agent/skills/mobile-developer/building-ui/references/search.md +248 -0
  232. package/.agent/skills/mobile-developer/building-ui/references/storage.md +121 -0
  233. package/.agent/skills/mobile-developer/building-ui/references/tabs.md +368 -0
  234. package/.agent/skills/mobile-developer/building-ui/references/visual-effects.md +197 -0
  235. package/.agent/skills/mobile-developer/building-ui/references/webgpu-three.md +605 -0
  236. package/.agent/skills/mobile-developer/cicd-workflows/SKILL.md +107 -0
  237. package/.agent/skills/mobile-developer/cicd-workflows/scripts/fetch.js +109 -0
  238. package/.agent/skills/mobile-developer/cicd-workflows/scripts/package.json +11 -0
  239. package/.agent/skills/mobile-developer/cicd-workflows/scripts/validate.js +84 -0
  240. package/.agent/skills/mobile-developer/data-fetching/SKILL.md +508 -0
  241. package/.agent/skills/mobile-developer/deployment/SKILL.md +207 -0
  242. package/.agent/skills/mobile-developer/deployment/references/app-store-metadata.md +479 -0
  243. package/.agent/skills/mobile-developer/deployment/references/ios-app-store.md +355 -0
  244. package/.agent/skills/mobile-developer/deployment/references/play-store.md +246 -0
  245. package/.agent/skills/mobile-developer/deployment/references/testflight.md +58 -0
  246. package/.agent/skills/mobile-developer/deployment/references/workflows.md +200 -0
  247. package/.agent/skills/mobile-developer/dev-client/SKILL.md +181 -0
  248. package/.agent/skills/mobile-developer/tailwind-setup/SKILL.md +501 -0
  249. package/.agent/skills/mobile-developer/upgrading-expo/SKILL.md +116 -0
  250. package/.agent/skills/mobile-developer/upgrading-expo/references/new-architecture.md +79 -0
  251. package/.agent/skills/mobile-developer/upgrading-expo/references/react-19.md +79 -0
  252. package/.agent/skills/mobile-developer/upgrading-expo/references/react-compiler.md +59 -0
  253. package/.agent/skills/mobile-developer/use-dom/SKILL.md +434 -0
  254. package/.agent/skills/modern-python/SKILL.md +122 -0
  255. package/.agent/skills/project-manager/SKILL.md +110 -0
  256. package/.agent/skills/project-manager/references/ba-collaboration.md +62 -0
  257. package/.agent/skills/project-manager/references/discovery_process.md +52 -0
  258. package/.agent/skills/project-manager/references/jobs_to_be_done.md +51 -0
  259. package/.agent/skills/project-manager/references/prd_development.md +52 -0
  260. package/.agent/skills/project-manager/references/rules-guide.md +55 -0
  261. package/.agent/skills/project-manager/references/skill-creation.md +98 -0
  262. package/.agent/skills/project-manager/references/strategic-frameworks.md +62 -0
  263. package/.agent/skills/project-manager/references/task-decomposition.md +194 -0
  264. package/.agent/skills/project-manager/references/workflows-guide.md +44 -0
  265. package/.agent/skills/project-manager/router.json +160 -0
  266. package/.agent/skills/project-manager/scripts/compare_skill.py +177 -0
  267. package/.agent/skills/project-manager/scripts/encoding_utils.py +36 -0
  268. package/.agent/skills/project-manager/scripts/init_skill.py +190 -0
  269. package/.agent/skills/project-manager/scripts/quick_validate.py +123 -0
  270. package/.agent/skills/project-manager/templates/pm-strategy-one-pager.md +6 -0
  271. package/.agent/skills/project-manager/templates/prd-strategic.md +38 -0
  272. package/.agent/skills/project-manager/templates/skill-questionnaire.md +118 -0
  273. package/.agent/skills/project-manager/templates/user-story-simple.md +14 -0
  274. package/.agent/skills/prompt-engineer/SKILL.md +319 -0
  275. package/.agent/skills/prompt-engineer/skill-creator/README.md +47 -0
  276. package/.agent/skills/qa-tester/SKILL.md +142 -0
  277. package/.agent/skills/qa-tester/assets/README.md +8 -0
  278. package/.agent/skills/qa-tester/references/accessibility_testing.md +35 -0
  279. package/.agent/skills/qa-tester/references/agent_browser.md +38 -0
  280. package/.agent/skills/qa-tester/references/automation/api_testing.md +23 -0
  281. package/.agent/skills/qa-tester/references/automation/best_practices.md +14 -0
  282. package/.agent/skills/qa-tester/references/automation/jest_vitest.md +26 -0
  283. package/.agent/skills/qa-tester/references/automation/playwright.md +30 -0
  284. package/.agent/skills/qa-tester/references/e2e_testing.md +46 -0
  285. package/.agent/skills/qa-tester/references/integration_testing.md +39 -0
  286. package/.agent/skills/qa-tester/references/performance_testing.md +44 -0
  287. package/.agent/skills/qa-tester/references/property_based_testing.md +44 -0
  288. package/.agent/skills/qa-tester/references/security_audit.md +53 -0
  289. package/.agent/skills/qa-tester/references/security_testing.md +30 -0
  290. package/.agent/skills/qa-tester/references/sharp_edges.md +49 -0
  291. package/.agent/skills/qa-tester/references/static_analysis.md +52 -0
  292. package/.agent/skills/qa-tester/references/supply_chain_audit.md +54 -0
  293. package/.agent/skills/qa-tester/references/test_case_standards.md +96 -0
  294. package/.agent/skills/qa-tester/references/test_report_template.md +32 -0
  295. package/.agent/skills/qa-tester/references/unit_testing.md +50 -0
  296. package/.agent/skills/qa-tester/references/visual_testing.md +32 -0
  297. package/.agent/skills/qa-tester/templates/uat-plan.md +34 -0
  298. package/.agent/skills/research-first/SKILL.md +118 -0
  299. package/.agent/skills-manifest.json +264 -0
  300. package/.agent/workflows/absorb.md +176 -0
  301. package/.agent/workflows/bootstrap.md +91 -0
  302. package/.agent/workflows/brainstorm.md +168 -0
  303. package/.agent/workflows/break-tasks.md +77 -0
  304. package/.agent/workflows/commit.md +349 -0
  305. package/.agent/workflows/custom-behavior.md +64 -0
  306. package/.agent/workflows/debug.md +65 -0
  307. package/.agent/workflows/development.md +49 -0
  308. package/.agent/workflows/documentation.md +221 -0
  309. package/.agent/workflows/gen-tests.md +53 -0
  310. package/.agent/workflows/guide.md +196 -0
  311. package/.agent/workflows/implement-feature.md +182 -0
  312. package/.agent/workflows/install-skill.md +193 -0
  313. package/.agent/workflows/qa.md +54 -0
  314. package/.agent/workflows/ui-ux-design.md +108 -0
  315. package/LICENSE +21 -0
  316. package/README.md +258 -0
  317. package/cli/index.js +345 -0
  318. package/cli/migrate-skills.js +113 -0
  319. package/cli/verify.js +291 -0
  320. package/package.json +49 -0
@@ -0,0 +1,248 @@
1
+ # Search
2
+
3
+ ## Header Search Bar
4
+
5
+ Add a search bar to the stack header with `headerSearchBarOptions`:
6
+
7
+ ```tsx
8
+ <Stack.Screen
9
+ name="index"
10
+ options={{
11
+ headerSearchBarOptions: {
12
+ placeholder: "Search",
13
+ onChangeText: (event) => console.log(event.nativeEvent.text),
14
+ },
15
+ }}
16
+ />
17
+ ```
18
+
19
+ ### Options
20
+
21
+ ```tsx
22
+ headerSearchBarOptions: {
23
+ // Placeholder text
24
+ placeholder: "Search items...",
25
+
26
+ // Auto-capitalize behavior
27
+ autoCapitalize: "none",
28
+
29
+ // Input type
30
+ inputType: "text", // "text" | "phone" | "number" | "email"
31
+
32
+ // Cancel button text (iOS)
33
+ cancelButtonText: "Cancel",
34
+
35
+ // Hide when scrolling (iOS)
36
+ hideWhenScrolling: true,
37
+
38
+ // Hide navigation bar during search (iOS)
39
+ hideNavigationBar: true,
40
+
41
+ // Obscure background during search (iOS)
42
+ obscureBackground: true,
43
+
44
+ // Placement
45
+ placement: "automatic", // "automatic" | "inline" | "stacked"
46
+
47
+ // Callbacks
48
+ onChangeText: (event) => {},
49
+ onSearchButtonPress: (event) => {},
50
+ onCancelButtonPress: (event) => {},
51
+ onFocus: () => {},
52
+ onBlur: () => {},
53
+ }
54
+ ```
55
+
56
+ ## useSearch Hook
57
+
58
+ Reusable hook for search state management:
59
+
60
+ ```tsx
61
+ import { useEffect, useState } from "react";
62
+ import { useNavigation } from "expo-router";
63
+
64
+ export function useSearch(options: any = {}) {
65
+ const [search, setSearch] = useState("");
66
+ const navigation = useNavigation();
67
+
68
+ useEffect(() => {
69
+ navigation.setOptions({
70
+ headerShown: true,
71
+ headerSearchBarOptions: {
72
+ ...options,
73
+ onChangeText(e: any) {
74
+ setSearch(e.nativeEvent.text);
75
+ options.onChangeText?.(e);
76
+ },
77
+ onSearchButtonPress(e: any) {
78
+ setSearch(e.nativeEvent.text);
79
+ options.onSearchButtonPress?.(e);
80
+ },
81
+ onCancelButtonPress(e: any) {
82
+ setSearch("");
83
+ options.onCancelButtonPress?.(e);
84
+ },
85
+ },
86
+ });
87
+ }, [options, navigation]);
88
+
89
+ return search;
90
+ }
91
+ ```
92
+
93
+ ### Usage
94
+
95
+ ```tsx
96
+ function SearchScreen() {
97
+ const search = useSearch({ placeholder: "Search items..." });
98
+
99
+ const filteredItems = items.filter(item =>
100
+ item.name.toLowerCase().includes(search.toLowerCase())
101
+ );
102
+
103
+ return (
104
+ <FlatList
105
+ data={filteredItems}
106
+ renderItem={({ item }) => <ItemRow item={item} />}
107
+ />
108
+ );
109
+ }
110
+ ```
111
+
112
+ ## Filtering Patterns
113
+
114
+ ### Simple Text Filter
115
+
116
+ ```tsx
117
+ const filtered = items.filter(item =>
118
+ item.name.toLowerCase().includes(search.toLowerCase())
119
+ );
120
+ ```
121
+
122
+ ### Multiple Fields
123
+
124
+ ```tsx
125
+ const filtered = items.filter(item => {
126
+ const query = search.toLowerCase();
127
+ return (
128
+ item.name.toLowerCase().includes(query) ||
129
+ item.description.toLowerCase().includes(query) ||
130
+ item.tags.some(tag => tag.toLowerCase().includes(query))
131
+ );
132
+ });
133
+ ```
134
+
135
+ ### Debounced Search
136
+
137
+ For expensive filtering or API calls:
138
+
139
+ ```tsx
140
+ import { useState, useEffect, useMemo } from "react";
141
+
142
+ function useDebounce<T>(value: T, delay: number): T {
143
+ const [debounced, setDebounced] = useState(value);
144
+
145
+ useEffect(() => {
146
+ const timer = setTimeout(() => setDebounced(value), delay);
147
+ return () => clearTimeout(timer);
148
+ }, [value, delay]);
149
+
150
+ return debounced;
151
+ }
152
+
153
+ function SearchScreen() {
154
+ const search = useSearch();
155
+ const debouncedSearch = useDebounce(search, 300);
156
+
157
+ const filteredItems = useMemo(() =>
158
+ items.filter(item =>
159
+ item.name.toLowerCase().includes(debouncedSearch.toLowerCase())
160
+ ),
161
+ [debouncedSearch]
162
+ );
163
+
164
+ return <FlatList data={filteredItems} />;
165
+ }
166
+ ```
167
+
168
+ ## Search with Native Tabs
169
+
170
+ When using NativeTabs with a search role, the search bar integrates with the tab bar:
171
+
172
+ ```tsx
173
+ // app/_layout.tsx
174
+ <NativeTabs>
175
+ <NativeTabs.Trigger name="(home)">
176
+ <Label>Home</Label>
177
+ <Icon sf="house.fill" />
178
+ </NativeTabs.Trigger>
179
+ <NativeTabs.Trigger name="(search)" role="search">
180
+ <Label>Search</Label>
181
+ </NativeTabs.Trigger>
182
+ </NativeTabs>
183
+ ```
184
+
185
+ ```tsx
186
+ // app/(search)/_layout.tsx
187
+ <Stack>
188
+ <Stack.Screen
189
+ name="index"
190
+ options={{
191
+ headerSearchBarOptions: {
192
+ placeholder: "Search...",
193
+ onChangeText: (e) => setSearch(e.nativeEvent.text),
194
+ },
195
+ }}
196
+ />
197
+ </Stack>
198
+ ```
199
+
200
+ ## Empty States
201
+
202
+ Show appropriate UI when search returns no results:
203
+
204
+ ```tsx
205
+ function SearchResults({ search, items }) {
206
+ const filtered = items.filter(/* ... */);
207
+
208
+ if (search && filtered.length === 0) {
209
+ return (
210
+ <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
211
+ <Text style={{ color: PlatformColor("secondaryLabel") }}>
212
+ No results for "{search}"
213
+ </Text>
214
+ </View>
215
+ );
216
+ }
217
+
218
+ return <FlatList data={filtered} />;
219
+ }
220
+ ```
221
+
222
+ ## Search Suggestions
223
+
224
+ Show recent searches or suggestions:
225
+
226
+ ```tsx
227
+ function SearchScreen() {
228
+ const search = useSearch();
229
+ const [recentSearches, setRecentSearches] = useState<string[]>([]);
230
+
231
+ if (!search && recentSearches.length > 0) {
232
+ return (
233
+ <View>
234
+ <Text style={{ color: PlatformColor("secondaryLabel") }}>
235
+ Recent Searches
236
+ </Text>
237
+ {recentSearches.map((term) => (
238
+ <Pressable key={term} onPress={() => /* apply search */}>
239
+ <Text>{term}</Text>
240
+ </Pressable>
241
+ ))}
242
+ </View>
243
+ );
244
+ }
245
+
246
+ return <SearchResults search={search} />;
247
+ }
248
+ ```
@@ -0,0 +1,121 @@
1
+ # Storage
2
+
3
+ ## Key-Value Storage
4
+
5
+ Use the localStorage polyfill for key-value storage. **Never use AsyncStorage**
6
+
7
+ ```tsx
8
+ import "expo-sqlite/localStorage/install";
9
+
10
+ // Simple get/set
11
+ localStorage.setItem("key", "value");
12
+ localStorage.getItem("key");
13
+
14
+ // Store objects as JSON
15
+ localStorage.setItem("user", JSON.stringify({ name: "John", id: 1 }));
16
+ const user = JSON.parse(localStorage.getItem("user") ?? "{}");
17
+ ```
18
+
19
+ ## When to Use What
20
+
21
+ | Use Case | Solution |
22
+ | ---------------------------------------------------- | ----------------------- |
23
+ | Simple key-value (settings, preferences, small data) | `localStorage` polyfill |
24
+ | Large datasets, complex queries, relational data | Full `expo-sqlite` |
25
+ | Sensitive data (tokens, passwords) | `expo-secure-store` |
26
+
27
+ ## Storage with React State
28
+
29
+ Create a storage utility with subscriptions for reactive updates:
30
+
31
+ ```tsx
32
+ // utils/storage.ts
33
+ import "expo-sqlite/localStorage/install";
34
+
35
+ type Listener = () => void;
36
+ const listeners = new Map<string, Set<Listener>>();
37
+
38
+ export const storage = {
39
+ get<T>(key: string, defaultValue: T): T {
40
+ const value = localStorage.getItem(key);
41
+ return value ? JSON.parse(value) : defaultValue;
42
+ },
43
+
44
+ set<T>(key: string, value: T): void {
45
+ localStorage.setItem(key, JSON.stringify(value));
46
+ listeners.get(key)?.forEach((fn) => fn());
47
+ },
48
+
49
+ subscribe(key: string, listener: Listener): () => void {
50
+ if (!listeners.has(key)) listeners.set(key, new Set());
51
+ listeners.get(key)!.add(listener);
52
+ return () => listeners.get(key)?.delete(listener);
53
+ },
54
+ };
55
+ ```
56
+
57
+ ## React Hook for Storage
58
+
59
+ ```tsx
60
+ // hooks/use-storage.ts
61
+ import { useSyncExternalStore } from "react";
62
+ import { storage } from "@/utils/storage";
63
+
64
+ export function useStorage<T>(
65
+ key: string,
66
+ defaultValue: T
67
+ ): [T, (value: T) => void] {
68
+ const value = useSyncExternalStore(
69
+ (cb) => storage.subscribe(key, cb),
70
+ () => storage.get(key, defaultValue)
71
+ );
72
+
73
+ return [value, (newValue: T) => storage.set(key, newValue)];
74
+ }
75
+ ```
76
+
77
+ Usage:
78
+
79
+ ```tsx
80
+ function Settings() {
81
+ const [theme, setTheme] = useStorage("theme", "light");
82
+
83
+ return (
84
+ <Switch
85
+ value={theme === "dark"}
86
+ onValueChange={(dark) => setTheme(dark ? "dark" : "light")}
87
+ />
88
+ );
89
+ }
90
+ ```
91
+
92
+ ## Full SQLite for Complex Data
93
+
94
+ For larger datasets or complex queries, use expo-sqlite directly:
95
+
96
+ ```tsx
97
+ import * as SQLite from "expo-sqlite";
98
+
99
+ const db = await SQLite.openDatabaseAsync("app.db");
100
+
101
+ // Create table
102
+ await db.execAsync(`
103
+ CREATE TABLE IF NOT EXISTS events (
104
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
105
+ title TEXT NOT NULL,
106
+ date TEXT NOT NULL,
107
+ location TEXT
108
+ )
109
+ `);
110
+
111
+ // Insert
112
+ await db.runAsync("INSERT INTO events (title, date) VALUES (?, ?)", [
113
+ "Meeting",
114
+ "2024-01-15",
115
+ ]);
116
+
117
+ // Query
118
+ const events = await db.getAllAsync("SELECT * FROM events WHERE date > ?", [
119
+ "2024-01-01",
120
+ ]);
121
+ ```