@heyai-rules/pilo-masterkit 1.2.2

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 (305) hide show
  1. package/.agent/agents/PILO_MASTER.md +77 -0
  2. package/.agent/agents/architect.md +211 -0
  3. package/.agent/agents/backend-specialist.md +263 -0
  4. package/.agent/agents/build-error-resolver.md +114 -0
  5. package/.agent/agents/chief-of-staff.md +151 -0
  6. package/.agent/agents/code-archaeologist.md +106 -0
  7. package/.agent/agents/code-reviewer.md +237 -0
  8. package/.agent/agents/cpp-build-resolver.md +90 -0
  9. package/.agent/agents/cpp-reviewer.md +72 -0
  10. package/.agent/agents/database-architect.md +226 -0
  11. package/.agent/agents/database-reviewer.md +91 -0
  12. package/.agent/agents/debugger.md +225 -0
  13. package/.agent/agents/devops-engineer.md +242 -0
  14. package/.agent/agents/doc-updater.md +107 -0
  15. package/.agent/agents/docs-lookup.md +68 -0
  16. package/.agent/agents/documentation-writer.md +104 -0
  17. package/.agent/agents/e2e-runner.md +107 -0
  18. package/.agent/agents/explorer-agent.md +73 -0
  19. package/.agent/agents/flutter-reviewer.md +243 -0
  20. package/.agent/agents/frontend-specialist.md +593 -0
  21. package/.agent/agents/game-developer.md +162 -0
  22. package/.agent/agents/go-build-resolver.md +94 -0
  23. package/.agent/agents/go-reviewer.md +76 -0
  24. package/.agent/agents/harness-optimizer.md +35 -0
  25. package/.agent/agents/java-build-resolver.md +153 -0
  26. package/.agent/agents/java-reviewer.md +92 -0
  27. package/.agent/agents/kotlin-build-resolver.md +118 -0
  28. package/.agent/agents/kotlin-reviewer.md +159 -0
  29. package/.agent/agents/loop-operator.md +36 -0
  30. package/.agent/agents/mobile-developer.md +377 -0
  31. package/.agent/agents/orchestrator.md +416 -0
  32. package/.agent/agents/penetration-tester.md +188 -0
  33. package/.agent/agents/performance-optimizer.md +187 -0
  34. package/.agent/agents/planner.md +212 -0
  35. package/.agent/agents/product-manager.md +112 -0
  36. package/.agent/agents/product-owner.md +95 -0
  37. package/.agent/agents/project-planner.md +406 -0
  38. package/.agent/agents/python-reviewer.md +98 -0
  39. package/.agent/agents/pytorch-build-resolver.md +120 -0
  40. package/.agent/agents/qa-automation-engineer.md +103 -0
  41. package/.agent/agents/refactor-cleaner.md +85 -0
  42. package/.agent/agents/rust-build-resolver.md +148 -0
  43. package/.agent/agents/rust-reviewer.md +94 -0
  44. package/.agent/agents/security-auditor.md +170 -0
  45. package/.agent/agents/security-reviewer.md +108 -0
  46. package/.agent/agents/seo-specialist.md +111 -0
  47. package/.agent/agents/tdd-guide.md +91 -0
  48. package/.agent/agents/test-engineer.md +158 -0
  49. package/.agent/agents/typescript-reviewer.md +112 -0
  50. package/.agent/rules/ARCHITECTURAL_BLUEPRINTS.md +62 -0
  51. package/.agent/rules/CODE_CRAFTSMANSHIP.md +69 -0
  52. package/.agent/rules/CORE_RULES.md +72 -0
  53. package/.agent/rules/PROJECT_MAP.md +58 -0
  54. package/.agent/rules/QUALITY_ASSURANCE.md +54 -0
  55. package/.agent/rules/SECURITY_ARMOR.md +44 -0
  56. package/.agent/rules/VERSION_ORCHESTRATION.md +64 -0
  57. package/.agent/rules/WORKFLOW_ORCHESTRATION.md +55 -0
  58. package/.agent/scripts/auto_preview.py +148 -0
  59. package/.agent/scripts/checklist.py +217 -0
  60. package/.agent/scripts/session_manager.py +120 -0
  61. package/.agent/scripts/verify_all.py +327 -0
  62. package/.agent/skills/api-patterns/SKILL.md +81 -0
  63. package/.agent/skills/api-patterns/api-style.md +42 -0
  64. package/.agent/skills/api-patterns/auth.md +24 -0
  65. package/.agent/skills/api-patterns/documentation.md +26 -0
  66. package/.agent/skills/api-patterns/graphql.md +41 -0
  67. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  68. package/.agent/skills/api-patterns/response.md +37 -0
  69. package/.agent/skills/api-patterns/rest.md +40 -0
  70. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  71. package/.agent/skills/api-patterns/security-testing.md +122 -0
  72. package/.agent/skills/api-patterns/trpc.md +41 -0
  73. package/.agent/skills/api-patterns/versioning.md +22 -0
  74. package/.agent/skills/app-builder/SKILL.md +75 -0
  75. package/.agent/skills/app-builder/agent-coordination.md +71 -0
  76. package/.agent/skills/app-builder/feature-building.md +53 -0
  77. package/.agent/skills/app-builder/project-detection.md +34 -0
  78. package/.agent/skills/app-builder/scaffolding.md +118 -0
  79. package/.agent/skills/app-builder/tech-stack.md +41 -0
  80. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  81. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  82. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  83. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  84. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  85. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  86. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  87. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  88. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  89. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  90. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  91. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  92. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  93. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  94. package/.agent/skills/architecture/SKILL.md +55 -0
  95. package/.agent/skills/architecture/context-discovery.md +43 -0
  96. package/.agent/skills/architecture/examples.md +94 -0
  97. package/.agent/skills/architecture/pattern-selection.md +68 -0
  98. package/.agent/skills/architecture/patterns-reference.md +50 -0
  99. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  100. package/.agent/skills/bash-linux/SKILL.md +199 -0
  101. package/.agent/skills/behavioral-modes/SKILL.md +242 -0
  102. package/.agent/skills/brainstorming/SKILL.md +163 -0
  103. package/.agent/skills/brainstorming/dynamic-questioning.md +350 -0
  104. package/.agent/skills/clean-code/SKILL.md +201 -0
  105. package/.agent/skills/code-review-checklist/SKILL.md +109 -0
  106. package/.agent/skills/database-design/SKILL.md +52 -0
  107. package/.agent/skills/database-design/database-selection.md +43 -0
  108. package/.agent/skills/database-design/indexing.md +39 -0
  109. package/.agent/skills/database-design/migrations.md +48 -0
  110. package/.agent/skills/database-design/optimization.md +36 -0
  111. package/.agent/skills/database-design/orm-selection.md +30 -0
  112. package/.agent/skills/database-design/schema-design.md +56 -0
  113. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  114. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  115. package/.agent/skills/doc.md +177 -0
  116. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  117. package/.agent/skills/frontend-design/SKILL.md +452 -0
  118. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  119. package/.agent/skills/frontend-design/color-system.md +311 -0
  120. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  121. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  122. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  123. package/.agent/skills/frontend-design/scripts/ux_audit.py +722 -0
  124. package/.agent/skills/frontend-design/typography-system.md +345 -0
  125. package/.agent/skills/frontend-design/ux-psychology.md +1116 -0
  126. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  127. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  128. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  129. package/.agent/skills/game-development/SKILL.md +167 -0
  130. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  131. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  132. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  133. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  134. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  135. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  136. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  137. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  138. package/.agent/skills/geo-fundamentals/SKILL.md +156 -0
  139. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  140. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  141. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  142. package/.agent/skills/intelligent-routing/SKILL.md +335 -0
  143. package/.agent/skills/lint-and-validate/SKILL.md +45 -0
  144. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  145. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  146. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  147. package/.agent/skills/mobile-design/SKILL.md +394 -0
  148. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  149. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  150. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  151. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  152. package/.agent/skills/mobile-design/mobile-design-thinking.md +357 -0
  153. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  154. package/.agent/skills/mobile-design/mobile-performance.md +767 -0
  155. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  156. package/.agent/skills/mobile-design/mobile-typography.md +433 -0
  157. package/.agent/skills/mobile-design/platform-android.md +666 -0
  158. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  159. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  160. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  161. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +351 -0
  162. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +240 -0
  163. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +490 -0
  164. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +264 -0
  165. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  166. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +432 -0
  167. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +684 -0
  168. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +150 -0
  169. package/.agent/skills/nextjs-react-expert/9-cache-components.md +103 -0
  170. package/.agent/skills/nextjs-react-expert/SKILL.md +293 -0
  171. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  172. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  173. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  174. package/.agent/skills/parallel-agents/SKILL.md +175 -0
  175. package/.agent/skills/performance-profiling/SKILL.md +143 -0
  176. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  177. package/.agent/skills/plan-writing/SKILL.md +152 -0
  178. package/.agent/skills/powershell-windows/SKILL.md +167 -0
  179. package/.agent/skills/python-patterns/SKILL.md +441 -0
  180. package/.agent/skills/red-team-tactics/SKILL.md +199 -0
  181. package/.agent/skills/rust-pro/SKILL.md +176 -0
  182. package/.agent/skills/seo-fundamentals/SKILL.md +129 -0
  183. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +219 -0
  184. package/.agent/skills/server-management/SKILL.md +161 -0
  185. package/.agent/skills/systematic-debugging/SKILL.md +109 -0
  186. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  187. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  188. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  189. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  190. package/.agent/skills/ui-ux-pro-max/SKILL.md +292 -0
  191. package/.agent/skills/ui-ux-pro-max/data/charts.csv +26 -0
  192. package/.agent/skills/ui-ux-pro-max/data/colors.csv +97 -0
  193. package/.agent/skills/ui-ux-pro-max/data/icons.csv +101 -0
  194. package/.agent/skills/ui-ux-pro-max/data/landing.csv +31 -0
  195. package/.agent/skills/ui-ux-pro-max/data/products.csv +97 -0
  196. package/.agent/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  197. package/.agent/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  198. package/.agent/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  199. package/.agent/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  200. package/.agent/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  201. package/.agent/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  202. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  203. package/.agent/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  204. package/.agent/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  205. package/.agent/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  206. package/.agent/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  207. package/.agent/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  208. package/.agent/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  209. package/.agent/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  210. package/.agent/skills/ui-ux-pro-max/data/styles.csv +68 -0
  211. package/.agent/skills/ui-ux-pro-max/data/typography.csv +58 -0
  212. package/.agent/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  213. package/.agent/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  214. package/.agent/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  215. package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
  216. package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
  217. package/.agent/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
  218. package/.agent/skills/ui-ux-pro-max/scripts/core.py +253 -0
  219. package/.agent/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  220. package/.agent/skills/ui-ux-pro-max/scripts/search.py +114 -0
  221. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  222. package/.agent/skills/vulnerability-scanner/checklists.md +121 -0
  223. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +458 -0
  224. package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  225. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  226. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  227. package/.agent/tasks/lessons.md +40 -0
  228. package/.agent/tasks/todo.md +33 -0
  229. package/.agent/workflows/aside.md +164 -0
  230. package/.agent/workflows/brainstorm.md +113 -0
  231. package/.agent/workflows/build-fix.md +62 -0
  232. package/.agent/workflows/checkpoint.md +74 -0
  233. package/.agent/workflows/claw.md +51 -0
  234. package/.agent/workflows/code-review.md +40 -0
  235. package/.agent/workflows/context-budget.md +29 -0
  236. package/.agent/workflows/cpp-build.md +173 -0
  237. package/.agent/workflows/cpp-review.md +132 -0
  238. package/.agent/workflows/cpp-test.md +251 -0
  239. package/.agent/workflows/create.md +59 -0
  240. package/.agent/workflows/debug.md +103 -0
  241. package/.agent/workflows/deploy.md +176 -0
  242. package/.agent/workflows/devfleet.md +92 -0
  243. package/.agent/workflows/docs.md +31 -0
  244. package/.agent/workflows/e2e.md +365 -0
  245. package/.agent/workflows/enhance.md +63 -0
  246. package/.agent/workflows/eval.md +120 -0
  247. package/.agent/workflows/evolve.md +178 -0
  248. package/.agent/workflows/go-build.md +183 -0
  249. package/.agent/workflows/go-review.md +148 -0
  250. package/.agent/workflows/go-test.md +268 -0
  251. package/.agent/workflows/gradle-build.md +70 -0
  252. package/.agent/workflows/harness-audit.md +71 -0
  253. package/.agent/workflows/init-docs.md +46 -0
  254. package/.agent/workflows/instinct-export.md +66 -0
  255. package/.agent/workflows/instinct-import.md +114 -0
  256. package/.agent/workflows/instinct-status.md +59 -0
  257. package/.agent/workflows/kotlin-build.md +174 -0
  258. package/.agent/workflows/kotlin-review.md +140 -0
  259. package/.agent/workflows/kotlin-test.md +312 -0
  260. package/.agent/workflows/learn-eval.md +116 -0
  261. package/.agent/workflows/learn.md +70 -0
  262. package/.agent/workflows/loop-start.md +32 -0
  263. package/.agent/workflows/loop-status.md +24 -0
  264. package/.agent/workflows/model-route.md +26 -0
  265. package/.agent/workflows/multi-backend.md +158 -0
  266. package/.agent/workflows/multi-execute.md +315 -0
  267. package/.agent/workflows/multi-frontend.md +158 -0
  268. package/.agent/workflows/multi-plan.md +268 -0
  269. package/.agent/workflows/multi-workflow.md +191 -0
  270. package/.agent/workflows/orchestrate.md +231 -0
  271. package/.agent/workflows/plan.md +115 -0
  272. package/.agent/workflows/pm2.md +272 -0
  273. package/.agent/workflows/preview.md +81 -0
  274. package/.agent/workflows/projects.md +39 -0
  275. package/.agent/workflows/promote.md +41 -0
  276. package/.agent/workflows/prompt-optimize.md +38 -0
  277. package/.agent/workflows/prune.md +31 -0
  278. package/.agent/workflows/python-review.md +297 -0
  279. package/.agent/workflows/quality-gate.md +29 -0
  280. package/.agent/workflows/refactor-clean.md +80 -0
  281. package/.agent/workflows/resume-session.md +156 -0
  282. package/.agent/workflows/rules-distill.md +11 -0
  283. package/.agent/workflows/rust-build.md +187 -0
  284. package/.agent/workflows/rust-review.md +142 -0
  285. package/.agent/workflows/rust-test.md +308 -0
  286. package/.agent/workflows/save-session.md +275 -0
  287. package/.agent/workflows/sessions.md +333 -0
  288. package/.agent/workflows/setup-pm.md +80 -0
  289. package/.agent/workflows/skill-create.md +174 -0
  290. package/.agent/workflows/skill-health.md +54 -0
  291. package/.agent/workflows/status.md +86 -0
  292. package/.agent/workflows/tdd.md +328 -0
  293. package/.agent/workflows/test-coverage.md +69 -0
  294. package/.agent/workflows/test.md +144 -0
  295. package/.agent/workflows/ui-ux-pro-max.md +296 -0
  296. package/.agent/workflows/update-codemaps.md +72 -0
  297. package/.agent/workflows/update-docs.md +84 -0
  298. package/.agent/workflows/verify.md +59 -0
  299. package/LICENSE +176 -0
  300. package/README.md +136 -0
  301. package/RELEASE.md +36 -0
  302. package/package.json +79 -0
  303. package/scripts/release-check.js +55 -0
  304. package/src/bin/cli.js +78 -0
  305. package/src/lib/installer.js +140 -0
