@nguyenphp/antigravity-marketing 1.0.16 → 1.0.19

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 (376) hide show
  1. package/README.md +187 -74
  2. package/bin/index.js +4 -4
  3. package/package.json +4 -3
  4. package/templates/.agent/agents/backend-specialist.md +263 -0
  5. package/templates/.agent/agents/database-architect.md +226 -0
  6. package/templates/.agent/agents/debugger.md +225 -0
  7. package/templates/.agent/agents/devops-engineer.md +242 -0
  8. package/templates/.agent/agents/documentation-writer.md +104 -0
  9. package/templates/.agent/agents/explorer-agent.md +73 -0
  10. package/templates/.agent/agents/frontend-specialist.md +527 -0
  11. package/templates/.agent/agents/game-developer.md +162 -0
  12. package/templates/.agent/agents/mobile-developer.md +377 -0
  13. package/templates/.agent/agents/orchestrator.md +400 -0
  14. package/templates/.agent/agents/penetration-tester.md +188 -0
  15. package/templates/.agent/agents/performance-optimizer.md +187 -0
  16. package/templates/.agent/agents/project-planner.md +403 -0
  17. package/templates/.agent/agents/security-auditor.md +170 -0
  18. package/templates/.agent/agents/seo-specialist.md +111 -0
  19. package/templates/.agent/agents/test-engineer.md +158 -0
  20. package/templates/.agent/rules/GEMINI.md +248 -0
  21. package/templates/.agent/skills/analytics-marketing/SKILL.md +172 -324
  22. package/templates/.agent/skills/api-patterns/SKILL.md +81 -0
  23. package/templates/.agent/skills/api-patterns/api-style.md +42 -0
  24. package/templates/.agent/skills/api-patterns/auth.md +24 -0
  25. package/templates/.agent/skills/api-patterns/documentation.md +26 -0
  26. package/templates/.agent/skills/api-patterns/graphql.md +41 -0
  27. package/templates/.agent/skills/api-patterns/rate-limiting.md +31 -0
  28. package/templates/.agent/skills/api-patterns/response.md +37 -0
  29. package/templates/.agent/skills/api-patterns/rest.md +40 -0
  30. package/templates/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  31. package/templates/.agent/skills/api-patterns/security-testing.md +122 -0
  32. package/templates/.agent/skills/api-patterns/trpc.md +41 -0
  33. package/templates/.agent/skills/api-patterns/versioning.md +22 -0
  34. package/templates/.agent/skills/app-builder/SKILL.md +75 -0
  35. package/templates/.agent/skills/app-builder/agent-coordination.md +71 -0
  36. package/templates/.agent/skills/app-builder/feature-building.md +53 -0
  37. package/templates/.agent/skills/app-builder/project-detection.md +34 -0
  38. package/templates/.agent/skills/app-builder/scaffolding.md +118 -0
  39. package/templates/.agent/skills/app-builder/tech-stack.md +40 -0
  40. package/templates/.agent/skills/app-builder/templates/SKILL.md +39 -0
  41. package/templates/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  42. package/templates/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  43. package/templates/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  44. package/templates/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  45. package/templates/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  46. package/templates/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  47. package/templates/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  48. package/templates/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +82 -0
  49. package/templates/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +100 -0
  50. package/templates/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +106 -0
  51. package/templates/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +101 -0
  52. package/templates/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  53. package/templates/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +93 -0
  54. package/templates/.agent/skills/architecture/SKILL.md +55 -0
  55. package/templates/.agent/skills/architecture/context-discovery.md +43 -0
  56. package/templates/.agent/skills/architecture/examples.md +94 -0
  57. package/templates/.agent/skills/architecture/pattern-selection.md +68 -0
  58. package/templates/.agent/skills/architecture/patterns-reference.md +50 -0
  59. package/templates/.agent/skills/architecture/trade-off-analysis.md +77 -0
  60. package/templates/.agent/skills/banner-design/SKILL.md +192 -0
  61. package/templates/.agent/skills/banner-design/references/banner-sizes-and-styles.md +118 -0
  62. package/templates/.agent/skills/bash-linux/SKILL.md +199 -0
  63. package/templates/.agent/skills/behavioral-modes/SKILL.md +242 -0
  64. package/templates/.agent/skills/brainstorming/SKILL.md +163 -0
  65. package/templates/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  66. package/templates/.agent/skills/brand/SKILL.md +97 -0
  67. package/templates/.agent/skills/brand/references/approval-checklist.md +169 -0
  68. package/templates/.agent/skills/brand/references/asset-organization.md +157 -0
  69. package/templates/.agent/skills/brand/references/brand-guideline-template.md +140 -0
  70. package/templates/.agent/skills/brand/references/color-palette-management.md +186 -0
  71. package/templates/.agent/skills/brand/references/consistency-checklist.md +94 -0
  72. package/templates/.agent/skills/brand/references/logo-usage-rules.md +185 -0
  73. package/templates/.agent/skills/brand/references/messaging-framework.md +85 -0
  74. package/templates/.agent/skills/brand/references/typography-specifications.md +214 -0
  75. package/templates/.agent/skills/brand/references/update.md +118 -0
  76. package/templates/.agent/skills/brand/references/visual-identity.md +96 -0
  77. package/templates/.agent/skills/brand/references/voice-framework.md +88 -0
  78. package/templates/.agent/skills/brand/scripts/extract-colors.cjs +341 -0
  79. package/templates/.agent/skills/brand/scripts/inject-brand-context.cjs +349 -0
  80. package/templates/.agent/skills/brand/scripts/sync-brand-to-tokens.cjs +266 -0
  81. package/templates/.agent/skills/brand/scripts/validate-asset.cjs +387 -0
  82. package/templates/.agent/skills/brand/templates/brand-guidelines-starter.md +275 -0
  83. package/templates/.agent/skills/clean-code/SKILL.md +201 -0
  84. package/templates/.agent/skills/code-review-checklist/SKILL.md +109 -0
  85. package/templates/.agent/skills/copywriting/SKILL.md +250 -0
  86. package/templates/.agent/skills/database-design/SKILL.md +52 -0
  87. package/templates/.agent/skills/database-design/database-selection.md +43 -0
  88. package/templates/.agent/skills/database-design/indexing.md +39 -0
  89. package/templates/.agent/skills/database-design/migrations.md +48 -0
  90. package/templates/.agent/skills/database-design/optimization.md +36 -0
  91. package/templates/.agent/skills/database-design/orm-selection.md +30 -0
  92. package/templates/.agent/skills/database-design/schema-design.md +56 -0
  93. package/templates/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  94. package/templates/.agent/skills/deployment-procedures/SKILL.md +241 -0
  95. package/templates/.agent/skills/docker-expert/SKILL.md +409 -0
  96. package/templates/.agent/skills/frontend-design/animation-guide.md +331 -0
  97. package/templates/.agent/skills/frontend-design/color-system.md +311 -0
  98. package/templates/.agent/skills/frontend-design/decision-trees.md +418 -0
  99. package/templates/.agent/skills/frontend-design/motion-graphics.md +306 -0
  100. package/templates/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  101. package/templates/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  102. package/templates/.agent/skills/frontend-design/typography-system.md +345 -0
  103. package/templates/.agent/skills/frontend-design/ux-psychology.md +541 -0
  104. package/templates/.agent/skills/frontend-design/visual-effects.md +383 -0
  105. package/templates/.agent/skills/frontend-slides/SKILL.md +92 -0
  106. package/templates/.agent/skills/frontend-slides/STYLE_PRESETS.md +347 -0
  107. package/templates/.agent/skills/frontend-slides/animation-patterns.md +110 -0
  108. package/templates/.agent/skills/frontend-slides/examples/n8n-jupviec-automation.html +789 -0
  109. package/templates/.agent/skills/frontend-slides/examples/n8n-jupviec-automation.pptx +0 -0
  110. package/templates/.agent/skills/frontend-slides/html-template.md +347 -0
  111. package/templates/.agent/skills/frontend-slides/scripts/export-pptx.py +58 -0
  112. package/templates/.agent/skills/frontend-slides/scripts/extract-pptx.py +96 -0
  113. package/templates/.agent/skills/frontend-slides/viewport-base.css +153 -0
  114. package/templates/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  115. package/templates/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  116. package/templates/.agent/skills/game-development/SKILL.md +167 -0
  117. package/templates/.agent/skills/game-development/game-art/SKILL.md +185 -0
  118. package/templates/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  119. package/templates/.agent/skills/game-development/game-design/SKILL.md +129 -0
  120. package/templates/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  121. package/templates/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  122. package/templates/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  123. package/templates/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  124. package/templates/.agent/skills/game-development/web-games/SKILL.md +150 -0
  125. package/templates/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  126. package/templates/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  127. package/templates/.agent/skills/growth-engine/SKILL.md +244 -0
  128. package/templates/.agent/skills/i18n-localization/SKILL.md +154 -0
  129. package/templates/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  130. package/templates/.agent/skills/lint-and-validate/SKILL.md +45 -0
  131. package/templates/.agent/skills/lint-and-validate/scripts/lint_runner.py +172 -0
  132. package/templates/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  133. package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
  134. package/templates/.agent/skills/mcp-builder/SKILL.md +176 -0
  135. package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
  136. package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
  137. package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  138. package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  139. package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  140. package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  141. package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  142. package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  143. package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  144. package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
  145. package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  146. package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
  147. package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  148. package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
  149. package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
  150. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  151. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  152. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  153. package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  154. package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
  155. package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
  156. package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  157. package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  158. package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
  159. package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
  160. package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
  161. package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  162. package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  163. package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  164. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  165. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  166. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  167. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  168. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  169. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  170. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  171. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  172. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  173. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  174. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  175. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  176. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  177. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  178. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  179. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  180. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  181. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  182. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  183. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  184. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  185. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  186. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  187. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  188. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  189. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  190. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  191. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  192. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  193. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  194. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  195. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  196. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  197. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  198. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  199. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  200. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  201. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  202. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  203. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  204. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  205. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  206. package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
  207. package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
  208. package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
  209. package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
  210. package/templates/.agent/skills/minimax-pdf/README.md +222 -0
  211. package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
  212. package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
  213. package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
  214. package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  215. package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
  216. package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
  217. package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
  218. package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
  219. package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  220. package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
  221. package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
  222. package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
  223. package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
  224. package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
  225. package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
  226. package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
  227. package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  228. package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
  229. package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
  230. package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  231. package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  232. package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  233. package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  234. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  235. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  236. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  237. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  238. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  239. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  240. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  241. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  242. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  243. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  244. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  245. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  246. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  247. package/templates/.agent/skills/mobile-design/SKILL.md +394 -0
  248. package/templates/.agent/skills/mobile-design/decision-trees.md +516 -0
  249. package/templates/.agent/skills/mobile-design/mobile-backend.md +491 -0
  250. package/templates/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  251. package/templates/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  252. package/templates/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  253. package/templates/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  254. package/templates/.agent/skills/mobile-design/mobile-performance.md +767 -0
  255. package/templates/.agent/skills/mobile-design/mobile-testing.md +356 -0
  256. package/templates/.agent/skills/mobile-design/mobile-typography.md +433 -0
  257. package/templates/.agent/skills/mobile-design/platform-android.md +666 -0
  258. package/templates/.agent/skills/mobile-design/platform-ios.md +561 -0
  259. package/templates/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  260. package/templates/.agent/skills/mobile-design/touch-psychology.md +537 -0
  261. package/templates/.agent/skills/nestjs-expert/SKILL.md +552 -0
  262. package/templates/.agent/skills/nextjs-best-practices/SKILL.md +203 -0
  263. package/templates/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  264. package/templates/.agent/skills/parallel-agents/SKILL.md +175 -0
  265. package/templates/.agent/skills/performance-profiling/SKILL.md +143 -0
  266. package/templates/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  267. package/templates/.agent/skills/plan-writing/SKILL.md +152 -0
  268. package/templates/.agent/skills/powershell-windows/SKILL.md +167 -0
  269. package/templates/.agent/skills/ppc-advertising/SKILL.md +183 -475
  270. package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
  271. package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
  272. package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
  273. package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
  274. package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
  275. package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
  276. package/templates/.agent/skills/prisma-expert/SKILL.md +355 -0
  277. package/templates/.agent/skills/python-patterns/SKILL.md +441 -0
  278. package/templates/.agent/skills/react-patterns/SKILL.md +198 -0
  279. package/templates/.agent/skills/red-team-tactics/SKILL.md +199 -0
  280. package/templates/.agent/skills/remotion-best-practices/SKILL.md +45 -111
  281. package/templates/.agent/skills/remotion-best-practices/rules/3d.md +4 -4
  282. package/templates/.agent/skills/remotion-best-practices/rules/animations.md +5 -7
  283. package/templates/.agent/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  284. package/templates/.agent/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  285. package/templates/.agent/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +103 -0
  286. package/templates/.agent/skills/remotion-best-practices/rules/assets.md +78 -0
  287. package/templates/.agent/skills/remotion-best-practices/rules/audio-visualization.md +198 -0
  288. package/templates/.agent/skills/remotion-best-practices/rules/audio.md +1 -4
  289. package/templates/.agent/skills/remotion-best-practices/rules/calculate-metadata.md +47 -17
  290. package/templates/.agent/skills/remotion-best-practices/rules/can-decode.md +75 -0
  291. package/templates/.agent/skills/remotion-best-practices/rules/charts.md +80 -48
  292. package/templates/.agent/skills/remotion-best-practices/rules/compositions.md +22 -14
  293. package/templates/.agent/skills/remotion-best-practices/rules/display-captions.md +79 -21
  294. package/templates/.agent/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  295. package/templates/.agent/skills/remotion-best-practices/rules/ffmpeg.md +38 -0
  296. package/templates/.agent/skills/remotion-best-practices/rules/fonts.md +96 -54
  297. package/templates/.agent/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  298. package/templates/.agent/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  299. package/templates/.agent/skills/remotion-best-practices/rules/get-video-duration.md +60 -0
  300. package/templates/.agent/skills/remotion-best-practices/rules/gifs.md +21 -18
  301. package/templates/.agent/skills/remotion-best-practices/rules/images.md +6 -2
  302. package/templates/.agent/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
  303. package/templates/.agent/skills/remotion-best-practices/rules/light-leaks.md +73 -0
  304. package/templates/.agent/skills/remotion-best-practices/rules/lottie.md +10 -7
  305. package/templates/.agent/skills/remotion-best-practices/rules/maps.md +412 -0
  306. package/templates/.agent/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  307. package/templates/.agent/skills/remotion-best-practices/rules/measuring-text.md +140 -0
  308. package/templates/.agent/skills/remotion-best-practices/rules/parameters.md +109 -0
  309. package/templates/.agent/skills/remotion-best-practices/rules/sequencing.md +13 -1
  310. package/templates/.agent/skills/remotion-best-practices/rules/sfx.md +26 -0
  311. package/templates/.agent/skills/remotion-best-practices/rules/subtitles.md +36 -0
  312. package/templates/.agent/skills/remotion-best-practices/rules/tailwind.md +11 -0
  313. package/templates/.agent/skills/remotion-best-practices/rules/text-animations.md +4 -115
  314. package/templates/.agent/skills/remotion-best-practices/rules/timing.md +19 -19
  315. package/templates/.agent/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
  316. package/templates/.agent/skills/remotion-best-practices/rules/transitions.md +117 -42
  317. package/templates/.agent/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
  318. package/templates/.agent/skills/remotion-best-practices/rules/trimming.md +51 -0
  319. package/templates/.agent/skills/remotion-best-practices/rules/voiceover.md +99 -0
  320. package/templates/.agent/skills/seo-fundamentals/SKILL.md +83 -441
  321. package/templates/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  322. package/templates/.agent/skills/server-management/SKILL.md +161 -0
  323. package/templates/.agent/skills/systematic-debugging/SKILL.md +109 -0
  324. package/templates/.agent/skills/tdd-workflow/SKILL.md +149 -0
  325. package/templates/.agent/skills/testing-patterns/SKILL.md +178 -0
  326. package/templates/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  327. package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
  328. package/templates/.agent/skills/typescript-expert/SKILL.md +429 -0
  329. package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +1 -1
  330. package/templates/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  331. package/templates/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  332. package/templates/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  333. package/templates/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  334. package/templates/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  335. package/templates/.agent/skills/ui-ux-pro-max/data/prompts.csv +24 -0
  336. package/templates/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  337. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  338. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  339. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  340. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  341. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  342. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  343. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  344. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  345. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  346. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  347. package/templates/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  348. package/templates/.agent/skills/ui-ux-pro-max/data/styles.csv +59 -0
  349. package/templates/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  350. package/templates/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  351. package/templates/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  352. package/templates/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  353. package/templates/.agent/skills/ui-ux-pro-max/scripts/core.py +257 -0
  354. package/templates/.agent/skills/ui-ux-pro-max/scripts/design_system.py +487 -0
  355. package/templates/.agent/skills/ui-ux-pro-max/scripts/search.py +76 -0
  356. package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
  357. package/templates/.agent/skills/vue-expert/SKILL.md +374 -0
  358. package/templates/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  359. package/templates/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  360. package/templates/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  361. package/templates/.agent/skills/webapp-testing/SKILL.md +187 -0
  362. package/templates/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  363. package/templates/.agent/workflows/analyze.md +3 -0
  364. package/templates/.agent/workflows/brainstorm.md +113 -0
  365. package/templates/.agent/workflows/brand-report.md +44 -0
  366. package/templates/.agent/workflows/create.md +59 -0
  367. package/templates/.agent/workflows/debug.md +103 -0
  368. package/templates/.agent/workflows/deploy.md +176 -0
  369. package/templates/.agent/workflows/enhance.md +63 -0
  370. package/templates/.agent/workflows/orchestrate.md +237 -0
  371. package/templates/.agent/workflows/plan.md +89 -0
  372. package/templates/.agent/workflows/preview.md +80 -0
  373. package/templates/.agent/workflows/report.md +49 -0
  374. package/templates/.agent/workflows/status.md +86 -0
  375. package/templates/.agent/workflows/test.md +144 -0
  376. package/templates/.agent/workflows/ui-ux-pro-max.md +231 -0
