@cubis/foundry 0.3.70 → 0.3.72
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.
- package/CHANGELOG.md +15 -0
- package/dist/cli/core.js +4 -18
- package/dist/cli/core.js.map +1 -1
- package/package.json +1 -1
- package/src/cli/core.ts +4 -18
- package/workflows/powers/accessibility/POWER.md +83 -94
- package/workflows/powers/accessibility/SKILL.md +82 -94
- package/workflows/powers/agent-design/POWER.md +201 -0
- package/workflows/powers/agent-design/SKILL.md +198 -0
- package/workflows/powers/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/powers/agent-design/references/skill-testing.md +164 -0
- package/workflows/powers/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/powers/agentic-eval/POWER.md +62 -0
- package/workflows/powers/agentic-eval/SKILL.md +59 -0
- package/workflows/powers/agentic-eval/references/rubric-and-regression-checklist.md +11 -0
- package/workflows/powers/api-designer/POWER.md +43 -71
- package/workflows/powers/api-designer/SKILL.md +43 -71
- package/workflows/powers/api-patterns/POWER.md +42 -56
- package/workflows/powers/api-patterns/SKILL.md +42 -57
- package/workflows/powers/architecture-designer/POWER.md +43 -60
- package/workflows/powers/architecture-designer/SKILL.md +43 -60
- package/workflows/powers/ask-questions-if-underspecified/POWER.md +51 -3
- package/workflows/powers/ask-questions-if-underspecified/SKILL.md +51 -3
- package/workflows/powers/auth-architect/POWER.md +69 -0
- package/workflows/powers/auth-architect/SKILL.md +66 -0
- package/workflows/powers/auth-architect/references/session-token-policy-checklist.md +45 -0
- package/workflows/powers/behavioral-modes/POWER.md +100 -9
- package/workflows/powers/behavioral-modes/SKILL.md +100 -9
- package/workflows/powers/c-pro/POWER.md +105 -0
- package/workflows/powers/c-pro/SKILL.md +102 -0
- package/workflows/powers/c-pro/references/build-systems-and-toolchains.md +148 -0
- package/workflows/powers/c-pro/references/common-ub-and-portability.md +166 -0
- package/workflows/powers/c-pro/references/debugging-with-sanitizers.md +205 -0
- package/workflows/powers/c-pro/references/memory-safety-and-build-checklist.md +60 -0
- package/workflows/powers/c-pro/references/posix-and-platform-apis.md +244 -0
- package/workflows/powers/changelog-generator/POWER.md +127 -63
- package/workflows/powers/changelog-generator/SKILL.md +126 -63
- package/workflows/powers/ci-cd-pipelines/POWER.md +156 -0
- package/workflows/powers/ci-cd-pipelines/SKILL.md +153 -0
- package/workflows/powers/ci-cd-pipelines/references/github-actions-patterns.md +160 -0
- package/workflows/powers/ci-cd-pipelines/references/pipeline-security-checklist.md +57 -0
- package/workflows/powers/cli-developer/POWER.md +152 -95
- package/workflows/powers/cli-developer/SKILL.md +152 -95
- package/workflows/powers/cpp-pro/POWER.md +111 -0
- package/workflows/powers/cpp-pro/SKILL.md +108 -0
- package/workflows/powers/cpp-pro/references/concurrency-primitives.md +266 -0
- package/workflows/powers/cpp-pro/references/move-semantics-and-value-types.md +149 -0
- package/workflows/powers/cpp-pro/references/performance-and-profiling.md +191 -0
- package/workflows/powers/cpp-pro/references/raii-and-modern-cpp-checklist.md +87 -0
- package/workflows/powers/cpp-pro/references/template-and-concepts-patterns.md +205 -0
- package/workflows/powers/csharp-pro/POWER.md +47 -22
- package/workflows/powers/csharp-pro/SKILL.md +47 -22
- package/workflows/powers/dart-pro/POWER.md +68 -0
- package/workflows/powers/dart-pro/SKILL.md +65 -0
- package/workflows/powers/dart-pro/references/isolate-and-concurrency.md +180 -0
- package/workflows/powers/dart-pro/references/null-safety-and-async-patterns.md +133 -0
- package/workflows/powers/dart-pro/references/package-structure-and-linting.md +193 -0
- package/workflows/powers/dart-pro/references/sealed-records-patterns.md +173 -0
- package/workflows/powers/dart-pro/references/testing-and-mocking.md +235 -0
- package/workflows/powers/database-design/POWER.md +47 -33
- package/workflows/powers/database-design/SKILL.md +47 -33
- package/workflows/powers/database-optimizer/POWER.md +43 -64
- package/workflows/powers/database-optimizer/SKILL.md +43 -64
- package/workflows/powers/database-skills/POWER.md +59 -93
- package/workflows/powers/database-skills/SKILL.md +59 -93
- package/workflows/powers/debugging-strategies/POWER.md +69 -0
- package/workflows/powers/debugging-strategies/SKILL.md +66 -0
- package/workflows/powers/debugging-strategies/references/reproduce-isolate-verify-checklist.md +42 -0
- package/workflows/powers/deep-research/POWER.md +67 -0
- package/workflows/powers/deep-research/SKILL.md +64 -0
- package/workflows/powers/deep-research/references/multi-round-research-loop.md +80 -0
- package/workflows/powers/design-system-builder/POWER.md +130 -116
- package/workflows/powers/design-system-builder/SKILL.md +130 -116
- package/workflows/powers/devops-engineer/POWER.md +120 -57
- package/workflows/powers/devops-engineer/SKILL.md +120 -57
- package/workflows/powers/docker-kubernetes/POWER.md +94 -0
- package/workflows/powers/docker-kubernetes/SKILL.md +91 -0
- package/workflows/powers/docker-kubernetes/references/dockerfile-optimization-checklist.md +35 -0
- package/workflows/powers/docker-kubernetes/references/kubernetes-deployment-patterns.md +59 -0
- package/workflows/powers/documentation-templates/POWER.md +158 -127
- package/workflows/powers/documentation-templates/SKILL.md +158 -127
- package/workflows/powers/drizzle-expert/POWER.md +66 -0
- package/workflows/powers/drizzle-expert/SKILL.md +63 -0
- package/workflows/powers/drizzle-expert/references/runtime-pairing-matrix.md +16 -0
- package/workflows/powers/drizzle-expert/references/schema-and-migration-playbook.md +18 -0
- package/workflows/powers/error-ux-observability/POWER.md +144 -131
- package/workflows/powers/error-ux-observability/SKILL.md +143 -131
- package/workflows/powers/fastapi-expert/POWER.md +46 -60
- package/workflows/powers/fastapi-expert/SKILL.md +46 -60
- package/workflows/powers/firebase/POWER.md +65 -0
- package/workflows/powers/firebase/SKILL.md +62 -0
- package/workflows/powers/firebase/references/platform-routing.md +16 -0
- package/workflows/powers/firebase/references/rules-and-indexes-checklist.md +11 -0
- package/workflows/powers/flutter-design-system/POWER.md +63 -0
- package/workflows/powers/flutter-design-system/SKILL.md +60 -0
- package/workflows/powers/flutter-design-system/references/shared-widgets.md +29 -0
- package/workflows/powers/flutter-design-system/references/tokens-and-theme.md +34 -0
- package/workflows/powers/flutter-drift/POWER.md +65 -0
- package/workflows/powers/flutter-drift/SKILL.md +62 -0
- package/workflows/powers/flutter-drift/references/migrations.md +22 -0
- package/workflows/powers/flutter-drift/references/query-patterns.md +26 -0
- package/workflows/powers/flutter-feature/POWER.md +65 -0
- package/workflows/powers/flutter-feature/SKILL.md +62 -0
- package/workflows/powers/flutter-feature/references/architecture-rules.md +85 -0
- package/workflows/powers/flutter-feature/references/composite-provider.md +58 -0
- package/workflows/powers/flutter-feature/references/outbox-pattern.md +87 -0
- package/workflows/powers/flutter-feature/references/testing-patterns.md +218 -0
- package/workflows/powers/flutter-go-router/POWER.md +64 -0
- package/workflows/powers/flutter-go-router/SKILL.md +61 -0
- package/workflows/powers/flutter-go-router/references/guards-and-deeplinks.md +20 -0
- package/workflows/powers/flutter-go-router/references/typed-routes.md +27 -0
- package/workflows/powers/flutter-offline-sync/POWER.md +62 -0
- package/workflows/powers/flutter-offline-sync/SKILL.md +59 -0
- package/workflows/powers/flutter-offline-sync/references/outbox-full.md +44 -0
- package/workflows/powers/flutter-repository/POWER.md +64 -0
- package/workflows/powers/flutter-repository/SKILL.md +61 -0
- package/workflows/powers/flutter-repository/references/drift-patterns.md +21 -0
- package/workflows/powers/flutter-repository/references/retrofit-patterns.md +20 -0
- package/workflows/powers/flutter-riverpod/POWER.md +70 -0
- package/workflows/powers/flutter-riverpod/SKILL.md +67 -0
- package/workflows/powers/flutter-riverpod/references/async-and-mutations.md +19 -0
- package/workflows/powers/flutter-riverpod/references/async-lifecycle.md +19 -0
- package/workflows/powers/flutter-riverpod/references/provider-selection.md +20 -0
- package/workflows/powers/flutter-riverpod/references/testing.md +21 -0
- package/workflows/powers/flutter-riverpod/references/version-matrix.md +24 -0
- package/workflows/powers/flutter-state-machine/POWER.md +62 -0
- package/workflows/powers/flutter-state-machine/SKILL.md +59 -0
- package/workflows/powers/flutter-state-machine/references/app-state-contract.md +23 -0
- package/workflows/powers/flutter-state-machine/references/ui-rendering.md +14 -0
- package/workflows/powers/flutter-testing/POWER.md +64 -0
- package/workflows/powers/flutter-testing/SKILL.md +61 -0
- package/workflows/powers/flutter-testing/references/offline-sync-tests.md +16 -0
- package/workflows/powers/flutter-testing/references/test-layers.md +33 -0
- package/workflows/powers/frontend-code-review/POWER.md +137 -0
- package/workflows/powers/frontend-code-review/SKILL.md +134 -0
- package/workflows/powers/frontend-code-review/references/common-antipatterns.md +86 -0
- package/workflows/powers/frontend-code-review/references/performance-budgets.md +56 -0
- package/workflows/powers/frontend-code-review/references/review-checklists.md +47 -0
- package/workflows/powers/frontend-design/POWER.md +163 -362
- package/workflows/powers/frontend-design/SKILL.md +163 -362
- package/workflows/powers/game-development/POWER.md +57 -140
- package/workflows/powers/game-development/SKILL.md +57 -140
- package/workflows/powers/geo-fundamentals/POWER.md +64 -126
- package/workflows/powers/geo-fundamentals/SKILL.md +64 -127
- package/workflows/powers/git-workflow/POWER.md +135 -0
- package/workflows/powers/git-workflow/SKILL.md +132 -0
- package/workflows/powers/git-workflow/references/pr-review-checklist.md +63 -0
- package/workflows/powers/golang-pro/POWER.md +46 -35
- package/workflows/powers/golang-pro/SKILL.md +46 -35
- package/workflows/powers/graphql-architect/POWER.md +44 -62
- package/workflows/powers/graphql-architect/SKILL.md +44 -62
- package/workflows/powers/i18n-localization/POWER.md +118 -103
- package/workflows/powers/i18n-localization/SKILL.md +118 -103
- package/workflows/powers/java-pro/POWER.md +47 -22
- package/workflows/powers/java-pro/SKILL.md +47 -22
- package/workflows/powers/javascript-pro/POWER.md +47 -34
- package/workflows/powers/javascript-pro/SKILL.md +47 -34
- package/workflows/powers/kotlin-pro/POWER.md +46 -23
- package/workflows/powers/kotlin-pro/SKILL.md +46 -23
- package/workflows/powers/legacy-modernizer/POWER.md +43 -60
- package/workflows/powers/legacy-modernizer/SKILL.md +43 -60
- package/workflows/powers/mcp-builder/POWER.md +65 -0
- package/workflows/powers/mcp-builder/SKILL.md +62 -0
- package/workflows/powers/mcp-builder/references/testing-and-evals.md +17 -0
- package/workflows/powers/mcp-builder/references/transport-and-tool-design.md +17 -0
- package/workflows/powers/microservices-architect/POWER.md +43 -70
- package/workflows/powers/microservices-architect/SKILL.md +43 -70
- package/workflows/powers/mobile-design/POWER.md +110 -345
- package/workflows/powers/mobile-design/SKILL.md +110 -345
- package/workflows/powers/mongodb/POWER.md +67 -0
- package/workflows/powers/mongodb/SKILL.md +64 -0
- package/workflows/powers/mongodb/references/mongodb-checklist.md +20 -0
- package/workflows/powers/mysql/POWER.md +67 -0
- package/workflows/powers/mysql/SKILL.md +64 -0
- package/workflows/powers/mysql/references/mysql-checklist.md +20 -0
- package/workflows/powers/neki/POWER.md +67 -0
- package/workflows/powers/neki/SKILL.md +64 -0
- package/workflows/powers/neki/references/neki-checklist.md +18 -0
- package/workflows/powers/nestjs-expert/POWER.md +45 -91
- package/workflows/powers/nestjs-expert/SKILL.md +45 -91
- package/workflows/powers/nextjs-developer/POWER.md +51 -44
- package/workflows/powers/nextjs-developer/SKILL.md +51 -44
- package/workflows/powers/nodejs-best-practices/POWER.md +48 -29
- package/workflows/powers/nodejs-best-practices/SKILL.md +48 -29
- package/workflows/powers/observability/POWER.md +109 -0
- package/workflows/powers/observability/SKILL.md +106 -0
- package/workflows/powers/observability/references/alerting-and-slo-checklist.md +87 -0
- package/workflows/powers/observability/references/opentelemetry-setup-guide.md +121 -0
- package/workflows/powers/openai-docs/POWER.md +61 -0
- package/workflows/powers/openai-docs/SKILL.md +58 -0
- package/workflows/powers/openai-docs/references/official-source-playbook.md +10 -0
- package/workflows/powers/performance-profiling/POWER.md +61 -114
- package/workflows/powers/performance-profiling/SKILL.md +61 -114
- package/workflows/powers/php-pro/POWER.md +116 -0
- package/workflows/powers/php-pro/SKILL.md +113 -0
- package/workflows/powers/php-pro/references/architecture-and-di.md +239 -0
- package/workflows/powers/php-pro/references/modern-php-features.md +189 -0
- package/workflows/powers/php-pro/references/performance-and-deployment.md +197 -0
- package/workflows/powers/php-pro/references/php84-strict-typing-checklist.md +161 -0
- package/workflows/powers/php-pro/references/testing-and-static-analysis.md +235 -0
- package/workflows/powers/playwright-e2e/POWER.md +85 -0
- package/workflows/powers/playwright-e2e/SKILL.md +82 -0
- package/workflows/powers/playwright-e2e/references/locator-trace-flake-checklist.md +80 -0
- package/workflows/powers/postgres/POWER.md +67 -0
- package/workflows/powers/postgres/SKILL.md +64 -0
- package/workflows/powers/postgres/references/postgres-checklist.md +20 -0
- package/workflows/powers/prompt-engineer/POWER.md +47 -30
- package/workflows/powers/prompt-engineer/SKILL.md +47 -30
- package/workflows/powers/python-pro/POWER.md +47 -36
- package/workflows/powers/python-pro/SKILL.md +47 -36
- package/workflows/powers/react-best-practices/POWER.md +56 -33
- package/workflows/powers/react-best-practices/SKILL.md +56 -33
- package/workflows/powers/react-expert/POWER.md +47 -37
- package/workflows/powers/react-expert/SKILL.md +47 -37
- package/workflows/powers/redis/POWER.md +67 -0
- package/workflows/powers/redis/SKILL.md +64 -0
- package/workflows/powers/redis/references/redis-checklist.md +19 -0
- package/workflows/powers/ruby-pro/POWER.md +118 -0
- package/workflows/powers/ruby-pro/SKILL.md +115 -0
- package/workflows/powers/ruby-pro/references/modern-ruby-features.md +189 -0
- package/workflows/powers/ruby-pro/references/object-design-patterns.md +220 -0
- package/workflows/powers/ruby-pro/references/performance-and-profiling.md +224 -0
- package/workflows/powers/ruby-pro/references/ruby-concurrency-and-testing.md +190 -0
- package/workflows/powers/ruby-pro/references/testing-and-rspec.md +236 -0
- package/workflows/powers/rust-pro/POWER.md +45 -31
- package/workflows/powers/rust-pro/SKILL.md +45 -31
- package/workflows/powers/security-engineer/POWER.md +129 -0
- package/workflows/powers/security-engineer/SKILL.md +126 -0
- package/workflows/powers/seo-fundamentals/POWER.md +59 -102
- package/workflows/powers/seo-fundamentals/SKILL.md +59 -102
- package/workflows/powers/serverless-patterns/POWER.md +171 -0
- package/workflows/powers/serverless-patterns/SKILL.md +168 -0
- package/workflows/powers/skill-creator/POWER.md +90 -0
- package/workflows/powers/skill-creator/SKILL.md +87 -0
- package/workflows/powers/skill-creator/references/platform-formats.md +181 -0
- package/workflows/powers/skill-creator/references/schemas.md +430 -0
- package/workflows/powers/spec-miner/POWER.md +49 -57
- package/workflows/powers/spec-miner/SKILL.md +49 -57
- package/workflows/powers/sqlite/POWER.md +67 -0
- package/workflows/powers/sqlite/SKILL.md +64 -0
- package/workflows/powers/sqlite/references/sqlite-checklist.md +19 -0
- package/workflows/powers/sre-engineer/POWER.md +123 -64
- package/workflows/powers/sre-engineer/SKILL.md +123 -64
- package/workflows/powers/static-analysis/POWER.md +121 -77
- package/workflows/powers/static-analysis/SKILL.md +121 -77
- package/workflows/powers/stripe-best-practices/POWER.md +140 -17
- package/workflows/powers/stripe-best-practices/SKILL.md +139 -17
- package/workflows/powers/supabase/POWER.md +67 -0
- package/workflows/powers/supabase/SKILL.md +64 -0
- package/workflows/powers/supabase/references/supabase-checklist.md +19 -0
- package/workflows/powers/swift-pro/POWER.md +118 -0
- package/workflows/powers/swift-pro/SKILL.md +115 -0
- package/workflows/powers/swift-pro/references/concurrency-patterns.md +165 -0
- package/workflows/powers/swift-pro/references/protocol-and-generics.md +172 -0
- package/workflows/powers/swift-pro/references/sendable-and-isolation.md +116 -0
- package/workflows/powers/swift-pro/references/swift-concurrency-and-protocols.md +260 -0
- package/workflows/powers/swift-pro/references/testing-and-packages.md +192 -0
- package/workflows/powers/tailwind-patterns/POWER.md +71 -240
- package/workflows/powers/tailwind-patterns/SKILL.md +71 -240
- package/workflows/powers/testing-patterns/POWER.md +155 -10
- package/workflows/powers/testing-patterns/SKILL.md +155 -10
- package/workflows/powers/typescript-pro/POWER.md +47 -38
- package/workflows/powers/typescript-pro/SKILL.md +47 -38
- package/workflows/powers/vitess/POWER.md +67 -0
- package/workflows/powers/vitess/SKILL.md +64 -0
- package/workflows/powers/vitess/references/vitess-checklist.md +19 -0
- package/workflows/powers/vulnerability-scanner/POWER.md +146 -10
- package/workflows/powers/vulnerability-scanner/SKILL.md +146 -10
- package/workflows/powers/web-perf/POWER.md +43 -170
- package/workflows/powers/web-perf/SKILL.md +43 -170
- package/workflows/powers/webapp-testing/POWER.md +43 -164
- package/workflows/powers/webapp-testing/SKILL.md +43 -164
- package/workflows/skills/agent-design/SKILL.md +198 -0
- package/workflows/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/skills/deep-research/SKILL.md +25 -20
- package/workflows/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/skills/frontend-design/SKILL.md +37 -32
- package/workflows/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/skills/generated/skill-audit.json +11 -2
- package/workflows/skills/generated/skill-catalog.json +37 -5
- package/workflows/skills/skills_index.json +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/SKILL.md +198 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/claude/skills/skills_index.json +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/SKILL.md +197 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/clarification-patterns.md +153 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/skill-testing.md +164 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/agent-design/references/workflow-patterns.md +226 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/SKILL.md +25 -20
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/deep-research/references/multi-round-research-loop.md +73 -8
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/SKILL.md +37 -32
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/commands/brand.md +167 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/frontend-design/references/brand-presets.md +228 -0
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +1 -1
|
@@ -1,193 +1,66 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-perf
|
|
3
|
-
description:
|
|
3
|
+
description: "Use for measuring and improving web performance with Core Web Vitals, rendering-path analysis, bundle and network prioritization, and framework-aware delivery tradeoffs."
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: cubis-foundry
|
|
7
|
+
version: "3.0"
|
|
8
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
4
9
|
---
|
|
5
10
|
|
|
6
|
-
# Web
|
|
11
|
+
# Web Perf
|
|
7
12
|
|
|
8
|
-
|
|
13
|
+
## Purpose
|
|
9
14
|
|
|
10
|
-
|
|
15
|
+
Use for measuring and improving web performance with Core Web Vitals, rendering-path analysis, bundle and network prioritization, and framework-aware delivery tradeoffs.
|
|
11
16
|
|
|
12
|
-
|
|
17
|
+
## When to Use
|
|
13
18
|
|
|
14
|
-
|
|
19
|
+
- Auditing or improving Core Web Vitals and page-load behavior.
|
|
20
|
+
- Investigating slow rendering, hydration cost, bundle growth, or network waterfalls.
|
|
21
|
+
- Prioritizing frontend performance work by measured impact.
|
|
22
|
+
- Reviewing whether framework choices are helping or hurting delivery performance.
|
|
15
23
|
|
|
16
|
-
|
|
17
|
-
"chrome-devtools": {
|
|
18
|
-
"type": "local",
|
|
19
|
-
"command": ["npx", "-y", "chrome-devtools-mcp@latest"]
|
|
20
|
-
}
|
|
21
|
-
```
|
|
24
|
+
## Instructions
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
1. Measure first and identify the user-visible bottleneck.
|
|
27
|
+
2. Separate document, network, bundle, render, and interaction causes.
|
|
28
|
+
3. Fix the highest-impact path before touching low-value micro-optimizations.
|
|
29
|
+
4. Verify the tradeoff does not regress accessibility, caching, or maintainability.
|
|
30
|
+
5. Re-measure and report impact in concrete terms.
|
|
24
31
|
|
|
25
|
-
|
|
26
|
-
- **Verify before recommending**: Confirm something is unused before suggesting removal.
|
|
27
|
-
- **Quantify impact**: Use estimated savings from insights. Don't prioritize changes with 0ms impact.
|
|
28
|
-
- **Skip non-issues**: If render-blocking resources have 0ms estimated impact, note but don't recommend action.
|
|
29
|
-
- **Be specific**: Say "compress hero.png (450KB) to WebP" not "optimize images".
|
|
30
|
-
- **Prioritize ruthlessly**: A site with 200ms LCP and 0 CLS is already excellent—say so.
|
|
32
|
+
### Baseline standards
|
|
31
33
|
|
|
32
|
-
|
|
34
|
+
- Prioritize LCP, INP, and CLS with real bottleneck evidence.
|
|
35
|
+
- Keep critical resources discoverable and cacheable.
|
|
36
|
+
- Reduce hydration and JavaScript cost when server rendering can do the work.
|
|
37
|
+
- Treat bundle size, network order, and rendering behavior as one system.
|
|
38
|
+
- Prefer targeted fixes over generic “optimize everything” advice.
|
|
33
39
|
|
|
34
|
-
|
|
35
|
-
|------|-----------|
|
|
36
|
-
| Load page | `navigate_page(url: "...")` |
|
|
37
|
-
| Start trace | `performance_start_trace(autoStop: true, reload: true)` |
|
|
38
|
-
| Analyze insight | `performance_analyze_insight(insightSetId: "...", insightName: "...")` |
|
|
39
|
-
| List requests | `list_network_requests(resourceTypes: ["Script", "Stylesheet", ...])` |
|
|
40
|
-
| Request details | `get_network_request(reqid: <id>)` |
|
|
41
|
-
| A11y snapshot | `take_snapshot(verbose: true)` |
|
|
40
|
+
### Constraints
|
|
42
41
|
|
|
43
|
-
|
|
42
|
+
- Avoid recommending changes with no measured impact.
|
|
43
|
+
- Avoid fixating on bundle size while ignoring render path or network ordering.
|
|
44
|
+
- Avoid using performance tooling output without codebase context.
|
|
45
|
+
- Avoid trading correctness or accessibility for tiny synthetic wins.
|
|
44
46
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
```
|
|
48
|
-
Audit Progress:
|
|
49
|
-
- [ ] Phase 1: Performance trace (navigate + record)
|
|
50
|
-
- [ ] Phase 2: Core Web Vitals analysis (includes CLS culprits)
|
|
51
|
-
- [ ] Phase 3: Network analysis
|
|
52
|
-
- [ ] Phase 4: Accessibility snapshot
|
|
53
|
-
- [ ] Phase 5: Codebase analysis (skip if third-party site)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Phase 1: Performance Trace
|
|
57
|
-
|
|
58
|
-
1. Navigate to the target URL:
|
|
59
|
-
```
|
|
60
|
-
navigate_page(url: "<target-url>")
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
2. Start a performance trace with reload to capture cold-load metrics:
|
|
64
|
-
```
|
|
65
|
-
performance_start_trace(autoStop: true, reload: true)
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
3. Wait for trace completion, then retrieve results.
|
|
69
|
-
|
|
70
|
-
**Troubleshooting:**
|
|
71
|
-
- If trace returns empty or fails, verify the page loaded correctly with `navigate_page` first
|
|
72
|
-
- If insight names don't match, inspect the trace response to list available insights
|
|
73
|
-
|
|
74
|
-
### Phase 2: Core Web Vitals Analysis
|
|
75
|
-
|
|
76
|
-
Use `performance_analyze_insight` to extract key metrics.
|
|
77
|
-
|
|
78
|
-
**Note:** Insight names may vary across Chrome DevTools versions. If an insight name doesn't work, check the `insightSetId` from the trace response to discover available insights.
|
|
79
|
-
|
|
80
|
-
Common insight names:
|
|
81
|
-
|
|
82
|
-
| Metric | Insight Name | What to Look For |
|
|
83
|
-
|--------|--------------|------------------|
|
|
84
|
-
| LCP | `LCPBreakdown` | Time to largest contentful paint; breakdown of TTFB, resource load, render delay |
|
|
85
|
-
| CLS | `CLSCulprits` | Elements causing layout shifts (images without dimensions, injected content, font swaps) |
|
|
86
|
-
| Render Blocking | `RenderBlocking` | CSS/JS blocking first paint |
|
|
87
|
-
| Document Latency | `DocumentLatency` | Server response time issues |
|
|
88
|
-
| Network Dependencies | `NetworkRequestsDepGraph` | Request chains delaying critical resources |
|
|
89
|
-
|
|
90
|
-
Example:
|
|
91
|
-
```
|
|
92
|
-
performance_analyze_insight(insightSetId: "<id-from-trace>", insightName: "LCPBreakdown")
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
**Key thresholds (good/needs-improvement/poor):**
|
|
96
|
-
- TTFB: < 800ms / < 1.8s / > 1.8s
|
|
97
|
-
- FCP: < 1.8s / < 3s / > 3s
|
|
98
|
-
- LCP: < 2.5s / < 4s / > 4s
|
|
99
|
-
- INP: < 200ms / < 500ms / > 500ms
|
|
100
|
-
- TBT: < 200ms / < 600ms / > 600ms
|
|
101
|
-
- CLS: < 0.1 / < 0.25 / > 0.25
|
|
102
|
-
- Speed Index: < 3.4s / < 5.8s / > 5.8s
|
|
103
|
-
|
|
104
|
-
### Phase 3: Network Analysis
|
|
105
|
-
|
|
106
|
-
List all network requests to identify optimization opportunities:
|
|
107
|
-
```
|
|
108
|
-
list_network_requests(resourceTypes: ["Script", "Stylesheet", "Document", "Font", "Image"])
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**Look for:**
|
|
112
|
-
|
|
113
|
-
1. **Render-blocking resources**: JS/CSS in `<head>` without `async`/`defer`/`media` attributes
|
|
114
|
-
2. **Network chains**: Resources discovered late because they depend on other resources loading first (e.g., CSS imports, JS-loaded fonts)
|
|
115
|
-
3. **Missing preloads**: Critical resources (fonts, hero images, key scripts) not preloaded
|
|
116
|
-
4. **Caching issues**: Missing or weak `Cache-Control`, `ETag`, or `Last-Modified` headers
|
|
117
|
-
5. **Large payloads**: Uncompressed or oversized JS/CSS bundles
|
|
118
|
-
6. **Unused preconnects**: If flagged, verify by checking if ANY requests went to that origin. If zero requests, it's definitively unused—recommend removal. If requests exist but loaded late, the preconnect may still be valuable.
|
|
119
|
-
|
|
120
|
-
For detailed request info:
|
|
121
|
-
```
|
|
122
|
-
get_network_request(reqid: <id>)
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### Phase 4: Accessibility Snapshot
|
|
126
|
-
|
|
127
|
-
Take an accessibility tree snapshot:
|
|
128
|
-
```
|
|
129
|
-
take_snapshot(verbose: true)
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
**Flag high-level gaps:**
|
|
133
|
-
- Missing or duplicate ARIA IDs
|
|
134
|
-
- Elements with poor contrast ratios (check against WCAG AA: 4.5:1 for normal text, 3:1 for large text)
|
|
135
|
-
- Focus traps or missing focus indicators
|
|
136
|
-
- Interactive elements without accessible names
|
|
137
|
-
|
|
138
|
-
## Phase 5: Codebase Analysis
|
|
139
|
-
|
|
140
|
-
**Skip if auditing a third-party site without codebase access.**
|
|
141
|
-
|
|
142
|
-
Analyze the codebase to understand where improvements can be made.
|
|
143
|
-
|
|
144
|
-
### Detect Framework & Bundler
|
|
145
|
-
|
|
146
|
-
Search for configuration files to identify the stack:
|
|
147
|
-
|
|
148
|
-
| Tool | Config Files |
|
|
149
|
-
|------|--------------|
|
|
150
|
-
| Webpack | `webpack.config.js`, `webpack.*.js` |
|
|
151
|
-
| Vite | `vite.config.js`, `vite.config.ts` |
|
|
152
|
-
| Rollup | `rollup.config.js`, `rollup.config.mjs` |
|
|
153
|
-
| esbuild | `esbuild.config.js`, build scripts with `esbuild` |
|
|
154
|
-
| Parcel | `.parcelrc`, `package.json` (parcel field) |
|
|
155
|
-
| Next.js | `next.config.js`, `next.config.mjs` |
|
|
156
|
-
| Nuxt | `nuxt.config.js`, `nuxt.config.ts` |
|
|
157
|
-
| SvelteKit | `svelte.config.js` |
|
|
158
|
-
| Astro | `astro.config.mjs` |
|
|
159
|
-
|
|
160
|
-
Also check `package.json` for framework dependencies and build scripts.
|
|
161
|
-
|
|
162
|
-
### Tree-Shaking & Dead Code
|
|
163
|
-
|
|
164
|
-
- **Webpack**: Check for `mode: 'production'`, `sideEffects` in package.json, `usedExports` optimization
|
|
165
|
-
- **Vite/Rollup**: Tree-shaking enabled by default; check for `treeshake` options
|
|
166
|
-
- **Look for**: Barrel files (`index.js` re-exports), large utility libraries imported wholesale (lodash, moment)
|
|
167
|
-
|
|
168
|
-
### Unused JS/CSS
|
|
47
|
+
## Output Format
|
|
169
48
|
|
|
170
|
-
|
|
171
|
-
- Look for PurgeCSS/UnCSS configuration (Tailwind's `content` config)
|
|
172
|
-
- Identify dynamic imports vs. eager loading
|
|
49
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
173
50
|
|
|
174
|
-
|
|
51
|
+
## References
|
|
175
52
|
|
|
176
|
-
|
|
177
|
-
- Look for `core-js` imports (often oversized)
|
|
178
|
-
- Check `browserslist` config for overly broad targeting
|
|
53
|
+
Load on demand. Do not preload all reference files.
|
|
179
54
|
|
|
180
|
-
|
|
55
|
+
| File | Load when |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| `references/core-web-vitals-triage.md` | You need a stronger playbook for CWV bottleneck isolation, bundle/network/render tradeoffs, and verification after a fix. |
|
|
181
58
|
|
|
182
|
-
|
|
183
|
-
- Look for gzip/brotli compression in build output or server config
|
|
184
|
-
- Check for source maps in production builds (should be external or disabled)
|
|
59
|
+
## Scripts
|
|
185
60
|
|
|
186
|
-
|
|
61
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
187
62
|
|
|
188
|
-
|
|
63
|
+
## Examples
|
|
189
64
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
3. **Recommendations** - Specific, actionable fixes with code snippets or config changes
|
|
193
|
-
4. **Codebase Findings** - Framework/bundler detected, optimization opportunities (omit if no codebase access)
|
|
65
|
+
- "Help me with web perf best practices in this project"
|
|
66
|
+
- "Review my web perf implementation for issues"
|
|
@@ -2,189 +2,68 @@
|
|
|
2
2
|
---
|
|
3
3
|
inclusion: manual
|
|
4
4
|
name: webapp-testing
|
|
5
|
-
description:
|
|
6
|
-
|
|
5
|
+
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."
|
|
6
|
+
license: MIT
|
|
7
|
+
metadata:
|
|
8
|
+
author: cubis-foundry
|
|
9
|
+
version: "1.0"
|
|
10
|
+
compatibility: Claude Code, Codex, GitHub Copilot
|
|
7
11
|
---
|
|
8
12
|
|
|
9
|
-
#
|
|
13
|
+
# Webapp Testing
|
|
10
14
|
|
|
11
|
-
|
|
15
|
+
## Purpose
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
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.
|
|
14
18
|
|
|
15
|
-
|
|
19
|
+
## When to Use
|
|
16
20
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
| | Accessibility check | `python scripts/playwright_runner.py <url> --a11y` |
|
|
21
|
+
- Planning verification depth for a web feature, refactor, bug fix, or release candidate.
|
|
22
|
+
- Choosing what belongs in unit, component, integration, contract, or browser coverage.
|
|
23
|
+
- Reviewing gaps in coverage, flaky suites, or low-signal tests.
|
|
24
|
+
- Auditing whether a frontend or API change has enough evidence to merge safely.
|
|
22
25
|
|
|
23
|
-
|
|
26
|
+
## Instructions
|
|
24
27
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
| Target | How to Find |
|
|
32
|
-
|--------|-------------|
|
|
33
|
-
| Routes | Scan app/, pages/, router files |
|
|
34
|
-
| API endpoints | Grep for HTTP methods |
|
|
35
|
-
| Components | Find component directories |
|
|
36
|
-
| Features | Read documentation |
|
|
37
|
-
|
|
38
|
-
### Systematic Testing
|
|
39
|
-
|
|
40
|
-
1. **Map** - List all routes/APIs
|
|
41
|
-
2. **Scan** - Verify they respond
|
|
42
|
-
3. **Test** - Cover critical paths
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 2. Testing Pyramid for Web
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
/\ E2E (Few)
|
|
50
|
-
/ \ Critical user flows
|
|
51
|
-
/----\
|
|
52
|
-
/ \ Integration (Some)
|
|
53
|
-
/--------\ API, data flow
|
|
54
|
-
/ \
|
|
55
|
-
/------------\ Component (Many)
|
|
56
|
-
Individual UI pieces
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## 3. E2E Test Principles
|
|
62
|
-
|
|
63
|
-
### What to Test
|
|
64
|
-
|
|
65
|
-
| Priority | Tests |
|
|
66
|
-
|----------|-------|
|
|
67
|
-
| 1 | Happy path user flows |
|
|
68
|
-
| 2 | Authentication flows |
|
|
69
|
-
| 3 | Critical business actions |
|
|
70
|
-
| 4 | Error handling |
|
|
71
|
-
|
|
72
|
-
### E2E Best Practices
|
|
73
|
-
|
|
74
|
-
| Practice | Why |
|
|
75
|
-
|----------|-----|
|
|
76
|
-
| Use data-testid | Stable selectors |
|
|
77
|
-
| Wait for elements | Avoid flaky tests |
|
|
78
|
-
| Clean state | Independent tests |
|
|
79
|
-
| Avoid implementation details | Test user behavior |
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
## 4. Playwright Principles
|
|
84
|
-
|
|
85
|
-
### Core Concepts
|
|
86
|
-
|
|
87
|
-
| Concept | Use |
|
|
88
|
-
|---------|-----|
|
|
89
|
-
| Page Object Model | Encapsulate page logic |
|
|
90
|
-
| Fixtures | Reusable test setup |
|
|
91
|
-
| Assertions | Built-in auto-wait |
|
|
92
|
-
| Trace Viewer | Debug failures |
|
|
28
|
+
1. Map the change surface to business risk, user-visible impact, and regression blast radius.
|
|
29
|
+
2. Put the cheapest reliable check at the lowest layer that can prove the behavior.
|
|
30
|
+
3. Add browser coverage only for flows that need cross-layer confidence.
|
|
31
|
+
4. Pair coverage with deterministic fixtures, contract clarity, and failure evidence.
|
|
32
|
+
5. Call out what remains manual, unverified, or risky instead of hiding gaps behind suite size.
|
|
93
33
|
|
|
94
|
-
###
|
|
34
|
+
### Baseline standards
|
|
95
35
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
| Video | retain-on-failure |
|
|
36
|
+
- Test behavior users or dependent systems care about, not implementation trivia.
|
|
37
|
+
- Keep component and integration checks faster and more numerous than browser tests.
|
|
38
|
+
- Include accessibility and error-state coverage in critical paths, not only happy paths.
|
|
39
|
+
- Prefer contract or integration checks for API correctness before adding UI duplication.
|
|
40
|
+
- Treat flaky tests as defects in the product, test, or environment, not a permanent condition.
|
|
102
41
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
## 5. Visual Testing
|
|
106
|
-
|
|
107
|
-
### When to Use
|
|
108
|
-
|
|
109
|
-
| Scenario | Value |
|
|
110
|
-
|----------|-------|
|
|
111
|
-
| Design system | High |
|
|
112
|
-
| Marketing pages | High |
|
|
113
|
-
| Component library | Medium |
|
|
114
|
-
| Dynamic content | Lower |
|
|
115
|
-
|
|
116
|
-
### Strategy
|
|
117
|
-
|
|
118
|
-
- Baseline screenshots
|
|
119
|
-
- Compare on changes
|
|
120
|
-
- Review visual diffs
|
|
121
|
-
- Update intentional changes
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 6. API Testing Principles
|
|
126
|
-
|
|
127
|
-
### Coverage Areas
|
|
128
|
-
|
|
129
|
-
| Area | Tests |
|
|
130
|
-
|------|-------|
|
|
131
|
-
| Status codes | 200, 400, 404, 500 |
|
|
132
|
-
| Response shape | Matches schema |
|
|
133
|
-
| Error messages | User-friendly |
|
|
134
|
-
| Edge cases | Empty, large, special chars |
|
|
42
|
+
### Constraints
|
|
135
43
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
### File Structure
|
|
44
|
+
- Avoid one-size-fits-all coverage targets with no risk model.
|
|
45
|
+
- Avoid using browser tests to compensate for missing contract or unit design.
|
|
46
|
+
- Avoid counting snapshots or shallow assertions as evidence of behavior correctness.
|
|
47
|
+
- Avoid treating manual QA as a substitute for repeatable regression protection on critical paths.
|
|
141
48
|
|
|
142
|
-
|
|
143
|
-
tests/
|
|
144
|
-
├── e2e/ # Full user flows
|
|
145
|
-
├── integration/ # API, data
|
|
146
|
-
├── component/ # UI units
|
|
147
|
-
└── fixtures/ # Shared data
|
|
148
|
-
```
|
|
49
|
+
## Output Format
|
|
149
50
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
| Pattern | Example |
|
|
153
|
-
|---------|---------|
|
|
154
|
-
| Feature-based | `login.spec.ts` |
|
|
155
|
-
| Descriptive | `user-can-checkout.spec.ts` |
|
|
156
|
-
|
|
157
|
-
---
|
|
51
|
+
Provide implementation guidance, code examples, and configuration as appropriate to the task.
|
|
158
52
|
|
|
159
|
-
##
|
|
53
|
+
## References
|
|
160
54
|
|
|
161
|
-
|
|
55
|
+
Load on demand. Do not preload all reference files.
|
|
162
56
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
4. Upload artifacts (traces, screenshots)
|
|
57
|
+
| File | Load when |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| `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. |
|
|
167
60
|
|
|
168
|
-
|
|
61
|
+
## Scripts
|
|
169
62
|
|
|
170
|
-
|
|
171
|
-
|----------|-----|
|
|
172
|
-
| Per file | Playwright default |
|
|
173
|
-
| Sharding | Large suites |
|
|
174
|
-
| Workers | Multiple browsers |
|
|
63
|
+
No helper scripts are required for this skill right now. Keep execution in `SKILL.md` and `references/` unless repeated automation becomes necessary.
|
|
175
64
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
## 9. Anti-Patterns
|
|
179
|
-
|
|
180
|
-
| ❌ Don't | ✅ Do |
|
|
181
|
-
|----------|-------|
|
|
182
|
-
| Test implementation | Test behavior |
|
|
183
|
-
| Hardcode waits | Use auto-wait |
|
|
184
|
-
| Skip cleanup | Isolate tests |
|
|
185
|
-
| Ignore flaky tests | Fix root cause |
|
|
186
|
-
|
|
187
|
-
---
|
|
65
|
+
## Examples
|
|
188
66
|
|
|
189
|
-
|
|
67
|
+
- "Help me with webapp testing best practices in this project"
|
|
68
|
+
- "Review my webapp testing implementation for issues"
|
|
190
69
|
````
|