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,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: test-architect
|
|
3
|
+
description: >-
|
|
4
|
+
Testing patterns and strategies: unit, integration, E2E, mocking, and coverage standards.
|
|
5
|
+
Use when designing test suites, choosing test frameworks, or establishing testing patterns.
|
|
6
|
+
NOT for running Playwright tests (use e2e-automation) or debugging failures (use debug-pro).
|
|
7
|
+
category: testing-strategy
|
|
8
|
+
triggers: ["test", "testing", "unit test", "coverage", "mocking", "AAA pattern", "TDD"]
|
|
9
|
+
coordinates_with: ["e2e-automation", "test-driven-dev", "code-craft"]
|
|
10
|
+
success_metrics: ["Test Suite Reliability", "Mutation Score", "Coverage Increase"]
|
|
11
|
+
metadata:
|
|
12
|
+
author: pikakit
|
|
13
|
+
version: "3.9.134"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Test Architect — Testing Patterns & Principles
|
|
17
|
+
|
|
18
|
+
> Pyramid/Trophy/Honeycomb strategy. AAA structure. FIRST principles. Mock routing.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 5 Must-Ask Questions (Socratic Gate)
|
|
23
|
+
|
|
24
|
+
| # | Question | Options |
|
|
25
|
+
|---|----------|---------|
|
|
26
|
+
| 1 | Project Architecture? | Monolith / Microservices / Modern SPA |
|
|
27
|
+
| 2 | Testing Framework? | Vitest / Jest / Pytest / Testing Library |
|
|
28
|
+
| 3 | Current Coverage Needs? | <50% / 80%+ / Critical Paths Only |
|
|
29
|
+
| 4 | Mocking Preferences? | MSW / jest.mock / pytest_mock |
|
|
30
|
+
| 5 | Critical Paths? | Payment / Auth / Data Integrity |
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## When to Use
|
|
35
|
+
|
|
36
|
+
| Situation | Approach |
|
|
37
|
+
|-----------|----------|
|
|
38
|
+
| Writing unit tests | AAA pattern, FIRST principles |
|
|
39
|
+
| Need mocking | Stub/Spy/Mock/Fake selection |
|
|
40
|
+
| Test organization | Grouping and naming |
|
|
41
|
+
| Coverage gaps | Identify what to test |
|
|
42
|
+
| Strategy selection | Match to architecture type |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## System Boundaries
|
|
47
|
+
|
|
48
|
+
| Owned by This Skill | NOT Owned |
|
|
49
|
+
|---------------------|-----------|
|
|
50
|
+
| Strategy selection (3 models) | E2E browser testing (→ e2e-automation) |
|
|
51
|
+
| AAA pattern + FIRST principles | TDD workflow (→ test-driven-dev) |
|
|
52
|
+
| Mock type routing (4 types) | Code quality (→ code-craft) |
|
|
53
|
+
| Naming conventions (3 patterns) | Test execution / coverage tooling |
|
|
54
|
+
|
|
55
|
+
**Expert decision skill:** Produces testing guidance. Does not write or execute tests.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Strategy Selection (3 Models — Deterministic)
|
|
60
|
+
|
|
61
|
+
| Model | Distribution | Best For |
|
|
62
|
+
|-------|-------------|----------|
|
|
63
|
+
| **Pyramid** | Unit 70% > Int 20% > E2E 10% | Monoliths |
|
|
64
|
+
| **Trophy** | Integration-heavy | Modern SPAs |
|
|
65
|
+
| **Honeycomb** | Contract-centric | Microservices |
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## AAA Pattern (Fixed)
|
|
70
|
+
|
|
71
|
+
| Step | Purpose |
|
|
72
|
+
|------|---------|
|
|
73
|
+
| **Arrange** | Set up test data |
|
|
74
|
+
| **Act** | Execute code under test |
|
|
75
|
+
| **Assert** | Verify outcome |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## FIRST Principles (5 — Fixed)
|
|
80
|
+
|
|
81
|
+
| Principle | Constraint |
|
|
82
|
+
|-----------|-----------|
|
|
83
|
+
| **F**ast | < 100ms each |
|
|
84
|
+
| **I**solated | No external deps |
|
|
85
|
+
| **R**epeatable | Same result always |
|
|
86
|
+
| **S**elf-checking | No manual verification |
|
|
87
|
+
| **T**imely | Written with code |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Mock Types (4 — Deterministic)
|
|
92
|
+
|
|
93
|
+
| Type | Use When |
|
|
94
|
+
|------|----------|
|
|
95
|
+
| **Stub** | Return fixed values |
|
|
96
|
+
| **Spy** | Track calls |
|
|
97
|
+
| **Mock** | Set expectations |
|
|
98
|
+
| **Fake** | Simplified implementation |
|
|
99
|
+
|
|
100
|
+
### What to Mock vs Not
|
|
101
|
+
|
|
102
|
+
| ✅ Mock | ❌ Don't Mock |
|
|
103
|
+
|---------|--------------|
|
|
104
|
+
| External APIs | Code under test |
|
|
105
|
+
| Database (unit) | Pure functions |
|
|
106
|
+
| Time/random | Simple dependencies |
|
|
107
|
+
| Network | In-memory stores |
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Naming Conventions (3 Patterns)
|
|
112
|
+
|
|
113
|
+
| Pattern | Example |
|
|
114
|
+
|---------|---------|
|
|
115
|
+
| Should | "should return error when..." |
|
|
116
|
+
| When | "when user not found..." |
|
|
117
|
+
| Given-When-Then | "given X, when Y, then Z" |
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Error Taxonomy
|
|
122
|
+
|
|
123
|
+
| Code | Recoverable | Trigger |
|
|
124
|
+
|------|-------------|---------|
|
|
125
|
+
| `ERR_INVALID_REQUEST_TYPE` | No | Request type not supported |
|
|
126
|
+
| `ERR_UNKNOWN_ARCHITECTURE` | Yes | Architecture not one of 3 |
|
|
127
|
+
| `ERR_UNKNOWN_DEPENDENCY` | Yes | Dependency type not recognized |
|
|
128
|
+
| `ERR_UNKNOWN_TEST_LEVEL` | Yes | Test level not unit/integration/e2e |
|
|
129
|
+
|
|
130
|
+
**Zero internal retries.** Same architecture = same strategy model.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Anti-Patterns
|
|
135
|
+
|
|
136
|
+
| ❌ Don't | ✅ Do |
|
|
137
|
+
|---------|-------|
|
|
138
|
+
| Test implementation details | Test behavior |
|
|
139
|
+
| Duplicate test code | Use factories |
|
|
140
|
+
| Complex test setup (>10 lines) | Simplify or split |
|
|
141
|
+
| Skip cleanup | Reset state after each test |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Audit Logging (OpenTelemetry)
|
|
146
|
+
|
|
147
|
+
| Event | Metadata Payload | Severity |
|
|
148
|
+
|-------|------------------|----------|
|
|
149
|
+
| `testing_strategy_recommended` | `{"model": "pyramid", "coverage_target": 80}` | `INFO` |
|
|
150
|
+
| `mocking_pattern_selected` | `{"type": "spy", "target": "external api"}` | `INFO` |
|
|
151
|
+
| `analysis_completed` | `{"framework": "vitest", "decision_made": "aaa_pattern"}` | `INFO` |
|
|
152
|
+
|
|
153
|
+
All test-architect outputs MUST emit `testing_strategy_recommended` and `analysis_completed` events.
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 📑 Content Map
|
|
158
|
+
|
|
159
|
+
| File | Description | When to Read |
|
|
160
|
+
|------|-------------|--------------|
|
|
161
|
+
| [test_runner.ts](scripts/test_runner.ts) | Unified test execution + coverage validation | Running tests |
|
|
162
|
+
| [engineering-spec.md](rules/engineering-spec.md) | Full spec | Architecture review |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 🔗 Related
|
|
167
|
+
|
|
168
|
+
| Item | Type | Purpose |
|
|
169
|
+
|------|------|---------|
|
|
170
|
+
| `/validate` | Workflow | Run all tests |
|
|
171
|
+
| `e2e-automation` | Skill | Browser testing |
|
|
172
|
+
| `test-driven-dev` | Skill | TDD workflow |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Sections
|
|
2
|
+
|
|
3
|
+
This file defines all sections, their ordering, impact levels, and descriptions.
|
|
4
|
+
The section ID (in parentheses) is the filename prefix used to group rules.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. Engineering Specification (engineering)
|
|
9
|
+
|
|
10
|
+
**Impact:** MEDIUM
|
|
11
|
+
**Description:** Full engineering specification covering contracts, security, and scalability.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Rule Title Here
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
impactDescription: Optional description of impact (e.g., "20-50% improvement")
|
|
5
|
+
tags: tag1, tag2
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Rule Title Here
|
|
9
|
+
|
|
10
|
+
**Impact: MEDIUM (optional impact description)**
|
|
11
|
+
|
|
12
|
+
Brief explanation of the rule and why it matters. This should be clear and concise, explaining the performance implications.
|
|
13
|
+
|
|
14
|
+
**Incorrect (description of what's wrong):**
|
|
15
|
+
|
|
16
|
+
```typescript
|
|
17
|
+
// Bad code example here
|
|
18
|
+
const bad = example()
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Correct (description of what's right):**
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
// Good code example here
|
|
25
|
+
const good = example()
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Reference: [Link to documentation or resource](https://example.com)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
⚡ PikaKit v3.9.134
|
|
@@ -0,0 +1,434 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Test Architect — Engineering Specification
|
|
3
|
+
impact: MEDIUM
|
|
4
|
+
tags: test-architect
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Test Architect — Engineering Specification
|
|
8
|
+
|
|
9
|
+
> Production-grade specification for testing patterns and principles at FAANG scale.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Overview
|
|
14
|
+
|
|
15
|
+
Test Architect provides structured guidance for testing: strategy selection (3 models: Pyramid, Trophy, Honeycomb), AAA pattern (Arrange/Act/Assert), FIRST principles (5: Fast/Isolated/Repeatable/Self-checking/Timely), mock types (4: Stub/Spy/Mock/Fake), mock decision guidance (what to mock vs not), test naming conventions (3 patterns), and anti-patterns (4). The skill operates as an **Expert (decision tree)** — it produces testing strategy recommendations, mock selections, and naming guidance. It does not write test files, execute tests, or measure coverage.
|
|
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
|
+
Testing at scale faces four quantified problems:
|
|
26
|
+
|
|
27
|
+
| Problem | Measurement | Impact |
|
|
28
|
+
|---------|-------------|--------|
|
|
29
|
+
| Wrong test distribution | 40% of projects have inverted pyramid (too many E2E) | Slow CI, flaky tests |
|
|
30
|
+
| No test structure | 50% of tests skip AAA pattern | Unreadable tests |
|
|
31
|
+
| Over-mocking | 35% of tests mock code under test | False positives |
|
|
32
|
+
| Poor naming | 45% of test names describe implementation, not behavior | Unclear failures |
|
|
33
|
+
|
|
34
|
+
Test Architect eliminates these with deterministic strategy selection (3 models by architecture), mandatory AAA structure, mock type routing (4 types by use case), and naming conventions (3 patterns).
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3. Design Goals
|
|
39
|
+
|
|
40
|
+
| ID | Goal | Measurable Constraint |
|
|
41
|
+
|----|------|-----------------------|
|
|
42
|
+
| G1 | Strategy selection | 3 models: Pyramid (70/20/10), Trophy (integration-heavy), Honeycomb (contract-centric) |
|
|
43
|
+
| G2 | Test structure | AAA pattern: Arrange → Act → Assert |
|
|
44
|
+
| G3 | Quality principles | FIRST: Fast (<100ms), Isolated, Repeatable, Self-checking, Timely |
|
|
45
|
+
| G4 | Mock routing | 4 types: Stub, Spy, Mock, Fake |
|
|
46
|
+
| G5 | Mock decisions | Clear mock vs don't-mock guidance |
|
|
47
|
+
| G6 | Naming | 3 conventions: should, when, given-when-then |
|
|
48
|
+
| G7 | Coverage target | >80% line coverage |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 4. Non-Goals
|
|
53
|
+
|
|
54
|
+
| ID | Excluded | Rationale |
|
|
55
|
+
|----|----------|-----------|
|
|
56
|
+
| NG1 | E2E browser testing | Owned by `e2e-automation` skill |
|
|
57
|
+
| NG2 | TDD workflow | Owned by `test-driven-dev` skill |
|
|
58
|
+
| NG3 | Test execution | Runtime concern |
|
|
59
|
+
| NG4 | Coverage tooling | Framework-specific |
|
|
60
|
+
| NG5 | Code quality | Owned by `code-craft` skill |
|
|
61
|
+
| NG6 | Test file creation | Implementation concern |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 5. System Boundaries
|
|
66
|
+
|
|
67
|
+
| Boundary | Owned | Not Owned |
|
|
68
|
+
|----------|-------|-----------|
|
|
69
|
+
| Strategy selection | 3 models by architecture type | Test runner configuration |
|
|
70
|
+
| AAA pattern | Arrange/Act/Assert structure | Test framework syntax |
|
|
71
|
+
| Mock routing | 4 types by use case | Mock library APIs |
|
|
72
|
+
| FIRST principles | 5 quality criteria | Performance profiling |
|
|
73
|
+
| Naming conventions | 3 patterns | Linting enforcement |
|
|
74
|
+
|
|
75
|
+
**Side-effect boundary:** Test Architect produces testing strategy recommendations, mock selections, and naming guidance. It does not write tests, execute code, or measure coverage.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 6. Integration Model
|
|
80
|
+
|
|
81
|
+
### 6.1 Agent Contract
|
|
82
|
+
|
|
83
|
+
#### Input Schema
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Request_Type: string # "strategy" | "structure" | "mock" | "naming" |
|
|
87
|
+
# "coverage" | "anti-pattern" | "full-guide"
|
|
88
|
+
Context: {
|
|
89
|
+
architecture: string | null # "monolith" | "spa" | "microservices"
|
|
90
|
+
test_level: string | null # "unit" | "integration" | "e2e"
|
|
91
|
+
dependency_type: string | null # "api" | "database" | "time" | "network" |
|
|
92
|
+
# "pure-function" | "in-memory"
|
|
93
|
+
framework: string | null # "jest" | "vitest" | "mocha" | null
|
|
94
|
+
current_coverage: number | null # Percentage 0-100
|
|
95
|
+
}
|
|
96
|
+
contract_version: string # "2.0.0"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Output Schema
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Status: "success" | "error"
|
|
103
|
+
Data: {
|
|
104
|
+
strategy: {
|
|
105
|
+
model: string # "pyramid" | "trophy" | "honeycomb"
|
|
106
|
+
distribution: {
|
|
107
|
+
unit: number # Percentage
|
|
108
|
+
integration: number
|
|
109
|
+
e2e: number
|
|
110
|
+
}
|
|
111
|
+
rationale: string
|
|
112
|
+
} | null
|
|
113
|
+
structure: {
|
|
114
|
+
pattern: string # "AAA"
|
|
115
|
+
steps: Array<{
|
|
116
|
+
name: string # "Arrange" | "Act" | "Assert"
|
|
117
|
+
purpose: string
|
|
118
|
+
}>
|
|
119
|
+
principles: Array<{
|
|
120
|
+
letter: string
|
|
121
|
+
name: string
|
|
122
|
+
constraint: string
|
|
123
|
+
}>
|
|
124
|
+
} | null
|
|
125
|
+
mock: {
|
|
126
|
+
type: string # "stub" | "spy" | "mock" | "fake"
|
|
127
|
+
rationale: string
|
|
128
|
+
should_mock: boolean
|
|
129
|
+
} | null
|
|
130
|
+
naming: {
|
|
131
|
+
convention: string
|
|
132
|
+
example: string
|
|
133
|
+
} | null
|
|
134
|
+
anti_patterns: Array<{
|
|
135
|
+
bad: string
|
|
136
|
+
good: string
|
|
137
|
+
}> | null
|
|
138
|
+
metadata: {
|
|
139
|
+
contract_version: string
|
|
140
|
+
backward_compatibility: string
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
Error: ErrorSchema | null
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### Error Schema
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
Code: string # From Error Taxonomy (Section 11)
|
|
150
|
+
Message: string
|
|
151
|
+
Request_Type: string
|
|
152
|
+
Recoverable: boolean
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
#### Deterministic Guarantees
|
|
156
|
+
|
|
157
|
+
- Strategy routing is fixed: monolith → Pyramid (70/20/10); SPA → Trophy (integration-heavy); microservices → Honeycomb (contract-centric).
|
|
158
|
+
- Mock routing is fixed: return fixed values → Stub; track calls → Spy; set expectations → Mock; simplified impl → Fake.
|
|
159
|
+
- Mock decision is fixed: External APIs/DB/time/network → mock; code under test/pure functions/simple deps/in-memory → don't mock.
|
|
160
|
+
- Naming is fixed: 3 patterns (should, when, given-when-then).
|
|
161
|
+
- Same architecture = same strategy. Same dependency type = same mock decision.
|
|
162
|
+
|
|
163
|
+
#### What Agents May Assume
|
|
164
|
+
|
|
165
|
+
- AAA pattern applies to all unit tests.
|
|
166
|
+
- FIRST principles are universal quality criteria.
|
|
167
|
+
- Mock types are framework-agnostic concepts.
|
|
168
|
+
- Test naming patterns are convention-independent.
|
|
169
|
+
|
|
170
|
+
#### What Agents Must NOT Assume
|
|
171
|
+
|
|
172
|
+
- Pyramid model suits all architectures.
|
|
173
|
+
- 100% coverage is the goal (target is >80%).
|
|
174
|
+
- All external dependencies need mocking.
|
|
175
|
+
- E2E tests should be numerous.
|
|
176
|
+
|
|
177
|
+
#### Side-Effect Boundaries
|
|
178
|
+
|
|
179
|
+
| Operation | Side Effects |
|
|
180
|
+
|-----------|-------------|
|
|
181
|
+
| Strategy | None; model recommendation |
|
|
182
|
+
| Structure | None; pattern guidance |
|
|
183
|
+
| Mock | None; type recommendation |
|
|
184
|
+
| Naming | None; convention guidance |
|
|
185
|
+
| Anti-pattern | None; avoidance guidance |
|
|
186
|
+
|
|
187
|
+
### 6.2 Workflow Contract
|
|
188
|
+
|
|
189
|
+
#### Invocation Pattern
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
1. Identify architecture type (monolith, SPA, microservices)
|
|
193
|
+
2. Invoke strategy for test distribution model
|
|
194
|
+
3. Invoke structure for AAA pattern + FIRST principles
|
|
195
|
+
4. Invoke mock for dependency handling
|
|
196
|
+
5. Apply naming conventions
|
|
197
|
+
6. Write and execute tests (caller's responsibility)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Execution Guarantees
|
|
201
|
+
|
|
202
|
+
- Each invocation produces a complete recommendation.
|
|
203
|
+
- All decisions are independent (can be invoked in any order).
|
|
204
|
+
|
|
205
|
+
#### Failure Propagation Model
|
|
206
|
+
|
|
207
|
+
| Failure Severity | Propagation | Workflow Action |
|
|
208
|
+
|-----------------|-------------|-----------------|
|
|
209
|
+
| Unknown architecture | Return error | Specify monolith, spa, or microservices |
|
|
210
|
+
| Unknown dependency type | Return error | Specify valid type |
|
|
211
|
+
| Invalid request type | Return error | Use supported type |
|
|
212
|
+
|
|
213
|
+
#### Retry Boundaries
|
|
214
|
+
|
|
215
|
+
- Zero internal retries. Deterministic output.
|
|
216
|
+
|
|
217
|
+
#### Isolation Model
|
|
218
|
+
|
|
219
|
+
- Each invocation is stateless and independent.
|
|
220
|
+
|
|
221
|
+
#### Idempotency Expectations
|
|
222
|
+
|
|
223
|
+
| Operation | Idempotent | Notes |
|
|
224
|
+
|-----------|-----------|-------|
|
|
225
|
+
| Strategy | Yes | Same architecture = same model |
|
|
226
|
+
| Structure | Yes | Fixed AAA + FIRST |
|
|
227
|
+
| Mock | Yes | Same dependency = same type |
|
|
228
|
+
| Naming | Yes | Fixed 3 conventions |
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 7. Execution Model
|
|
233
|
+
|
|
234
|
+
### 2-Phase Lifecycle
|
|
235
|
+
|
|
236
|
+
| Phase | Action | Output |
|
|
237
|
+
|-------|--------|--------|
|
|
238
|
+
| **Classify** | Parse architecture, test level, dependency type | Classification |
|
|
239
|
+
| **Guide** | Generate strategy, structure, mock, or naming recommendation | Complete output |
|
|
240
|
+
|
|
241
|
+
All phases synchronous. No async pipeline.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 8. Deterministic Design Principles
|
|
246
|
+
|
|
247
|
+
| Principle | Enforcement |
|
|
248
|
+
|-----------|-------------|
|
|
249
|
+
| Strategy routing | Monolith → Pyramid (Unit 70%, Int 20%, E2E 10%); SPA → Trophy (integration-heavy); Microservices → Honeycomb (contract-centric) |
|
|
250
|
+
| AAA pattern | Arrange (setup data) → Act (execute code) → Assert (verify outcome) |
|
|
251
|
+
| FIRST principles | Fast (<100ms each), Isolated (no external deps), Repeatable (same result always), Self-checking (no manual verification), Timely (written with code) |
|
|
252
|
+
| Mock type routing | Return fixed values → Stub; Track calls → Spy; Set expectations → Mock; Simplified implementation → Fake |
|
|
253
|
+
| Mock decision | Mock: external APIs, database (unit), time/random, network; Don't mock: code under test, pure functions, simple dependencies, in-memory stores |
|
|
254
|
+
| Naming | "should [behavior]", "when [condition]", "given X, when Y, then Z" |
|
|
255
|
+
| Coverage | Target: >80% line coverage; 100% is not the goal |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## 9. State & Idempotency Model
|
|
260
|
+
|
|
261
|
+
Stateless. Fully idempotent. No persistent state.
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## 10. Failure Handling Strategy
|
|
266
|
+
|
|
267
|
+
| Failure Class | Behavior | Caller Recovery |
|
|
268
|
+
|---------------|----------|-----------------|
|
|
269
|
+
| Unknown architecture | Return `ERR_UNKNOWN_ARCHITECTURE` | Specify monolith, spa, or microservices |
|
|
270
|
+
| Unknown dependency type | Return `ERR_UNKNOWN_DEPENDENCY` | Specify valid dependency type |
|
|
271
|
+
| Invalid request type | Return `ERR_INVALID_REQUEST_TYPE` | Use supported type |
|
|
272
|
+
|
|
273
|
+
**Invariant:** Every failure returns a structured error. No partial testing guidance.
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## 11. Error Taxonomy
|
|
278
|
+
|
|
279
|
+
| Code | Category | Recoverable | Description |
|
|
280
|
+
|------|----------|-------------|-------------|
|
|
281
|
+
| `ERR_INVALID_REQUEST_TYPE` | Validation | No | Request type not supported |
|
|
282
|
+
| `ERR_UNKNOWN_ARCHITECTURE` | Validation | Yes | Architecture not one of 3 |
|
|
283
|
+
| `ERR_UNKNOWN_DEPENDENCY` | Validation | Yes | Dependency type not recognized |
|
|
284
|
+
| `ERR_UNKNOWN_TEST_LEVEL` | Validation | Yes | Test level not unit, integration, or e2e |
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## 12. Timeout & Retry Policy
|
|
289
|
+
|
|
290
|
+
| Parameter | Default | Maximum | Rationale |
|
|
291
|
+
|-----------|---------|---------|-----------|
|
|
292
|
+
| Decision generation | N/A | N/A | Synchronous; < 50ms |
|
|
293
|
+
| Internal retries | Zero | Zero | Deterministic output |
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## 13. Observability & Logging Schema
|
|
298
|
+
|
|
299
|
+
### Log Entry Format
|
|
300
|
+
|
|
301
|
+
```json
|
|
302
|
+
{
|
|
303
|
+
"trace_id": "uuid",
|
|
304
|
+
"skill_name": "test-architect",
|
|
305
|
+
"contract_version": "2.0.0",
|
|
306
|
+
"execution_id": "uuid",
|
|
307
|
+
"timestamp": "ISO-8601",
|
|
308
|
+
"request_type": "string",
|
|
309
|
+
"architecture": "string|null",
|
|
310
|
+
"test_level": "string|null",
|
|
311
|
+
"strategy_model": "string|null",
|
|
312
|
+
"mock_type": "string|null",
|
|
313
|
+
"status": "success|error",
|
|
314
|
+
"error_code": "string|null",
|
|
315
|
+
"duration_ms": "number"
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Required Log Points
|
|
320
|
+
|
|
321
|
+
| Event | Log Level | Fields |
|
|
322
|
+
|-------|-----------|--------|
|
|
323
|
+
| Strategy selected | INFO | architecture, strategy_model, distribution |
|
|
324
|
+
| Mock type selected | INFO | dependency_type, mock_type, should_mock |
|
|
325
|
+
| Naming recommended | INFO | convention |
|
|
326
|
+
| Decision failed | ERROR | error_code, message |
|
|
327
|
+
|
|
328
|
+
### Metrics
|
|
329
|
+
|
|
330
|
+
| Metric | Type | Unit |
|
|
331
|
+
|--------|------|------|
|
|
332
|
+
| `testarchitect.decision.duration` | Histogram | ms |
|
|
333
|
+
| `testarchitect.strategy_model.distribution` | Counter | per model |
|
|
334
|
+
| `testarchitect.mock_type.distribution` | Counter | per type |
|
|
335
|
+
| `testarchitect.request_type.distribution` | Counter | per type |
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## 14. Security & Trust Model
|
|
340
|
+
|
|
341
|
+
### Data Handling
|
|
342
|
+
|
|
343
|
+
- Test Architect processes architecture types, dependency types, and coverage numbers only.
|
|
344
|
+
- No credentials, no PII, no source code.
|
|
345
|
+
- No network calls, no file access, no test execution.
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## 15. Scalability Model
|
|
350
|
+
|
|
351
|
+
| Dimension | Constraint | Mitigation |
|
|
352
|
+
|-----------|-----------|------------|
|
|
353
|
+
| Throughput | CPU-bound decision tree | < 50ms; scales linearly |
|
|
354
|
+
| Concurrency | Stateless invocations | Unlimited parallel |
|
|
355
|
+
| Memory per invocation | < 1 MB | No accumulation |
|
|
356
|
+
| Network | Zero network calls | No external dependency |
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## 16. Concurrency Model
|
|
361
|
+
|
|
362
|
+
Fully parallel. No shared state. No coordination required.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## 17. Resource Lifecycle Management
|
|
367
|
+
|
|
368
|
+
All resources scoped to invocation. No persistent handles.
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## 18. Performance Constraints
|
|
373
|
+
|
|
374
|
+
| Operation | P50 Target | P99 Target | Hard Limit |
|
|
375
|
+
|-----------|-----------|-----------|------------|
|
|
376
|
+
| Strategy selection | < 2 ms | < 5 ms | 20 ms |
|
|
377
|
+
| Mock routing | < 2 ms | < 5 ms | 20 ms |
|
|
378
|
+
| Full guide | < 10 ms | < 30 ms | 50 ms |
|
|
379
|
+
| Output size | ≤ 3,000 chars | ≤ 6,000 chars | 10,000 chars |
|
|
380
|
+
|
|
381
|
+
---
|
|
382
|
+
|
|
383
|
+
## 19. Operational Risks
|
|
384
|
+
|
|
385
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
386
|
+
|------|-----------|--------|------------|
|
|
387
|
+
| New testing paradigms | Low | Outdated strategy models | Annual review |
|
|
388
|
+
| Framework deprecation (Jest) | Low | Invalid advice | Track framework status |
|
|
389
|
+
| AI-generated test sprawl | Medium | Low-value tests | Enforce coverage quality over quantity |
|
|
390
|
+
| Shift-left testing trends | Medium | Strategy evolution | Monitor industry practices |
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
## 20. Compliance with skill-design-guide.md
|
|
395
|
+
|
|
396
|
+
| Requirement | Status | Evidence |
|
|
397
|
+
|-------------|--------|----------|
|
|
398
|
+
| YAML frontmatter complete | ✅ | name, description, metadata with category, version, triggers, coordinates_with, success_metrics |
|
|
399
|
+
| SKILL.md < 200 lines | ✅ | Entry point under 200 lines |
|
|
400
|
+
| Prerequisites documented | ✅ | No external dependencies for guidance |
|
|
401
|
+
| When to Use section | ✅ | Situation-based routing table |
|
|
402
|
+
| Core content matches skill type | ✅ | Expert type: strategy selection, mock routing, naming conventions |
|
|
403
|
+
| Troubleshooting section | ✅ | Anti-patterns table |
|
|
404
|
+
| Related section | ✅ | Cross-links to e2e-automation, test-driven-dev, /validate |
|
|
405
|
+
| Content Map for multi-file | ✅ | Links to scripts/ + engineering-spec.md |
|
|
406
|
+
| Contract versioning | ✅ | contract_version, backward_compatibility, breaking_changes |
|
|
407
|
+
| Compliance matrix structured | ✅ | This table with ✅/❌ + evidence |
|
|
408
|
+
|
|
409
|
+
---
|
|
410
|
+
|
|
411
|
+
## 21. Production Readiness Checklist
|
|
412
|
+
|
|
413
|
+
| Category | Check | Status |
|
|
414
|
+
|----------|-------|--------|
|
|
415
|
+
| **Functionality** | 3 strategy models (Pyramid, Trophy, Honeycomb) | ✅ |
|
|
416
|
+
| **Functionality** | AAA pattern (Arrange/Act/Assert) | ✅ |
|
|
417
|
+
| **Functionality** | FIRST principles (5 criteria) | ✅ |
|
|
418
|
+
| **Functionality** | 4 mock types (Stub/Spy/Mock/Fake) | ✅ |
|
|
419
|
+
| **Functionality** | Mock vs don't-mock guidance | ✅ |
|
|
420
|
+
| **Functionality** | 3 naming conventions | ✅ |
|
|
421
|
+
| **Contracts** | Input/output/error schemas in pseudo-schema format | ✅ |
|
|
422
|
+
| **Contracts** | Contract versioning with semver | ✅ |
|
|
423
|
+
| **Failure** | Error taxonomy with 4 categorized codes | ✅ |
|
|
424
|
+
| **Failure** | Zero internal retries | ✅ |
|
|
425
|
+
| **Determinism** | Fixed strategy routing, fixed mock routing, fixed naming | ✅ |
|
|
426
|
+
| **Security** | No source code, no execution, no files | ✅ |
|
|
427
|
+
| **Observability** | Structured log schema with 5 mandatory fields | ✅ |
|
|
428
|
+
| **Observability** | 4 metrics defined | ✅ |
|
|
429
|
+
| **Performance** | P50/P99 targets for all operations | ✅ |
|
|
430
|
+
| **Compliance** | All skill-design-guide.md sections mapped with evidence | ✅ |
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
⚡ PikaKit v3.9.134
|