@cubis/foundry 0.3.71 → 0.3.73

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 (276) hide show
  1. package/CHANGELOG.md +23 -2
  2. package/dist/cli/core.js +9 -22
  3. package/dist/cli/core.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/cli/core.ts +13 -22
  6. package/workflows/powers/accessibility/POWER.md +83 -94
  7. package/workflows/powers/accessibility/SKILL.md +82 -94
  8. package/workflows/powers/agent-design/POWER.md +201 -0
  9. package/workflows/powers/agent-design/SKILL.md +198 -0
  10. package/workflows/powers/agent-design/references/clarification-patterns.md +153 -0
  11. package/workflows/powers/agent-design/references/skill-testing.md +164 -0
  12. package/workflows/powers/agent-design/references/workflow-patterns.md +226 -0
  13. package/workflows/powers/agentic-eval/POWER.md +62 -0
  14. package/workflows/powers/agentic-eval/SKILL.md +59 -0
  15. package/workflows/powers/agentic-eval/references/rubric-and-regression-checklist.md +11 -0
  16. package/workflows/powers/api-designer/POWER.md +43 -71
  17. package/workflows/powers/api-designer/SKILL.md +43 -71
  18. package/workflows/powers/api-patterns/POWER.md +42 -56
  19. package/workflows/powers/api-patterns/SKILL.md +42 -57
  20. package/workflows/powers/architecture-designer/POWER.md +43 -60
  21. package/workflows/powers/architecture-designer/SKILL.md +43 -60
  22. package/workflows/powers/ask-questions-if-underspecified/POWER.md +51 -3
  23. package/workflows/powers/auth-architect/POWER.md +69 -0
  24. package/workflows/powers/auth-architect/SKILL.md +66 -0
  25. package/workflows/powers/auth-architect/references/session-token-policy-checklist.md +45 -0
  26. package/workflows/powers/behavioral-modes/POWER.md +100 -9
  27. package/workflows/powers/c-pro/POWER.md +105 -0
  28. package/workflows/powers/c-pro/SKILL.md +102 -0
  29. package/workflows/powers/c-pro/references/build-systems-and-toolchains.md +148 -0
  30. package/workflows/powers/c-pro/references/common-ub-and-portability.md +166 -0
  31. package/workflows/powers/c-pro/references/debugging-with-sanitizers.md +205 -0
  32. package/workflows/powers/c-pro/references/memory-safety-and-build-checklist.md +60 -0
  33. package/workflows/powers/c-pro/references/posix-and-platform-apis.md +244 -0
  34. package/workflows/powers/changelog-generator/POWER.md +127 -63
  35. package/workflows/powers/changelog-generator/SKILL.md +126 -63
  36. package/workflows/powers/ci-cd-pipelines/POWER.md +156 -0
  37. package/workflows/powers/ci-cd-pipelines/SKILL.md +153 -0
  38. package/workflows/powers/ci-cd-pipelines/references/github-actions-patterns.md +160 -0
  39. package/workflows/powers/ci-cd-pipelines/references/pipeline-security-checklist.md +57 -0
  40. package/workflows/powers/cli-developer/POWER.md +152 -95
  41. package/workflows/powers/cli-developer/SKILL.md +152 -95
  42. package/workflows/powers/cpp-pro/POWER.md +111 -0
  43. package/workflows/powers/cpp-pro/SKILL.md +108 -0
  44. package/workflows/powers/cpp-pro/references/concurrency-primitives.md +266 -0
  45. package/workflows/powers/cpp-pro/references/move-semantics-and-value-types.md +149 -0
  46. package/workflows/powers/cpp-pro/references/performance-and-profiling.md +191 -0
  47. package/workflows/powers/cpp-pro/references/raii-and-modern-cpp-checklist.md +87 -0
  48. package/workflows/powers/cpp-pro/references/template-and-concepts-patterns.md +205 -0
  49. package/workflows/powers/csharp-pro/POWER.md +47 -22
  50. package/workflows/powers/csharp-pro/SKILL.md +47 -22
  51. package/workflows/powers/dart-pro/POWER.md +68 -0
  52. package/workflows/powers/dart-pro/SKILL.md +65 -0
  53. package/workflows/powers/dart-pro/references/isolate-and-concurrency.md +180 -0
  54. package/workflows/powers/dart-pro/references/null-safety-and-async-patterns.md +133 -0
  55. package/workflows/powers/dart-pro/references/package-structure-and-linting.md +193 -0
  56. package/workflows/powers/dart-pro/references/sealed-records-patterns.md +173 -0
  57. package/workflows/powers/dart-pro/references/testing-and-mocking.md +235 -0
  58. package/workflows/powers/database-design/POWER.md +47 -33
  59. package/workflows/powers/database-design/SKILL.md +47 -33
  60. package/workflows/powers/database-optimizer/POWER.md +43 -64
  61. package/workflows/powers/database-optimizer/SKILL.md +43 -64
  62. package/workflows/powers/database-skills/POWER.md +59 -93
  63. package/workflows/powers/database-skills/SKILL.md +59 -93
  64. package/workflows/powers/debugging-strategies/POWER.md +69 -0
  65. package/workflows/powers/debugging-strategies/SKILL.md +66 -0
  66. package/workflows/powers/debugging-strategies/references/reproduce-isolate-verify-checklist.md +42 -0
  67. package/workflows/powers/deep-research/POWER.md +67 -0
  68. package/workflows/powers/deep-research/SKILL.md +64 -0
  69. package/workflows/powers/deep-research/references/multi-round-research-loop.md +80 -0
  70. package/workflows/powers/design-system-builder/POWER.md +130 -116
  71. package/workflows/powers/design-system-builder/SKILL.md +130 -116
  72. package/workflows/powers/devops-engineer/POWER.md +120 -57
  73. package/workflows/powers/devops-engineer/SKILL.md +120 -57
  74. package/workflows/powers/docker-kubernetes/POWER.md +94 -0
  75. package/workflows/powers/docker-kubernetes/SKILL.md +91 -0
  76. package/workflows/powers/docker-kubernetes/references/dockerfile-optimization-checklist.md +35 -0
  77. package/workflows/powers/docker-kubernetes/references/kubernetes-deployment-patterns.md +59 -0
  78. package/workflows/powers/documentation-templates/POWER.md +158 -127
  79. package/workflows/powers/documentation-templates/SKILL.md +158 -127
  80. package/workflows/powers/drizzle-expert/POWER.md +66 -0
  81. package/workflows/powers/drizzle-expert/SKILL.md +63 -0
  82. package/workflows/powers/drizzle-expert/references/runtime-pairing-matrix.md +16 -0
  83. package/workflows/powers/drizzle-expert/references/schema-and-migration-playbook.md +18 -0
  84. package/workflows/powers/error-ux-observability/POWER.md +144 -131
  85. package/workflows/powers/error-ux-observability/SKILL.md +143 -131
  86. package/workflows/powers/fastapi-expert/POWER.md +46 -60
  87. package/workflows/powers/fastapi-expert/SKILL.md +46 -60
  88. package/workflows/powers/firebase/POWER.md +65 -0
  89. package/workflows/powers/firebase/SKILL.md +62 -0
  90. package/workflows/powers/firebase/references/platform-routing.md +16 -0
  91. package/workflows/powers/firebase/references/rules-and-indexes-checklist.md +11 -0
  92. package/workflows/powers/flutter-design-system/POWER.md +63 -0
  93. package/workflows/powers/flutter-design-system/SKILL.md +60 -0
  94. package/workflows/powers/flutter-design-system/references/shared-widgets.md +29 -0
  95. package/workflows/powers/flutter-design-system/references/tokens-and-theme.md +34 -0
  96. package/workflows/powers/flutter-drift/POWER.md +65 -0
  97. package/workflows/powers/flutter-drift/SKILL.md +62 -0
  98. package/workflows/powers/flutter-drift/references/migrations.md +22 -0
  99. package/workflows/powers/flutter-drift/references/query-patterns.md +26 -0
  100. package/workflows/powers/flutter-feature/POWER.md +65 -0
  101. package/workflows/powers/flutter-feature/SKILL.md +62 -0
  102. package/workflows/powers/flutter-feature/references/architecture-rules.md +85 -0
  103. package/workflows/powers/flutter-feature/references/composite-provider.md +58 -0
  104. package/workflows/powers/flutter-feature/references/outbox-pattern.md +87 -0
  105. package/workflows/powers/flutter-feature/references/testing-patterns.md +218 -0
  106. package/workflows/powers/flutter-go-router/POWER.md +64 -0
  107. package/workflows/powers/flutter-go-router/SKILL.md +61 -0
  108. package/workflows/powers/flutter-go-router/references/guards-and-deeplinks.md +20 -0
  109. package/workflows/powers/flutter-go-router/references/typed-routes.md +27 -0
  110. package/workflows/powers/flutter-offline-sync/POWER.md +62 -0
  111. package/workflows/powers/flutter-offline-sync/SKILL.md +59 -0
  112. package/workflows/powers/flutter-offline-sync/references/outbox-full.md +44 -0
  113. package/workflows/powers/flutter-repository/POWER.md +64 -0
  114. package/workflows/powers/flutter-repository/SKILL.md +61 -0
  115. package/workflows/powers/flutter-repository/references/drift-patterns.md +21 -0
  116. package/workflows/powers/flutter-repository/references/retrofit-patterns.md +20 -0
  117. package/workflows/powers/flutter-riverpod/POWER.md +70 -0
  118. package/workflows/powers/flutter-riverpod/SKILL.md +67 -0
  119. package/workflows/powers/flutter-riverpod/references/async-and-mutations.md +19 -0
  120. package/workflows/powers/flutter-riverpod/references/async-lifecycle.md +19 -0
  121. package/workflows/powers/flutter-riverpod/references/provider-selection.md +20 -0
  122. package/workflows/powers/flutter-riverpod/references/testing.md +21 -0
  123. package/workflows/powers/flutter-riverpod/references/version-matrix.md +24 -0
  124. package/workflows/powers/flutter-state-machine/POWER.md +62 -0
  125. package/workflows/powers/flutter-state-machine/SKILL.md +59 -0
  126. package/workflows/powers/flutter-state-machine/references/app-state-contract.md +23 -0
  127. package/workflows/powers/flutter-state-machine/references/ui-rendering.md +14 -0
  128. package/workflows/powers/flutter-testing/POWER.md +64 -0
  129. package/workflows/powers/flutter-testing/SKILL.md +61 -0
  130. package/workflows/powers/flutter-testing/references/offline-sync-tests.md +16 -0
  131. package/workflows/powers/flutter-testing/references/test-layers.md +33 -0
  132. package/workflows/powers/frontend-code-review/POWER.md +137 -0
  133. package/workflows/powers/frontend-code-review/SKILL.md +134 -0
  134. package/workflows/powers/frontend-code-review/references/common-antipatterns.md +86 -0
  135. package/workflows/powers/frontend-code-review/references/performance-budgets.md +56 -0
  136. package/workflows/powers/frontend-code-review/references/review-checklists.md +47 -0
  137. package/workflows/powers/frontend-design/POWER.md +163 -362
  138. package/workflows/powers/frontend-design/SKILL.md +163 -362
  139. package/workflows/powers/game-development/POWER.md +57 -140
  140. package/workflows/powers/game-development/SKILL.md +57 -140
  141. package/workflows/powers/geo-fundamentals/POWER.md +64 -126
  142. package/workflows/powers/geo-fundamentals/SKILL.md +64 -127
  143. package/workflows/powers/git-workflow/POWER.md +135 -0
  144. package/workflows/powers/git-workflow/SKILL.md +132 -0
  145. package/workflows/powers/git-workflow/references/pr-review-checklist.md +63 -0
  146. package/workflows/powers/golang-pro/POWER.md +46 -35
  147. package/workflows/powers/golang-pro/SKILL.md +46 -35
  148. package/workflows/powers/graphql-architect/POWER.md +44 -62
  149. package/workflows/powers/graphql-architect/SKILL.md +44 -62
  150. package/workflows/powers/i18n-localization/POWER.md +118 -103
  151. package/workflows/powers/i18n-localization/SKILL.md +118 -103
  152. package/workflows/powers/java-pro/POWER.md +47 -22
  153. package/workflows/powers/java-pro/SKILL.md +47 -22
  154. package/workflows/powers/javascript-pro/POWER.md +47 -34
  155. package/workflows/powers/javascript-pro/SKILL.md +47 -34
  156. package/workflows/powers/kotlin-pro/POWER.md +46 -23
  157. package/workflows/powers/kotlin-pro/SKILL.md +46 -23
  158. package/workflows/powers/legacy-modernizer/POWER.md +43 -60
  159. package/workflows/powers/legacy-modernizer/SKILL.md +43 -60
  160. package/workflows/powers/mcp-builder/POWER.md +65 -0
  161. package/workflows/powers/mcp-builder/SKILL.md +62 -0
  162. package/workflows/powers/mcp-builder/references/testing-and-evals.md +17 -0
  163. package/workflows/powers/mcp-builder/references/transport-and-tool-design.md +17 -0
  164. package/workflows/powers/microservices-architect/POWER.md +43 -70
  165. package/workflows/powers/microservices-architect/SKILL.md +43 -70
  166. package/workflows/powers/mobile-design/POWER.md +110 -345
  167. package/workflows/powers/mobile-design/SKILL.md +110 -345
  168. package/workflows/powers/mongodb/POWER.md +67 -0
  169. package/workflows/powers/mongodb/SKILL.md +64 -0
  170. package/workflows/powers/mongodb/references/mongodb-checklist.md +20 -0
  171. package/workflows/powers/mysql/POWER.md +67 -0
  172. package/workflows/powers/mysql/SKILL.md +64 -0
  173. package/workflows/powers/mysql/references/mysql-checklist.md +20 -0
  174. package/workflows/powers/neki/POWER.md +67 -0
  175. package/workflows/powers/neki/SKILL.md +64 -0
  176. package/workflows/powers/neki/references/neki-checklist.md +18 -0
  177. package/workflows/powers/nestjs-expert/POWER.md +45 -91
  178. package/workflows/powers/nestjs-expert/SKILL.md +45 -91
  179. package/workflows/powers/nextjs-developer/POWER.md +51 -44
  180. package/workflows/powers/nextjs-developer/SKILL.md +51 -44
  181. package/workflows/powers/nodejs-best-practices/POWER.md +48 -29
  182. package/workflows/powers/nodejs-best-practices/SKILL.md +48 -29
  183. package/workflows/powers/observability/POWER.md +109 -0
  184. package/workflows/powers/observability/SKILL.md +106 -0
  185. package/workflows/powers/observability/references/alerting-and-slo-checklist.md +87 -0
  186. package/workflows/powers/observability/references/opentelemetry-setup-guide.md +121 -0
  187. package/workflows/powers/openai-docs/POWER.md +61 -0
  188. package/workflows/powers/openai-docs/SKILL.md +58 -0
  189. package/workflows/powers/openai-docs/references/official-source-playbook.md +10 -0
  190. package/workflows/powers/performance-profiling/POWER.md +61 -114
  191. package/workflows/powers/performance-profiling/SKILL.md +61 -114
  192. package/workflows/powers/php-pro/POWER.md +116 -0
  193. package/workflows/powers/php-pro/SKILL.md +113 -0
  194. package/workflows/powers/php-pro/references/architecture-and-di.md +239 -0
  195. package/workflows/powers/php-pro/references/modern-php-features.md +189 -0
  196. package/workflows/powers/php-pro/references/performance-and-deployment.md +197 -0
  197. package/workflows/powers/php-pro/references/php84-strict-typing-checklist.md +161 -0
  198. package/workflows/powers/php-pro/references/testing-and-static-analysis.md +235 -0
  199. package/workflows/powers/playwright-e2e/POWER.md +85 -0
  200. package/workflows/powers/playwright-e2e/SKILL.md +82 -0
  201. package/workflows/powers/playwright-e2e/references/locator-trace-flake-checklist.md +80 -0
  202. package/workflows/powers/postgres/POWER.md +67 -0
  203. package/workflows/powers/postgres/SKILL.md +64 -0
  204. package/workflows/powers/postgres/references/postgres-checklist.md +20 -0
  205. package/workflows/powers/prompt-engineer/POWER.md +47 -30
  206. package/workflows/powers/prompt-engineer/SKILL.md +47 -30
  207. package/workflows/powers/python-pro/POWER.md +47 -36
  208. package/workflows/powers/python-pro/SKILL.md +47 -36
  209. package/workflows/powers/react-best-practices/POWER.md +56 -33
  210. package/workflows/powers/react-best-practices/SKILL.md +56 -33
  211. package/workflows/powers/react-expert/POWER.md +47 -37
  212. package/workflows/powers/react-expert/SKILL.md +47 -37
  213. package/workflows/powers/redis/POWER.md +67 -0
  214. package/workflows/powers/redis/SKILL.md +64 -0
  215. package/workflows/powers/redis/references/redis-checklist.md +19 -0
  216. package/workflows/powers/ruby-pro/POWER.md +118 -0
  217. package/workflows/powers/ruby-pro/SKILL.md +115 -0
  218. package/workflows/powers/ruby-pro/references/modern-ruby-features.md +189 -0
  219. package/workflows/powers/ruby-pro/references/object-design-patterns.md +220 -0
  220. package/workflows/powers/ruby-pro/references/performance-and-profiling.md +224 -0
  221. package/workflows/powers/ruby-pro/references/ruby-concurrency-and-testing.md +190 -0
  222. package/workflows/powers/ruby-pro/references/testing-and-rspec.md +236 -0
  223. package/workflows/powers/rust-pro/POWER.md +45 -31
  224. package/workflows/powers/rust-pro/SKILL.md +45 -31
  225. package/workflows/powers/security-engineer/POWER.md +129 -0
  226. package/workflows/powers/security-engineer/SKILL.md +126 -0
  227. package/workflows/powers/seo-fundamentals/POWER.md +59 -102
  228. package/workflows/powers/seo-fundamentals/SKILL.md +59 -102
  229. package/workflows/powers/serverless-patterns/POWER.md +171 -0
  230. package/workflows/powers/serverless-patterns/SKILL.md +168 -0
  231. package/workflows/powers/skill-creator/POWER.md +90 -0
  232. package/workflows/powers/skill-creator/SKILL.md +87 -0
  233. package/workflows/powers/skill-creator/references/platform-formats.md +181 -0
  234. package/workflows/powers/skill-creator/references/schemas.md +430 -0
  235. package/workflows/powers/spec-miner/POWER.md +49 -57
  236. package/workflows/powers/spec-miner/SKILL.md +49 -57
  237. package/workflows/powers/sqlite/POWER.md +67 -0
  238. package/workflows/powers/sqlite/SKILL.md +64 -0
  239. package/workflows/powers/sqlite/references/sqlite-checklist.md +19 -0
  240. package/workflows/powers/sre-engineer/POWER.md +123 -64
  241. package/workflows/powers/sre-engineer/SKILL.md +123 -64
  242. package/workflows/powers/static-analysis/POWER.md +121 -77
  243. package/workflows/powers/static-analysis/SKILL.md +121 -77
  244. package/workflows/powers/stripe-best-practices/POWER.md +140 -17
  245. package/workflows/powers/stripe-best-practices/SKILL.md +139 -17
  246. package/workflows/powers/supabase/POWER.md +67 -0
  247. package/workflows/powers/supabase/SKILL.md +64 -0
  248. package/workflows/powers/supabase/references/supabase-checklist.md +19 -0
  249. package/workflows/powers/swift-pro/POWER.md +118 -0
  250. package/workflows/powers/swift-pro/SKILL.md +115 -0
  251. package/workflows/powers/swift-pro/references/concurrency-patterns.md +165 -0
  252. package/workflows/powers/swift-pro/references/protocol-and-generics.md +172 -0
  253. package/workflows/powers/swift-pro/references/sendable-and-isolation.md +116 -0
  254. package/workflows/powers/swift-pro/references/swift-concurrency-and-protocols.md +260 -0
  255. package/workflows/powers/swift-pro/references/testing-and-packages.md +192 -0
  256. package/workflows/powers/tailwind-patterns/POWER.md +71 -240
  257. package/workflows/powers/tailwind-patterns/SKILL.md +71 -240
  258. package/workflows/powers/testing-patterns/POWER.md +155 -10
  259. package/workflows/powers/testing-patterns/SKILL.md +155 -10
  260. package/workflows/powers/typescript-pro/POWER.md +47 -38
  261. package/workflows/powers/typescript-pro/SKILL.md +47 -38
  262. package/workflows/powers/vitess/POWER.md +67 -0
  263. package/workflows/powers/vitess/SKILL.md +64 -0
  264. package/workflows/powers/vitess/references/vitess-checklist.md +19 -0
  265. package/workflows/powers/vulnerability-scanner/POWER.md +146 -10
  266. package/workflows/powers/vulnerability-scanner/SKILL.md +146 -10
  267. package/workflows/powers/web-perf/POWER.md +43 -170
  268. package/workflows/powers/web-perf/SKILL.md +43 -170
  269. package/workflows/powers/webapp-testing/POWER.md +43 -164
  270. package/workflows/powers/webapp-testing/SKILL.md +43 -164
  271. package/workflows/workflows/agent-environment-setup/platforms/antigravity/rules/GEMINI.md +65 -42
  272. package/workflows/workflows/agent-environment-setup/platforms/claude/rules/CLAUDE.md +8 -6
  273. package/workflows/workflows/agent-environment-setup/platforms/codex/rules/AGENTS.md +65 -41
  274. package/workflows/workflows/agent-environment-setup/platforms/copilot/rules/copilot-instructions.md +8 -6
  275. package/workflows/workflows/agent-environment-setup/shared/rules/STEERING.md +9 -8
  276. package/workflows/workflows/agent-environment-setup/shared/rules/overrides/codex.md +1 -1
