@mrtrinhvn/ag-kit 1.0.11 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/bin/cli.js +62 -0
  4. package/package.json +7 -1
  5. package/template/.agent/rules/GEMINI.md +1 -1
  6. package/template/.agent/skills/regent-orchestrator/SKILL.md +31 -0
  7. package/template/.agent/skills/telegram-bridge/SKILL.md +30 -0
  8. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +0 -26
  9. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +0 -97
  10. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +0 -101
  11. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +0 -31
  12. package/.agent/.shared/ui-ux-pro-max/data/products.csv +0 -97
  13. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +0 -24
  14. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +0 -45
  15. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +0 -53
  16. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +0 -56
  17. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +0 -53
  18. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +0 -53
  19. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +0 -51
  20. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +0 -59
  21. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +0 -52
  22. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +0 -54
  23. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +0 -61
  24. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +0 -54
  25. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +0 -51
  26. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +0 -50
  27. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +0 -59
  28. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +0 -58
  29. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +0 -101
  30. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +0 -100
  31. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +0 -31
  32. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/core.cpython-313.pyc +0 -0
  33. package/.agent/.shared/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-313.pyc +0 -0
  34. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +0 -258
  35. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +0 -1067
  36. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +0 -106
  37. package/.agent/ARCHITECTURE.md +0 -288
  38. package/.agent/agents/backend-specialist.md +0 -263
  39. package/.agent/agents/code-archaeologist.md +0 -106
  40. package/.agent/agents/database-architect.md +0 -226
  41. package/.agent/agents/debugger.md +0 -225
  42. package/.agent/agents/devops-engineer.md +0 -242
  43. package/.agent/agents/documentation-writer.md +0 -104
  44. package/.agent/agents/explorer-agent.md +0 -73
  45. package/.agent/agents/frontend-specialist.md +0 -556
  46. package/.agent/agents/game-developer.md +0 -162
  47. package/.agent/agents/mobile-developer.md +0 -377
  48. package/.agent/agents/orchestrator.md +0 -416
  49. package/.agent/agents/penetration-tester.md +0 -188
  50. package/.agent/agents/performance-optimizer.md +0 -187
  51. package/.agent/agents/product-manager.md +0 -112
  52. package/.agent/agents/product-owner.md +0 -95
  53. package/.agent/agents/project-planner.md +0 -406
  54. package/.agent/agents/qa-automation-engineer.md +0 -103
  55. package/.agent/agents/quant-architect.md +0 -31
  56. package/.agent/agents/security-auditor.md +0 -170
  57. package/.agent/agents/seo-specialist.md +0 -111
  58. package/.agent/agents/test-engineer.md +0 -158
  59. package/.agent/mcp_config.json +0 -24
  60. package/.agent/rules/GEMINI.md +0 -280
  61. package/.agent/scripts/auto_preview.py +0 -148
  62. package/.agent/scripts/checklist.py +0 -217
  63. package/.agent/scripts/session_manager.py +0 -120
  64. package/.agent/scripts/verify_all.py +0 -327
  65. package/.agent/skills/api-patterns/SKILL.md +0 -81
  66. package/.agent/skills/api-patterns/api-style.md +0 -42
  67. package/.agent/skills/api-patterns/auth.md +0 -24
  68. package/.agent/skills/api-patterns/documentation.md +0 -26
  69. package/.agent/skills/api-patterns/graphql.md +0 -41
  70. package/.agent/skills/api-patterns/rate-limiting.md +0 -31
  71. package/.agent/skills/api-patterns/response.md +0 -37
  72. package/.agent/skills/api-patterns/rest.md +0 -40
  73. package/.agent/skills/api-patterns/scripts/api_validator.py +0 -211
  74. package/.agent/skills/api-patterns/security-testing.md +0 -122
  75. package/.agent/skills/api-patterns/trpc.md +0 -41
  76. package/.agent/skills/api-patterns/versioning.md +0 -22
  77. package/.agent/skills/app-builder/SKILL.md +0 -75
  78. package/.agent/skills/app-builder/agent-coordination.md +0 -71
  79. package/.agent/skills/app-builder/feature-building.md +0 -53
  80. package/.agent/skills/app-builder/project-detection.md +0 -34
  81. package/.agent/skills/app-builder/scaffolding.md +0 -118
  82. package/.agent/skills/app-builder/tech-stack.md +0 -40
  83. package/.agent/skills/app-builder/templates/SKILL.md +0 -39
  84. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +0 -76
  85. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +0 -92
  86. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +0 -88
  87. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +0 -88
  88. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +0 -83
  89. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +0 -90
  90. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +0 -90
  91. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +0 -82
  92. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +0 -100
  93. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +0 -106
  94. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +0 -101
  95. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +0 -83
  96. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +0 -93
  97. package/.agent/skills/architecture/SKILL.md +0 -55
  98. package/.agent/skills/architecture/context-discovery.md +0 -43
  99. package/.agent/skills/architecture/examples.md +0 -94
  100. package/.agent/skills/architecture/pattern-selection.md +0 -68
  101. package/.agent/skills/architecture/patterns-reference.md +0 -50
  102. package/.agent/skills/architecture/trade-off-analysis.md +0 -77
  103. package/.agent/skills/bash-linux/SKILL.md +0 -199
  104. package/.agent/skills/behavioral-modes/SKILL.md +0 -242
  105. package/.agent/skills/brainstorming/SKILL.md +0 -168
  106. package/.agent/skills/brainstorming/dynamic-questioning.md +0 -350
  107. package/.agent/skills/business-ops/SKILL.md +0 -26
  108. package/.agent/skills/clean-code/SKILL.md +0 -202
  109. package/.agent/skills/cli-generator/SKILL.md +0 -48
  110. package/.agent/skills/code-review-checklist/SKILL.md +0 -109
  111. package/.agent/skills/cognitive-session/SKILL.md +0 -28
  112. package/.agent/skills/data-science/SKILL.md +0 -28
  113. package/.agent/skills/database-design/SKILL.md +0 -52
  114. package/.agent/skills/database-design/database-selection.md +0 -43
  115. package/.agent/skills/database-design/indexing.md +0 -39
  116. package/.agent/skills/database-design/migrations.md +0 -48
  117. package/.agent/skills/database-design/optimization.md +0 -36
  118. package/.agent/skills/database-design/orm-selection.md +0 -30
  119. package/.agent/skills/database-design/schema-design.md +0 -56
  120. package/.agent/skills/database-design/scripts/schema_validator.py +0 -172
  121. package/.agent/skills/deployment-procedures/SKILL.md +0 -241
  122. package/.agent/skills/doc.md +0 -177
  123. package/.agent/skills/documentation-templates/SKILL.md +0 -194
  124. package/.agent/skills/frontend-design/SKILL.md +0 -418
  125. package/.agent/skills/frontend-design/animation-guide.md +0 -331
  126. package/.agent/skills/frontend-design/color-system.md +0 -311
  127. package/.agent/skills/frontend-design/decision-trees.md +0 -418
  128. package/.agent/skills/frontend-design/motion-graphics.md +0 -306
  129. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +0 -183
  130. package/.agent/skills/frontend-design/scripts/ux_audit.py +0 -722
  131. package/.agent/skills/frontend-design/typography-system.md +0 -345
  132. package/.agent/skills/frontend-design/ux-psychology.md +0 -541
  133. package/.agent/skills/frontend-design/visual-effects.md +0 -383
  134. package/.agent/skills/game-development/2d-games/SKILL.md +0 -119
  135. package/.agent/skills/game-development/3d-games/SKILL.md +0 -135
  136. package/.agent/skills/game-development/SKILL.md +0 -167
  137. package/.agent/skills/game-development/game-art/SKILL.md +0 -185
  138. package/.agent/skills/game-development/game-audio/SKILL.md +0 -190
  139. package/.agent/skills/game-development/game-design/SKILL.md +0 -129
  140. package/.agent/skills/game-development/mobile-games/SKILL.md +0 -108
  141. package/.agent/skills/game-development/multiplayer/SKILL.md +0 -132
  142. package/.agent/skills/game-development/pc-games/SKILL.md +0 -144
  143. package/.agent/skills/game-development/vr-ar/SKILL.md +0 -123
  144. package/.agent/skills/game-development/web-games/SKILL.md +0 -150
  145. package/.agent/skills/geo-fundamentals/SKILL.md +0 -156
  146. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +0 -289
  147. package/.agent/skills/i18n-localization/SKILL.md +0 -154
  148. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +0 -241
  149. package/.agent/skills/intelligent-routing/SKILL.md +0 -335
  150. package/.agent/skills/knowledge-management/SKILL.md +0 -66
  151. package/.agent/skills/lint-and-validate/SKILL.md +0 -45
  152. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +0 -172
  153. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +0 -173
  154. package/.agent/skills/llm-routing-quirks/SKILL.md +0 -41
  155. package/.agent/skills/mcp-builder/SKILL.md +0 -176
  156. package/.agent/skills/memory-architecture/SKILL.md +0 -107
  157. package/.agent/skills/mini-antigravity-injection/SKILL.md +0 -66
  158. package/.agent/skills/mobile-design/SKILL.md +0 -394
  159. package/.agent/skills/mobile-design/decision-trees.md +0 -516
  160. package/.agent/skills/mobile-design/mobile-backend.md +0 -491
  161. package/.agent/skills/mobile-design/mobile-color-system.md +0 -420
  162. package/.agent/skills/mobile-design/mobile-debugging.md +0 -122
  163. package/.agent/skills/mobile-design/mobile-design-thinking.md +0 -357
  164. package/.agent/skills/mobile-design/mobile-navigation.md +0 -458
  165. package/.agent/skills/mobile-design/mobile-performance.md +0 -767
  166. package/.agent/skills/mobile-design/mobile-testing.md +0 -356
  167. package/.agent/skills/mobile-design/mobile-typography.md +0 -433
  168. package/.agent/skills/mobile-design/platform-android.md +0 -666
  169. package/.agent/skills/mobile-design/platform-ios.md +0 -561
  170. package/.agent/skills/mobile-design/scripts/mobile_audit.py +0 -670
  171. package/.agent/skills/mobile-design/touch-psychology.md +0 -537
  172. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +0 -312
  173. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +0 -240
  174. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +0 -490
  175. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +0 -264
  176. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +0 -581
  177. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +0 -432
  178. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +0 -684
  179. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +0 -150
  180. package/.agent/skills/nextjs-react-expert/9-cache-components.md +0 -103
  181. package/.agent/skills/nextjs-react-expert/SKILL.md +0 -267
  182. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +0 -222
  183. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +0 -252
  184. package/.agent/skills/nodejs-best-practices/SKILL.md +0 -333
  185. package/.agent/skills/parallel-agents/SKILL.md +0 -175
  186. package/.agent/skills/performance-profiling/SKILL.md +0 -143
  187. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +0 -76
  188. package/.agent/skills/plan-writing/SKILL.md +0 -153
  189. package/.agent/skills/powershell-windows/SKILL.md +0 -167
  190. package/.agent/skills/product-management/SKILL.md +0 -30
  191. package/.agent/skills/python-patterns/SKILL.md +0 -441
  192. package/.agent/skills/red-team-tactics/SKILL.md +0 -199
  193. package/.agent/skills/rust-pro/SKILL.md +0 -176
  194. package/.agent/skills/seo-fundamentals/SKILL.md +0 -129
  195. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +0 -219
  196. package/.agent/skills/server-management/SKILL.md +0 -161
  197. package/.agent/skills/systematic-debugging/SKILL.md +0 -120
  198. package/.agent/skills/tailwind-patterns/SKILL.md +0 -269
  199. package/.agent/skills/tdd-workflow/SKILL.md +0 -148
  200. package/.agent/skills/telegram-agentic-gateway/SKILL.md +0 -80
  201. package/.agent/skills/testing-patterns/SKILL.md +0 -178
  202. package/.agent/skills/testing-patterns/scripts/test_runner.py +0 -219
  203. package/.agent/skills/vulnerability-scanner/SKILL.md +0 -276
  204. package/.agent/skills/vulnerability-scanner/checklists.md +0 -121
  205. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +0 -458
  206. package/.agent/skills/web-design-guidelines/SKILL.md +0 -57
  207. package/.agent/skills/webapp-testing/SKILL.md +0 -187
  208. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +0 -173
  209. package/.agent/workflows/brainstorm.md +0 -113
  210. package/.agent/workflows/create.md +0 -59
  211. package/.agent/workflows/debug.md +0 -103
  212. package/.agent/workflows/deploy.md +0 -176
  213. package/.agent/workflows/enhance.md +0 -63
  214. package/.agent/workflows/orchestrate.md +0 -237
  215. package/.agent/workflows/plan.md +0 -89
  216. package/.agent/workflows/preview.md +0 -81
  217. package/.agent/workflows/status.md +0 -86
  218. package/.agent/workflows/test.md +0 -144
  219. package/.agent/workflows/ui-ux-pro-max.md +0 -296