@@ -0,0 +1,365 @@
1
+ ---
2
+ description: Generate and run end-to-end tests with Playwright. Creates test journeys, runs tests, captures screenshots/videos/traces, and uploads artifacts.
3
+ ---
4
+
5
+ # E2E Command
6
+
7
+ This command invokes the **e2e-runner** agent to generate, maintain, and execute end-to-end tests using Playwright.
8
+
9
+ ## What This Command Does
10
+
11
+ 1. **Generate Test Journeys** - Create Playwright tests for user flows
12
+ 2. **Run E2E Tests** - Execute tests across browsers
13
+ 3. **Capture Artifacts** - Screenshots, videos, traces on failures
14
+ 4. **Upload Results** - HTML reports and JUnit XML
15
+ 5. **Identify Flaky Tests** - Quarantine unstable tests
16
+
17
+ ## When to Use
18
+
19
+ Use `/e2e` when:
20
+ - Testing critical user journeys (login, trading, payments)
21
+ - Verifying multi-step flows work end-to-end
22
+ - Testing UI interactions and navigation
23
+ - Validating integration between frontend and backend
24
+ - Preparing for production deployment
25
+
26
+ ## How It Works
27
+
28
+ The e2e-runner agent will:
29
+
30
+ 1. **Analyze user flow** and identify test scenarios
31
+ 2. **Generate Playwright test** using Page Object Model pattern
32
+ 3. **Run tests** across multiple browsers (Chrome, Firefox, Safari)
33
+ 4. **Capture failures** with screenshots, videos, and traces
34
+ 5. **Generate report** with results and artifacts
35
+ 6. **Identify flaky tests** and recommend fixes
36
+
37
+ ## Example Usage
38
+
39
+ ```
40
+ User: /e2e Test the market search and view flow
41
+
42
+ Agent (e2e-runner):
43
+ # E2E Test Generation: Market Search and View Flow
44
+
45
+ ## Test Scenario Identified
46
+
47
+ **User Journey:** Market Search → View Results → Click Market → View Details
48
+
49
+ **Test Coverage:**
50
+ 1. Navigate to markets page
51
+ 2. Perform semantic search
52
+ 3. Verify search results
53
+ 4. Click on first result
54
+ 5. Verify market details page loads
55
+ 6. Verify chart renders
56
+
57
+ ## Generated Test Code
58
+
59
+ ```typescript
60
+ // tests/e2e/markets/search-and-view.spec.ts
61
+ import { test, expect } from '@playwright/test'
62
+ import { MarketsPage } from '../../pages/MarketsPage'
63
+ import { MarketDetailsPage } from '../../pages/MarketDetailsPage'
64
+
65
+ test.describe('Market Search and View Flow', () => {
66
+ test('user can search markets and view details', async ({ page }) => {
67
+ // 1. Navigate to markets page
68
+ const marketsPage = new MarketsPage(page)
69
+ await marketsPage.goto()
70
+
71
+ // Verify page loaded
72
+ await expect(page).toHaveTitle(/Markets/)
73
+ await expect(page.locator('h1')).toContainText('Markets')
74
+
75
+ // 2. Perform semantic search
76
+ await marketsPage.searchMarkets('election')
77
+
78
+ // Wait for API response
79
+ await page.waitForResponse(resp =>
80
+ resp.url().includes('/api/markets/search') && resp.status() === 200
81
+ )
82
+
83
+ // 3. Verify search results
84
+ const marketCards = marketsPage.marketCards
85
+ await expect(marketCards.first()).toBeVisible()
86
+ const resultCount = await marketCards.count()
87
+ expect(resultCount).toBeGreaterThan(0)
88
+
89
+ // Take screenshot of search results
90
+ await page.screenshot({ path: 'artifacts/search-results.png' })
91
+
92
+ // 4. Click on first result
93
+ const firstMarketTitle = await marketCards.first().textContent()
94
+ await marketCards.first().click()
95
+
96
+ // 5. Verify market details page loads
97
+ await expect(page).toHaveURL(/\/markets\/[a-z0-9-]+/)
98
+
99
+ const detailsPage = new MarketDetailsPage(page)
100
+ await expect(detailsPage.marketName).toBeVisible()
101
+ await expect(detailsPage.marketDescription).toBeVisible()
102
+
103
+ // 6. Verify chart renders
104
+ await expect(detailsPage.priceChart).toBeVisible()
105
+
106
+ // Verify market name matches
107
+ const detailsTitle = await detailsPage.marketName.textContent()
108
+ expect(detailsTitle?.toLowerCase()).toContain(
109
+ firstMarketTitle?.toLowerCase().substring(0, 20) || ''
110
+ )
111
+
112
+ // Take screenshot of market details
113
+ await page.screenshot({ path: 'artifacts/market-details.png' })
114
+ })
115
+
116
+ test('search with no results shows empty state', async ({ page }) => {
117
+ const marketsPage = new MarketsPage(page)
118
+ await marketsPage.goto()
119
+
120
+ // Search for non-existent market
121
+ await marketsPage.searchMarkets('xyznonexistentmarket123456')
122
+
123
+ // Verify empty state
124
+ await expect(page.locator('[data-testid="no-results"]')).toBeVisible()
125
+ await expect(page.locator('[data-testid="no-results"]')).toContainText(
126
+ /no.*results|no.*markets/i
127
+ )
128
+
129
+ const marketCount = await marketsPage.marketCards.count()
130
+ expect(marketCount).toBe(0)
131
+ })
132
+
133
+ test('can clear search and see all markets again', async ({ page }) => {
134
+ const marketsPage = new MarketsPage(page)
135
+ await marketsPage.goto()
136
+
137
+ // Initial market count
138
+ const initialCount = await marketsPage.marketCards.count()
139
+
140
+ // Perform search
141
+ await marketsPage.searchMarkets('trump')
142
+ await page.waitForLoadState('networkidle')
143
+
144
+ // Verify filtered results
145
+ const filteredCount = await marketsPage.marketCards.count()
146
+ expect(filteredCount).toBeLessThan(initialCount)
147
+
148
+ // Clear search
149
+ await marketsPage.searchInput.clear()
150
+ await page.waitForLoadState('networkidle')
151
+
152
+ // Verify all markets shown again
153
+ const finalCount = await marketsPage.marketCards.count()
154
+ expect(finalCount).toBe(initialCount)
155
+ })
156
+ })
157
+ ```
158
+
159
+ ## Running Tests
160
+
161
+ ```bash
162
+ # Run the generated test
163
+ npx playwright test tests/e2e/markets/search-and-view.spec.ts
164
+
165
+ Running 3 tests using 3 workers
166
+
167
+ ✓ [chromium] › search-and-view.spec.ts:5:3 › user can search markets and view details (4.2s)
168
+ ✓ [chromium] › search-and-view.spec.ts:52:3 › search with no results shows empty state (1.8s)
169
+ ✓ [chromium] › search-and-view.spec.ts:67:3 › can clear search and see all markets again (2.9s)
170
+
171
+ 3 passed (9.1s)
172
+
173
+ Artifacts generated:
174
+ - artifacts/search-results.png
175
+ - artifacts/market-details.png
176
+ - playwright-report/index.html
177
+ ```
178
+
179
+ ## Test Report
180
+
181
+ ```
182
+ ╔══════════════════════════════════════════════════════════════╗
183
+ ║ E2E Test Results ║
184
+ ╠══════════════════════════════════════════════════════════════╣
185
+ ║ Status: ✅ ALL TESTS PASSED ║
186
+ ║ Total: 3 tests ║
187
+ ║ Passed: 3 (100%) ║
188
+ ║ Failed: 0 ║
189
+ ║ Flaky: 0 ║
190
+ ║ Duration: 9.1s ║
191
+ ╚══════════════════════════════════════════════════════════════╝
192
+
193
+ Artifacts:
194
+ 📸 Screenshots: 2 files
195
+ 📹 Videos: 0 files (only on failure)
196
+ 🔍 Traces: 0 files (only on failure)
197
+ 📊 HTML Report: playwright-report/index.html
198
+
199
+ View report: npx playwright show-report
200
+ ```
201
+
202
+ ✅ E2E test suite ready for CI/CD integration!
203
+ ```
204
+
205
+ ## Test Artifacts
206
+
207
+ When tests run, the following artifacts are captured:
208
+
209
+ **On All Tests:**
210
+ - HTML Report with timeline and results
211
+ - JUnit XML for CI integration
212
+
213
+ **On Failure Only:**
214
+ - Screenshot of the failing state
215
+ - Video recording of the test
216
+ - Trace file for debugging (step-by-step replay)
217
+ - Network logs
218
+ - Console logs
219
+
220
+ ## Viewing Artifacts
221
+
222
+ ```bash
223
+ # View HTML report in browser
224
+ npx playwright show-report
225
+
226
+ # View specific trace file
227
+ npx playwright show-trace artifacts/trace-abc123.zip
228
+
229
+ # Screenshots are saved in artifacts/ directory
230
+ open artifacts/search-results.png
231
+ ```
232
+
233
+ ## Flaky Test Detection
234
+
235
+ If a test fails intermittently:
236
+
237
+ ```
238
+ ⚠️ FLAKY TEST DETECTED: tests/e2e/markets/trade.spec.ts
239
+
240
+ Test passed 7/10 runs (70% pass rate)
241
+
242
+ Common failure:
243
+ "Timeout waiting for element '[data-testid="confirm-btn"]'"
244
+
245
+ Recommended fixes:
246
+ 1. Add explicit wait: await page.waitForSelector('[data-testid="confirm-btn"]')
247
+ 2. Increase timeout: { timeout: 10000 }
248
+ 3. Check for race conditions in component
249
+ 4. Verify element is not hidden by animation
250
+
251
+ Quarantine recommendation: Mark as test.fixme() until fixed
252
+ ```
253
+
254
+ ## Browser Configuration
255
+
256
+ Tests run on multiple browsers by default:
257
+ - ✅ Chromium (Desktop Chrome)
258
+ - ✅ Firefox (Desktop)
259
+ - ✅ WebKit (Desktop Safari)
260
+ - ✅ Mobile Chrome (optional)
261
+
262
+ Configure in `playwright.config.ts` to adjust browsers.
263
+
264
+ ## CI/CD Integration
265
+
266
+ Add to your CI pipeline:
267
+
268
+ ```yaml
269
+ # .github/workflows/e2e.yml
270
+ - name: Install Playwright
271
+ run: npx playwright install --with-deps
272
+
273
+ - name: Run E2E tests
274
+ run: npx playwright test
275
+
276
+ - name: Upload artifacts
277
+ if: always()
278
+ uses: actions/upload-artifact@v3
279
+ with:
280
+ name: playwright-report
281
+ path: playwright-report/
282
+ ```
283
+
284
+ ## PMX-Specific Critical Flows
285
+
286
+ For PMX, prioritize these E2E tests:
287
+
288
+ **🔴 CRITICAL (Must Always Pass):**
289
+ 1. User can connect wallet
290
+ 2. User can browse markets
291
+ 3. User can search markets (semantic search)
292
+ 4. User can view market details
293
+ 5. User can place trade (with test funds)
294
+ 6. Market resolves correctly
295
+ 7. User can withdraw funds
296
+
297
+ **🟡 IMPORTANT:**
298
+ 1. Market creation flow
299
+ 2. User profile updates
300
+ 3. Real-time price updates
301
+ 4. Chart rendering
302
+ 5. Filter and sort markets
303
+ 6. Mobile responsive layout
304
+
305
+ ## Best Practices
306
+
307
+ **DO:**
308
+ - ✅ Use Page Object Model for maintainability
309
+ - ✅ Use data-testid attributes for selectors
310
+ - ✅ Wait for API responses, not arbitrary timeouts
311
+ - ✅ Test critical user journeys end-to-end
312
+ - ✅ Run tests before merging to main
313
+ - ✅ Review artifacts when tests fail
314
+
315
+ **DON'T:**
316
+ - ❌ Use brittle selectors (CSS classes can change)
317
+ - ❌ Test implementation details
318
+ - ❌ Run tests against production
319
+ - ❌ Ignore flaky tests
320
+ - ❌ Skip artifact review on failures
321
+ - ❌ Test every edge case with E2E (use unit tests)
322
+
323
+ ## Important Notes
324
+
325
+ **CRITICAL for PMX:**
326
+ - E2E tests involving real money MUST run on testnet/staging only
327
+ - Never run trading tests against production
328
+ - Set `test.skip(process.env.NODE_ENV === 'production')` for financial tests
329
+ - Use test wallets with small test funds only
330
+
331
+ ## Integration with Other Commands
332
+
333
+ - Use `/plan` to identify critical journeys to test
334
+ - Use `/tdd` for unit tests (faster, more granular)
335
+ - Use `/e2e` for integration and user journey tests
336
+ - Use `/code-review` to verify test quality
337
+
338
+ ## Related Agents
339
+
340
+ This command invokes the `e2e-runner` agent provided by ECC.
341
+
342
+ For manual installs, the source file lives at:
343
+ `agents/e2e-runner.md`
344
+
345
+ ## Quick Commands
346
+
347
+ ```bash
348
+ # Run all E2E tests
349
+ npx playwright test
350
+
351
+ # Run specific test file
352
+ npx playwright test tests/e2e/markets/search.spec.ts
353
+
354
+ # Run in headed mode (see browser)
355
+ npx playwright test --headed
356
+
357
+ # Debug test
358
+ npx playwright test --debug
359
+
360
+ # Generate test code
361
+ npx playwright codegen http://localhost:3000
362
+
363
+ # View report
364
+ npx playwright show-report
365
+ ```
@@ -0,0 +1,63 @@
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 `python .agent/scripts/session_manager.py info`
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
@@ -0,0 +1,120 @@
1
+ # Eval Command
2
+
3
+ Manage eval-driven development workflow.
4
+
5
+ ## Usage
6
+
7
+ `/eval [define|check|report|list] [feature-name]`
8
+
9
+ ## Define Evals
10
+
11
+ `/eval define feature-name`
12
+
13
+ Create a new eval definition:
14
+
15
+ 1. Create `.claude/evals/feature-name.md` with template:
16
+
17
+ ```markdown
18
+ ## EVAL: feature-name
19
+ Created: $(date)
20
+
21
+ ### Capability Evals
22
+ - [ ] [Description of capability 1]
23
+ - [ ] [Description of capability 2]
24
+
25
+ ### Regression Evals
26
+ - [ ] [Existing behavior 1 still works]
27
+ - [ ] [Existing behavior 2 still works]
28
+
29
+ ### Success Criteria
30
+ - pass@3 > 90% for capability evals
31
+ - pass^3 = 100% for regression evals
32
+ ```
33
+
34
+ 2. Prompt user to fill in specific criteria
35
+
36
+ ## Check Evals
37
+
38
+ `/eval check feature-name`
39
+
40
+ Run evals for a feature:
41
+
42
+ 1. Read eval definition from `.claude/evals/feature-name.md`
43
+ 2. For each capability eval:
44
+ - Attempt to verify criterion
45
+ - Record PASS/FAIL
46
+ - Log attempt in `.claude/evals/feature-name.log`
47
+ 3. For each regression eval:
48
+ - Run relevant tests
49
+ - Compare against baseline
50
+ - Record PASS/FAIL
51
+ 4. Report current status:
52
+
53
+ ```
54
+ EVAL CHECK: feature-name
55
+ ========================
56
+ Capability: X/Y passing
57
+ Regression: X/Y passing
58
+ Status: IN PROGRESS / READY
59
+ ```
60
+
61
+ ## Report Evals
62
+
63
+ `/eval report feature-name`
64
+
65
+ Generate comprehensive eval report:
66
+
67
+ ```
68
+ EVAL REPORT: feature-name
69
+ =========================
70
+ Generated: $(date)
71
+
72
+ CAPABILITY EVALS
73
+ ----------------
74
+ [eval-1]: PASS (pass@1)
75
+ [eval-2]: PASS (pass@2) - required retry
76
+ [eval-3]: FAIL - see notes
77
+
78
+ REGRESSION EVALS
79
+ ----------------
80
+ [test-1]: PASS
81
+ [test-2]: PASS
82
+ [test-3]: PASS
83
+
84
+ METRICS
85
+ -------
86
+ Capability pass@1: 67%
87
+ Capability pass@3: 100%
88
+ Regression pass^3: 100%
89
+
90
+ NOTES
91
+ -----
92
+ [Any issues, edge cases, or observations]
93
+
94
+ RECOMMENDATION
95
+ --------------
96
+ [SHIP / NEEDS WORK / BLOCKED]
97
+ ```
98
+
99
+ ## List Evals
100
+
101
+ `/eval list`
102
+
103
+ Show all eval definitions:
104
+
105
+ ```
106
+ EVAL DEFINITIONS
107
+ ================
108
+ feature-auth [3/5 passing] IN PROGRESS
109
+ feature-search [5/5 passing] READY
110
+ feature-export [0/4 passing] NOT STARTED
111
+ ```
112
+
113
+ ## Arguments
114
+
115
+ $ARGUMENTS:
116
+ - `define <name>` - Create new eval definition
117
+ - `check <name>` - Run and check evals
118
+ - `report <name>` - Generate full report
119
+ - `list` - Show all evals
120
+ - `clean` - Remove old eval logs (keeps last 10 runs)