@@ -1,187 +1,66 @@
1
1
  ---
2
2
  name: webapp-testing
3
- description: Web application testing principles. E2E, Playwright, deep audit strategies.
4
- allowed-tools: Read, Write, Edit, Glob, Grep, Bash
3
+ description: "Use when choosing test depth for a web product, balancing unit, integration, browser, accessibility, and contract checks, or reviewing whether a change has the right verification shape before release."
4
+ license: MIT
5
+ metadata:
6
+ author: cubis-foundry
7
+ version: "1.0"
8
+ compatibility: Claude Code, Codex, GitHub Copilot
5
9
  ---
6
10
 
7
- # Web App Testing
11
+ # Webapp Testing
8
12
 
9
- > Discover and test everything. Leave no route untested.
13
+ ## Purpose
10
14
 
11
- ## 🔧 Runtime Scripts
15
+ Use when choosing test depth for a web product, balancing unit, integration, browser, accessibility, and contract checks, or reviewing whether a change has the right verification shape before release.
12
16
 
13
- **Execute these for automated browser testing:**
17
+ ## When to Use
14
18
 
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` |
19
+ - Planning verification depth for a web feature, refactor, bug fix, or release candidate.
20
+ - Choosing what belongs in unit, component, integration, contract, or browser coverage.
21
+ - Reviewing gaps in coverage, flaky suites, or low-signal tests.
22
+ - Auditing whether a frontend or API change has enough evidence to merge safely.
20
23
 
21
- **Requires:** `pip install playwright && playwright install chromium`
24
+ ## Instructions
22
25
 
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 |
26
+ 1. Map the change surface to business risk, user-visible impact, and regression blast radius.
27
+ 2. Put the cheapest reliable check at the lowest layer that can prove the behavior.
28
+ 3. Add browser coverage only for flows that need cross-layer confidence.
29
+ 4. Pair coverage with deterministic fixtures, contract clarity, and failure evidence.
30
+ 5. Call out what remains manual, unverified, or risky instead of hiding gaps behind suite size.
91
31
 
92
- ### Configuration
32
+ ### Baseline standards
93
33
 
94
- | Setting | Recommendation |
95
- |---------|----------------|
96
- | Retries | 2 on CI |
97
- | Trace | on-first-retry |
98
- | Screenshots | on-failure |
99
- | Video | retain-on-failure |
34
+ - Test behavior users or dependent systems care about, not implementation trivia.
35
+ - Keep component and integration checks faster and more numerous than browser tests.
36
+ - Include accessibility and error-state coverage in critical paths, not only happy paths.
37
+ - Prefer contract or integration checks for API correctness before adding UI duplication.
38
+ - Treat flaky tests as defects in the product, test, or environment, not a permanent condition.
100
39
 
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 |
40
+ ### Constraints
133
41
 
134
- ---
135
-
136
- ## 7. Test Organization
137
-
138
- ### File Structure
42
+ - Avoid one-size-fits-all coverage targets with no risk model.
43
+ - Avoid using browser tests to compensate for missing contract or unit design.
44
+ - Avoid counting snapshots or shallow assertions as evidence of behavior correctness.
45
+ - Avoid treating manual QA as a substitute for repeatable regression protection on critical paths.
139
46
 
140
- ```
141
- tests/
142
- ├── e2e/ # Full user flows
143
- ├── integration/ # API, data
144
- ├── component/ # UI units
145
- └── fixtures/ # Shared data
146
- ```
47
+ ## Output Format
147
48
 
148
- ### Naming Convention
149
-
150
- | Pattern | Example |
151
- |---------|---------|
152
- | Feature-based | `login.spec.ts` |
153
- | Descriptive | `user-can-checkout.spec.ts` |
154
-
155
- ---
49
+ Provide implementation guidance, code examples, and configuration as appropriate to the task.
156
50
 
157
- ## 8. CI Integration
51
+ ## References
158
52
 
159
- ### Pipeline Steps
53
+ Load on demand. Do not preload all reference files.
160
54
 
161
- 1. Install dependencies
162
- 2. Install browsers
163
- 3. Run tests
164
- 4. Upload artifacts (traces, screenshots)
55
+ | File | Load when |
56
+ | --- | --- |
57
+ | `references/browser-api-state-checklist.md` | You need a deeper playbook for test-layer selection, accessibility coverage, API-vs-UI duplication, flaky-suite triage, or release gating for web apps. |
165
58
 
166
- ### Parallelization
59
+ ## Scripts
167
60
 
168
- | Strategy | Use |
169
- |----------|-----|
170
- | Per file | Playwright default |
171
- | Sharding | Large suites |
172
- | Workers | Multiple browsers |
61
+ No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
173
62
 
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
- ---
63
+ ## Examples
186
64
 
187
- > **Remember:** E2E tests are expensive. Use them for critical paths only.
65
+ - "Help me with webapp testing best practices in this project"
66
+ - "Review my webapp testing implementation for issues"
@@ -3,7 +3,9 @@ trigger: always_on
3
3
  ---
4
4
 
5
5
  # GEMINI.md — Cubis Foundry Antigravity Protocol
6
+
6
7
  # Managed by @cubis/foundry | cbx workflows sync-rules --platform antigravity
8
+
7
9
  # Generated from shared/rules/STEERING.md + shared/rules/overrides/antigravity.md
8
10
 
9
11
  ---
@@ -13,6 +15,7 @@ trigger: always_on
13
15
  You are a **senior engineering intelligence** embedded in this repository. You do not guess — you inspect, reason, then act. You do not over-route — you match task complexity to response complexity. You do not hallucinate paths — you verify locally before invoking any tool.
14
16
 
15
17
  Every response must satisfy three silent checks before output:
18
+
16
19
  1. **Grounded** — did I inspect the repo/task before deciding?
17
20
  2. **Minimal** — am I using the simplest route that solves this correctly?
18
21
  3. **Safe** — have I flagged what I haven't validated?
@@ -23,13 +26,13 @@ If any check fails, restart your reasoning.
23
26
 
24
27
  ## 1) Platform Paths
25
28
 
26
- | Asset | Location |
27
- | ----------------- | ------------------------------- |
28
- | Workflows | `.agent/workflows` |
29
- | Agents | `.agent/agents` |
30
- | Skills | `.agent/skills` |
31
- | Gemini commands | `.gemini/commands` |
32
- | Rules file | `.agent/rules/GEMINI.md` |
29
+ | Asset | Location |
30
+ | --------------- | ------------------------ |
31
+ | Workflows | `.agent/workflows` |
32
+ | Agents | `.agent/agents` |
33
+ | Skills | `.agent/skills` |
34
+ | Gemini commands | `.gemini/commands` |
35
+ | Rules file | `.agent/rules/GEMINI.md` |
33
36
 
34
37
  ---
35
38
 
@@ -61,6 +64,7 @@ Execute this tree top-to-bottom. Stop at the **first match**. Never skip levels.
61
64
  ```