@@ -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,113 +0,0 @@
1
- ---
2
- description: Structured brainstorming for projects and features. Explores multiple options before implementation.
3
- ---
4
-
5
- # /brainstorm - Structured Idea Exploration
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## Purpose
12
-
13
- This command activates BRAINSTORM mode for structured idea exploration. Use when you need to explore options before committing to an implementation.
14
-
15
- ---
16
-
17
- ## Behavior
18
-
19
- When `/brainstorm` is triggered:
20
-
21
- 1. **Understand the goal**
22
- - What problem are we solving?
23
- - Who is the user?
24
- - What constraints exist?
25
-
26
- 2. **Generate options**
27
- - Provide at least 3 different approaches
28
- - Each with pros and cons
29
- - Consider unconventional solutions
30
-
31
- 3. **Compare and recommend**
32
- - Summarize tradeoffs
33
- - Give a recommendation with reasoning
34
-
35
- ---
36
-
37
- ## Output Format
38
-
39
- ```markdown
40
- ## 🧠 Brainstorm: [Topic]
41
-
42
- ### Context
43
- [Brief problem statement]
44
-
45
- ---
46
-
47
- ### Option A: [Name]
48
- [Description]
49
-
50
- ✅ **Pros:**
51
- - [benefit 1]
52
- - [benefit 2]
53
-
54
- ❌ **Cons:**
55
- - [drawback 1]
56
-
57
- 📊 **Effort:** Low | Medium | High
58
-
59
- ---
60
-
61
- ### Option B: [Name]
62
- [Description]
63
-
64
- ✅ **Pros:**
65
- - [benefit 1]
66
-
67
- ❌ **Cons:**
68
- - [drawback 1]
69
- - [drawback 2]
70
-
71
- 📊 **Effort:** Low | Medium | High
72
-
73
- ---
74
-
75
- ### Option C: [Name]
76
- [Description]
77
-
78
- ✅ **Pros:**
79
- - [benefit 1]
80
-
81
- ❌ **Cons:**
82
- - [drawback 1]
83
-
84
- 📊 **Effort:** Low | Medium | High
85
-
86
- ---
87
-
88
- ## 💡 Recommendation
89
-
90
- **Option [X]** because [reasoning].
91
-
92
- What direction would you like to explore?
93
- ```
94
-
95
- ---
96
-
97
- ## Examples
98
-
99
- ```
100
- /brainstorm authentication system
101
- /brainstorm state management for complex form
102
- /brainstorm database schema for social app
103
- /brainstorm caching strategy
104
- ```
105
-
106
- ---
107
-
108
- ## Key Principles
109
-
110
- - **No code** - this is about ideas, not implementation
111
- - **Visual when helpful** - use diagrams for architecture
112
- - **Honest tradeoffs** - don't hide complexity
113
- - **Defer to user** - present options, let them decide
@@ -1,59 +0,0 @@
1
- ---
2
- description: Create new application command. Triggers App Builder skill and starts interactive dialogue with user.
3
- ---
4
-
5
- # /create - Create Application
6
-
7
- $ARGUMENTS
8
-
9
- ---
10
-
11
- ## Task
12
-
13
- This command starts a new application creation process.
14
-
15
- ### Steps:
16
-
17
- 1. **Request Analysis**
18
- - Understand what the user wants
19
- - If information is missing, use `conversation-manager` skill to ask
20
-
21
- 2. **Project Planning**
22
- - Use `project-planner` agent for task breakdown
23
- - Determine tech stack
24
- - Plan file structure
25
- - Create plan file and proceed to building
26
-
27
- 3. **Application Building (After Approval)**
28
- - Orchestrate with `app-builder` skill
29
- - Coordinate expert agents:
30
- - `database-architect` → Schema
31
- - `backend-specialist` → API
32
- - `frontend-specialist` → UI
33
-
34
- 4. **Preview**
35
- - Start with `auto_preview.py` when complete
36
- - Present URL to user
37
-
38
- ---
39
-
40
- ## Usage Examples
41
-
42
- ```
43
- /create blog site
44
- /create e-commerce app with product listing and cart
45
- /create todo app
46
- /create Instagram clone
47
- /create crm system with customer management
48
- ```
49
-
50
- ---
51
-
52
- ## Before Starting
53
-
54
- If request is unclear, ask these questions:
55
- - What type of application?
56
- - What are the basic features?
57
- - Who will use it?
58
-
59
- Use defaults, add details later.
@@ -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