@nguyenphp/antigravity-marketing 1.0.18 → 1.0.20

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 (231) hide show
  1. package/README.md +130 -78
  2. package/package.json +4 -3
  3. package/templates/.agent/skills/marketing-report-expert/SKILL.md +70 -0
  4. package/templates/.agent/skills/minimax-docx/LICENSE +21 -0
  5. package/templates/.agent/skills/minimax-docx/SKILL.md +274 -0
  6. package/templates/.agent/skills/minimax-docx/assets/styles/academic_styles.xml +250 -0
  7. package/templates/.agent/skills/minimax-docx/assets/styles/corporate_styles.xml +284 -0
  8. package/templates/.agent/skills/minimax-docx/assets/styles/default_styles.xml +449 -0
  9. package/templates/.agent/skills/minimax-docx/assets/xsd/aesthetic-rules.xsd +470 -0
  10. package/templates/.agent/skills/minimax-docx/assets/xsd/business-rules.xsd +130 -0
  11. package/templates/.agent/skills/minimax-docx/assets/xsd/common-types.xsd +159 -0
  12. package/templates/.agent/skills/minimax-docx/assets/xsd/wml-subset.xsd +589 -0
  13. package/templates/.agent/skills/minimax-docx/references/cjk_typography.md +357 -0
  14. package/templates/.agent/skills/minimax-docx/references/cjk_university_template_guide.md +184 -0
  15. package/templates/.agent/skills/minimax-docx/references/comments_guide.md +191 -0
  16. package/templates/.agent/skills/minimax-docx/references/design_good_bad_examples.md +829 -0
  17. package/templates/.agent/skills/minimax-docx/references/design_principles.md +819 -0
  18. package/templates/.agent/skills/minimax-docx/references/openxml_element_order.md +308 -0
  19. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part1.md +4061 -0
  20. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part2.md +2820 -0
  21. package/templates/.agent/skills/minimax-docx/references/openxml_encyclopedia_part3.md +3381 -0
  22. package/templates/.agent/skills/minimax-docx/references/openxml_namespaces.md +82 -0
  23. package/templates/.agent/skills/minimax-docx/references/openxml_units.md +72 -0
  24. package/templates/.agent/skills/minimax-docx/references/scenario_a_create.md +284 -0
  25. package/templates/.agent/skills/minimax-docx/references/scenario_b_edit_content.md +295 -0
  26. package/templates/.agent/skills/minimax-docx/references/scenario_c_apply_template.md +456 -0
  27. package/templates/.agent/skills/minimax-docx/references/track_changes_guide.md +200 -0
  28. package/templates/.agent/skills/minimax-docx/references/troubleshooting.md +506 -0
  29. package/templates/.agent/skills/minimax-docx/references/typography_guide.md +294 -0
  30. package/templates/.agent/skills/minimax-docx/references/xsd_validation_guide.md +158 -0
  31. package/templates/.agent/skills/minimax-docx/scripts/doc_to_docx.sh +40 -0
  32. package/templates/.agent/skills/minimax-docx/scripts/docx_preview.sh +37 -0
  33. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/MiniMaxAIDocx.Cli.csproj +19 -0
  34. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Cli/Program.cs +18 -0
  35. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/AnalyzeCommand.cs +147 -0
  36. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ApplyTemplateCommand.cs +322 -0
  37. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/CreateCommand.cs +324 -0
  38. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/DiffCommand.cs +155 -0
  39. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/EditContentCommand.cs +487 -0
  40. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/FixOrderCommand.cs +108 -0
  41. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/MergeRunsCommand.cs +122 -0
  42. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Commands/ValidateCommand.cs +107 -0
  43. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/MiniMaxAIDocx.Core.csproj +15 -0
  44. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/CommentSynchronizer.cs +169 -0
  45. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/ElementOrder.cs +80 -0
  46. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/NamespaceConstants.cs +42 -0
  47. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/RunMerger.cs +81 -0
  48. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/StyleAnalyzer.cs +81 -0
  49. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/TrackChangesHelper.cs +99 -0
  50. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/OpenXml/UnitConverter.cs +23 -0
  51. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples.cs +1832 -0
  52. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch1.cs +910 -0
  53. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch2.cs +999 -0
  54. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch3.cs +1048 -0
  55. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/AestheticRecipeSamples_Batch4.cs +1038 -0
  56. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/CharacterFormattingSamples.cs +1020 -0
  57. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/DocumentCreationSamples.cs +1121 -0
  58. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FieldAndTocSamples.cs +624 -0
  59. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/FootnoteAndCommentSamples.cs +675 -0
  60. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/HeaderFooterSamples.cs +838 -0
  61. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ImageSamples.cs +917 -0
  62. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ListAndNumberingSamples.cs +826 -0
  63. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/ParagraphFormattingSamples.cs +1199 -0
  64. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/StyleSystemSamples.cs +1487 -0
  65. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TableSamples.cs +1163 -0
  66. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Samples/TrackChangesSamples.cs +595 -0
  67. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/CjkHelper.cs +39 -0
  68. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/FontDefaults.cs +24 -0
  69. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Typography/PageSizes.cs +20 -0
  70. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/BusinessRuleValidator.cs +224 -0
  71. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/GateCheckValidator.cs +148 -0
  72. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/ValidationResult.cs +23 -0
  73. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.Core/Validation/XsdValidator.cs +69 -0
  74. package/templates/.agent/skills/minimax-docx/scripts/dotnet/MiniMaxAIDocx.slnx +4 -0
  75. package/templates/.agent/skills/minimax-docx/scripts/env_check.sh +196 -0
  76. package/templates/.agent/skills/minimax-docx/scripts/setup.ps1 +274 -0
  77. package/templates/.agent/skills/minimax-docx/scripts/setup.sh +504 -0
  78. package/templates/.agent/skills/minimax-multimodal-toolkit/SKILL.md +359 -0
  79. package/templates/.agent/skills/minimax-pdf/README.md +222 -0
  80. package/templates/.agent/skills/minimax-pdf/SKILL.md +201 -0
  81. package/templates/.agent/skills/minimax-pdf/design/design.md +381 -0
  82. package/templates/.agent/skills/minimax-pdf/scripts/cover.py +1579 -0
  83. package/templates/.agent/skills/minimax-pdf/scripts/fill_inspect.py +200 -0
  84. package/templates/.agent/skills/minimax-pdf/scripts/fill_write.py +242 -0
  85. package/templates/.agent/skills/minimax-pdf/scripts/make.sh +491 -0
  86. package/templates/.agent/skills/minimax-pdf/scripts/merge.py +112 -0
  87. package/templates/.agent/skills/minimax-pdf/scripts/palette.py +559 -0
  88. package/templates/.agent/skills/minimax-pdf/scripts/reformat_parse.py +374 -0
  89. package/templates/.agent/skills/minimax-pdf/scripts/render_body.py +1055 -0
  90. package/templates/.agent/skills/minimax-pdf/scripts/render_cover.cjs +111 -0
  91. package/templates/.agent/skills/minimax-xlsx/SKILL.md +138 -0
  92. package/templates/.agent/skills/minimax-xlsx/references/create.md +691 -0
  93. package/templates/.agent/skills/minimax-xlsx/references/edit.md +684 -0
  94. package/templates/.agent/skills/minimax-xlsx/references/fix.md +37 -0
  95. package/templates/.agent/skills/minimax-xlsx/references/format.md +768 -0
  96. package/templates/.agent/skills/minimax-xlsx/references/ooxml-cheatsheet.md +231 -0
  97. package/templates/.agent/skills/minimax-xlsx/references/read-analyze.md +97 -0
  98. package/templates/.agent/skills/minimax-xlsx/references/validate.md +772 -0
  99. package/templates/.agent/skills/minimax-xlsx/scripts/formula_check.py +422 -0
  100. package/templates/.agent/skills/minimax-xlsx/scripts/libreoffice_recalc.py +248 -0
  101. package/templates/.agent/skills/minimax-xlsx/scripts/shared_strings_builder.py +163 -0
  102. package/templates/.agent/skills/minimax-xlsx/scripts/style_audit.py +575 -0
  103. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_add_column.py +395 -0
  104. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_insert_row.py +274 -0
  105. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_pack.py +87 -0
  106. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_reader.py +362 -0
  107. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_shift_rows.py +396 -0
  108. package/templates/.agent/skills/minimax-xlsx/scripts/xlsx_unpack.py +130 -0
  109. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/[Content_Types].xml +9 -0
  110. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/_rels/.rels +6 -0
  111. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/_rels/workbook.xml.rels +19 -0
  112. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/sharedStrings.xml +33 -0
  113. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/styles.xml +160 -0
  114. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/workbook.xml +30 -0
  115. package/templates/.agent/skills/minimax-xlsx/templates/minimal_xlsx/xl/worksheets/sheet1.xml +70 -0
  116. package/templates/.agent/skills/pptx-generator/SKILL.md +249 -0
  117. package/templates/.agent/skills/pptx-generator/references/design-system.md +392 -0
  118. package/templates/.agent/skills/pptx-generator/references/editing.md +162 -0
  119. package/templates/.agent/skills/pptx-generator/references/pitfalls.md +112 -0
  120. package/templates/.agent/skills/pptx-generator/references/pptxgenjs.md +420 -0
  121. package/templates/.agent/skills/pptx-generator/references/slide-types.md +413 -0
  122. package/templates/.agent/skills/tutorial-video-expert/SKILL.md +88 -0
  123. package/templates/.agent/skills/ui-ux-pro-max/SKILL.md +170 -585
  124. package/templates/.agent/skills/vision-analysis/SKILL.md +174 -0
  125. package/templates/.agent/workflows/analyze.md +3 -0
  126. package/templates/.agent/workflows/brand-report.md +44 -0
  127. package/templates/.agent/workflows/report.md +49 -0
  128. package/templates/.agent/agents/backend-specialist.md +0 -263
  129. package/templates/.agent/agents/database-architect.md +0 -226
  130. package/templates/.agent/agents/debugger.md +0 -225
  131. package/templates/.agent/agents/devops-engineer.md +0 -242
  132. package/templates/.agent/agents/frontend-specialist.md +0 -527
  133. package/templates/.agent/agents/game-developer.md +0 -162
  134. package/templates/.agent/agents/mobile-developer.md +0 -377
  135. package/templates/.agent/agents/penetration-tester.md +0 -188
  136. package/templates/.agent/agents/security-auditor.md +0 -170
  137. package/templates/.agent/agents/test-engineer.md +0 -158
  138. package/templates/.agent/skills/api-patterns/SKILL.md +0 -81
  139. package/templates/.agent/skills/api-patterns/api-style.md +0 -42
  140. package/templates/.agent/skills/api-patterns/auth.md +0 -24
  141. package/templates/.agent/skills/api-patterns/documentation.md +0 -26
  142. package/templates/.agent/skills/api-patterns/graphql.md +0 -41
  143. package/templates/.agent/skills/api-patterns/rate-limiting.md +0 -31
  144. package/templates/.agent/skills/api-patterns/response.md +0 -37
  145. package/templates/.agent/skills/api-patterns/rest.md +0 -40
  146. package/templates/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  147. package/templates/.agent/skills/api-patterns/security-testing.md +0 -122
  148. package/templates/.agent/skills/api-patterns/trpc.md +0 -41
  149. package/templates/.agent/skills/api-patterns/versioning.md +0 -22
  150. package/templates/.agent/skills/app-builder/SKILL.md +0 -75
  151. package/templates/.agent/skills/app-builder/agent-coordination.md +0 -71
  152. package/templates/.agent/skills/app-builder/feature-building.md +0 -53
  153. package/templates/.agent/skills/app-builder/project-detection.md +0 -34
  154. package/templates/.agent/skills/app-builder/scaffolding.md +0 -118
  155. package/templates/.agent/skills/app-builder/tech-stack.md +0 -40
  156. package/templates/.agent/skills/app-builder/templates/SKILL.md +0 -39
  157. package/templates/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  158. package/templates/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  159. package/templates/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  160. package/templates/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  161. package/templates/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  162. package/templates/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  163. package/templates/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  164. package/templates/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
  165. package/templates/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
  166. package/templates/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
  167. package/templates/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
  168. package/templates/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  169. package/templates/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
  170. package/templates/.agent/skills/architecture/SKILL.md +0 -55
  171. package/templates/.agent/skills/architecture/context-discovery.md +0 -43
  172. package/templates/.agent/skills/architecture/examples.md +0 -94
  173. package/templates/.agent/skills/architecture/pattern-selection.md +0 -68
  174. package/templates/.agent/skills/architecture/patterns-reference.md +0 -50
  175. package/templates/.agent/skills/architecture/trade-off-analysis.md +0 -77
  176. package/templates/.agent/skills/bash-linux/SKILL.md +0 -199
  177. package/templates/.agent/skills/behavioral-modes/SKILL.md +0 -242
  178. package/templates/.agent/skills/clean-code/SKILL.md +0 -201
  179. package/templates/.agent/skills/code-review-checklist/SKILL.md +0 -109
  180. package/templates/.agent/skills/database-design/SKILL.md +0 -52
  181. package/templates/.agent/skills/database-design/database-selection.md +0 -43
  182. package/templates/.agent/skills/database-design/indexing.md +0 -39
  183. package/templates/.agent/skills/database-design/migrations.md +0 -48
  184. package/templates/.agent/skills/database-design/optimization.md +0 -36
  185. package/templates/.agent/skills/database-design/orm-selection.md +0 -30
  186. package/templates/.agent/skills/database-design/schema-design.md +0 -56
  187. package/templates/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  188. package/templates/.agent/skills/deployment-procedures/SKILL.md +0 -241
  189. package/templates/.agent/skills/docker-expert/SKILL.md +0 -409
  190. package/templates/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  191. package/templates/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  192. package/templates/.agent/skills/game-development/SKILL.md +0 -167
  193. package/templates/.agent/skills/game-development/game-art/SKILL.md +0 -185
  194. package/templates/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  195. package/templates/.agent/skills/game-development/game-design/SKILL.md +0 -129
  196. package/templates/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  197. package/templates/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  198. package/templates/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  199. package/templates/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  200. package/templates/.agent/skills/game-development/web-games/SKILL.md +0 -150
  201. package/templates/.agent/skills/lint-and-validate/SKILL.md +0 -45
  202. package/templates/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -172
  203. package/templates/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  204. package/templates/.agent/skills/mcp-builder/SKILL.md +0 -176
  205. package/templates/.agent/skills/nestjs-expert/SKILL.md +0 -552
  206. package/templates/.agent/skills/nextjs-best-practices/SKILL.md +0 -203
  207. package/templates/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  208. package/templates/.agent/skills/parallel-agents/SKILL.md +0 -175
  209. package/templates/.agent/skills/performance-profiling/SKILL.md +0 -143
  210. package/templates/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  211. package/templates/.agent/skills/powershell-windows/SKILL.md +0 -167
  212. package/templates/.agent/skills/prisma-expert/SKILL.md +0 -355
  213. package/templates/.agent/skills/python-patterns/SKILL.md +0 -441
  214. package/templates/.agent/skills/react-patterns/SKILL.md +0 -198
  215. package/templates/.agent/skills/red-team-tactics/SKILL.md +0 -199
  216. package/templates/.agent/skills/server-management/SKILL.md +0 -161
  217. package/templates/.agent/skills/systematic-debugging/SKILL.md +0 -109
  218. package/templates/.agent/skills/tdd-workflow/SKILL.md +0 -149
  219. package/templates/.agent/skills/testing-patterns/SKILL.md +0 -178
  220. package/templates/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  221. package/templates/.agent/skills/typescript-expert/SKILL.md +0 -429
  222. package/templates/.agent/skills/vue-expert/SKILL.md +0 -374
  223. package/templates/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  224. package/templates/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  225. package/templates/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  226. package/templates/.agent/skills/webapp-testing/SKILL.md +0 -187
  227. package/templates/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  228. package/templates/.agent/workflows/debug.md +0 -103
  229. package/templates/.agent/workflows/deploy.md +0 -176
  230. package/templates/.agent/workflows/enhance.md +0 -63
  231. package/templates/.agent/workflows/test.md +0 -144