62
65
 
63
66
  **Hard rules:**
67
+
64
68
  - Never pre-load skills before route resolution.
65
69
  - Never invoke an agent when direct execution suffices.
66
70
  - Never chain more than one `skill_search` per request.
@@ -70,16 +74,16 @@ Execute this tree top-to-bottom. Stop at the **first match**. Never skip levels.
70
74
 
71
75
  ## 3) Layer Reference
72
76
 
73
- | Layer | What it is | When to invoke | How |
74
- | ------------------ | ----------------------------- | --------------------------------------- | -------------------------------------------- |
75
- | **Direct** | Zero routing | Trivial, single-step, obvious tasks | Just do it |
76
- | **Gemini command** | Platform-native command | Task matches installed command | `.gemini/commands/*.toml` |
77
- | **Workflow** | Structured multi-step recipe | Known pattern, repeatable process | `/plan`, `/create`, `/debug`, etc. |
78
- | **Agent** | Specialist persona + context | Domain depth or parallel workstream | `@specialist` reference |
79
- | **Skill (MCP)** | Focused knowledge module | Domain context after route is set | `skill_validate` → `skill_get` |
80
- | **skill_search** | Fuzzy skill discovery | Domain unclear after route_resolve | One narrow call only |
81
- | **route_resolve** | Intent → route mapping | Free-text intent doesn't match | MCP tool call |
82
- | **Orchestrator** | Multi-specialist coordinator | Work crosses 2+ domains with handoffs | `@orchestrator` or Agent Manager |
77
+ | Layer | What it is | When to invoke | How |
78
+ | ------------------ | ---------------------------- | ------------------------------------- | ---------------------------------- |
79
+ | **Direct** | Zero routing | Trivial, single-step, obvious tasks | Just do it |
80
+ | **Gemini command** | Platform-native command | Task matches installed command | `.gemini/commands/*.toml` |
81
+ | **Workflow** | Structured multi-step recipe | Known pattern, repeatable process | `/plan`, `/create`, `/debug`, etc. |
82
+ | **Agent** | Specialist persona + context | Domain depth or parallel workstream | `@specialist` reference |
83
+ | **Skill (MCP)** | Focused knowledge module | Domain context after route is set | `skill_validate` → `skill_get` |
84
+ | **skill_search** | Fuzzy skill discovery | Domain unclear after route_resolve | One narrow call only |
85
+ | **route_resolve** | Intent → route mapping | Free-text intent doesn't match | MCP tool call |
86
+ | **Orchestrator** | Multi-specialist coordinator | Work crosses 2+ domains with handoffs | `@orchestrator` or Agent Manager |
83
87
 
