agent-skill-kit 3.9.135
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/.agent/global.d.ts +80 -0
- package/.agent/rules/GEMINI.md +210 -0
- package/.agent/rules/autopilot.md +287 -0
- package/.agent/rules/code-rules.md +227 -0
- package/.agent/scripts/audit_workflows.ts +23 -0
- package/.agent/scripts/auto_preview.ts +170 -0
- package/.agent/scripts/checklist.ts +180 -0
- package/.agent/scripts/compile-agents.ts +237 -0
- package/.agent/scripts/fix_skills.ts +49 -0
- package/.agent/scripts/session_manager.ts +222 -0
- package/.agent/scripts/skill-audit.ts +255 -0
- package/.agent/scripts/sync_workflows.ts +54 -0
- package/.agent/scripts/utils/colors.ts +58 -0
- package/.agent/scripts/utils/process-manager.ts +131 -0
- package/.agent/scripts/utils/reporter.ts +192 -0
- package/.agent/scripts/utils/runner.ts +128 -0
- package/.agent/scripts/verify_all.ts +243 -0
- package/.agent/scripts/version-sync.ts +256 -0
- package/.agent/skills/SKILL_INDEX.md +129 -0
- package/.agent/skills/agent-browser/AGENTS.md +728 -0
- package/.agent/skills/agent-browser/SKILL.md +193 -0
- package/.agent/skills/agent-browser/rules/_sections.md +15 -0
- package/.agent/skills/agent-browser/rules/_template.md +32 -0
- package/.agent/skills/agent-browser/rules/engineering-spec.md +528 -0
- package/.agent/skills/agent-browser/scripts/browser_cli.ts +52 -0
- package/.agent/skills/agent-browser/scripts/session_manager.ts +166 -0
- package/.agent/skills/ai-artist/AGENTS.md +1082 -0
- package/.agent/skills/ai-artist/SKILL.md +186 -0
- package/.agent/skills/ai-artist/rules/_sections.md +30 -0
- package/.agent/skills/ai-artist/rules/_template.md +32 -0
- package/.agent/skills/ai-artist/rules/domain-code.md +118 -0
- package/.agent/skills/ai-artist/rules/domain-marketing.md +105 -0
- package/.agent/skills/ai-artist/rules/engineering-spec.md +519 -0
- package/.agent/skills/ai-artist/rules/image-prompts.md +195 -0
- package/.agent/skills/ai-artist/rules/model-syntax.md +115 -0
- package/.agent/skills/ai-artist/scripts/prompt_compiler.ts +72 -0
- package/.agent/skills/ai-artist/templates/image-core.txt +1 -0
- package/.agent/skills/ai-artist/templates/llm-core.txt +6 -0
- package/.agent/skills/api-architect/AGENTS.md +1896 -0
- package/.agent/skills/api-architect/SKILL.md +173 -0
- package/.agent/skills/api-architect/rules/_sections.md +35 -0
- package/.agent/skills/api-architect/rules/_template.md +32 -0
- package/.agent/skills/api-architect/rules/api-style.md +115 -0
- package/.agent/skills/api-architect/rules/auth.md +134 -0
- package/.agent/skills/api-architect/rules/documentation.md +131 -0
- package/.agent/skills/api-architect/rules/engineering-spec.md +505 -0
- package/.agent/skills/api-architect/rules/graphql.md +154 -0
- package/.agent/skills/api-architect/rules/rate-limiting.md +76 -0
- package/.agent/skills/api-architect/rules/response.md +138 -0
- package/.agent/skills/api-architect/rules/rest.md +113 -0
- package/.agent/skills/api-architect/rules/security-testing.md +146 -0
- package/.agent/skills/api-architect/rules/trpc.md +129 -0
- package/.agent/skills/api-architect/rules/versioning.md +100 -0
- package/.agent/skills/api-architect/scripts/api_validator.ts +413 -0
- package/.agent/skills/auth-patterns/AGENTS.md +1830 -0
- package/.agent/skills/auth-patterns/SKILL.md +163 -0
- package/.agent/skills/auth-patterns/rules/_sections.md +30 -0
- package/.agent/skills/auth-patterns/rules/_template.md +32 -0
- package/.agent/skills/auth-patterns/rules/engineering-spec.md +515 -0
- package/.agent/skills/auth-patterns/rules/jwt-deep.md +196 -0
- package/.agent/skills/auth-patterns/rules/mfa.md +174 -0
- package/.agent/skills/auth-patterns/rules/oauth2.md +134 -0
- package/.agent/skills/auth-patterns/rules/passkey.md +243 -0
- package/.agent/skills/auth-patterns/rules/rbac-abac.md +206 -0
- package/.agent/skills/auth-patterns/rules/session.md +183 -0
- package/.agent/skills/auth-patterns/scripts/auth_validator.ts +121 -0
- package/.agent/skills/chrome-devtools/AGENTS.md +952 -0
- package/.agent/skills/chrome-devtools/SKILL.md +160 -0
- package/.agent/skills/chrome-devtools/rules/_sections.md +25 -0
- package/.agent/skills/chrome-devtools/rules/_template.md +32 -0
- package/.agent/skills/chrome-devtools/rules/aria-snapshot.md +95 -0
- package/.agent/skills/chrome-devtools/rules/engineering-spec.md +510 -0
- package/.agent/skills/chrome-devtools/rules/scripts-guide.md +174 -0
- package/.agent/skills/chrome-devtools/scripts/aria-snapshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/click.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/console.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/core_cli.ts +79 -0
- package/.agent/skills/chrome-devtools/scripts/evaluate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/fill.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/navigate.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/network.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/performance.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/screenshot.ts +3 -0
- package/.agent/skills/chrome-devtools/scripts/select-ref.ts +3 -0
- package/.agent/skills/cicd-pipeline/AGENTS.md +809 -0
- package/.agent/skills/cicd-pipeline/SKILL.md +164 -0
- package/.agent/skills/cicd-pipeline/rules/_sections.md +15 -0
- package/.agent/skills/cicd-pipeline/rules/_template.md +32 -0
- package/.agent/skills/cicd-pipeline/rules/engineering-spec.md +477 -0
- package/.agent/skills/cicd-pipeline/scripts/flag-manager.ts +253 -0
- package/.agent/skills/cicd-pipeline/scripts/pipeline_validator.ts +133 -0
- package/.agent/skills/code-constitution/AGENTS.md +597 -0
- package/.agent/skills/code-constitution/CHANGELOG.md +216 -0
- package/.agent/skills/code-constitution/SKILL.md +191 -0
- package/.agent/skills/code-constitution/VERSION +3 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/after.tsx +59 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/before.tsx +42 -0
- package/.agent/skills/code-constitution/examples/violation-backend-mutation/explanation.md +91 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/after.tsx +99 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/before.tsx +57 -0
- package/.agent/skills/code-constitution/examples/violation-chart-injection/explanation.md +120 -0
- package/.agent/skills/code-constitution/knowledge/lessons-learned.yaml +3 -0
- package/.agent/skills/code-constitution/metadata/precedence.yaml +117 -0
- package/.agent/skills/code-constitution/metadata/scope-map.yaml +156 -0
- package/.agent/skills/code-constitution/proposals/v1.1-change-proposal-template.md +201 -0
- package/.agent/skills/code-constitution/resources/AUTHORITY_MODEL.md +115 -0
- package/.agent/skills/code-constitution/resources/ENFORCEMENT_GUIDE.md +246 -0
- package/.agent/skills/code-constitution/resources/LOAD_ORDER.md +86 -0
- package/.agent/skills/code-constitution/rules/_sections.md +15 -0
- package/.agent/skills/code-constitution/rules/_template.md +32 -0
- package/.agent/skills/code-constitution/rules/constitution/master-constitution.md +210 -0
- package/.agent/skills/code-constitution/rules/doctrines/architecture/architecture-doctrine.md +188 -0
- package/.agent/skills/code-constitution/rules/doctrines/backend/backend-data-engine-doctrine.md +218 -0
- package/.agent/skills/code-constitution/rules/doctrines/commercial/commercial-guardrails-doctrine.md +196 -0
- package/.agent/skills/code-constitution/rules/doctrines/data/data-integrity-doctrine.md +202 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/frontend-mobile-doctrine.md +169 -0
- package/.agent/skills/code-constitution/rules/doctrines/frontend/interaction-patterns-doctrine.md +176 -0
- package/.agent/skills/code-constitution/rules/doctrines/learning/learning-engine-doctrine.md +192 -0
- package/.agent/skills/code-constitution/rules/doctrines/performance/performance-doctrine.md +180 -0
- package/.agent/skills/code-constitution/rules/doctrines/review/code-review-doctrine.md +174 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-enforcement-protocol.md +218 -0
- package/.agent/skills/code-constitution/rules/enforcement/agents/agent-system-prompt.md +196 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/backend-api-review-checklist.md +131 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/chart-component-review-checklist.md +147 -0
- package/.agent/skills/code-constitution/rules/enforcement/checklists/frontend-review-checklist.md +194 -0
- package/.agent/skills/code-constitution/rules/enforcement/playbooks/doctrine-violation-playbook.md +236 -0
- package/.agent/skills/code-constitution/rules/engineering-spec.md +561 -0
- package/.agent/skills/code-constitution/scripts/audit_pr.ts +219 -0
- package/.agent/skills/code-constitution/scripts/check_boundaries.ts +134 -0
- package/.agent/skills/code-constitution/scripts/learn.ts +202 -0
- package/.agent/skills/code-constitution/scripts/validate_doctrine.ts +287 -0
- package/.agent/skills/code-craft/AGENTS.md +803 -0
- package/.agent/skills/code-craft/SKILL.md +170 -0
- package/.agent/skills/code-craft/rules/_sections.md +20 -0
- package/.agent/skills/code-craft/rules/_template.md +32 -0
- package/.agent/skills/code-craft/rules/engineering-spec.md +447 -0
- package/.agent/skills/code-craft/rules/verification-scripts.md +83 -0
- package/.agent/skills/code-craft/scripts/code_quality_checker.ts +193 -0
- package/.agent/skills/code-review/AGENTS.md +1664 -0
- package/.agent/skills/code-review/SKILL.md +152 -0
- package/.agent/skills/code-review/rules/_sections.md +15 -0
- package/.agent/skills/code-review/rules/_template.md +32 -0
- package/.agent/skills/code-review/rules/engineering-spec.md +466 -0
- package/.agent/skills/code-review/scripts/lint_runner.ts +213 -0
- package/.agent/skills/code-review/scripts/type_coverage.ts +118 -0
- package/.agent/skills/context-engineering/AGENTS.md +499 -0
- package/.agent/skills/context-engineering/SKILL.md +147 -0
- package/.agent/skills/context-engineering/rules/_sections.md +15 -0
- package/.agent/skills/context-engineering/rules/_template.md +32 -0
- package/.agent/skills/context-engineering/rules/engineering-spec.md +463 -0
- package/.agent/skills/context-engineering/scripts/context_analyzer.ts +127 -0
- package/.agent/skills/copywriting/AGENTS.md +501 -0
- package/.agent/skills/copywriting/SKILL.md +188 -0
- package/.agent/skills/copywriting/rules/_sections.md +15 -0
- package/.agent/skills/copywriting/rules/_template.md +32 -0
- package/.agent/skills/copywriting/rules/engineering-spec.md +465 -0
- package/.agent/skills/copywriting/scripts/copy_validator.ts +185 -0
- package/.agent/skills/data-modeler/AGENTS.md +814 -0
- package/.agent/skills/data-modeler/SKILL.md +195 -0
- package/.agent/skills/data-modeler/rules/_sections.md +15 -0
- package/.agent/skills/data-modeler/rules/_template.md +32 -0
- package/.agent/skills/data-modeler/rules/database-selection.md +124 -0
- package/.agent/skills/data-modeler/rules/engineering-spec.md +479 -0
- package/.agent/skills/data-modeler/rules/indexing.md +166 -0
- package/.agent/skills/data-modeler/rules/migrations.md +176 -0
- package/.agent/skills/data-modeler/rules/optimization.md +161 -0
- package/.agent/skills/data-modeler/rules/orm-selection.md +155 -0
- package/.agent/skills/data-modeler/rules/schema-design.md +162 -0
- package/.agent/skills/data-modeler/scripts/schema_validator.ts +357 -0
- package/.agent/skills/debug-pro/AGENTS.md +798 -0
- package/.agent/skills/debug-pro/SKILL.md +193 -0
- package/.agent/skills/debug-pro/defense-in-depth/SKILL.md +148 -0
- package/.agent/skills/debug-pro/root-cause-tracing/SKILL.md +196 -0
- package/.agent/skills/debug-pro/root-cause-tracing/find-polluter.sh +63 -0
- package/.agent/skills/debug-pro/rules/_sections.md +15 -0
- package/.agent/skills/debug-pro/rules/_template.md +32 -0
- package/.agent/skills/debug-pro/rules/engineering-spec.md +491 -0
- package/.agent/skills/debug-pro/scripts/debug_verifier.ts +148 -0
- package/.agent/skills/debug-pro/verification-before-completion/SKILL.md +160 -0
- package/.agent/skills/design-system/AGENTS.md +4216 -0
- package/.agent/skills/design-system/SKILL.md +186 -0
- package/.agent/skills/design-system/rules/_sections.md +65 -0
- package/.agent/skills/design-system/rules/_template.md +32 -0
- package/.agent/skills/design-system/rules/animation-guide.md +355 -0
- package/.agent/skills/design-system/rules/color-system.md +335 -0
- package/.agent/skills/design-system/rules/color-systems.md +133 -0
- package/.agent/skills/design-system/rules/decision-trees.md +442 -0
- package/.agent/skills/design-system/rules/design-extraction.md +152 -0
- package/.agent/skills/design-system/rules/engineering-spec.md +484 -0
- package/.agent/skills/design-system/rules/motion-design.md +161 -0
- package/.agent/skills/design-system/rules/motion-graphics.md +330 -0
- package/.agent/skills/design-system/rules/spatial-composition.md +184 -0
- package/.agent/skills/design-system/rules/typography-system.md +369 -0
- package/.agent/skills/design-system/rules/typography.md +124 -0
- package/.agent/skills/design-system/rules/ux-psychology.md +565 -0
- package/.agent/skills/design-system/rules/visual-effects.md +407 -0
- package/.agent/skills/design-system/scripts/accessibility_checker.ts +292 -0
- package/.agent/skills/design-system/scripts/ux_audit.ts +356 -0
- package/.agent/skills/doc-templates/AGENTS.md +820 -0
- package/.agent/skills/doc-templates/SKILL.md +260 -0
- package/.agent/skills/doc-templates/rules/_sections.md +20 -0
- package/.agent/skills/doc-templates/rules/_template.md +32 -0
- package/.agent/skills/doc-templates/rules/doc.md +355 -0
- package/.agent/skills/doc-templates/rules/engineering-spec.md +422 -0
- package/.agent/skills/doc-templates/scripts/editor-server.ts +162 -0
- package/.agent/skills/doc-templates/scripts/inject_otel.ts +22 -0
- package/.agent/skills/doc-templates/scripts/kanban-server.ts +171 -0
- package/.agent/skills/doc-templates/scripts/markdown-server.ts +185 -0
- package/.agent/skills/e2e-automation/AGENTS.md +882 -0
- package/.agent/skills/e2e-automation/SKILL.md +175 -0
- package/.agent/skills/e2e-automation/rules/_sections.md +20 -0
- package/.agent/skills/e2e-automation/rules/_template.md +32 -0
- package/.agent/skills/e2e-automation/rules/aria-snapshot.md +185 -0
- package/.agent/skills/e2e-automation/rules/engineering-spec.md +501 -0
- package/.agent/skills/e2e-automation/scripts/playwright_runner.ts +208 -0
- package/.agent/skills/execution-reporter/AGENTS.md +419 -0
- package/.agent/skills/execution-reporter/SKILL.md +152 -0
- package/.agent/skills/execution-reporter/rules/_sections.md +15 -0
- package/.agent/skills/execution-reporter/rules/_template.md +32 -0
- package/.agent/skills/execution-reporter/rules/engineering-spec.md +389 -0
- package/.agent/skills/game-development/2d-games/SKILL.md +140 -0
- package/.agent/skills/game-development/3d-games/SKILL.md +156 -0
- package/.agent/skills/game-development/AGENTS.md +783 -0
- package/.agent/skills/game-development/SKILL.md +178 -0
- package/.agent/skills/game-development/game-art/SKILL.md +207 -0
- package/.agent/skills/game-development/game-audio/SKILL.md +211 -0
- package/.agent/skills/game-development/game-design/SKILL.md +151 -0
- package/.agent/skills/game-development/mobile-games/SKILL.md +130 -0
- package/.agent/skills/game-development/multiplayer/SKILL.md +154 -0
- package/.agent/skills/game-development/pc-games/SKILL.md +167 -0
- package/.agent/skills/game-development/rules/_sections.md +15 -0
- package/.agent/skills/game-development/rules/_template.md +32 -0
- package/.agent/skills/game-development/rules/engineering-spec.md +480 -0
- package/.agent/skills/game-development/vr-ar/SKILL.md +144 -0
- package/.agent/skills/game-development/web-games/SKILL.md +173 -0
- package/.agent/skills/git-workflow/AGENTS.md +554 -0
- package/.agent/skills/git-workflow/SKILL.md +181 -0
- package/.agent/skills/git-workflow/rules/_sections.md +15 -0
- package/.agent/skills/git-workflow/rules/_template.md +32 -0
- package/.agent/skills/git-workflow/rules/engineering-spec.md +518 -0
- package/.agent/skills/gitops/AGENTS.md +921 -0
- package/.agent/skills/gitops/SKILL.md +163 -0
- package/.agent/skills/gitops/rules/_sections.md +25 -0
- package/.agent/skills/gitops/rules/_template.md +32 -0
- package/.agent/skills/gitops/rules/argocd-setup.md +148 -0
- package/.agent/skills/gitops/rules/engineering-spec.md +450 -0
- package/.agent/skills/gitops/rules/sync-policies.md +145 -0
- package/.agent/skills/google-adk-python/AGENTS.md +1054 -0
- package/.agent/skills/google-adk-python/SKILL.md +168 -0
- package/.agent/skills/google-adk-python/rules/_sections.md +25 -0
- package/.agent/skills/google-adk-python/rules/_template.md +32 -0
- package/.agent/skills/google-adk-python/rules/deployment.md +138 -0
- package/.agent/skills/google-adk-python/rules/engineering-spec.md +451 -0
- package/.agent/skills/google-adk-python/rules/multi-agent.md +146 -0
- package/.agent/skills/google-adk-python/rules/tools.md +131 -0
- package/.agent/skills/idea-storm/AGENTS.md +995 -0
- package/.agent/skills/idea-storm/SKILL.md +160 -0
- package/.agent/skills/idea-storm/rules/_sections.md +25 -0
- package/.agent/skills/idea-storm/rules/_template.md +32 -0
- package/.agent/skills/idea-storm/rules/architecture-debate.md +122 -0
- package/.agent/skills/idea-storm/rules/dynamic-questioning.md +374 -0
- package/.agent/skills/idea-storm/rules/engineering-spec.md +466 -0
- package/.agent/skills/knowledge-compiler/SKILL.md +320 -0
- package/.agent/skills/knowledge-graph/AGENTS.md +762 -0
- package/.agent/skills/knowledge-graph/SKILL.md +157 -0
- package/.agent/skills/knowledge-graph/rules/_sections.md +15 -0
- package/.agent/skills/knowledge-graph/rules/_template.md +32 -0
- package/.agent/skills/knowledge-graph/rules/engineering-spec.md +439 -0
- package/.agent/skills/knowledge-linter/SKILL.md +217 -0
- package/.agent/skills/lifecycle-orchestrator/AGENTS.md +989 -0
- package/.agent/skills/lifecycle-orchestrator/SKILL.md +169 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_sections.md +15 -0
- package/.agent/skills/lifecycle-orchestrator/rules/_template.md +32 -0
- package/.agent/skills/lifecycle-orchestrator/rules/engineering-spec.md +525 -0
- package/.agent/skills/lifecycle-orchestrator/scripts/state_manager.ts +189 -0
- package/.agent/skills/mcp-builder/AGENTS.md +1653 -0
- package/.agent/skills/mcp-builder/SKILL.md +166 -0
- package/.agent/skills/mcp-builder/rules/_sections.md +40 -0
- package/.agent/skills/mcp-builder/rules/_template.md +32 -0
- package/.agent/skills/mcp-builder/rules/best-practices.md +157 -0
- package/.agent/skills/mcp-builder/rules/design-principles.md +105 -0
- package/.agent/skills/mcp-builder/rules/engineering-spec.md +473 -0
- package/.agent/skills/mcp-builder/rules/evaluation.md +103 -0
- package/.agent/skills/mcp-builder/rules/python-implementation.md +249 -0
- package/.agent/skills/mcp-builder/rules/quickstart.md +111 -0
- package/.agent/skills/mcp-builder/rules/typescript-implementation.md +280 -0
- package/.agent/skills/mcp-management/AGENTS.md +837 -0
- package/.agent/skills/mcp-management/SKILL.md +164 -0
- package/.agent/skills/mcp-management/rules/_sections.md +25 -0
- package/.agent/skills/mcp-management/rules/_template.md +32 -0
- package/.agent/skills/mcp-management/rules/cli-usage.md +146 -0
- package/.agent/skills/mcp-management/rules/engineering-spec.md +501 -0
- package/.agent/skills/mcp-management/rules/protocol.md +159 -0
- package/.agent/skills/media-processing/AGENTS.md +479 -0
- package/.agent/skills/media-processing/SKILL.md +176 -0
- package/.agent/skills/media-processing/rules/_sections.md +15 -0
- package/.agent/skills/media-processing/rules/_template.md +32 -0
- package/.agent/skills/media-processing/rules/engineering-spec.md +452 -0
- package/.agent/skills/media-processing/scripts/convert-video.ts +155 -0
- package/.agent/skills/media-processing/scripts/optimize-image.ts +127 -0
- package/.agent/skills/mobile-design/AGENTS.md +6531 -0
- package/.agent/skills/mobile-design/SKILL.md +165 -0
- package/.agent/skills/mobile-design/rules/_sections.md +45 -0
- package/.agent/skills/mobile-design/rules/_template.md +32 -0
- package/.agent/skills/mobile-design/rules/decision-trees.md +540 -0
- package/.agent/skills/mobile-design/rules/engineering-spec.md +467 -0
- package/.agent/skills/mobile-design/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-design/rules/mobile-color-system.md +436 -0
- package/.agent/skills/mobile-design/rules/mobile-debugging.md +146 -0
- package/.agent/skills/mobile-design/rules/mobile-design-thinking.md +381 -0
- package/.agent/skills/mobile-design/rules/mobile-navigation.md +474 -0
- package/.agent/skills/mobile-design/rules/mobile-performance.md +783 -0
- package/.agent/skills/mobile-design/rules/mobile-testing.md +380 -0
- package/.agent/skills/mobile-design/rules/mobile-typography.md +449 -0
- package/.agent/skills/mobile-design/rules/platform-android.md +682 -0
- package/.agent/skills/mobile-design/rules/platform-ios.md +577 -0
- package/.agent/skills/mobile-design/rules/touch-psychology.md +553 -0
- package/.agent/skills/mobile-design/scripts/mobile_audit.ts +309 -0
- package/.agent/skills/mobile-developer/AGENTS.md +904 -0
- package/.agent/skills/mobile-developer/SKILL.md +194 -0
- package/.agent/skills/mobile-developer/rules/_sections.md +75 -0
- package/.agent/skills/mobile-developer/rules/_template.md +32 -0
- package/.agent/skills/mobile-developer/rules/anti-patterns.md +70 -0
- package/.agent/skills/mobile-developer/rules/app-store-optimization.md +319 -0
- package/.agent/skills/mobile-developer/rules/decision-trees.md +545 -0
- package/.agent/skills/mobile-developer/rules/deep-linking.md +441 -0
- package/.agent/skills/mobile-developer/rules/engineering-spec.md +477 -0
- package/.agent/skills/mobile-developer/rules/flutter.md +475 -0
- package/.agent/skills/mobile-developer/rules/mobile-backend.md +516 -0
- package/.agent/skills/mobile-developer/rules/mobile-color-system.md +444 -0
- package/.agent/skills/mobile-developer/rules/mobile-debugging.md +428 -0
- package/.agent/skills/mobile-developer/rules/mobile-design-thinking.md +367 -0
- package/.agent/skills/mobile-developer/rules/mobile-navigation.md +483 -0
- package/.agent/skills/mobile-developer/rules/mobile-performance.md +778 -0
- package/.agent/skills/mobile-developer/rules/mobile-testing.md +382 -0
- package/.agent/skills/mobile-developer/rules/mobile-typography.md +457 -0
- package/.agent/skills/mobile-developer/rules/native.md +572 -0
- package/.agent/skills/mobile-developer/rules/platform-android.md +676 -0
- package/.agent/skills/mobile-developer/rules/platform-ios.md +571 -0
- package/.agent/skills/mobile-developer/rules/push-notifications.md +599 -0
- package/.agent/skills/mobile-developer/rules/react-native.md +422 -0
- package/.agent/skills/mobile-developer/rules/touch-psychology.md +547 -0
- package/.agent/skills/mobile-developer/scripts/mobile_audit.ts +701 -0
- package/.agent/skills/nextjs-pro/AGENTS.md +3932 -0
- package/.agent/skills/nextjs-pro/SKILL.md +171 -0
- package/.agent/skills/nextjs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nextjs-pro/rules/_template.md +32 -0
- package/.agent/skills/nextjs-pro/rules/advanced-event-handler-refs.md +59 -0
- package/.agent/skills/nextjs-pro/rules/advanced-init-once.md +46 -0
- package/.agent/skills/nextjs-pro/rules/advanced-use-latest.md +43 -0
- package/.agent/skills/nextjs-pro/rules/async-api-routes.md +42 -0
- package/.agent/skills/nextjs-pro/rules/async-defer-await.md +84 -0
- package/.agent/skills/nextjs-pro/rules/async-dependencies.md +55 -0
- package/.agent/skills/nextjs-pro/rules/async-parallel.md +32 -0
- package/.agent/skills/nextjs-pro/rules/async-suspense-boundaries.md +103 -0
- package/.agent/skills/nextjs-pro/rules/bundle-barrel-imports.md +63 -0
- package/.agent/skills/nextjs-pro/rules/bundle-conditional.md +35 -0
- package/.agent/skills/nextjs-pro/rules/bundle-defer-third-party.md +53 -0
- package/.agent/skills/nextjs-pro/rules/bundle-dynamic-imports.md +39 -0
- package/.agent/skills/nextjs-pro/rules/bundle-preload.md +54 -0
- package/.agent/skills/nextjs-pro/rules/client-event-listeners.md +78 -0
- package/.agent/skills/nextjs-pro/rules/client-localstorage-schema.md +75 -0
- package/.agent/skills/nextjs-pro/rules/client-passive-event-listeners.md +52 -0
- package/.agent/skills/nextjs-pro/rules/client-swr-dedup.md +60 -0
- package/.agent/skills/nextjs-pro/rules/engineering-spec.md +440 -0
- package/.agent/skills/nextjs-pro/rules/js-batch-dom-css.md +111 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-function-results.md +84 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-property-access.md +32 -0
- package/.agent/skills/nextjs-pro/rules/js-cache-storage.md +74 -0
- package/.agent/skills/nextjs-pro/rules/js-combine-iterations.md +36 -0
- package/.agent/skills/nextjs-pro/rules/js-early-exit.md +54 -0
- package/.agent/skills/nextjs-pro/rules/js-hoist-regexp.md +49 -0
- package/.agent/skills/nextjs-pro/rules/js-index-maps.md +41 -0
- package/.agent/skills/nextjs-pro/rules/js-length-check-first.md +53 -0
- package/.agent/skills/nextjs-pro/rules/js-min-max-loop.md +86 -0
- package/.agent/skills/nextjs-pro/rules/js-set-map-lookups.md +28 -0
- package/.agent/skills/nextjs-pro/rules/js-tosorted-immutable.md +61 -0
- package/.agent/skills/nextjs-pro/rules/rendering-activity.md +30 -0
- package/.agent/skills/nextjs-pro/rules/rendering-animate-svg-wrapper.md +51 -0
- package/.agent/skills/nextjs-pro/rules/rendering-conditional-render.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rendering-content-visibility.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hoist-jsx.md +50 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-no-flicker.md +86 -0
- package/.agent/skills/nextjs-pro/rules/rendering-hydration-suppress-warning.md +34 -0
- package/.agent/skills/nextjs-pro/rules/rendering-svg-precision.md +32 -0
- package/.agent/skills/nextjs-pro/rules/rendering-usetransition-loading.md +79 -0
- package/.agent/skills/nextjs-pro/rules/rerender-defer-reads.md +43 -0
- package/.agent/skills/nextjs-pro/rules/rerender-dependencies.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state-no-effect.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-derived-state.md +33 -0
- package/.agent/skills/nextjs-pro/rules/rerender-functional-setstate.md +78 -0
- package/.agent/skills/nextjs-pro/rules/rerender-lazy-state-init.md +62 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo-with-default-value.md +42 -0
- package/.agent/skills/nextjs-pro/rules/rerender-memo.md +48 -0
- package/.agent/skills/nextjs-pro/rules/rerender-move-effect-to-event.md +49 -0
- package/.agent/skills/nextjs-pro/rules/rerender-simple-expression-in-memo.md +39 -0
- package/.agent/skills/nextjs-pro/rules/rerender-transitions.md +44 -0
- package/.agent/skills/nextjs-pro/rules/rerender-use-ref-transient-values.md +77 -0
- package/.agent/skills/nextjs-pro/rules/schema.json +34 -0
- package/.agent/skills/nextjs-pro/rules/server-after-nonblocking.md +77 -0
- package/.agent/skills/nextjs-pro/rules/server-auth-actions.md +100 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-lru.md +45 -0
- package/.agent/skills/nextjs-pro/rules/server-cache-react.md +80 -0
- package/.agent/skills/nextjs-pro/rules/server-dedup-props.md +69 -0
- package/.agent/skills/nextjs-pro/rules/server-parallel-fetching.md +87 -0
- package/.agent/skills/nextjs-pro/rules/server-serialization.md +42 -0
- package/.agent/skills/nodejs-pro/AGENTS.md +866 -0
- package/.agent/skills/nodejs-pro/SKILL.md +172 -0
- package/.agent/skills/nodejs-pro/rules/_sections.md +50 -0
- package/.agent/skills/nodejs-pro/rules/_template.md +32 -0
- package/.agent/skills/nodejs-pro/rules/architecture-patterns.md +229 -0
- package/.agent/skills/nodejs-pro/rules/async-patterns.md +246 -0
- package/.agent/skills/nodejs-pro/rules/engineering-spec.md +438 -0
- package/.agent/skills/nodejs-pro/rules/error-handling.md +257 -0
- package/.agent/skills/nodejs-pro/rules/framework-selection.md +220 -0
- package/.agent/skills/nodejs-pro/rules/runtime-modules.md +176 -0
- package/.agent/skills/nodejs-pro/rules/testing-strategy.md +266 -0
- package/.agent/skills/nodejs-pro/rules/validation-security.md +205 -0
- package/.agent/skills/observability/AGENTS.md +607 -0
- package/.agent/skills/observability/SKILL.md +178 -0
- package/.agent/skills/observability/rules/_sections.md +15 -0
- package/.agent/skills/observability/rules/_template.md +32 -0
- package/.agent/skills/observability/rules/engineering-spec.md +440 -0
- package/.agent/skills/offensive-sec/AGENTS.md +849 -0
- package/.agent/skills/offensive-sec/SKILL.md +191 -0
- package/.agent/skills/offensive-sec/rules/_sections.md +15 -0
- package/.agent/skills/offensive-sec/rules/_template.md +32 -0
- package/.agent/skills/offensive-sec/rules/engineering-spec.md +470 -0
- package/.agent/skills/perf-optimizer/AGENTS.md +870 -0
- package/.agent/skills/perf-optimizer/SKILL.md +189 -0
- package/.agent/skills/perf-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/perf-optimizer/rules/_template.md +32 -0
- package/.agent/skills/perf-optimizer/rules/backend-patterns.md +312 -0
- package/.agent/skills/perf-optimizer/rules/engineering-spec.md +428 -0
- package/.agent/skills/perf-optimizer/scripts/lighthouse_audit.ts +201 -0
- package/.agent/skills/problem-checker/AGENTS.md +519 -0
- package/.agent/skills/problem-checker/SKILL.md +189 -0
- package/.agent/skills/problem-checker/rules/_sections.md +15 -0
- package/.agent/skills/problem-checker/rules/_template.md +32 -0
- package/.agent/skills/problem-checker/rules/engineering-spec.md +483 -0
- package/.agent/skills/problem-checker/scripts/check_problems.ts +396 -0
- package/.agent/skills/project-planner/AGENTS.md +2698 -0
- package/.agent/skills/project-planner/SKILL.md +166 -0
- package/.agent/skills/project-planner/rules/_sections.md +15 -0
- package/.agent/skills/project-planner/rules/_template.md +32 -0
- package/.agent/skills/project-planner/rules/engineering-spec.md +420 -0
- package/.agent/skills/python-pro/AGENTS.md +1871 -0
- package/.agent/skills/python-pro/SKILL.md +182 -0
- package/.agent/skills/python-pro/rules/_sections.md +50 -0
- package/.agent/skills/python-pro/rules/_template.md +32 -0
- package/.agent/skills/python-pro/rules/async-patterns.md +168 -0
- package/.agent/skills/python-pro/rules/django-patterns.md +194 -0
- package/.agent/skills/python-pro/rules/engineering-spec.md +442 -0
- package/.agent/skills/python-pro/rules/fastapi-patterns.md +179 -0
- package/.agent/skills/python-pro/rules/framework-selection.md +167 -0
- package/.agent/skills/python-pro/rules/project-structure.md +181 -0
- package/.agent/skills/python-pro/rules/testing-patterns.md +212 -0
- package/.agent/skills/python-pro/rules/type-hints.md +159 -0
- package/.agent/skills/react-pro/AGENTS.md +963 -0
- package/.agent/skills/react-pro/SKILL.md +232 -0
- package/.agent/skills/react-pro/rules/_sections.md +40 -0
- package/.agent/skills/react-pro/rules/_template.md +32 -0
- package/.agent/skills/react-pro/rules/component-patterns.md +145 -0
- package/.agent/skills/react-pro/rules/composition-compound.md +82 -0
- package/.agent/skills/react-pro/rules/data-fetching.md +133 -0
- package/.agent/skills/react-pro/rules/engineering-spec.md +453 -0
- package/.agent/skills/react-pro/rules/error-boundary.md +61 -0
- package/.agent/skills/react-pro/rules/file-organization.md +158 -0
- package/.agent/skills/react-pro/rules/hooks-custom.md +61 -0
- package/.agent/skills/react-pro/rules/mui-styling.md +138 -0
- package/.agent/skills/react-pro/rules/patterns.md +24 -0
- package/.agent/skills/react-pro/rules/performance-optimization.md +65 -0
- package/.agent/skills/react-pro/rules/performance.md +137 -0
- package/.agent/skills/react-pro/rules/react19-hooks.md +85 -0
- package/.agent/skills/react-pro/rules/state-management.md +90 -0
- package/.agent/skills/react-pro/rules/testing-patterns.md +52 -0
- package/.agent/skills/registry.json +1251 -0
- package/.agent/skills/security-scanner/AGENTS.md +851 -0
- package/.agent/skills/security-scanner/SKILL.md +182 -0
- package/.agent/skills/security-scanner/rules/_sections.md +15 -0
- package/.agent/skills/security-scanner/rules/_template.md +32 -0
- package/.agent/skills/security-scanner/rules/auth-patterns.md +281 -0
- package/.agent/skills/security-scanner/rules/checklists.md +186 -0
- package/.agent/skills/security-scanner/rules/engineering-spec.md +440 -0
- package/.agent/skills/security-scanner/scripts/security_scan.ts +513 -0
- package/.agent/skills/seo-optimizer/AGENTS.md +839 -0
- package/.agent/skills/seo-optimizer/SKILL.md +180 -0
- package/.agent/skills/seo-optimizer/rules/_sections.md +15 -0
- package/.agent/skills/seo-optimizer/rules/_template.md +32 -0
- package/.agent/skills/seo-optimizer/rules/engineering-spec.md +433 -0
- package/.agent/skills/seo-optimizer/scripts/geo_checker.ts +109 -0
- package/.agent/skills/seo-optimizer/scripts/seo_checker.ts +308 -0
- package/.agent/skills/server-ops/AGENTS.md +643 -0
- package/.agent/skills/server-ops/SKILL.md +194 -0
- package/.agent/skills/server-ops/rules/_sections.md +15 -0
- package/.agent/skills/server-ops/rules/_template.md +32 -0
- package/.agent/skills/server-ops/rules/engineering-spec.md +450 -0
- package/.agent/skills/shell-script/AGENTS.md +499 -0
- package/.agent/skills/shell-script/SKILL.md +205 -0
- package/.agent/skills/shell-script/rules/_sections.md +15 -0
- package/.agent/skills/shell-script/rules/_template.md +32 -0
- package/.agent/skills/shell-script/rules/engineering-spec.md +463 -0
- package/.agent/skills/skill-generator/SKILL.md +147 -0
- package/.agent/skills/smart-router/SKILL.md +95 -0
- package/.agent/skills/studio/AGENTS.md +636 -0
- package/.agent/skills/studio/SKILL.md +178 -0
- package/.agent/skills/studio/data/charts.csv +26 -0
- package/.agent/skills/studio/data/colors.csv +97 -0
- package/.agent/skills/studio/data/icons.csv +101 -0
- package/.agent/skills/studio/data/landing.csv +31 -0
- package/.agent/skills/studio/data/products.csv +97 -0
- package/.agent/skills/studio/data/prompts.csv +24 -0
- package/.agent/skills/studio/data/react-performance.csv +45 -0
- package/.agent/skills/studio/data/stacks/flutter.csv +52 -0
- package/.agent/skills/studio/data/stacks/html-tailwind.csv +56 -0
- package/.agent/skills/studio/data/stacks/jetpack-compose.csv +53 -0
- package/.agent/skills/studio/data/stacks/nextjs.csv +53 -0
- package/.agent/skills/studio/data/stacks/nuxt-ui.csv +51 -0
- package/.agent/skills/studio/data/stacks/nuxtjs.csv +59 -0
- package/.agent/skills/studio/data/stacks/react-native.csv +52 -0
- package/.agent/skills/studio/data/stacks/react.csv +54 -0
- package/.agent/skills/studio/data/stacks/shadcn.csv +61 -0
- package/.agent/skills/studio/data/stacks/svelte.csv +54 -0
- package/.agent/skills/studio/data/stacks/swiftui.csv +51 -0
- package/.agent/skills/studio/data/stacks/vue.csv +50 -0
- package/.agent/skills/studio/data/styles.csv +59 -0
- package/.agent/skills/studio/data/typography.csv +58 -0
- package/.agent/skills/studio/data/ui-reasoning.csv +101 -0
- package/.agent/skills/studio/data/ux-guidelines.csv +100 -0
- package/.agent/skills/studio/data/web-interface.csv +31 -0
- package/.agent/skills/studio/rules/_sections.md +15 -0
- package/.agent/skills/studio/rules/_template.md +32 -0
- package/.agent/skills/studio/rules/engineering-spec.md +455 -0
- package/.agent/skills/studio/scripts/core.ts +345 -0
- package/.agent/skills/studio/scripts/design_system.ts +953 -0
- package/.agent/skills/studio/scripts/search.ts +197 -0
- package/.agent/skills/studio/scripts/types.ts +147 -0
- package/.agent/skills/studio/scripts/utils/component-specs.ts +154 -0
- package/.agent/skills/studio/scripts/utils/config-loader.ts +165 -0
- package/.agent/skills/studio/scripts/utils/css-templates.ts +169 -0
- package/.agent/skills/studio/scripts/utils/css-validator.ts +95 -0
- package/.agent/skills/studio/scripts/utils/csv-loader.ts +52 -0
- package/.agent/skills/studio/scripts/utils/intelligent-overrides.ts +129 -0
- package/.agent/skills/studio/scripts/utils/page-override-formatter.ts +143 -0
- package/.agent/skills/studio/scripts/utils/page-type-detector.ts +124 -0
- package/.agent/skills/studio/scripts/utils/search-cache.ts +165 -0
- package/.agent/skills/studio/scripts/utils/text-utils.ts +44 -0
- package/.agent/skills/system-design/AGENTS.md +597 -0
- package/.agent/skills/system-design/SKILL.md +153 -0
- package/.agent/skills/system-design/rules/_sections.md +15 -0
- package/.agent/skills/system-design/rules/_template.md +32 -0
- package/.agent/skills/system-design/rules/context-discovery.md +117 -0
- package/.agent/skills/system-design/rules/engineering-spec.md +437 -0
- package/.agent/skills/system-design/rules/examples.md +180 -0
- package/.agent/skills/system-design/rules/pattern-selection.md +130 -0
- package/.agent/skills/system-design/rules/patterns-reference.md +110 -0
- package/.agent/skills/system-design/rules/trade-off-analysis.md +169 -0
- package/.agent/skills/tailwind-kit/AGENTS.md +1135 -0
- package/.agent/skills/tailwind-kit/SKILL.md +171 -0
- package/.agent/skills/tailwind-kit/rules/_sections.md +20 -0
- package/.agent/skills/tailwind-kit/rules/_template.md +32 -0
- package/.agent/skills/tailwind-kit/rules/components.md +232 -0
- package/.agent/skills/tailwind-kit/rules/engineering-spec.md +435 -0
- package/.agent/skills/tailwind-kit/rules/responsive.md +221 -0
- package/.agent/skills/tailwind-kit/rules/v4-config.md +72 -0
- package/.agent/skills/test-architect/AGENTS.md +851 -0
- package/.agent/skills/test-architect/SKILL.md +176 -0
- package/.agent/skills/test-architect/rules/_sections.md +15 -0
- package/.agent/skills/test-architect/rules/_template.md +32 -0
- package/.agent/skills/test-architect/rules/engineering-spec.md +434 -0
- package/.agent/skills/test-architect/scripts/test_runner.ts +265 -0
- package/.agent/skills/typescript-expert/AGENTS.md +1045 -0
- package/.agent/skills/typescript-expert/SKILL.md +200 -0
- package/.agent/skills/typescript-expert/rules/_sections.md +20 -0
- package/.agent/skills/typescript-expert/rules/_template.md +32 -0
- package/.agent/skills/typescript-expert/rules/engineering-spec.md +433 -0
- package/.agent/skills/typescript-expert/rules/tsconfig-strict.json +92 -0
- package/.agent/skills/typescript-expert/rules/typescript-cheatsheet.md +407 -0
- package/.agent/skills/typescript-expert/rules/utility-types.ts +264 -0
- package/.agent/skills/typescript-expert/scripts/ts_diagnostic.ts +321 -0
- package/.agent/skills/vercel-deploy/AGENTS.md +490 -0
- package/.agent/skills/vercel-deploy/SKILL.md +175 -0
- package/.agent/skills/vercel-deploy/rules/_sections.md +15 -0
- package/.agent/skills/vercel-deploy/rules/_template.md +32 -0
- package/.agent/skills/vercel-deploy/rules/engineering-spec.md +463 -0
- package/.agent/skills/vercel-deploy/scripts/deploy.sh +310 -0
- package/.agent/workflows/api.md +377 -0
- package/.agent/workflows/autopilot.md +344 -0
- package/.agent/workflows/build.md +338 -0
- package/.agent/workflows/chronicle.md +279 -0
- package/.agent/workflows/cook.md +217 -0
- package/.agent/workflows/diagnose.md +302 -0
- package/.agent/workflows/fix.md +253 -0
- package/.agent/workflows/game.md +329 -0
- package/.agent/workflows/inspect.md +276 -0
- package/.agent/workflows/knowledge.md +212 -0
- package/.agent/workflows/launch.md +345 -0
- package/.agent/workflows/mobile.md +354 -0
- package/.agent/workflows/monitor.md +239 -0
- package/.agent/workflows/optimize.md +269 -0
- package/.agent/workflows/plan.md +278 -0
- package/.agent/workflows/stage.md +286 -0
- package/.agent/workflows/studio.md +276 -0
- package/.agent/workflows/think.md +262 -0
- package/.agent/workflows/validate.md +289 -0
- package/.agentignore +161 -0
- package/.gitattributes +16 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +40 -0
- package/README.md +173 -0
- package/docs/SKILL_DESIGN_GUIDE.md +561 -0
- package/docs/The-Complete-Guide-to-Building-Skills-for-Claude.md +1207 -0
- package/docs/WORKFLOW_DESIGN_GUIDE.md +325 -0
- package/package.json +33 -0
- package/tsconfig.json +28 -0
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: E2E Automation — Engineering Specification
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
tags: e2e-automation
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# E2E Automation — Engineering Specification
|
|
8
|
+
|
|
9
|
+
> Production-grade specification for web application E2E testing with Playwright at FAANG scale.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Overview
|
|
14
|
+
|
|
15
|
+
E2E Automation provides Playwright-based end-to-end testing for web applications: test execution via runner script, screenshot capture, accessibility audits, visual regression detection, and ARIA snapshot testing. The skill operates as a session-based **Automation (scripted)** skill — it launches browser instances, navigates pages, captures screenshots, and produces test reports. Side effects include browser process creation, file I/O (screenshots, traces), and network requests to test targets.
|
|
16
|
+
|
|
17
|
+
**Contract Version:** 2.0.0
|
|
18
|
+
**Backward Compatibility:** breaking (first hardened version)
|
|
19
|
+
**Breaking Changes:** None — new spec for first hardening
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. Problem Statement
|
|
24
|
+
|
|
25
|
+
E2E testing at scale faces four quantified problems:
|
|
26
|
+
|
|
27
|
+
| Problem | Measurement | Impact |
|
|
28
|
+
|---------|-------------|--------|
|
|
29
|
+
| Flaky tests | 25% of E2E suites have > 10% flake rate | False failures block CI/CD pipelines |
|
|
30
|
+
| Implementation-coupled tests | 40% of E2E tests test DOM structure, not behavior | Tests break on every refactor |
|
|
31
|
+
| Missing critical paths | 30% of production incidents involve untested user flows | Bugs in core functionality |
|
|
32
|
+
| No accessibility verification | 55% of web apps have zero automated a11y checks | WCAG non-compliance |
|
|
33
|
+
|
|
34
|
+
E2E Automation eliminates these with behavior-driven tests, stable selectors (`data-testid`), auto-wait (no hardcoded waits), and integrated a11y auditing.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3. Design Goals
|
|
39
|
+
|
|
40
|
+
| ID | Goal | Measurable Constraint |
|
|
41
|
+
|----|------|-----------------------|
|
|
42
|
+
| G1 | Zero flaky tests | Flake rate < 1% with auto-wait + 2 retries on CI |
|
|
43
|
+
| G2 | Behavior-driven tests | Tests assert user-visible behavior, not DOM structure |
|
|
44
|
+
| G3 | Stable selectors | `data-testid` attributes; no CSS/XPath selectors |
|
|
45
|
+
| G4 | Accessibility coverage | a11y audit on every test run with `--a11y` flag |
|
|
46
|
+
| G5 | Test isolation | Each test starts with clean state; no shared data |
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 4. Non-Goals
|
|
51
|
+
|
|
52
|
+
| ID | Excluded | Rationale |
|
|
53
|
+
|----|----------|-----------|
|
|
54
|
+
| NG1 | Unit/integration test patterns | Owned by `test-architect` skill |
|
|
55
|
+
| NG2 | Performance benchmarking | Owned by `perf-optimizer` skill |
|
|
56
|
+
| NG3 | CI/CD pipeline configuration | Owned by `cicd-pipeline` skill |
|
|
57
|
+
| NG4 | Browser automation for scraping | Owned by `agent-browser` skill |
|
|
58
|
+
| NG5 | API-only testing | Owned by `test-architect` skill |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 5. System Boundaries
|
|
63
|
+
|
|
64
|
+
| Boundary | Owned | Not Owned |
|
|
65
|
+
|----------|-------|-----------|
|
|
66
|
+
| Playwright test execution (runner script) | Script invocation and output | Playwright installation |
|
|
67
|
+
| Screenshot capture (on-failure + on-demand) | Capture commands | Image comparison tooling |
|
|
68
|
+
| Accessibility auditing (`--a11y` flag) | Audit execution | WCAG remediation |
|
|
69
|
+
| ARIA snapshot testing | Pattern reference | Snapshot library |
|
|
70
|
+
| Test organization (e2e/integration/component/fixtures) | Directory structure | Test content creation |
|
|
71
|
+
| Playwright config recommendations | Config guidance | Framework config files |
|
|
72
|
+
|
|
73
|
+
**Side-effect boundary:** E2E Automation launches browser processes, makes network requests to test targets, creates screenshot/trace files, and produces stdout reports.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 6. Integration Model
|
|
78
|
+
|
|
79
|
+
### 6.1 Agent Contract
|
|
80
|
+
|
|
81
|
+
#### Input Schema
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
Request_Type: string # "run-tests" | "screenshot" | "a11y-audit" |
|
|
85
|
+
# "config-guide" | "test-structure" | "selector-guide"
|
|
86
|
+
Context: {
|
|
87
|
+
target_url: string # URL to test
|
|
88
|
+
test_files: Array<string> | null # Specific test files to run
|
|
89
|
+
flags: Array<string> | null # "--screenshot" | "--a11y" | "--trace"
|
|
90
|
+
browser: string # "chromium" | "firefox" | "webkit"
|
|
91
|
+
retries: number # Number of retries (default: 2 on CI, 0 local)
|
|
92
|
+
headless: boolean # Run headless (default: true)
|
|
93
|
+
}
|
|
94
|
+
contract_version: string # "2.0.0"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
#### Output Schema
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
Status: "passed" | "failed" | "error"
|
|
101
|
+
Data: {
|
|
102
|
+
results: {
|
|
103
|
+
total: number
|
|
104
|
+
passed: number
|
|
105
|
+
failed: number
|
|
106
|
+
skipped: number
|
|
107
|
+
flaky: number # Tests that passed on retry
|
|
108
|
+
duration_ms: number
|
|
109
|
+
} | null
|
|
110
|
+
screenshots: Array<{
|
|
111
|
+
path: string # File path to screenshot
|
|
112
|
+
test_name: string
|
|
113
|
+
type: string # "failure" | "manual"
|
|
114
|
+
}> | null
|
|
115
|
+
a11y: {
|
|
116
|
+
violations: Array<{
|
|
117
|
+
rule: string # WCAG rule ID
|
|
118
|
+
impact: string # "critical" | "serious" | "moderate" | "minor"
|
|
119
|
+
element: string # CSS selector of violating element
|
|
120
|
+
fix: string
|
|
121
|
+
}>
|
|
122
|
+
passes: number
|
|
123
|
+
violations_count: number
|
|
124
|
+
} | null
|
|
125
|
+
traces: Array<{
|
|
126
|
+
path: string # File path to trace
|
|
127
|
+
test_name: string
|
|
128
|
+
}> | null
|
|
129
|
+
metadata: {
|
|
130
|
+
contract_version: string
|
|
131
|
+
backward_compatibility: string
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
Error: ErrorSchema | null
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
#### Error Schema
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
141
|
+
Message: string
|
|
142
|
+
Request_Type: string
|
|
143
|
+
Recoverable: boolean
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### Deterministic Guarantees
|
|
147
|
+
|
|
148
|
+
- Same test files + same target state = same test results (excluding network timing).
|
|
149
|
+
- Playwright config recommendations are fixed (retries: 2, trace: on-first-retry, screenshots: on-failure, video: retain-on-failure).
|
|
150
|
+
- Selector guidance is fixed: `data-testid` preferred, CSS/XPath forbidden.
|
|
151
|
+
- Test organization structure is fixed: `e2e/`, `integration/`, `component/`, `fixtures/`.
|
|
152
|
+
- Config guide and selector guide are stateless expert operations.
|
|
153
|
+
|
|
154
|
+
#### What Agents May Assume
|
|
155
|
+
|
|
156
|
+
- Runner script creates browser instance and tears it down after execution.
|
|
157
|
+
- Screenshots are saved to disk on failure or when `--screenshot` is passed.
|
|
158
|
+
- Accessibility audit uses axe-core rules when `--a11y` is passed.
|
|
159
|
+
- Test results include pass/fail counts and duration.
|
|
160
|
+
|
|
161
|
+
#### What Agents Must NOT Assume
|
|
162
|
+
|
|
163
|
+
- Playwright is installed (caller must install first).
|
|
164
|
+
- Target URL is accessible (network errors are reported).
|
|
165
|
+
- Tests are deterministic if target state changes between runs.
|
|
166
|
+
- Screenshots persist beyond the current session.
|
|
167
|
+
|
|
168
|
+
#### Side-Effect Boundaries
|
|
169
|
+
|
|
170
|
+
| Operation | Side Effects |
|
|
171
|
+
|-----------|-------------|
|
|
172
|
+
| Run tests | Browser process, network requests, stdout output |
|
|
173
|
+
| Screenshot | Browser process, file write (PNG) |
|
|
174
|
+
| A11y audit | Browser process, network requests, stdout output |
|
|
175
|
+
| Config guide | None; guidance output |
|
|
176
|
+
| Test structure | None; directory recommendation |
|
|
177
|
+
| Selector guide | None; guidance output |
|
|
178
|
+
|
|
179
|
+
### 6.2 Workflow Contract
|
|
180
|
+
|
|
181
|
+
#### Invocation Pattern
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
1. Install Playwright: npm install playwright && npx playwright install chromium
|
|
185
|
+
2. Write E2E tests using data-testid selectors (caller's responsibility)
|
|
186
|
+
3. Invoke run-tests with target URL and test files
|
|
187
|
+
4. Review results; fix failures (caller's responsibility)
|
|
188
|
+
5. Invoke a11y-audit for accessibility check
|
|
189
|
+
6. Fix a11y violations (caller's responsibility)
|
|
190
|
+
7. Integrate into CI (caller's responsibility, see cicd-pipeline)
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
#### State Transitions
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
IDLE → LAUNCHING [run-tests invoked]
|
|
197
|
+
LAUNCHING → NAVIGATING [browser process started]
|
|
198
|
+
NAVIGATING → EXECUTING [target URL loaded]
|
|
199
|
+
EXECUTING → CAPTURING [test completed, screenshot/trace needed]
|
|
200
|
+
CAPTURING → REPORTING [artifacts saved to disk]
|
|
201
|
+
REPORTING → COMPLETED [results written to stdout] // terminal state
|
|
202
|
+
EXECUTING → FAILED [test assertion failed]
|
|
203
|
+
FAILED → CAPTURING [failure screenshot captured]
|
|
204
|
+
LAUNCHING → ERROR [browser launch failed] // terminal state
|
|
205
|
+
NAVIGATING → ERROR [target unreachable] // terminal state
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
#### Execution Guarantees
|
|
209
|
+
|
|
210
|
+
- Browser process is always terminated after test run (success or failure).
|
|
211
|
+
- Screenshots are captured before browser teardown.
|
|
212
|
+
- Traces are only saved on first retry (to limit disk usage).
|
|
213
|
+
|
|
214
|
+
#### Failure Propagation Model
|
|
215
|
+
|
|
216
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
217
|
+
|-----------------|-------------|-----------------|
|
|
218
|
+
| Browser launch failed | Return `ERR_BROWSER_LAUNCH` | Install Playwright |
|
|
219
|
+
| Target unreachable | Return `ERR_TARGET_UNREACHABLE` | Check URL/network |
|
|
220
|
+
| Test assertion failed | Return failed results | Fix test or application |
|
|
221
|
+
| A11y violation found | Return a11y violations | Fix accessibility |
|
|
222
|
+
| Timeout exceeded | Return `ERR_TIMEOUT` | Increase timeout or fix test |
|
|
223
|
+
|
|
224
|
+
#### Retry Boundaries
|
|
225
|
+
|
|
226
|
+
- Test-level retries: 2 on CI, 0 locally (configurable).
|
|
227
|
+
- No script-level retries (agent re-invokes if needed).
|
|
228
|
+
- Retried tests that pass are marked as "flaky" in results.
|
|
229
|
+
|
|
230
|
+
#### Isolation Model
|
|
231
|
+
|
|
232
|
+
- Each test run creates a fresh browser context.
|
|
233
|
+
- No shared state between test runs.
|
|
234
|
+
- Each test within a run should use isolated data.
|
|
235
|
+
|
|
236
|
+
#### Idempotency Expectations
|
|
237
|
+
|
|
238
|
+
| Operation | Idempotent | Notes |
|
|
239
|
+
|-----------|-----------|-------|
|
|
240
|
+
| Run tests | No | Results depend on target application state |
|
|
241
|
+
| Screenshot | No | Content depends on page state at capture time |
|
|
242
|
+
| A11y audit | No | Results depend on current page DOM |
|
|
243
|
+
| Config guide | Yes | Fixed recommendations |
|
|
244
|
+
| Test structure | Yes | Fixed directory layout |
|
|
245
|
+
| Selector guide | Yes | Fixed guidance |
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 7. Execution Model
|
|
250
|
+
|
|
251
|
+
### 4-Phase Lifecycle
|
|
252
|
+
|
|
253
|
+
| Phase | Action | Output |
|
|
254
|
+
|-------|--------|--------|
|
|
255
|
+
| **Launch** | Start browser process, create context | Browser instance |
|
|
256
|
+
| **Navigate** | Load target URL, wait for network idle | Page ready state |
|
|
257
|
+
| **Execute** | Run test assertions, capture artifacts | Test results + artifacts |
|
|
258
|
+
| **Report** | Aggregate results, teardown browser | Structured output |
|
|
259
|
+
|
|
260
|
+
Phases are sequential per test run. Browser lifecycle is managed by the runner script.
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 8. Deterministic Design Principles
|
|
265
|
+
|
|
266
|
+
| Principle | Enforcement |
|
|
267
|
+
|-----------|-------------|
|
|
268
|
+
| Fixed Playwright config | retries: 2, trace: on-first-retry, screenshots: on-failure, video: retain-on-failure |
|
|
269
|
+
| Fixed selector strategy | `data-testid` only; CSS/XPath forbidden |
|
|
270
|
+
| Fixed test organization | 4 directories: e2e/, integration/, component/, fixtures/ |
|
|
271
|
+
| Auto-wait over hardcoded waits | Playwright auto-wait is default; no `sleep()` or `setTimeout()` |
|
|
272
|
+
| Behavior-driven assertions | Assert user-visible outcomes, not DOM structure |
|
|
273
|
+
| Clean state per test | Fresh browser context; no cross-test contamination |
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## 9. State & Idempotency Model
|
|
278
|
+
|
|
279
|
+
Session-based. Not idempotent. Browser state exists for the duration of a test run.
|
|
280
|
+
|
|
281
|
+
| State | Persistent | Scope |
|
|
282
|
+
|-------|-----------|-------|
|
|
283
|
+
| Browser process | No | Single test run |
|
|
284
|
+
| Page DOM | No | Single navigation |
|
|
285
|
+
| Screenshots/traces | Yes | Until cleanup |
|
|
286
|
+
| Test results | No | Single run output |
|
|
287
|
+
|
|
288
|
+
Browser state is created at launch and destroyed at report phase. No cross-session state.
|
|
289
|
+
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
## 10. Failure Handling Strategy
|
|
293
|
+
|
|
294
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
295
|
+
|---------------|----------|-----------------|
|
|
296
|
+
| Playwright not installed | Return `ERR_PLAYWRIGHT_MISSING` | Run install command |
|
|
297
|
+
| Browser launch failure | Return `ERR_BROWSER_LAUNCH` | Check environment |
|
|
298
|
+
| Target URL unreachable | Return `ERR_TARGET_UNREACHABLE` | Fix URL or network |
|
|
299
|
+
| Test timeout | Return `ERR_TIMEOUT` | Increase timeout or fix test |
|
|
300
|
+
| Test assertion failure | Return failed results with screenshots | Fix application code |
|
|
301
|
+
| A11y violation | Return violations list | Fix accessibility issues |
|
|
302
|
+
|
|
303
|
+
**Invariant:** Browser process is always terminated, even on failure. No orphaned processes.
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## 11. Error Taxonomy
|
|
308
|
+
|
|
309
|
+
| Code | Category | Recoverable | Description |
|
|
310
|
+
|------|----------|-------------|-------------|
|
|
311
|
+
| `ERR_PLAYWRIGHT_MISSING` | Infrastructure | Yes | Playwright not installed |
|
|
312
|
+
| `ERR_BROWSER_LAUNCH` | Infrastructure | Yes | Browser process failed to start |
|
|
313
|
+
| `ERR_TARGET_UNREACHABLE` | Network | Yes | Target URL not reachable |
|
|
314
|
+
| `ERR_TIMEOUT` | Execution | Yes | Test exceeded timeout |
|
|
315
|
+
| `ERR_SELECTOR_NOT_FOUND` | Test | Yes | Element selector not found on page |
|
|
316
|
+
| `ERR_ASSERTION_FAILED` | Test | No | Test assertion did not pass |
|
|
317
|
+
| `ERR_A11Y_VIOLATION` | Accessibility | Yes | WCAG violation detected |
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## 12. Timeout & Retry Policy
|
|
322
|
+
|
|
323
|
+
| Parameter | Default | Maximum | Rationale |
|
|
324
|
+
|-----------|---------|---------|-----------|
|
|
325
|
+
| Test timeout | 30,000 ms | 120,000 ms | Single test execution |
|
|
326
|
+
| Navigation timeout | 10,000 ms | 30,000 ms | Page load |
|
|
327
|
+
| Action timeout | 5,000 ms | 15,000 ms | Click, type, etc. |
|
|
328
|
+
| Test retries (CI) | 2 | 3 | Flake mitigation |
|
|
329
|
+
"contract_version": "2.0.0",
|
|
330
|
+
"execution_id": "uuid",
|
|
331
|
+
"timestamp": "ISO-8601",
|
|
332
|
+
"request_type": "string",
|
|
333
|
+
"target_url": "string",
|
|
334
|
+
"browser": "string",
|
|
335
|
+
"tests_total": "number",
|
|
336
|
+
"tests_passed": "number",
|
|
337
|
+
"tests_failed": "number",
|
|
338
|
+
"tests_flaky": "number",
|
|
339
|
+
"a11y_violations": "number|null",
|
|
340
|
+
"screenshots_count": "number",
|
|
341
|
+
"duration_ms": "number",
|
|
342
|
+
"status": "passed|failed|error",
|
|
343
|
+
"error_code": "string|null"
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Required Log Points
|
|
348
|
+
|
|
349
|
+
| Event | Log Level | Fields |
|
|
350
|
+
|-------|-----------|--------|
|
|
351
|
+
| Test run started | INFO | target_url, browser, tests_total |
|
|
352
|
+
| Test run completed | INFO | All fields |
|
|
353
|
+
| Test failed | WARN | test name, assertion, screenshot path |
|
|
354
|
+
| Flaky test detected | WARN | test name, retry count |
|
|
355
|
+
| A11y violation found | WARN | rule, impact, element |
|
|
356
|
+
| Browser launch failed | ERROR | error_code, message |
|
|
357
|
+
| Target unreachable | ERROR | target_url, error_code |
|
|
358
|
+
|
|
359
|
+
### Metrics
|
|
360
|
+
|
|
361
|
+
| Metric | Type | Unit |
|
|
362
|
+
|--------|------|------|
|
|
363
|
+
| `e2e.run.duration` | Histogram | ms |
|
|
364
|
+
| `e2e.tests.pass_rate` | Gauge | 0.0–1.0 |
|
|
365
|
+
| `e2e.tests.flake_rate` | Gauge | 0.0–1.0 |
|
|
366
|
+
| `e2e.a11y.violations` | Counter | per rule |
|
|
367
|
+
| `e2e.screenshots.count` | Counter | per run |
|
|
368
|
+
| `e2e.browser.launch_failures` | Counter | per run |
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## 14. Security & Trust Model
|
|
373
|
+
|
|
374
|
+
### Test Target Access
|
|
375
|
+
|
|
376
|
+
- E2E Automation connects only to caller-specified URLs.
|
|
377
|
+
- No credential storage; auth tokens are passed per-test.
|
|
378
|
+
- Browser context is isolated; no cross-origin leakage.
|
|
379
|
+
|
|
380
|
+
### Artifact Safety
|
|
381
|
+
|
|
382
|
+
- Screenshots and traces may contain sensitive page content.
|
|
383
|
+
- Artifacts are written to local disk only; no remote upload.
|
|
384
|
+
- Cleanup of artifacts is caller's responsibility.
|
|
385
|
+
|
|
386
|
+
### Process Isolation
|
|
387
|
+
|
|
388
|
+
- Browser runs in sandboxed mode (Chromium sandbox).
|
|
389
|
+
- No access to host filesystem beyond artifact output directory.
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## 15. Scalability Model
|
|
394
|
+
|
|
395
|
+
| Dimension | Constraint | Mitigation |
|
|
396
|
+
|-----------|-----------|------------|
|
|
397
|
+
| Throughput | 1 browser per runner instance | Parallel runners via CI sharding |
|
|
398
|
+
| Concurrency | Single-threaded runner script | Multiple runner processes |
|
|
399
|
+
| Memory per run | ~200 MB (Chromium) | Fixed per browser instance |
|
|
400
|
+
| Disk per run | ~10 MB (screenshots + traces) | Cleanup after CI |
|
|
401
|
+
| Network | Dependent on target latency | Timeout configuration |
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## 16. Concurrency Model
|
|
406
|
+
|
|
407
|
+
Single browser instance per runner invocation. No shared state between concurrent runners.
|
|
408
|
+
|
|
409
|
+
For parallel execution: use CI sharding to distribute test files across multiple runner processes. Each shard operates independently.
|
|
410
|
+
|
|
411
|
+
| Dimension | Boundary |
|
|
412
|
+
|-----------|----------|
|
|
413
|
+
| Browser instances per runner | 1 |
|
|
414
|
+
| Concurrent runners | Limited by CI resources |
|
|
415
|
+
| Shared state between runners | None |
|
|
416
|
+
| Lock requirements | None |
|
|
417
|
+
|
|
418
|
+
---
|
|
419
|
+
|
|
420
|
+
## 17. Resource Lifecycle Management
|
|
421
|
+
|
|
422
|
+
| Resource | Created By | Destroyed By | Max Lifetime |
|
|
423
|
+
|----------|-----------|-------------|--------------|
|
|
424
|
+
| Browser process | Launch phase | Report phase (always) | Test run duration |
|
|
425
|
+
| Browser context | Launch phase | After each test | Single test |
|
|
426
|
+
| Page instance | Navigate phase | After each test | Single test |
|
|
427
|
+
| Screenshots | Execute phase | Caller cleanup | Until deletion |
|
|
428
|
+
| Traces | Execute phase (first retry) | Caller cleanup | Until deletion |
|
|
429
|
+
|
|
430
|
+
**Critical invariant:** Browser process MUST be destroyed in Report phase, including on error paths. No orphaned browser processes.
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## 18. Performance Constraints
|
|
435
|
+
|
|
436
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
437
|
+
|-----------|-----------|-----------|------------|
|
|
438
|
+
| Browser launch | < 2,000 ms | < 5,000 ms | 10,000 ms |
|
|
439
|
+
| Page navigation | < 3,000 ms | < 10,000 ms | 30,000 ms |
|
|
440
|
+
| Single test execution | < 5,000 ms | < 20,000 ms | 120,000 ms |
|
|
441
|
+
| Screenshot capture | < 500 ms | < 2,000 ms | 5,000 ms |
|
|
442
|
+
| Full suite (10 tests) | < 30,000 ms | < 90,000 ms | 300,000 ms |
|
|
443
|
+
|
|
444
|
+
---
|
|
445
|
+
|
|
446
|
+
## 19. Operational Risks
|
|
447
|
+
|
|
448
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
449
|
+
|------|-----------|--------|------------|
|
|
450
|
+
| Flaky tests from network timing | High | False CI failures | Auto-wait + 2 retries; flaky counter in results |
|
|
451
|
+
| Orphaned browser processes | Medium | Memory leak on CI | Browser always terminated in Report phase |
|
|
452
|
+
| Large screenshot/trace files | Medium | Disk space on CI | Traces only on first retry; cleanup policy |
|
|
453
|
+
| Target app down during tests | Medium | All tests fail | `ERR_TARGET_UNREACHABLE` with clear message |
|
|
454
|
+
| Playwright version mismatch | Low | Tests won't run | Version pinned in package.json |
|
|
455
|
+
|
|
456
|
+
---
|
|
457
|
+
|
|
458
|
+
## 20. Compliance with skill-design-guide.md
|
|
459
|
+
|
|
460
|
+
| Requirement | Status | Evidence |
|
|
461
|
+
|-------------|--------|----------|
|
|
462
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
463
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
464
|
+
| Prerequisites documented | ✅ | Playwright installation command |
|
|
465
|
+
| When to Use section | ✅ | Situation-based routing table |
|
|
466
|
+
| Core content matches skill type | ✅ | Automation type: session-based, browser side effects |
|
|
467
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
468
|
+
| Related section | ✅ | Cross-links to test-architect, cicd-pipeline, /validate |
|
|
469
|
+
| Content Map for multi-file | ✅ | Links to aria-snapshot.md, scripts, engineering-spec.md |
|
|
470
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
471
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## 21. Production Readiness Checklist
|
|
476
|
+
|
|
477
|
+
| Category | Check | Status |
|
|
478
|
+
|----------|-------|--------|
|
|
479
|
+
| **Functionality** | Playwright test runner script | ✅ |
|
|
480
|
+
| **Functionality** | Screenshot capture (on-failure + on-demand) | ✅ |
|
|
481
|
+
| **Functionality** | Accessibility audit (axe-core via --a11y) | ✅ |
|
|
482
|
+
| **Functionality** | ARIA snapshot testing reference | ✅ |
|
|
483
|
+
| **Functionality** | Testing pyramid structure (e2e/integration/component/fixtures) | ✅ |
|
|
484
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
485
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
486
|
+
| **Contracts** | Session state transitions with arrow notation | ✅ |
|
|
487
|
+
| **Failure** | Error taxonomy with 7 categorized codes | ✅ |
|
|
488
|
+
| **Failure** | Browser process always terminated (no orphans) | ✅ |
|
|
489
|
+
| **Failure** | Retry policy with defaults and maximums | ✅ |
|
|
490
|
+
| **State** | Session-based; browser state per run | ✅ |
|
|
491
|
+
| **State** | Resource lifecycle with creation/destruction | ✅ |
|
|
492
|
+
| **Security** | Sandboxed browser; no credential storage | ✅ |
|
|
493
|
+
| **Observability** | Structured log schema with 5 mandatory fields + 7 log points | ✅ |
|
|
494
|
+
| **Observability** | 6 metrics defined | ✅ |
|
|
495
|
+
| **Performance** | P50/P99/hard limits for all operations | ✅ |
|
|
496
|
+
| **Scalability** | CI sharding for parallel execution | ✅ |
|
|
497
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
498
|
+
|
|
499
|
+
---
|
|
500
|
+
|
|
501
|
+
⚡ PikaKit v3.9.134
|