@@ -1,187 +0,0 @@
1
- ---
2
- name: webapp-testing
3
- description: Web application testing principles. E2E, Playwright, deep audit strategies.
4
- allowed-tools: Read, Write, Edit, Glob, Grep, Bash
5
- ---
6
-
7
- # Web App Testing
8
-
9
- > Discover and test everything. Leave no route untested.
10
-
11
- ## 🔧 Runtime Scripts
12
-
13
- **Execute these for automated browser testing:**
14
-
15
- | Script | Purpose | Usage |
16
- |--------|---------|-------|
17
- | `scripts/playwright_runner.py` | Basic browser test | `python scripts/playwright_runner.py https://example.com` |
18
- | | With screenshot | `python scripts/playwright_runner.py <url> --screenshot` |
19
- | | Accessibility check | `python scripts/playwright_runner.py <url> --a11y` |
20
-
21
- **Requires:** `pip install playwright && playwright install chromium`
22
-
23
- ---
24
-
25
- ## 1. Deep Audit Approach
26
-
27
- ### Discovery First
28
-
29
- | Target | How to Find |
30
- |--------|-------------|
31
- | Routes | Scan app/, pages/, router files |
32
- | API endpoints | Grep for HTTP methods |
33
- | Components | Find component directories |
34
- | Features | Read documentation |
35
-
36
- ### Systematic Testing
37
-
38
- 1. **Map** - List all routes/APIs
39
- 2. **Scan** - Verify they respond
40
- 3. **Test** - Cover critical paths
41
-
42
- ---
43
-
44
- ## 2. Testing Pyramid for Web
45
-
46
- ```
47
- /\ E2E (Few)
48
- / \ Critical user flows
49
- /----\
50
- / \ Integration (Some)
51
- /--------\ API, data flow
52
- / \
53
- /------------\ Component (Many)
54
- Individual UI pieces
55
- ```
56
-
57
- ---
58
-
59
- ## 3. E2E Test Principles
60
-
61
- ### What to Test
62
-
63
- | Priority | Tests |
64
- |----------|-------|
65
- | 1 | Happy path user flows |
66
- | 2 | Authentication flows |
67
- | 3 | Critical business actions |
68
- | 4 | Error handling |
69
-
70
- ### E2E Best Practices
71
-
72
- | Practice | Why |
73
- |----------|-----|
74
- | Use data-testid | Stable selectors |
75
- | Wait for elements | Avoid flaky tests |
76
- | Clean state | Independent tests |
77
- | Avoid implementation details | Test user behavior |
78
-
79
- ---
80
-
81
- ## 4. Playwright Principles
82
-
83
- ### Core Concepts
84
-
85
- | Concept | Use |
86
- |---------|-----|
87
- | Page Object Model | Encapsulate page logic |
88
- | Fixtures | Reusable test setup |
89
- | Assertions | Built-in auto-wait |
90
- | Trace Viewer | Debug failures |
91
-
92
- ### Configuration
93
-
94
- | Setting | Recommendation |
95
- |---------|----------------|
96
- | Retries | 2 on CI |
97
- | Trace | on-first-retry |
98
- | Screenshots | on-failure |
99
- | Video | retain-on-failure |
100
-
101
- ---
102
-
103
- ## 5. Visual Testing
104
-
105
- ### When to Use
106
-
107
- | Scenario | Value |
108
- |----------|-------|
109
- | Design system | High |
110
- | Marketing pages | High |
111
- | Component library | Medium |
112
- | Dynamic content | Lower |
113
-
114
- ### Strategy
115
-
116
- - Baseline screenshots
117
- - Compare on changes
118
- - Review visual diffs
119
- - Update intentional changes
120
-
121
- ---
122
-
123
- ## 6. API Testing Principles
124
-
125
- ### Coverage Areas
126
-
127
- | Area | Tests |
128
- |------|-------|
129
- | Status codes | 200, 400, 404, 500 |
130
- | Response shape | Matches schema |
131
- | Error messages | User-friendly |
132
- | Edge cases | Empty, large, special chars |
133
-
134
- ---
135
-
136
- ## 7. Test Organization
137
-
138
- ### File Structure
139
-
140
- ```
141
- tests/
142
- ├── e2e/ # Full user flows
143
- ├── integration/ # API, data
144
- ├── component/ # UI units
145
- └── fixtures/ # Shared data
146
- ```
147
-
148
- ### Naming Convention
149
-
150
- | Pattern | Example |
151
- |---------|---------|
152
- | Feature-based | `login.spec.ts` |
153
- | Descriptive | `user-can-checkout.spec.ts` |
154
-
155
- ---
156
-
157
- ## 8. CI Integration
158
-
159
- ### Pipeline Steps
160
-
161
- 1. Install dependencies
162
- 2. Install browsers
163
- 3. Run tests
164
- 4. Upload artifacts (traces, screenshots)
165
-
166
- ### Parallelization
167
-
168
- | Strategy | Use |
169
- |----------|-----|
170
- | Per file | Playwright default |
171
- | Sharding | Large suites |
172
- | Workers | Multiple browsers |
173
-
174
- ---
175
-
176
- ## 9. Anti-Patterns
177
-
178
- | ❌ Don't | ✅ Do |
179
- |----------|-------|
180
- | Test implementation | Test behavior |
181
- | Hardcode waits | Use auto-wait |
182
- | Skip cleanup | Isolate tests |
183
- | Ignore flaky tests | Fix root cause |
184
-
185
- ---
186
-
187
- > **Remember:** E2E tests are expensive. Use them for critical paths only.
@@ -1,173 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Skill: webapp-testing
4
- Script: playwright_runner.py
5
- Purpose: Run basic Playwright browser tests
6
- Usage: python playwright_runner.py <url> [--screenshot]
7
- Output: JSON with page info, health status, and optional screenshot path
8
- Note: Requires playwright (pip install playwright && playwright install chromium)
9
- Screenshots: Saved to system temp directory (auto-cleaned by OS)
10
- """
11
- import sys
12
- import json
13
- import os
14
- import tempfile
15
- from datetime import datetime
16
-
17
- # Fix Windows console encoding for Unicode output
18
- try:
19
- sys.stdout.reconfigure(encoding='utf-8', errors='replace')
20
- sys.stderr.reconfigure(encoding='utf-8', errors='replace')
21
- except AttributeError:
22
- pass # Python < 3.7
23
-
24
- try:
25
- from playwright.sync_api import sync_playwright
26
- PLAYWRIGHT_AVAILABLE = True
27
- except ImportError:
28
- PLAYWRIGHT_AVAILABLE = False
29
-
30
-
31
- def run_basic_test(url: str, take_screenshot: bool = False) -> dict:
32
- """Run basic browser test on URL."""
33
- if not PLAYWRIGHT_AVAILABLE:
34
- return {
35
- "error": "Playwright not installed",
36
- "fix": "pip install playwright && playwright install chromium"
37
- }
38
-
39
- result = {
40
- "url": url,
41
- "timestamp": datetime.now().isoformat(),
42
- "status": "pending"
43
- }
44
-
45
- try:
46
- with sync_playwright() as p:
47
- browser = p.chromium.launch(headless=True)
48
- context = browser.new_context(
49
- viewport={"width": 1280, "height": 720},
50
- user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
51
- )
52
- page = context.new_page()
53
-
54
- # Navigate
55
- response = page.goto(url, wait_until="networkidle", timeout=30000)
56
-
57
- # Basic info
58
- result["page"] = {
59
- "title": page.title(),
60
- "url": page.url,
61
- "status_code": response.status if response else None
62
- }
63
-
64
- # Health checks
65
- result["health"] = {
66
- "loaded": response.ok if response else False,
67
- "has_title": bool(page.title()),
68
- "has_h1": page.locator("h1").count() > 0,
69
- "has_links": page.locator("a").count() > 0,
70
- "has_images": page.locator("img").count() > 0
71
- }
72
-
73
- # Console errors
74
- console_errors = []
75
- page.on("console", lambda msg: console_errors.append(msg.text) if msg.type == "error" else None)
76
-
77
- # Performance metrics
78
- result["performance"] = {
79
- "dom_content_loaded": page.evaluate("window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart"),
80
- "load_complete": page.evaluate("window.performance.timing.loadEventEnd - window.performance.timing.navigationStart")
81
- }
82
-
83
- # Screenshot - uses system temp directory (cross-platform, auto-cleaned)
84
- if take_screenshot:
85
- # Cross-platform: Windows=%TEMP%, Linux/macOS=/tmp
86
- screenshot_dir = os.path.join(tempfile.gettempdir(), "maestro_screenshots")
87
- os.makedirs(screenshot_dir, exist_ok=True)
88
- screenshot_path = os.path.join(screenshot_dir, f"screenshot_{datetime.now().strftime('%Y%m%d_%H%M%S')}.png")
89
- page.screenshot(path=screenshot_path, full_page=True)
90
- result["screenshot"] = screenshot_path
91
- result["screenshot_note"] = "Saved to temp directory (auto-cleaned by OS)"
92
-
93
- # Element counts
94
- result["elements"] = {
95
- "links": page.locator("a").count(),
96
- "buttons": page.locator("button").count(),
97
- "inputs": page.locator("input").count(),
98
- "images": page.locator("img").count(),
99
- "forms": page.locator("form").count()
100
- }
101
-
102
- browser.close()
103
-
104
- result["status"] = "success" if result["health"]["loaded"] else "failed"
105
- result["summary"] = "[OK] Page loaded successfully" if result["status"] == "success" else "[X] Page failed to load"
106
-
107
- except Exception as e:
108
- result["status"] = "error"
109
- result["error"] = str(e)
110
- result["summary"] = f"[X] Error: {str(e)[:100]}"
111
-
112
- return result
113
-
114
-
115
- def run_accessibility_check(url: str) -> dict:
116
- """Run basic accessibility check."""
117
- if not PLAYWRIGHT_AVAILABLE:
118
- return {"error": "Playwright not installed"}
119
-
120
- result = {"url": url, "accessibility": {}}
121
-
122
- try:
123
- with sync_playwright() as p:
124
- browser = p.chromium.launch(headless=True)
125
- page = browser.new_page()
126
- page.goto(url, wait_until="networkidle", timeout=30000)
127
-
128
- # Basic a11y checks
129
- result["accessibility"] = {
130
- "images_with_alt": page.locator("img[alt]").count(),
131
- "images_without_alt": page.locator("img:not([alt])").count(),
132
- "buttons_with_label": page.locator("button[aria-label], button:has-text('')").count(),
133
- "links_with_text": page.locator("a:has-text('')").count(),
134
- "form_labels": page.locator("label").count(),
135
- "headings": {
136
- "h1": page.locator("h1").count(),
137
- "h2": page.locator("h2").count(),
138
- "h3": page.locator("h3").count()
139
- }
140
- }
141
-
142
- browser.close()
143
- result["status"] = "success"
144
-
145
- except Exception as e:
146
- result["status"] = "error"
147
- result["error"] = str(e)
148
-
149
- return result
150
-
151
-
152
- if __name__ == "__main__":
153
- if len(sys.argv) < 2:
154
- print(json.dumps({
155
- "error": "Usage: python playwright_runner.py <url> [--screenshot] [--a11y]",
156
- "examples": [
157
- "python playwright_runner.py https://example.com",
158
- "python playwright_runner.py https://example.com --screenshot",
159
- "python playwright_runner.py https://example.com --a11y"
160
- ]
161
- }, indent=2))
162
- sys.exit(1)
163
-
164
- url = sys.argv[1]
165
- take_screenshot = "--screenshot" in sys.argv
166
- check_a11y = "--a11y" in sys.argv
167
-
168
- if check_a11y:
169
- result = run_accessibility_check(url)
170
- else:
171
- result = run_basic_test(url, take_screenshot)
172
-
173
- print(json.dumps(result, indent=2))
@@ -1,103 +0,0 @@
1
- ---
2
- description: Debugging command. Activates DEBUG mode for systematic problem investigation.
3
- ---
4
-
5
- # /debug - Systematic Problem Investigation
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## Purpose
12
-
13
- This command activates DEBUG mode for systematic investigation of issues, errors, or unexpected behavior.
14
-
15
- ---
16
-
17
- ## Behavior
18
-
19
- When `/debug` is triggered:
20
-
21
- 1. **Gather information**
22
- - Error message
23
- - Reproduction steps
24
- - Expected vs actual behavior
25
- - Recent changes
26
-
27
- 2. **Form hypotheses**
28
- - List possible causes
29
- - Order by likelihood
30
-
31
- 3. **Investigate systematically**
32
- - Test each hypothesis
33
- - Check logs, data flow
34
- - Use elimination method
35
-
36
- 4. **Fix and prevent**
37
- - Apply fix
38
- - Explain root cause
39
- - Add prevention measures
40
-
41
- ---
42
-
43
- ## Output Format
44
-
45
- ```markdown
46
- ## 🔍 Debug: [Issue]
47
-
48
- ### 1. Symptom
49
- [What's happening]
50
-
51
- ### 2. Information Gathered
52
- - Error: `[error message]`
53
- - File: `[filepath]`
54
- - Line: [line number]
55
-
56
- ### 3. Hypotheses
57
- 1. ❓ [Most likely cause]
58
- 2. ❓ [Second possibility]
59
- 3. ❓ [Less likely cause]
60
-
61
- ### 4. Investigation
62
-
63
- **Testing hypothesis 1:**
64
- [What I checked] → [Result]
65
-
66
- **Testing hypothesis 2:**
67
- [What I checked] → [Result]
68
-
69
- ### 5. Root Cause
70
- 🎯 **[Explanation of why this happened]**
71
-
72
- ### 6. Fix
73
- ```[language]
74
- // Before
75
- [broken code]
76
-
77
- // After
78
- [fixed code]
79
- ```
80
-
81
- ### 7. Prevention
82
- 🛡️ [How to prevent this in the future]
83
- ```
84
-
85
- ---
86
-
87
- ## Examples
88
-
89
- ```
90
- /debug login not working
91
- /debug API returns 500
92
- /debug form doesn't submit
93
- /debug data not saving
94
- ```
95
-
96
- ---
97
-
98
- ## Key Principles
99
-
100
- - **Ask before assuming** - get full error context
101
- - **Test hypotheses** - don't guess randomly
102
- - **Explain why** - not just what to fix
103
- - **Prevent recurrence** - add tests, validation
@@ -1,176 +0,0 @@
1
- ---
2
- description: Deployment command for production releases. Pre-flight checks and deployment execution.
3
- ---
4
-
5
- # /deploy - Production Deployment
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## Purpose
12
-
13
- This command handles production deployment with pre-flight checks, deployment execution, and verification.
14
-
15
- ---
16
-
17
- ## Sub-commands
18
-
19
- ```
20
- /deploy - Interactive deployment wizard
21
- /deploy check - Run pre-deployment checks only
22
- /deploy preview - Deploy to preview/staging
23
- /deploy production - Deploy to production
24
- /deploy rollback - Rollback to previous version
25
- ```
26
-
27
- ---
28
-
29
- ## Pre-Deployment Checklist
30
-
31
- Before any deployment:
32
-
33
- ```markdown
34
- ## 🚀 Pre-Deploy Checklist
35
-
36
- ### Code Quality
37
- - [ ] No TypeScript errors (`npx tsc --noEmit`)
38
- - [ ] ESLint passing (`npx eslint .`)
39
- - [ ] All tests passing (`npm test`)
40
-
41
- ### Security
42
- - [ ] No hardcoded secrets
43
- - [ ] Environment variables documented
44
- - [ ] Dependencies audited (`npm audit`)
45
-
46
- ### Performance
47
- - [ ] Bundle size acceptable
48
- - [ ] No console.log statements
49
- - [ ] Images optimized
50
-
51
- ### Documentation
52
- - [ ] README updated
53
- - [ ] CHANGELOG updated
54
- - [ ] API docs current
55
-
56
- ### Ready to deploy? (y/n)
57
- ```
58
-
59
- ---
60
-
61
- ## Deployment Flow
62
-
63
- ```
64
- ┌─────────────────┐
65
- │ /deploy │
66
- └────────┬────────┘
67
-
68
-
69
- ┌─────────────────┐
70
- │ Pre-flight │
71
- │ checks │
72
- └────────┬────────┘
73
-
74
- Pass? ──No──► Fix issues
75
-
76
- Yes
77
-
78
-
79
- ┌─────────────────┐
80
- │ Build │
81
- │ application │
82
- └────────┬────────┘
83
-
84
-
85
- ┌─────────────────┐
86
- │ Deploy to │
87
- │ platform │
88
- └────────┬────────┘
89
-
90
-
91
- ┌─────────────────┐
92
- │ Health check │
93
- │ & verify │
94
- └────────┬────────┘
95
-
96
-
97
- ┌─────────────────┐
98
- │ ✅ Complete │
99
- └─────────────────┘
100
- ```
101
-
102
- ---
103
-
104
- ## Output Format
105
-
106
- ### Successful Deploy
107
-
108
- ```markdown
109
- ## 🚀 Deployment Complete
110
-
111
- ### Summary
112
- - **Version:** v1.2.3
113
- - **Environment:** production
114
- - **Duration:** 47 seconds
115
- - **Platform:** Vercel
116
-
117
- ### URLs
118
- - 🌐 Production: https://app.example.com
119
- - 📊 Dashboard: https://vercel.com/project
120
-
121
- ### What Changed
122
- - Added user profile feature
123
- - Fixed login bug
124
- - Updated dependencies
125
-
126
- ### Health Check
127
- ✅ API responding (200 OK)
128
- ✅ Database connected
129
- ✅ All services healthy
130
- ```
131
-
132
- ### Failed Deploy
133
-
134
- ```markdown
135
- ## ❌ Deployment Failed
136
-
137
- ### Error
138
- Build failed at step: TypeScript compilation
139
-
140
- ### Details
141
- ```
142
- error TS2345: Argument of type 'string' is not assignable...
143
- ```
144
-
145
- ### Resolution
146
- 1. Fix TypeScript error in `src/services/user.ts:45`
147
- 2. Run `npm run build` locally to verify
148
- 3. Try `/deploy` again
149
-
150
- ### Rollback Available
151
- Previous version (v1.2.2) is still active.
152
- Run `/deploy rollback` if needed.
153
- ```
154
-
155
- ---
156
-
157
- ## Platform Support
158
-
159
- | Platform | Command | Notes |
160
- |----------|---------|-------|
161
- | Vercel | `vercel --prod` | Auto-detected for Next.js |
162
- | Railway | `railway up` | Needs Railway CLI |
163
- | Fly.io | `fly deploy` | Needs flyctl |
164
- | Docker | `docker compose up -d` | For self-hosted |
165
-
166
- ---
167
-
168
- ## Examples
169
-
170
- ```
171
- /deploy
172
- /deploy check
173
- /deploy preview
174
- /deploy production --skip-tests
175
- /deploy rollback
176
- ```
@@ -1,63 +0,0 @@
1
- ---
2
- description: Add or update features in existing application. Used for iterative development.
3
- ---
4
-
5
- # /enhance - Update Application
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## Task
12
-
13
- This command adds features or makes updates to existing application.
14
-
15
- ### Steps:
16
-
17
- 1. **Understand Current State**
18
- - Load project state with `session_manager.py`
19
- - Understand existing features, tech stack
20
-
21
- 2. **Plan Changes**
22
- - Determine what will be added/changed
23
- - Detect affected files
24
- - Check dependencies
25
-
26
- 3. **Present Plan to User** (for major changes)
27
- ```
28
- "To add admin panel:
29
- - I'll create 15 new files
30
- - Update 8 files
31
- - Takes ~10 minutes
32
-
33
- Should I start?"
34
- ```
35
-
36
- 4. **Apply**
37
- - Call relevant agents
38
- - Make changes
39
- - Test
40
-
41
- 5. **Update Preview**
42
- - Hot reload or restart
43
-
44
- ---
45
-
46
- ## Usage Examples
47
-
48
- ```
49
- /enhance add dark mode
50
- /enhance build admin panel
51
- /enhance integrate payment system
52
- /enhance add search feature
53
- /enhance edit profile page
54
- /enhance make responsive
55
- ```
56
-
57
- ---
58
-
59
- ## Caution
60
-
61
- - Get approval for major changes
62
- - Warn on conflicting requests (e.g., "use Firebase" when project uses PostgreSQL)
63
- - Commit each change with git