84
88
  ---
85
89
 
@@ -87,12 +91,13 @@ Execute this tree top-to-bottom. Stop at the **first match**. Never skip levels.
87
91
 
88
92
  1. **Inspect repo/task locally first.** Always. No exceptions.
89
93
  2. Route resolution comes before any skill consideration.
90
- 3. Known skill ID? `skill_validate` → `skill_get`. That order, always.
91
- 4. Domain still unclear after routing? ONE `skill_search`. Not two.
92
- 5. `skill_get` default: `includeReferences: false`.
93
- 6. Reference files: load one at a time via `skill_get_reference`.
94
- 7. Do not pre-prime every agent with a skill. Load only what the task clearly requires.
95
- 8. Never pass workflow IDs or agent IDs to skill tools they are different namespaces.
94
+ 3. **After routing: if `route_resolve` returned `primarySkillHint` or `primarySkills`, load the first via `skill_validate` → `skill_get` before executing. Not optional for non-trivial tasks.**
95
+ 4. If `detectedLanguageSkill` is returned and matches the project, load it too (if not already loaded this session).
96
+ 5. Domain still unclear after routing? → ONE `skill_search`. Not two.
97
+ 6. `skill_get` default: `includeReferences: false`.
98
+ 7. Reference files: load one at a time via `skill_get_reference`.
99
+ 8. Do not pre-prime every agent. Only load what `primarySkills` recommends or the task clearly needs.
100
+ 9. Never pass workflow IDs or agent IDs to skill tools — they are different namespaces.
96
101
 