@@ -0,0 +1,244 @@
1
+ ---
2
+ name: growth-engine
3
+ description: 'Motor de crescimento para produtos digitais -- growth hacking, SEO, ASO, viral loops, email marketing, CRM, referral programs e aquisicao organica. Ativar para: criar estrategia de growth,
4
+ SEO...'
5
+ risk: none
6
+ source: community
7
+ date_added: '2026-03-06'
8
+ author: renat
9
+ tags:
10
+ - growth
11
+ - seo
12
+ - marketing
13
+ - viral
14
+ - acquisition
15
+ tools:
16
+ - claude-code
17
+ - antigravity
18
+ - cursor
19
+ - gemini-cli
20
+ - codex-cli
21
+ ---
22
+
23
+ # GROWTH-ENGINE -- Crescimento Exponencial
24
+
25
+ ## Overview
26
+
27
+ Motor de crescimento para produtos digitais -- growth hacking, SEO, ASO, viral loops, email marketing, CRM, referral programs e aquisicao organica. Ativar para: criar estrategia de growth, SEO tecnico, ASO para app stores, programa de referral, email marketing, viral coefficient, funil de aquisicao, conteudo para crescimento organico, campanhas de lancamento.
28
+
29
+ ## When to Use This Skill
30
+
31
+ - When you need specialized assistance with this domain
32
+
33
+ ## Do Not Use This Skill When
34
+
35
+ - The task is unrelated to growth engine
36
+ - A simpler, more specific tool can handle the request
37
+ - The user needs general-purpose assistance without domain expertise
38
+
39
+ ## How It Works
40
+
41
+ > O melhor marketing e um produto que as pessoas amam. -- Sam Altman
42
+ > Crescimento real comeca com um produto que vale a pena recomendar.
43
+
44
+ ---
45
+
46
+ ## Pirate Metrics (Aarrr) Para Auri
47
+
48
+ AQUISICAO: Como as pessoas descobrem a Auri?
49
+ Meta: 10.000 visitantes/mes -> 1.000 cadastros
50
+ Canais: SEO, Product Hunt, Influencers tech, PR
51
+
52
+ ATIVACAO: Quando o usuario experimenta o primeiro valor?
53
+ Meta: 60% completam primeira conversa em 24h
54
+ Metrica: First Conversation Rate (FCR)
55
+
56
+ RETENCAO: As pessoas voltam?
57
+ Meta: D7 = 30%, D30 = 15%, D90 = 8%
58
+ Metrica: WAC (Weekly Active Conversationalists)
59
+
60
+ RECEITA: As pessoas pagam?
61
+ Meta: 8% trial->Pro conversao
62
+ Metrica: MRR, ARPU, LTV
63
+
64
+ REFERENCIA: As pessoas indicam?
65
+ Meta: NPS > 50, Viral Coefficient > 0.3
66
+ Metrica: Referrals per user, K-factor
67
+
68
+ ---
69
+
70
+ ## Checklist Seo Para Landing Page Auri
71
+
72
+ <title>Auri -- O Assistente de Voz que Realmente Pensa | para Alexa</title>
73
+ <meta name="description" content="Auri transforma seu Alexa em um assistente
74
+ com Claude AI. Analise de negocios, decisoes estrategicas e memoria real.">
75
+
76
+ <meta property="og:title" content="Auri -- IA de Voz para Alexa">
77
+ <meta property="og:description" content="O primeiro assistente de voz
78
+ com raciocinio real. Powered by Claude.">
79
+
80
+ <script type="application/ld+json">
81
+ {
82
+ "@context": "https://schema.org",
83
+ "@type": "SoftwareApplication",
84
+ "name": "Auri",
85
+ "operatingSystem": "Amazon Alexa",
86
+ "applicationCategory": "AI Assistant",
87
+ "offers": {"@type": "Offer", "price": "0"},
88
+ "aggregateRating": {"@type": "AggregateRating",
89
+ "ratingValue": "4.8", "ratingCount": "127"}
90
+ }
91
+ </script>
92
+
93
+ ## Keywords Estrategicas Auri
94
+
95
+ High Intent (converter):
96
+ - "skill alexa inteligente"
97
+ - "assistente alexa com ia"
98
+ - "como usar claude no alexa"
99
+
100
+ Informacional (educar):
101
+ - "assistente de voz ia brasil"
102
+ - "melhor skill alexa portugues"
103
+
104
+ Long tail (baixa competicao):
105
+ - "alexa responder perguntas complexas"
106
+ - "skill alexa analise de negocios"
107
+
108
+ ---
109
+
110
+ ## Amazon Skill Store Optimization
111
+
112
+ skill_name: "Auri -- IA de Voz Inteligente"
113
+ invocation: "auri"
114
+
115
+ short_description: >
116
+ Auri transforma seu Alexa em um assistente verdadeiramente inteligente.
117
+ Powered by Claude AI -- pensa, recorda e evolui com voce.
118
+
119
+ long_description: >
120
+ Chega de respostas rasas. Auri e o primeiro assistente de voz com
121
+ raciocinio real para o mercado brasileiro.
122
+
123
+ O QUE A AURI FAZ:
124
+ - Analisa problemas de negocio complexos
125
+ - Recorda conversas anteriores (memoria real)
126
+ - Oferece perspectivas de especialistas
127
+ - Aprende suas preferencias ao longo do tempo
128
+
129
+ COMO COMECAR: Diga "Alexa, abrir Auri" e comece a conversar naturalmente.
130
+
131
+ example_phrases:
132
+ - "Alexa, abrir Auri"
133
+ - "Me ajuda a decidir entre essas duas opcoes de negocio"
134
+ - "Analisa esse problema para mim"
135
+
136
+ keywords: "ia, inteligencia artificial, assistente inteligente, claude, negocios"
137
+
138
+ ---
139
+
140
+ ## Tipos De Viral Loops Para Auri
141
+
142
+ Loop 1: WORD-OF-MOUTH ORGANICO
143
+ Trigger: usuario tem conversa impressionante com Auri
144
+ Acao: comenta com amigos/nas redes
145
+ Meta: cada usuario traz 0.3 novos usuarios (K=0.3)
146
+
147
+ Loop 2: SHARE DE INSIGHTS
148
+ Trigger: Auri gera insight especialmente bom
149
+ Acao: botao "Compartilhar esse insight" -> post pronto para redes
150
+ Meta: 5% das conversas geram um share
151
+
152
+ Loop 3: REFERRAL PROGRAM
153
+ Incentivo: Ganhe 1 mes Pro por cada amigo que assinar
154
+ Meta: 10% dos usuarios Pro indicam pelo menos 1 pessoa
155
+
156
+ ## Calculadora De Viral Coefficient
157
+
158
+ def calculate_k_factor(percent_who_invite, invites_per_user, conversion_rate):
159
+ k = percent_who_invite * invites_per_user * conversion_rate
160
+ if k >= 1:
161
+ status = "Crescimento viral (cada usuario traz mais de 1)"
162
+ elif k >= 0.5:
163
+ status = "Bom (crescimento acelerado)"
164
+ elif k >= 0.2:
165
+ status = "Ok (crescimento suportado)"
166
+ else:
167
+ status = "Baixo (crescimento lento)"
168
+ return {"k_factor": round(k, 2), "status": status,
169
+ "interpretation": f"Cada 100 usuarios trazem {int(k*100)} novos"}
170
+
171
+ ---
172
+
173
+ ## Sequencia De Onboarding (7 Dias)
174
+
175
+ Dia 0 -- Boas-vindas (imediato apos cadastro)
176
+ Assunto: "Bem-vindo a Auri. Aqui esta como comecar."
177
+ Body: Tutorial em 3 passos, link para primeira conversa, dica de uso
178
+
179
+ Dia 1 -- Ativacao (se nao fez primeira conversa)
180
+ Assunto: "Sua Auri esta esperando voce"
181
+ Body: Os 3 tipos de perguntas que mais impressionam, CTA urgente
182
+
183
+ Dia 3 -- Educacao
184
+ Assunto: "O que 100 usuarios da Auri descobriram essa semana"
185
+ Body: Case real + insight surpreendente + feature escondida
186
+
187
+ Dia 7 -- Upsell (se usou pelo menos 3x)
188
+ Assunto: "Voce esta usando 80% do limite gratuito"
189
+ Body: O que Pro desbloqueia, oferta especial por 48h, prova social
190
+
191
+ Dia 14 -- Reativacao (se parou de usar)
192
+ Assunto: "Saudade, [nome]. O que aconteceu?"
193
+ Body: Pergunta genuina, link para retorno facil, nova feature
194
+
195
+ ---
196
+
197
+ ## Estrategia De Lancamento
198
+
199
+ 1 semana antes:
200
+ - Pedir a hunters influentes para cacar o produto
201
+ - Preparar assets: logo, tagline, screenshots, video demo 60s
202
+ - Warm up: posts no X/LinkedIn sobre o problema que Auri resolve
203
+ - Recrutar 50 early adopters para upvotar no lancamento
204
+
205
+ Dia de lancamento (meia-noite PT):
206
+ - Post no X: demo impressionante + link PH
207
+ - Email para toda waitlist: "Estamos no Product Hunt hoje!"
208
+ - Mensagem no Telegram/Discord de comunidades tech BR
209
+ - Ficar online o dia todo respondendo comentarios
210
+
211
+ Posicionamento: Tagline: "The Alexa skill that actually thinks"
212
+
213
+ ---
214
+
215
+ ## 7. Comandos
216
+
217
+ | Comando | Acao |
218
+ |---------|------|
219
+ | /growth-audit | Auditoria completa de growth |
220
+ | /seo-analysis | Analise SEO da landing page |
221
+ | /aso-optimize | Otimiza metadata da skill Alexa |
222
+ | /viral-loop | Projeta viral loop para o produto |
223
+ | /email-sequence | Cria sequencia de email marketing |
224
+ | /launch-plan | Plano de lancamento completo |
225
+ | /referral-program | Desenha programa de referral |
226
+
227
+ ## Best Practices
228
+
229
+ - Provide clear, specific context about your project and requirements
230
+ - Review all suggestions before applying them to production code
231
+ - Combine with other complementary skills for comprehensive analysis
232
+
233
+ ## Common Pitfalls
234
+
235
+ - Using this skill for tasks outside its domain expertise
236
+ - Applying recommendations without understanding your specific context
237
+ - Not providing enough project context for accurate analysis
238
+
239
+ ## Related Skills
240
+
241
+ - `analytics-product` - Complementary skill for enhanced analysis
242
+ - `monetization` - Complementary skill for enhanced analysis
243
+ - `product-design` - Complementary skill for enhanced analysis
244
+ - `product-inventor` - Complementary skill for enhanced analysis
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: i18n-localization
3
+ description: Internationalization and localization patterns. Detecting hardcoded strings, managing translations, locale files, RTL support.
4
+ allowed-tools: Read, Glob, Grep
5
+ ---
6
+
7
+ # i18n & Localization
8
+
9
+ > Internationalization (i18n) and Localization (L10n) best practices.
10
+
11
+ ---
12
+
13
+ ## 1. Core Concepts
14
+
15
+ | Term | Meaning |
16
+ |------|---------|
17
+ | **i18n** | Internationalization - making app translatable |
18
+ | **L10n** | Localization - actual translations |
19
+ | **Locale** | Language + Region (en-US, tr-TR) |
20
+ | **RTL** | Right-to-left languages (Arabic, Hebrew) |
21
+
22
+ ---
23
+
24
+ ## 2. When to Use i18n
25
+
26
+ | Project Type | i18n Needed? |
27
+ |--------------|--------------|
28
+ | Public web app | ✅ Yes |
29
+ | SaaS product | ✅ Yes |
30
+ | Internal tool | ⚠️ Maybe |
31
+ | Single-region app | ⚠️ Consider future |
32
+ | Personal project | ❌ Optional |
33
+
34
+ ---
35
+
36
+ ## 3. Implementation Patterns
37
+
38
+ ### React (react-i18next)
39
+
40
+ ```tsx
41
+ import { useTranslation } from 'react-i18next';
42
+
43
+ function Welcome() {
44
+ const { t } = useTranslation();
45
+ return <h1>{t('welcome.title')}</h1>;
46
+ }
47
+ ```
48
+
49
+ ### Next.js (next-intl)
50
+
51
+ ```tsx
52
+ import { useTranslations } from 'next-intl';
53
+
54
+ export default function Page() {
55
+ const t = useTranslations('Home');
56
+ return <h1>{t('title')}</h1>;
57
+ }
58
+ ```
59
+
60
+ ### Python (gettext)
61
+
62
+ ```python
63
+ from gettext import gettext as _
64
+
65
+ print(_("Welcome to our app"))
66
+ ```
67
+
68
+ ---
69
+
70
+ ## 4. File Structure
71
+
72
+ ```
73
+ locales/
74
+ ├── en/
75
+ │ ├── common.json
76
+ │ ├── auth.json
77
+ │ └── errors.json
78
+ ├── tr/
79
+ │ ├── common.json
80
+ │ ├── auth.json
81
+ │ └── errors.json
82
+ └── ar/ # RTL
83
+ └── ...
84
+ ```
85
+
86
+ ---
87
+
88
+ ## 5. Best Practices
89
+
90
+ ### DO ✅
91
+
92
+ - Use translation keys, not raw text
93
+ - Namespace translations by feature
94
+ - Support pluralization
95
+ - Handle date/number formats per locale
96
+ - Plan for RTL from the start
97
+ - Use ICU message format for complex strings
98
+
99
+ ### DON'T ❌
100
+
101
+ - Hardcode strings in components
102
+ - Concatenate translated strings
103
+ - Assume text length (German is 30% longer)
104
+ - Forget about RTL layout
105
+ - Mix languages in same file
106
+
107
+ ---
108
+
109
+ ## 6. Common Issues
110
+
111
+ | Issue | Solution |
112
+ |-------|----------|
113
+ | Missing translation | Fallback to default language |
114
+ | Hardcoded strings | Use linter/checker script |
115
+ | Date format | Use Intl.DateTimeFormat |
116
+ | Number format | Use Intl.NumberFormat |
117
+ | Pluralization | Use ICU message format |
118
+
119
+ ---
120
+
121
+ ## 7. RTL Support
122
+
123
+ ```css
124
+ /* CSS Logical Properties */
125
+ .container {
126
+ margin-inline-start: 1rem; /* Not margin-left */
127
+ padding-inline-end: 1rem; /* Not padding-right */
128
+ }
129
+
130
+ [dir="rtl"] .icon {
131
+ transform: scaleX(-1);
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## 8. Checklist
138
+
139
+ Before shipping:
140
+
141
+ - [ ] All user-facing strings use translation keys
142
+ - [ ] Locale files exist for all supported languages
143
+ - [ ] Date/number formatting uses Intl API
144
+ - [ ] RTL layout tested (if applicable)
145
+ - [ ] Fallback language configured
146
+ - [ ] No hardcoded strings in components
147
+
148
+ ---
149
+
150
+ ## Script
151
+
152
+ | Script | Purpose | Command |
153
+ |--------|---------|---------|
154
+ | `scripts/i18n_checker.py` | Detect hardcoded strings & missing translations | `python scripts/i18n_checker.py <project_path>` |
@@ -0,0 +1,241 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ i18n Checker - Detects hardcoded strings and missing translations.
4
+ Scans for untranslated text in React, Vue, and Python files.
5
+ """
6
+ import sys
7
+ import re
8
+ import json
9
+ from pathlib import Path
10
+
11
+ # Fix Windows console encoding for Unicode output
12
+ try:
13
+ sys.stdout.reconfigure(encoding='utf-8', errors='replace')
14
+ sys.stderr.reconfigure(encoding='utf-8', errors='replace')
15
+ except AttributeError:
16
+ pass # Python < 3.7
17
+
18
+ # Patterns that indicate hardcoded strings (should be translated)
19
+ HARDCODED_PATTERNS = {
20
+ 'jsx': [
21
+ # Text directly in JSX: <div>Hello World</div>
22
+ r'>\s*[A-Z][a-zA-Z\s]{3,30}\s*</',
23
+ # JSX attribute strings: title="Welcome"
24
+ r'(title|placeholder|label|alt|aria-label)="[A-Z][a-zA-Z\s]{2,}"',
25
+ # Button/heading text
26
+ r'<(button|h[1-6]|p|span|label)[^>]*>\s*[A-Z][a-zA-Z\s!?.,]{3,}\s*</',
27
+ ],
28
+ 'vue': [
29
+ # Vue template text
30
+ r'>\s*[A-Z][a-zA-Z\s]{3,30}\s*</',
31
+ r'(placeholder|label|title)="[A-Z][a-zA-Z\s]{2,}"',
32
+ ],
33
+ 'python': [
34
+ # print/raise with string literals
35
+ r'(print|raise\s+\w+)\s*\(\s*["\'][A-Z][^"\']{5,}["\']',
36
+ # Flask flash messages
37
+ r'flash\s*\(\s*["\'][A-Z][^"\']{5,}["\']',
38
+ ]
39
+ }
40
+
41
+ # Patterns that indicate proper i18n usage
42
+ I18N_PATTERNS = [
43
+ r't\(["\']', # t('key') - react-i18next
44
+ r'useTranslation', # React hook
45
+ r'\$t\(', # Vue i18n
46
+ r'_\(["\']', # Python gettext
47
+ r'gettext\(', # Python gettext
48
+ r'useTranslations', # next-intl
49
+ r'FormattedMessage', # react-intl
50
+ r'i18n\.', # Generic i18n
51
+ ]
52
+
53
+ def find_locale_files(project_path: Path) -> list:
54
+ """Find translation/locale files."""
55
+ patterns = [
56
+ "**/locales/**/*.json",
57
+ "**/translations/**/*.json",
58
+ "**/lang/**/*.json",
59
+ "**/i18n/**/*.json",
60
+ "**/messages/*.json",
61
+ "**/*.po", # gettext
62
+ ]
63
+
64
+ files = []
65
+ for pattern in patterns:
66
+ files.extend(project_path.glob(pattern))
67
+
68
+ return [f for f in files if 'node_modules' not in str(f)]
69
+
70
+ def check_locale_completeness(locale_files: list) -> dict:
71
+ """Check if all locales have the same keys."""
72
+ issues = []
73
+ passed = []
74
+
75
+ if not locale_files:
76
+ return {'passed': [], 'issues': ["[!] No locale files found"]}
77
+
78
+ # Group by parent folder (language)
79
+ locales = {}
80
+ for f in locale_files:
81
+ if f.suffix == '.json':
82
+ try:
83
+ lang = f.parent.name
84
+ content = json.loads(f.read_text(encoding='utf-8'))
85
+ if lang not in locales:
86
+ locales[lang] = {}
87
+ locales[lang][f.stem] = set(flatten_keys(content))
88
+ except:
89
+ continue
90
+
91
+ if len(locales) < 2:
92
+ passed.append(f"[OK] Found {len(locale_files)} locale file(s)")
93
+ return {'passed': passed, 'issues': issues}
94
+
95
+ passed.append(f"[OK] Found {len(locales)} language(s): {', '.join(locales.keys())}")
96
+
97
+ # Compare keys across locales
98
+ all_langs = list(locales.keys())
99
+ base_lang = all_langs[0]
100
+
101
+ for namespace in locales.get(base_lang, {}):
102
+ base_keys = locales[base_lang].get(namespace, set())
103
+
104
+ for lang in all_langs[1:]:
105
+ other_keys = locales.get(lang, {}).get(namespace, set())
106
+
107
+ missing = base_keys - other_keys
108
+ if missing:
109
+ issues.append(f"[X] {lang}/{namespace}: Missing {len(missing)} keys")
110
+
111
+ extra = other_keys - base_keys
112
+ if extra:
113
+ issues.append(f"[!] {lang}/{namespace}: {len(extra)} extra keys")
114
+
115
+ if not issues:
116
+ passed.append("[OK] All locales have matching keys")
117
+
118
+ return {'passed': passed, 'issues': issues}
119
+
120
+ def flatten_keys(d, prefix=''):
121
+ """Flatten nested dict keys."""
122
+ keys = set()
123
+ for k, v in d.items():
124
+ new_key = f"{prefix}.{k}" if prefix else k
125
+ if isinstance(v, dict):
126
+ keys.update(flatten_keys(v, new_key))
127
+ else:
128
+ keys.add(new_key)
129
+ return keys
130
+
131
+ def check_hardcoded_strings(project_path: Path) -> dict:
132
+ """Check for hardcoded strings in code files."""
133
+ issues = []
134
+ passed = []
135
+
136
+ # Find code files
137
+ extensions = {
138
+ '.tsx': 'jsx', '.jsx': 'jsx', '.ts': 'jsx', '.js': 'jsx',
139
+ '.vue': 'vue',
140
+ '.py': 'python'
141
+ }
142
+
143
+ code_files = []
144
+ for ext in extensions:
145
+ code_files.extend(project_path.rglob(f"*{ext}"))
146
+
147
+ code_files = [f for f in code_files if not any(x in str(f) for x in
148
+ ['node_modules', '.git', 'dist', 'build', '__pycache__', 'venv', 'test', 'spec'])]
149
+
150
+ if not code_files:
151
+ return {'passed': ["[!] No code files found"], 'issues': []}
152
+
153
+ files_with_i18n = 0
154
+ files_with_hardcoded = 0
155
+ hardcoded_examples = []
156
+
157
+ for file_path in code_files[:50]: # Limit
158
+ try:
159
+ content = file_path.read_text(encoding='utf-8', errors='ignore')
160
+ ext = file_path.suffix
161
+ file_type = extensions.get(ext, 'jsx')
162
+
163
+ # Check for i18n usage
164
+ has_i18n = any(re.search(p, content) for p in I18N_PATTERNS)
165
+ if has_i18n:
166
+ files_with_i18n += 1
167
+
168
+ # Check for hardcoded strings
169
+ patterns = HARDCODED_PATTERNS.get(file_type, [])
170
+ hardcoded_found = False
171
+
172
+ for pattern in patterns:
173
+ matches = re.findall(pattern, content)
174
+ if matches and not has_i18n:
175
+ hardcoded_found = True
176
+ if len(hardcoded_examples) < 5:
177
+ hardcoded_examples.append(f"{file_path.name}: {str(matches[0])[:40]}...")
178
+
179
+ if hardcoded_found:
180
+ files_with_hardcoded += 1
181
+
182
+ except:
183
+ continue
184
+
185
+ passed.append(f"[OK] Analyzed {len(code_files)} code files")
186
+
187
+ if files_with_i18n > 0:
188
+ passed.append(f"[OK] {files_with_i18n} files use i18n")
189
+
190
+ if files_with_hardcoded > 0:
191
+ issues.append(f"[X] {files_with_hardcoded} files may have hardcoded strings")
192
+ for ex in hardcoded_examples:
193
+ issues.append(f" → {ex}")
194
+ else:
195
+ passed.append("[OK] No obvious hardcoded strings detected")
196
+
197
+ return {'passed': passed, 'issues': issues}
198
+
199
+ def main():
200
+ target = sys.argv[1] if len(sys.argv) > 1 else "."
201
+ project_path = Path(target)
202
+
203
+ print("\n" + "=" * 60)
204
+ print(" i18n CHECKER - Internationalization Audit")
205
+ print("=" * 60 + "\n")
206
+
207
+ # Check locale files
208
+ locale_files = find_locale_files(project_path)
209
+ locale_result = check_locale_completeness(locale_files)
210
+
211
+ # Check hardcoded strings
212
+ code_result = check_hardcoded_strings(project_path)
213
+
214
+ # Print results
215
+ print("[LOCALE FILES]")
216
+ print("-" * 40)
217
+ for item in locale_result['passed']:
218
+ print(f" {item}")
219
+ for item in locale_result['issues']:
220
+ print(f" {item}")
221
+
222
+ print("\n[CODE ANALYSIS]")
223
+ print("-" * 40)
224
+ for item in code_result['passed']:
225
+ print(f" {item}")
226
+ for item in code_result['issues']:
227
+ print(f" {item}")
228
+
229
+ # Summary
230
+ critical_issues = sum(1 for i in locale_result['issues'] + code_result['issues'] if i.startswith("[X]"))
231
+
232
+ print("\n" + "=" * 60)
233
+ if critical_issues == 0:
234
+ print("[OK] i18n CHECK: PASSED")
235
+ sys.exit(0)
236
+ else:
237
+ print(f"[X] i18n CHECK: {critical_issues} issues found")
238
+ sys.exit(1)
239
+
240
+ if __name__ == "__main__":
241
+ main()
@@ -0,0 +1,45 @@
1
+ ---
2
+ name: lint-and-validate
3
+ description: Automatic quality control, linting, and static analysis procedures. Use after every code modification to ensure syntax correctness and project standards. Triggers onKeywords: lint, format, check, validate, types, static analysis.
4
+ allowed-tools: Read, Glob, Grep, Bash
5
+ ---
6
+
7
+ # Lint and Validate Skill
8
+
9
+ > **MANDATORY:** Run appropriate validation tools after EVERY code change. Do not finish a task until the code is error-free.
10
+
11
+ ### Procedures by Ecosystem
12
+
13
+ #### Node.js / TypeScript
14
+ 1. **Lint/Fix:** `npm run lint` or `npx eslint "path" --fix`
15
+ 2. **Types:** `npx tsc --noEmit`
16
+ 3. **Security:** `npm audit --audit-level=high`
17
+
18
+ #### Python
19
+ 1. **Linter (Ruff):** `ruff check "path" --fix` (Fast & Modern)
20
+ 2. **Security (Bandit):** `bandit -r "path" -ll`
21
+ 3. **Types (MyPy):** `mypy "path"`
22
+
23
+ ## The Quality Loop
24
+ 1. **Write/Edit Code**
25
+ 2. **Run Audit:** `npm run lint && npx tsc --noEmit`
26
+ 3. **Analyze Report:** Check the "FINAL AUDIT REPORT" section.
27
+ 4. **Fix & Repeat:** Submitting code with "FINAL AUDIT" failures is NOT allowed.
28
+
29
+ ## Error Handling
30
+ - If `lint` fails: Fix the style or syntax issues immediately.
31
+ - If `tsc` fails: Correct type mismatches before proceeding.
32
+ - If no tool is configured: Check the project root for `.eslintrc`, `tsconfig.json`, `pyproject.toml` and suggest creating one.
33
+
34
+ ---
35
+ **Strict Rule:** No code should be committed or reported as "done" without passing these checks.
36
+
37
+ ---
38
+
39
+ ## Scripts
40
+
41
+ | Script | Purpose | Command |
42
+ |--------|---------|---------|
43
+ | `scripts/lint_runner.py` | Unified lint check | `python scripts/lint_runner.py <project_path>` |
44
+ | `scripts/type_coverage.py` | Type coverage analysis | `python scripts/type_coverage.py <project_path>` |
45
+