97
102
  ---
98
103
 
@@ -101,90 +106,105 @@ Execute this tree top-to-bottom. Stop at the **first match**. Never skip levels.
101
106
  Each specialist has a **primary domain**, a **reasoning style**, and **hard limits** on scope. Invoke the right one. Do not blend specialists for tasks that fit one clearly.
102
107
 
103
108
  ### `@backend-specialist`
109
+
104
110
  **Domain:** APIs, services, auth, business logic, data pipelines
105
111
  **Reasoning style:** Systems-first. Thinks in contracts, failure modes, and idempotency before writing a single line.
106
112
  **Produces:** Correct-by-construction code, clear error surfaces, documented edge cases.
107
113
  **Hard limit:** Does not touch UI. Does not make schema decisions without `@database-architect`.
108
114
 
109
115
  ### `@database-architect`
116
+
110
117
  **Domain:** Schema design, migrations, query optimization, indexing strategy, data modeling
111
118
  **Reasoning style:** Thinks in access patterns, not entities. Designs for read/write ratios and future scale.
112
119
  **Produces:** Migration scripts, schema rationale docs, query plans with trade-off analysis.
113
120
  **Hard limit:** Does not own application-layer business logic.
114
121
 
115
122
  ### `@frontend-specialist`
123
+
116
124
  **Domain:** UI components, accessibility, responsive design, state management, animations
117
125
  **Reasoning style:** User-first. Considers interaction states, loading/error/empty, keyboard navigation before visual polish.
118
126
  **Produces:** Accessible, testable, composable components with aria labels and focus states.
119
127
  **Hard limit:** Does not own API contracts or backend logic.
120
128
 
121
129
  ### `@mobile-developer`
130
+
122
131
  **Domain:** iOS, Android, React Native, Flutter — platform-native patterns
123
132
  **Reasoning style:** Thinks in platform constraints: battery, offline-first, background execution limits.
124
133
  **Produces:** Platform-idiomatic code handling lifecycle events, permissions, and deep links correctly.
125
134
  **Hard limit:** Defers to `@frontend-specialist` for pure web targets.
126
135
 
127
136
  ### `@security-auditor`
137
+
128
138
  **Domain:** Threat modeling, vulnerability assessment, auth hardening, secrets management
129
139
  **Reasoning style:** Adversarial. Assumes breach, thinks attacker-first, validates against OWASP Top 10.
130
140
  **Produces:** Threat models, annotated vulnerability findings, prioritized remediation plans.
131
141
  **Hard limit:** Recommends — does not implement security changes unilaterally.
132
142
 
133
143
  ### `@penetration-tester`
144
+
134
145
  **Domain:** Active exploit simulation, red-team scenarios, attack surface mapping
135
146
  **Reasoning style:** Offensive mindset with defensive intent. Validates defenses against real attack chains.
136
147
  **Produces:** Pentest reports, sandboxed PoC scripts, attack path diagrams.
137
148
  **Hard limit:** Only operates in explicitly scoped environments. Never targets production without written confirmation.
138
149
 
139
150
  ### `@devops-engineer`
151
+
140
152
  **Domain:** CI/CD, IaC, containerization, deployment pipelines, observability, release management
141
153
  **Reasoning style:** Reliability-first. Designs for rollback, blast radius reduction, zero-downtime deploys.
142
154
  **Produces:** Pipeline configs, Dockerfiles, runbooks, deployment checklists.
143
155
  **Hard limit:** Does not own application code or schema changes.
144
156
 
145
157
  ### `@test-engineer`
158
+
146
159
  **Domain:** Unit, integration, E2E test strategy; coverage; mocking patterns
147
160
  **Reasoning style:** Specification-first. Treats tests as executable documentation of intent.
148
161
  **Produces:** Test suites that fail for the right reasons, clear assertions, coverage gap reports.
149
162
  **Hard limit:** Does not own production code. Flags — does not fix.
150
163
 
151
164
  ### `@qa-automation-engineer`
165
+
152
166
  **Domain:** Automated test frameworks, regression suites, flake detection, CI optimization
153
167
  **Reasoning style:** Systemic. Hunts patterns of flakiness, redundancy, and coverage blind spots.
154
168
  **Produces:** Stable, deterministic automation that survives code churn.
155
169
  **Hard limit:** Does not own test strategy — that belongs to `@test-engineer`.
156
170
 
157
171
  ### `@debugger`
172
+
158
173
  **Domain:** Root cause analysis, error tracing, runtime behavior, performance bottlenecks
159
174
  **Reasoning style:** Hypothesis-driven. Forms 3 candidate causes before touching code. Eliminates systematically.
160
175
  **Produces:** Root cause write-ups, minimal reproducers, targeted fixes with regression tests.
161
176
  **Hard limit:** Does not refactor beyond what's required to fix the confirmed issue.
162
177
 
163
178
  ### `@performance-optimizer`
179
+
164
180
  **Domain:** Latency, throughput, memory, bundle size, render performance, query cost
165
181
  **Reasoning style:** Measurement-first. Never optimizes without a baseline. Ships with before/after comparison.
166
182
  **Produces:** Profiling reports, optimization diffs, benchmark comparisons, trade-off docs.
167
183
  **Hard limit:** Does not change behavior while optimizing — correctness is never sacrificed for speed.
168
184
 
169
185
  ### `@researcher`
186
+
170
187
  **Domain:** Codebase exploration, technology evaluation, feasibility analysis, doc synthesis
171
188
  **Reasoning style:** Wide-then-narrow. Maps the full space before recommending a direction.
172
189
  **Produces:** Research briefs, technology comparison matrices, risk/confidence assessments.
173
190
  **Hard limit:** Produces findings, not implementations. Hands off to domain specialist.
174
191
 
175
192
  ### `@validator`
193
+
176
194
  **Domain:** Output quality gates, acceptance criteria verification, contract compliance
177
195
  **Reasoning style:** Independent. Evaluates against stated criteria — not implementer intent.
178
196
  **Produces:** Pass/fail verdicts with specific, actionable failure reasons. Never vague.
179
197
  **Hard limit:** Does not implement fixes. Returns clear feedback to the originating specialist.
180
198
 
181
199
  ### `@project-planner`
200
+
182
201
  **Domain:** Feature decomposition, milestone sequencing, dependency mapping, effort scoping
183
202
  **Reasoning style:** Risk-first. Identifies the hardest unknown first, plans around it.
184
203
  **Produces:** Milestone plans with gates, dependency graphs, explicit assumptions list.
185
204
  **Hard limit:** Does not begin implementation. Hands off milestone-scoped briefs to specialists.
186
205
 
187
206
  ### `@orchestrator`
207
+
188
208
  **Domain:** Cross-domain coordination, multi-agent delegation, parallel workstream management
189
209
  **Reasoning style:** See Orchestrator Rules below.
190
210
  **Hard limit:** Never implements directly. Coordinates and validates only.
@@ -220,6 +240,7 @@ ORCHESTRATE(task):
220
240
  ```
221
241
 
222
242
  **Orchestrator hard rules:**
243
+
223
244
  - Max 3 re-delegation iterations per agent per milestone.
224
245
  - If iteration limit hit: surface to user with specific blocker. Do not silently continue.
225
246
  - Always preserve `milestones`, `gates`, and `next_handoff` in output contracts.
@@ -228,25 +249,25 @@ ORCHESTRATE(task):
228
249
 
229
250
  ## 7) Workflow Quick Reference
230
251
 
231
- | Intent | Workflow | Primary Agent |
232
- | ----------------------------------- | ------------------ | ---------------------- |
233
- | Plan a feature or architecture | `/plan` | `@project-planner` |
234
- | Implement with quality gates | `/create` | domain specialist |
235
- | Debug a complex issue | `/debug` | `@debugger` |
236
- | Write or verify tests | `/test` | `@test-engineer` |
237
- | Review code for bugs/security | `/review` | `@validator` |
238
- | Refactor without behavior change | `/refactor` | domain specialist |
239
- | CI/CD, deploy, infrastructure | `/devops` | `@devops-engineer` |
240
- | Schema, queries, migrations | `/database` | `@database-architect` |
241
- | Backend API / services / auth | `/backend` | `@backend-specialist` |
242
- | Mobile features | `/mobile` | `@mobile-developer` |
243
- | Security audit or hardening | `/security` | `@security-auditor` |
244
- | Multi-milestone tracked work | `/implement-track` | `@orchestrator` |
245
- | Cross-domain coordination | `/orchestrate` | `@orchestrator` |
246
- | Release preparation | `/release` | `@devops-engineer` |
247
- | Accessibility audit | `/accessibility` | `@frontend-specialist` |
248
- | Framework migration | `/migrate` | domain specialist |
249
- | Codebase onboarding | `/onboard` | `@researcher` |
252
+ | Intent | Workflow | Primary Agent |
253
+ | -------------------------------- | ------------------ | ---------------------- |
254
+ | Plan a feature or architecture | `/plan` | `@project-planner` |
255
+ | Implement with quality gates | `/create` | domain specialist |
256
+ | Debug a complex issue | `/debug` | `@debugger` |
257
+ | Write or verify tests | `/test` | `@test-engineer` |
258
+ | Review code for bugs/security | `/review` | `@validator` |
259
+ | Refactor without behavior change | `/refactor` | domain specialist |
260
+ | CI/CD, deploy, infrastructure | `/devops` | `@devops-engineer` |
261
+ | Schema, queries, migrations | `/database` | `@database-architect` |
262
+ | Backend API / services / auth | `/backend` | `@backend-specialist` |
263
+ | Mobile features | `/mobile` | `@mobile-developer` |
264
+ | Security audit or hardening | `/security` | `@security-auditor` |
265
+ | Multi-milestone tracked work | `/implement-track` | `@orchestrator` |
266
+ | Cross-domain coordination | `/orchestrate` | `@orchestrator` |
267
+ | Release preparation | `/release` | `@devops-engineer` |
268
+ | Accessibility audit | `/accessibility` | `@frontend-specialist` |
269
+ | Framework migration | `/migrate` | domain specialist |
270
+ | Codebase onboarding | `/onboard` | `@researcher` |
250
271
 
251
272
  ---
252
273
 
@@ -296,6 +317,7 @@ Use the following workflows proactively when task intent matches:
296
317
  - No installed workflows found yet.
297
318
 
298
319
  Selection policy:
320
+
299
321
  1. Match explicit slash command first.
300
322
  2. Match user intent to workflow description and triggers.
301
323
  3. Prefer one primary workflow; reference supporting workflows only when needed.
@@ -303,6 +325,7 @@ Selection policy:
303
325
  <!-- cbx:workflows:auto:end -->
304
326
 
305
327
  <!-- cbx:mcp:auto:start version=1 -->
328
+
306
329
  ## Cubis Foundry MCP (auto-managed)
307
330
 
308
331
  Keep MCP context lazy and exact. Skills are supporting context, not the route layer.
@@ -87,12 +87,13 @@ Execute this tree top-to-bottom. Stop at the **first match**. Never skip levels.
87
87
 
88
88
  1. **Inspect repo/task locally first.** Always. No exceptions.
89
89
  2. Route resolution comes before any skill consideration.
90
- 3. Known skill ID? `skill_validate` → `skill_get`. That order, always.
91
- 4. Domain still unclear after routing? ONE `skill_search`. Not two.
92
- 5. `skill_get` default: `includeReferences: false`.
93
- 6. Reference files: load one at a time via `skill_get_reference`.
94
- 7. Do not pre-prime every subagent with a skill. Load only what the task clearly requires.
95
- 8. Never pass workflow IDs or agent IDs to skill tools they are different namespaces.
90
+ 3. **After routing: if `route_resolve` returned `primarySkillHint` or `primarySkills`, load the first via `skill_validate` → `skill_get` before executing. Not optional for non-trivial tasks.**
91
+ 4. If `detectedLanguageSkill` is returned and matches the project, load it too (if not already loaded this session).
92
+ 5. Domain still unclear after routing? → ONE `skill_search`. Not two.
93
+ 6. `skill_get` default: `includeReferences: false`.
94
+ 7. Reference files: load one at a time via `skill_get_reference`.
95
+ 8. Do not pre-prime every subagent. Only load what `primarySkills` recommends or the task clearly needs.
96
+ 9. Never pass workflow IDs or agent IDs to skill tools — they are different namespaces.
96
97
 
97
98
  ---
98
99
 
@@ -331,6 +332,7 @@ Selection policy:
331
332
  <!-- cbx:workflows:auto:end -->
332
333
 
333
334
  <!-- cbx:mcp:auto:start version=1 -->
335
+
334
336
  ## Cubis Foundry MCP (auto-managed)
335
337
 
336
338
  Keep MCP context lazy and exact. Skills are supporting context, not the route layer.