agentic-qe 3.8.1 → 3.8.3
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/.claude/agents/v3/qe-security-scanner.md +2 -2
- package/.claude/commands/claude-flow-help.md +1 -1
- package/.claude/helpers/github-setup.sh +4 -4
- package/.claude/helpers/post-commit +1 -1
- package/.claude/helpers/pre-commit +1 -1
- package/.claude/helpers/quick-start.sh +4 -4
- package/.claude/helpers/setup-mcp.sh +3 -3
- package/.claude/helpers/statusline-v3.cjs +1 -1
- package/.claude/helpers/validation-pipeline.cjs +625 -0
- package/.claude/skills/README.md +29 -7
- package/.claude/skills/TRUST-TIERS.md +26 -10
- package/.claude/skills/a11y-ally/SKILL.md +10 -2
- package/.claude/skills/accessibility-testing/SKILL.md +2 -1
- package/.claude/skills/agentic-quality-engineering/SKILL.md +1 -2
- package/.claude/skills/api-testing-patterns/SKILL.md +8 -0
- package/.claude/skills/api-testing-patterns/config.json +14 -0
- package/.claude/skills/api-testing-patterns/templates/api-test-scaffold.md +87 -0
- package/.claude/skills/brutal-honesty-review/SKILL.md +0 -1
- package/.claude/skills/bug-reporting-excellence/SKILL.md +14 -1
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +0 -1
- package/.claude/skills/code-review-quality/SKILL.md +14 -1
- package/.claude/skills/compatibility-testing/SKILL.md +1 -54
- package/.claude/skills/compliance-testing/SKILL.md +8 -1
- package/.claude/skills/compliance-testing/config.json +13 -0
- package/.claude/skills/consultancy-practices/SKILL.md +1 -33
- package/.claude/skills/context-driven-testing/SKILL.md +0 -42
- package/.claude/skills/contract-testing/SKILL.md +12 -0
- package/.claude/skills/contract-testing/config.json +13 -0
- package/.claude/skills/contract-testing/references/agent-commands.md +103 -0
- package/.claude/skills/contract-testing/references/provider-states.md +45 -0
- package/.claude/skills/coverage-drop-investigator/SKILL.md +90 -0
- package/.claude/skills/coverage-guard/SKILL.md +82 -0
- package/.claude/skills/coverage-guard/scripts/check-coverage.sh +42 -0
- package/.claude/skills/database-testing/SKILL.md +0 -10
- package/.claude/skills/debug-loop/SKILL.md +1 -1
- package/.claude/skills/e2e-flow-verifier/SKILL.md +78 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/.claude/skills/exploratory-testing-advanced/SKILL.md +8 -1
- package/.claude/skills/exploratory-testing-advanced/references/heuristic-cheatsheet.md +48 -0
- package/.claude/skills/freeze-tests/SKILL.md +67 -0
- package/.claude/skills/freeze-tests/scripts/block-test-edits.sh +27 -0
- package/.claude/skills/holistic-testing-pact/SKILL.md +0 -1
- package/.claude/skills/iterative-loop/SKILL.md +6 -6
- package/.claude/skills/localization-testing/SKILL.md +0 -18
- package/.claude/skills/mobile-testing/SKILL.md +2 -50
- package/.claude/skills/mutation-testing/SKILL.md +26 -1
- package/.claude/skills/mutation-testing/config.json +14 -0
- package/.claude/skills/mutation-testing/references/mutation-operators.md +38 -0
- package/.claude/skills/mutation-testing/run-history.json +6 -0
- package/.claude/skills/n8n-expression-testing/SKILL.md +0 -1
- package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +0 -1
- package/.claude/skills/n8n-security-testing/SKILL.md +0 -1
- package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +0 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +0 -1
- package/.claude/skills/no-skip/SKILL.md +74 -0
- package/.claude/skills/no-skip/scripts/check-skips.sh +28 -0
- package/.claude/skills/pair-programming/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/SKILL.md +2 -3
- package/.claude/skills/performance-testing/SKILL.md +21 -0
- package/.claude/skills/performance-testing/config.json +18 -0
- package/.claude/skills/performance-testing/references/k6-patterns.md +72 -0
- package/.claude/skills/performance-testing/run-history.json +6 -0
- package/.claude/skills/pr-review/SKILL.md +3 -3
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-production-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-production-swarm/steps/01-flag-detection.md +1 -1
- package/.claude/skills/qcsd-production-swarm/steps/07-learning-persistence.md +2 -2
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -2
- package/.claude/skills/qcsd-refinement-swarm/steps/01-flag-detection.md +1 -1
- package/.claude/skills/qe-chaos-resilience/SKILL.md +2 -3
- package/.claude/skills/qe-code-intelligence/SKILL.md +9 -2
- package/.claude/skills/qe-coverage-analysis/SKILL.md +28 -2
- package/.claude/skills/qe-coverage-analysis/run-history.json +6 -0
- package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -2
- package/.claude/skills/qe-iterative-loop/SKILL.md +0 -1
- package/.claude/skills/qe-learning-optimization/SKILL.md +1 -2
- package/.claude/skills/qe-quality-assessment/SKILL.md +29 -3
- package/.claude/skills/qe-quality-assessment/run-history.json +6 -0
- package/.claude/skills/qe-requirements-validation/SKILL.md +1 -2
- package/.claude/skills/qe-test-execution/SKILL.md +9 -2
- package/.claude/skills/qe-test-generation/SKILL.md +15 -2
- package/.claude/skills/qe-test-generation/config.json +14 -0
- package/.claude/skills/qe-test-generation/templates/test-scaffold-jest.md +72 -0
- package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -2
- package/.claude/skills/quality-metrics/SKILL.md +3 -78
- package/.claude/skills/refactoring-patterns/SKILL.md +0 -1
- package/.claude/skills/regression-testing/SKILL.md +13 -49
- package/.claude/skills/risk-based-testing/SKILL.md +6 -52
- package/.claude/skills/security-testing/SKILL.md +30 -0
- package/.claude/skills/security-testing/config.json +13 -0
- package/.claude/skills/security-testing/references/compliance-agent-commands.md +131 -0
- package/.claude/skills/security-testing/references/owasp-top-10.md +66 -0
- package/.claude/skills/security-testing/run-history.json +6 -0
- package/.claude/skills/security-testing/templates/security-report.md +44 -0
- package/.claude/skills/security-visual-testing/SKILL.md +0 -1
- package/.claude/skills/security-watch/SKILL.md +93 -0
- package/.claude/skills/security-watch/scripts/scan-security.sh +46 -0
- package/.claude/skills/sherlock-review/SKILL.md +0 -1
- package/.claude/skills/shift-left-testing/SKILL.md +16 -88
- package/.claude/skills/shift-right-testing/SKILL.md +0 -1
- package/.claude/skills/six-thinking-hats/SKILL.md +0 -1
- package/.claude/skills/skill-stats/SKILL.md +79 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/strict-tdd/SKILL.md +72 -0
- package/.claude/skills/strict-tdd/scripts/enforce-red-phase.sh +36 -0
- package/.claude/skills/tdd-london-chicago/SKILL.md +8 -1
- package/.claude/skills/technical-writing/SKILL.md +0 -1
- package/.claude/skills/test-automation-strategy/SKILL.md +13 -65
- package/.claude/skills/test-data-management/SKILL.md +1 -105
- package/.claude/skills/test-design-techniques/SKILL.md +2 -152
- package/.claude/skills/test-environment-management/SKILL.md +0 -48
- package/.claude/skills/test-failure-investigator/SKILL.md +99 -0
- package/.claude/skills/test-metrics-dashboard/SKILL.md +97 -0
- package/.claude/skills/test-reporting-analytics/SKILL.md +0 -1
- package/.claude/skills/trust-tier-manifest.json +135 -61
- package/.claude/skills/validation-pipeline/SKILL.md +5 -6
- package/.claude/skills/verification-quality/SKILL.md +15 -1
- package/.claude/skills/visual-testing-advanced/SKILL.md +0 -1
- package/.claude/skills/xp-practices/SKILL.md +2 -110
- package/.opencode/agents/collective-intelligence-coordinator.yaml +52 -0
- package/.opencode/agents/ddd-domain-expert.yaml +49 -0
- package/.opencode/agents/memory-specialist.yaml +49 -0
- package/.opencode/agents/performance-engineer.yaml +53 -0
- package/.opencode/agents/qe-accessibility-auditor.yaml +118 -0
- package/.opencode/agents/qe-api-contract-validator.yaml +85 -0
- package/.opencode/agents/qe-bdd-generator.yaml +83 -0
- package/.opencode/agents/qe-chaos-engineer.yaml +114 -0
- package/.opencode/agents/qe-code-complexity.yaml +82 -0
- package/.opencode/agents/qe-code-intelligence.yaml +80 -0
- package/.opencode/agents/qe-coverage-analyzer.yaml +75 -0
- package/.opencode/agents/qe-defect-predictor.yaml +81 -0
- package/.opencode/agents/qe-dependency-mapper.yaml +81 -0
- package/.opencode/agents/qe-deployment-advisor.yaml +82 -0
- package/.opencode/agents/qe-devils-advocate.yaml +63 -0
- package/.opencode/agents/qe-flaky-hunter.yaml +116 -0
- package/.opencode/agents/qe-fleet-commander.yaml +83 -0
- package/.opencode/agents/qe-gap-detector.yaml +81 -0
- package/.opencode/agents/qe-graphql-tester.yaml +84 -0
- package/.opencode/agents/qe-impact-analyzer.yaml +81 -0
- package/.opencode/agents/qe-integration-architect.yaml +46 -0
- package/.opencode/agents/qe-integration-tester.yaml +84 -0
- package/.opencode/agents/qe-kg-builder.yaml +75 -0
- package/.opencode/agents/qe-learning-coordinator.yaml +82 -0
- package/.opencode/agents/qe-load-tester.yaml +84 -0
- package/.opencode/agents/qe-message-broker-tester.yaml +94 -0
- package/.opencode/agents/qe-metrics-optimizer.yaml +81 -0
- package/.opencode/agents/qe-middleware-validator.yaml +92 -0
- package/.opencode/agents/qe-mutation-tester.yaml +84 -0
- package/.opencode/agents/qe-odata-contract-tester.yaml +98 -0
- package/.opencode/agents/qe-parallel-executor.yaml +79 -0
- package/.opencode/agents/qe-pattern-learner.yaml +80 -0
- package/.opencode/agents/qe-pentest-validator.yaml +137 -0
- package/.opencode/agents/qe-performance-tester.yaml +83 -0
- package/.opencode/agents/qe-product-factors-assessor.yaml +116 -0
- package/.opencode/agents/qe-property-tester.yaml +82 -0
- package/.opencode/agents/qe-quality-criteria-recommender.yaml +111 -0
- package/.opencode/agents/qe-quality-gate.yaml +80 -0
- package/.opencode/agents/qe-queen-coordinator.yaml +59 -0
- package/.opencode/agents/qe-qx-partner.yaml +75 -0
- package/.opencode/agents/qe-regression-analyzer.yaml +90 -0
- package/.opencode/agents/qe-requirements-validator.yaml +111 -0
- package/.opencode/agents/qe-responsive-tester.yaml +85 -0
- package/.opencode/agents/qe-retry-handler.yaml +82 -0
- package/.opencode/agents/qe-risk-assessor.yaml +81 -0
- package/.opencode/agents/qe-root-cause-analyzer.yaml +82 -0
- package/.opencode/agents/qe-sap-idoc-tester.yaml +104 -0
- package/.opencode/agents/qe-sap-rfc-tester.yaml +94 -0
- package/.opencode/agents/qe-security-auditor.yaml +90 -0
- package/.opencode/agents/qe-security-scanner.yaml +80 -0
- package/.opencode/agents/qe-soap-tester.yaml +93 -0
- package/.opencode/agents/qe-sod-analyzer.yaml +96 -0
- package/.opencode/agents/qe-tdd-specialist.yaml +84 -0
- package/.opencode/agents/qe-test-generator.yaml +78 -0
- package/.opencode/agents/qe-test-idea-rewriter.yaml +88 -0
- package/.opencode/agents/qe-transfer-specialist.yaml +81 -0
- package/.opencode/agents/qe-visual-tester.yaml +82 -0
- package/.opencode/agents/security-architect.yaml +51 -0
- package/.opencode/agents/security-auditor.yaml +50 -0
- package/.opencode/permissions.yaml +74 -0
- package/.opencode/skills/qcsd-cicd-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-development-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-ideation-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-production-swarm.yaml +45 -0
- package/.opencode/skills/qcsd-refinement-swarm.yaml +45 -0
- package/.opencode/skills/qe-a11y-ally.yaml +45 -0
- package/.opencode/skills/qe-accessibility-testing.yaml +45 -0
- package/.opencode/skills/qe-agentic-jujutsu.yaml +45 -0
- package/.opencode/skills/qe-agentic-quality-engineering.yaml +45 -0
- package/.opencode/skills/qe-api-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-aqe-v2-v3-migration.yaml +45 -0
- package/.opencode/skills/qe-brutal-honesty-review.yaml +45 -0
- package/.opencode/skills/qe-bug-reporting-excellence.yaml +45 -0
- package/.opencode/skills/qe-chaos-engineering-resilience.yaml +30 -0
- package/.opencode/skills/qe-chaos-resilience.yaml +45 -0
- package/.opencode/skills/qe-cicd-pipeline-qe-orchestrator.yaml +45 -0
- package/.opencode/skills/qe-code-intelligence.yaml +45 -0
- package/.opencode/skills/qe-code-review-quality.yaml +45 -0
- package/.opencode/skills/qe-compatibility-testing.yaml +35 -0
- package/.opencode/skills/qe-compliance-testing.yaml +35 -0
- package/.opencode/skills/qe-consultancy-practices.yaml +45 -0
- package/.opencode/skills/qe-context-driven-testing.yaml +45 -0
- package/.opencode/skills/qe-coverage-analysis.yaml +45 -0
- package/.opencode/skills/qe-database-testing.yaml +40 -0
- package/.opencode/skills/qe-debug-loop.yaml +45 -0
- package/.opencode/skills/qe-defect-intelligence.yaml +45 -0
- package/.opencode/skills/qe-enterprise-integration-testing.yaml +45 -0
- package/.opencode/skills/qe-exploratory-testing-advanced.yaml +45 -0
- package/.opencode/skills/qe-github-code-review.yaml +45 -0
- package/.opencode/skills/qe-github-multi-repo.yaml +45 -0
- package/.opencode/skills/qe-github-project-management.yaml +45 -0
- package/.opencode/skills/qe-github-release-management.yaml +45 -0
- package/.opencode/skills/qe-github-workflow-automation.yaml +45 -0
- package/.opencode/skills/qe-holistic-testing-pact.yaml +45 -0
- package/.opencode/skills/qe-iterative-loop.yaml +45 -0
- package/.opencode/skills/qe-learning-optimization.yaml +45 -0
- package/.opencode/skills/qe-localization-testing.yaml +40 -0
- package/.opencode/skills/qe-middleware-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-mobile-testing.yaml +35 -0
- package/.opencode/skills/qe-mutation-testing.yaml +35 -0
- package/.opencode/skills/qe-n8n-expression-testing.yaml +45 -0
- package/.opencode/skills/qe-n8n-integration-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-n8n-security-testing.yaml +45 -0
- package/.opencode/skills/qe-n8n-trigger-testing-strategies.yaml +45 -0
- package/.opencode/skills/qe-n8n-workflow-testing-fundamentals.yaml +45 -0
- package/.opencode/skills/qe-observability-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-pair-programming.yaml +45 -0
- package/.opencode/skills/qe-pentest-validation.yaml +45 -0
- package/.opencode/skills/qe-performance-analysis.yaml +45 -0
- package/.opencode/skills/qe-performance-testing.yaml +45 -0
- package/.opencode/skills/qe-pr-review.yaml +45 -0
- package/.opencode/skills/qe-quality-assessment.yaml +45 -0
- package/.opencode/skills/qe-quality-metrics.yaml +45 -0
- package/.opencode/skills/qe-refactoring-patterns.yaml +40 -0
- package/.opencode/skills/qe-regression-testing.yaml +40 -0
- package/.opencode/skills/qe-release.yaml +45 -0
- package/.opencode/skills/qe-requirements-validation.yaml +45 -0
- package/.opencode/skills/qe-risk-based-testing.yaml +45 -0
- package/.opencode/skills/qe-security-testing.yaml +45 -0
- package/.opencode/skills/qe-security-visual-testing.yaml +45 -0
- package/.opencode/skills/qe-sfdipot-product-factors.yaml +45 -0
- package/.opencode/skills/qe-sherlock-review.yaml +45 -0
- package/.opencode/skills/qe-shift-left-testing.yaml +45 -0
- package/.opencode/skills/qe-shift-right-testing.yaml +45 -0
- package/.opencode/skills/qe-six-thinking-hats.yaml +45 -0
- package/.opencode/skills/qe-skill-builder.yaml +45 -0
- package/.opencode/skills/qe-sparc-methodology.yaml +45 -0
- package/.opencode/skills/qe-stream-chain.yaml +45 -0
- package/.opencode/skills/qe-tdd-london-chicago.yaml +45 -0
- package/.opencode/skills/qe-technical-writing.yaml +45 -0
- package/.opencode/skills/qe-test-automation-strategy.yaml +35 -0
- package/.opencode/skills/qe-test-data-management.yaml +45 -0
- package/.opencode/skills/qe-test-design-techniques.yaml +40 -0
- package/.opencode/skills/qe-test-environment-management.yaml +40 -0
- package/.opencode/skills/qe-test-execution.yaml +45 -0
- package/.opencode/skills/qe-test-generation.yaml +45 -0
- package/.opencode/skills/qe-test-idea-rewriting.yaml +45 -0
- package/.opencode/skills/qe-test-reporting-analytics.yaml +45 -0
- package/.opencode/skills/qe-testability-scoring.yaml +45 -0
- package/.opencode/skills/qe-verification-quality.yaml +45 -0
- package/.opencode/skills/qe-visual-accessibility.yaml +45 -0
- package/.opencode/skills/qe-visual-testing-advanced.yaml +40 -0
- package/.opencode/skills/qe-wms-testing-patterns.yaml +45 -0
- package/.opencode/skills/qe-xp-practices.yaml +45 -0
- package/.opencode/tools/qe-defect-scan.ts +79 -0
- package/.opencode/tools/qe-fleet-status.ts +59 -0
- package/.opencode/tools/qe-full-audit.ts +81 -0
- package/.opencode/tools/qe-learning-report.ts +74 -0
- package/.opencode/tools/qe-test-and-verify.ts +97 -0
- package/CHANGELOG.md +50 -0
- package/README.md +5 -1
- package/assets/agents/v3/qe-security-scanner.md +2 -2
- package/assets/helpers/statusline-v3.cjs +1 -1
- package/assets/helpers/validation-pipeline.cjs +625 -0
- package/assets/skills/README.md +173 -0
- package/assets/skills/TRUST-TIERS.md +174 -0
- package/assets/skills/a11y-ally/SKILL.md +10 -2
- package/assets/skills/accessibility-testing/SKILL.md +2 -1
- package/assets/skills/agentic-quality-engineering/SKILL.md +1 -2
- package/assets/skills/api-testing-patterns/SKILL.md +8 -0
- package/assets/skills/api-testing-patterns/config.json +14 -0
- package/assets/skills/api-testing-patterns/templates/api-test-scaffold.md +87 -0
- package/assets/skills/brutal-honesty-review/SKILL.md +0 -1
- package/assets/skills/bug-reporting-excellence/SKILL.md +14 -1
- package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +0 -1
- package/assets/skills/code-review-quality/SKILL.md +14 -1
- package/assets/skills/compatibility-testing/SKILL.md +1 -54
- package/assets/skills/compliance-testing/SKILL.md +8 -1
- package/assets/skills/compliance-testing/config.json +13 -0
- package/assets/skills/consultancy-practices/SKILL.md +1 -33
- package/assets/skills/context-driven-testing/SKILL.md +0 -42
- package/assets/skills/contract-testing/SKILL.md +12 -0
- package/assets/skills/contract-testing/config.json +13 -0
- package/assets/skills/contract-testing/references/agent-commands.md +103 -0
- package/assets/skills/contract-testing/references/provider-states.md +45 -0
- package/assets/skills/coverage-drop-investigator/SKILL.md +90 -0
- package/assets/skills/coverage-guard/SKILL.md +82 -0
- package/assets/skills/coverage-guard/scripts/check-coverage.sh +42 -0
- package/assets/skills/database-testing/SKILL.md +0 -10
- package/assets/skills/debug-loop/SKILL.md +1 -1
- package/assets/skills/e2e-flow-verifier/SKILL.md +78 -0
- package/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/assets/skills/exploratory-testing-advanced/SKILL.md +8 -1
- package/assets/skills/exploratory-testing-advanced/references/heuristic-cheatsheet.md +48 -0
- package/assets/skills/freeze-tests/SKILL.md +67 -0
- package/assets/skills/freeze-tests/scripts/block-test-edits.sh +27 -0
- package/assets/skills/holistic-testing-pact/SKILL.md +0 -1
- package/assets/skills/localization-testing/SKILL.md +0 -18
- package/assets/skills/mobile-testing/SKILL.md +2 -50
- package/assets/skills/mutation-testing/SKILL.md +26 -1
- package/assets/skills/mutation-testing/config.json +14 -0
- package/assets/skills/mutation-testing/references/mutation-operators.md +38 -0
- package/assets/skills/mutation-testing/run-history.json +6 -0
- package/assets/skills/n8n-expression-testing/SKILL.md +0 -1
- package/assets/skills/n8n-integration-testing-patterns/SKILL.md +0 -1
- package/assets/skills/n8n-security-testing/SKILL.md +0 -1
- package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +0 -1
- package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +0 -1
- package/assets/skills/no-skip/SKILL.md +74 -0
- package/assets/skills/no-skip/scripts/check-skips.sh +28 -0
- package/assets/skills/pair-programming/SKILL.md +1 -1
- package/assets/skills/pentest-validation/SKILL.md +2 -3
- package/assets/skills/performance-testing/SKILL.md +21 -0
- package/assets/skills/performance-testing/config.json +18 -0
- package/assets/skills/performance-testing/references/k6-patterns.md +72 -0
- package/assets/skills/performance-testing/run-history.json +6 -0
- package/assets/skills/pr-review/SKILL.md +3 -3
- package/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-development-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-production-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-production-swarm/steps/01-flag-detection.md +1 -1
- package/assets/skills/qcsd-production-swarm/steps/07-learning-persistence.md +2 -2
- package/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -2
- package/assets/skills/qcsd-refinement-swarm/steps/01-flag-detection.md +1 -1
- package/assets/skills/qe-chaos-resilience/SKILL.md +2 -3
- package/assets/skills/qe-code-intelligence/SKILL.md +9 -2
- package/assets/skills/qe-coverage-analysis/SKILL.md +28 -2
- package/assets/skills/qe-coverage-analysis/run-history.json +6 -0
- package/assets/skills/qe-defect-intelligence/SKILL.md +1 -2
- package/assets/skills/qe-iterative-loop/SKILL.md +0 -1
- package/assets/skills/qe-learning-optimization/SKILL.md +1 -2
- package/assets/skills/qe-quality-assessment/SKILL.md +29 -3
- package/assets/skills/qe-quality-assessment/run-history.json +6 -0
- package/assets/skills/qe-requirements-validation/SKILL.md +1 -2
- package/assets/skills/qe-test-execution/SKILL.md +9 -2
- package/assets/skills/qe-test-generation/SKILL.md +15 -2
- package/assets/skills/qe-test-generation/config.json +14 -0
- package/assets/skills/qe-test-generation/templates/test-scaffold-jest.md +72 -0
- package/assets/skills/qe-visual-accessibility/SKILL.md +1 -2
- package/assets/skills/quality-metrics/SKILL.md +3 -78
- package/assets/skills/refactoring-patterns/SKILL.md +0 -1
- package/assets/skills/regression-testing/SKILL.md +13 -49
- package/assets/skills/risk-based-testing/SKILL.md +6 -52
- package/assets/skills/security-testing/SKILL.md +30 -0
- package/assets/skills/security-testing/config.json +13 -0
- package/assets/skills/security-testing/references/compliance-agent-commands.md +131 -0
- package/assets/skills/security-testing/references/owasp-top-10.md +66 -0
- package/assets/skills/security-testing/run-history.json +6 -0
- package/assets/skills/security-testing/templates/security-report.md +44 -0
- package/assets/skills/security-visual-testing/SKILL.md +0 -1
- package/assets/skills/security-watch/SKILL.md +93 -0
- package/assets/skills/security-watch/scripts/scan-security.sh +46 -0
- package/assets/skills/sherlock-review/SKILL.md +0 -1
- package/assets/skills/shift-left-testing/SKILL.md +16 -88
- package/assets/skills/shift-right-testing/SKILL.md +0 -1
- package/assets/skills/six-thinking-hats/SKILL.md +0 -1
- package/assets/skills/skill-stats/SKILL.md +79 -0
- package/assets/skills/strict-tdd/SKILL.md +72 -0
- package/assets/skills/strict-tdd/scripts/enforce-red-phase.sh +36 -0
- package/assets/skills/tdd-london-chicago/SKILL.md +8 -1
- package/assets/skills/technical-writing/SKILL.md +0 -1
- package/assets/skills/test-automation-strategy/SKILL.md +13 -65
- package/assets/skills/test-data-management/SKILL.md +1 -105
- package/assets/skills/test-design-techniques/SKILL.md +2 -152
- package/assets/skills/test-environment-management/SKILL.md +0 -48
- package/assets/skills/test-failure-investigator/SKILL.md +99 -0
- package/assets/skills/test-metrics-dashboard/SKILL.md +97 -0
- package/assets/skills/test-reporting-analytics/SKILL.md +0 -1
- package/assets/skills/trust-tier-manifest.json +135 -61
- package/assets/skills/validation-pipeline/SKILL.md +5 -6
- package/assets/skills/verification-quality/SKILL.md +15 -1
- package/assets/skills/visual-testing-advanced/SKILL.md +0 -1
- package/assets/skills/xp-practices/SKILL.md +2 -110
- package/dist/adapters/claude-flow/detect.d.ts +5 -0
- package/dist/adapters/claude-flow/detect.js +38 -18
- package/dist/adapters/claude-flow/model-router-bridge.js +4 -3
- package/dist/adapters/claude-flow/pretrain-bridge.js +5 -4
- package/dist/adapters/claude-flow/trajectory-bridge.js +5 -4
- package/dist/cli/bundle.js +262 -79
- package/dist/cli/commands/claude-flow-setup.js +4 -4
- package/dist/domains/learning-optimization/coordinator.d.ts +6 -1
- package/dist/domains/learning-optimization/coordinator.js +26 -4
- package/dist/domains/learning-optimization/plugin.d.ts +2 -0
- package/dist/domains/learning-optimization/plugin.js +2 -0
- package/dist/governance/adversarial-defense-integration.js +1 -0
- package/dist/governance/continue-gate-integration.d.ts +1 -0
- package/dist/governance/continue-gate-integration.js +1 -0
- package/dist/governance/deterministic-gateway-integration.d.ts +1 -0
- package/dist/governance/deterministic-gateway-integration.js +1 -0
- package/dist/governance/evolution-pipeline-integration.d.ts +1 -0
- package/dist/governance/evolution-pipeline-integration.js +1 -0
- package/dist/governance/memory-write-gate-integration.d.ts +1 -0
- package/dist/governance/memory-write-gate-integration.js +1 -0
- package/dist/governance/proof-envelope-integration.d.ts +1 -0
- package/dist/governance/proof-envelope-integration.js +1 -0
- package/dist/governance/shard-retriever-integration.d.ts +1 -0
- package/dist/governance/shard-retriever-integration.js +1 -0
- package/dist/governance/trust-accumulator-integration.d.ts +1 -0
- package/dist/governance/trust-accumulator-integration.js +1 -0
- package/dist/init/agents-installer.js +28 -1
- package/dist/init/enhancements/claude-flow-adapter.js +15 -2
- package/dist/init/init-wizard-hooks.js +3 -3
- package/dist/init/kiro-installer.js +10 -4
- package/dist/init/opencode-installer.d.ts +13 -1
- package/dist/init/opencode-installer.js +52 -14
- package/dist/init/phases/07-hooks.js +21 -7
- package/dist/init/settings-merge.d.ts +1 -1
- package/dist/init/settings-merge.js +12 -13
- package/dist/init/skills-installer.d.ts +10 -0
- package/dist/init/skills-installer.js +68 -6
- package/dist/integrations/ruvector/sona-persistence.d.ts +6 -0
- package/dist/integrations/ruvector/sona-persistence.js +26 -1
- package/dist/mcp/bundle.js +98 -37
- package/dist/mcp/entry.js +6 -6
- package/dist/migration/agent-compat.js +2 -2
- package/package.json +9 -4
- package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +0 -513
- package/.claude/skills/aqe-v2-v3-migration/skill.md +0 -326
- package/.claude/skills/qe-contract-testing/SKILL.md +0 -224
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +0 -513
- package/.claude/skills/qe-contract-testing/schemas/output.json +0 -295
- package/.claude/skills/qe-contract-testing/scripts/validate-config.json +0 -42
- package/.claude/skills/qe-security-compliance/SKILL.md +0 -261
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +0 -595
- package/.claude/skills/qe-security-compliance/schemas/output.json +0 -498
- package/.claude/skills/qe-security-compliance/scripts/validate-config.json +0 -41
- package/assets/skills/aqe-v2-v3-migration/schemas/output.json +0 -513
- package/assets/skills/aqe-v2-v3-migration/skill.md +0 -326
- package/assets/skills/qe-contract-testing/SKILL.md +0 -224
- package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +0 -513
- package/assets/skills/qe-contract-testing/schemas/output.json +0 -295
- package/assets/skills/qe-contract-testing/scripts/validate-config.json +0 -42
- package/assets/skills/qe-security-compliance/SKILL.md +0 -261
- package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +0 -595
- package/assets/skills/qe-security-compliance/schemas/output.json +0 -498
- package/assets/skills/qe-security-compliance/scripts/validate-config.json +0 -41
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: e2e-flow-verifier
|
|
3
|
+
description: "Use when verifying complete user flows end-to-end with Playwright, recording video evidence, and asserting state at each step. For product verification with real browser automation."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# E2E Flow Verifier
|
|
8
|
+
|
|
9
|
+
Product verification skill that drives user flows with Playwright, asserts state at each step, and records video evidence.
|
|
10
|
+
|
|
11
|
+
## Activation
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
/e2e-flow-verifier [flow-name]
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Flow Verification Pattern
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
import { test, expect } from '@playwright/test';
|
|
21
|
+
|
|
22
|
+
test.describe('{{Flow Name}}', () => {
|
|
23
|
+
// Record video for evidence
|
|
24
|
+
test.use({
|
|
25
|
+
video: 'on',
|
|
26
|
+
screenshot: 'on',
|
|
27
|
+
trace: 'on',
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
test('complete user journey', async ({ page }) => {
|
|
31
|
+
// Step 1: Navigate
|
|
32
|
+
await page.goto('{{base_url}}');
|
|
33
|
+
await expect(page).toHaveTitle(/{{expected_title}}/);
|
|
34
|
+
|
|
35
|
+
// Step 2: Authenticate (if needed)
|
|
36
|
+
await page.fill('[data-testid="email"]', '{{test_user}}');
|
|
37
|
+
await page.fill('[data-testid="password"]', '{{test_password}}');
|
|
38
|
+
await page.click('[data-testid="login-btn"]');
|
|
39
|
+
await expect(page.locator('[data-testid="dashboard"]')).toBeVisible();
|
|
40
|
+
|
|
41
|
+
// Step 3: Perform action
|
|
42
|
+
await page.click('[data-testid="{{action_element}}"]');
|
|
43
|
+
await expect(page.locator('[data-testid="{{result_element}}"]')).toContainText('{{expected_text}}');
|
|
44
|
+
|
|
45
|
+
// Step 4: Verify state change
|
|
46
|
+
// Assert both UI state AND backend state
|
|
47
|
+
const apiResponse = await page.request.get('/api/{{resource}}');
|
|
48
|
+
expect(apiResponse.status()).toBe(200);
|
|
49
|
+
const data = await apiResponse.json();
|
|
50
|
+
expect(data.{{field}}).toBe('{{expected_value}}');
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Evidence Collection
|
|
56
|
+
|
|
57
|
+
After each flow verification:
|
|
58
|
+
1. **Video** — `test-results/{{flow-name}}/video.webm`
|
|
59
|
+
2. **Screenshots** — at each assertion point
|
|
60
|
+
3. **Trace** — `test-results/{{flow-name}}/trace.zip` (open with `npx playwright show-trace`)
|
|
61
|
+
4. **Network log** — HAR file with all API calls
|
|
62
|
+
|
|
63
|
+
## Common Flows to Verify
|
|
64
|
+
|
|
65
|
+
| Flow | Steps | Critical Assertions |
|
|
66
|
+
|------|-------|-------------------|
|
|
67
|
+
| Sign-up | Register → Verify email → Login | Account created, session valid |
|
|
68
|
+
| Purchase | Browse → Add to cart → Checkout → Pay | Order created, payment processed |
|
|
69
|
+
| Profile | Login → Edit profile → Save | Changes persisted, shown on reload |
|
|
70
|
+
| Search | Enter query → Filter → Select result | Results relevant, filters work |
|
|
71
|
+
|
|
72
|
+
## Gotchas
|
|
73
|
+
|
|
74
|
+
- Agent writes Playwright tests but doesn't run them — always execute and check video evidence
|
|
75
|
+
- Selectors break on deployment — use `data-testid` attributes, never CSS classes
|
|
76
|
+
- Tests pass locally but fail in CI — headless browser behavior differs, use `--headed` for debugging
|
|
77
|
+
- Auth tokens in E2E tests expire — use fresh login per test, not shared tokens
|
|
78
|
+
- Video evidence is large — clean up after verification, keep only failure videos
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: enterprise-integration-testing
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when testing enterprise integrations across SAP, middleware, WMS, or backend systems, validating E2E enterprise flows, testing SAP-specific patterns (RFC, BAPI, IDoc, OData, Fiori), or enforcing cross-system quality gates."
|
|
4
4
|
category: enterprise-integration
|
|
5
5
|
priority: high
|
|
6
6
|
tokenEstimate: 2000
|
|
@@ -13,7 +13,6 @@ quick_reference_card: true
|
|
|
13
13
|
tags: [exploratory, sbtm, rst, heuristics, test-tours, session-based]
|
|
14
14
|
trust_tier: 0
|
|
15
15
|
validation:
|
|
16
|
-
|
|
17
16
|
---
|
|
18
17
|
|
|
19
18
|
# Advanced Exploratory Testing
|
|
@@ -202,3 +201,11 @@ const exploratoryFleet = await FleetManager.coordinate({
|
|
|
202
201
|
Not random clicking. Structured, skilled investigation guided by heuristics and oracles. Document discoveries in real-time. Pair testing amplifies findings.
|
|
203
202
|
|
|
204
203
|
**With Agents:** Agents generate variations, recognize patterns, and maintain session notes while humans apply judgment and intuition. Combine agent thoroughness with human insight.
|
|
204
|
+
|
|
205
|
+
## Gotchas
|
|
206
|
+
|
|
207
|
+
- Agent treats exploratory testing as scripted test execution — remind it: exploration means learning + adapting in real-time
|
|
208
|
+
- Session notes from agents lack the "why I tried this" reasoning — explicitly ask for decision rationale
|
|
209
|
+
- 90-minute sessions cause context overflow — cap at 45 minutes with explicit debrief
|
|
210
|
+
- Agent defaults to happy-path exploration — explicitly assign "Bad Neighborhood" or "Saboteur" tours for negative testing
|
|
211
|
+
- SFDIPOT heuristics are misapplied when agent doesn't understand the domain — provide domain context upfront
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Exploratory Testing Heuristic Cheat Sheet
|
|
2
|
+
|
|
3
|
+
## SFDIPOT (What to Test)
|
|
4
|
+
| Factor | Questions to Ask |
|
|
5
|
+
|--------|-----------------|
|
|
6
|
+
| **Structure** | What is it made of? What are the components? |
|
|
7
|
+
| **Function** | What does it do? What are all the features? |
|
|
8
|
+
| **Data** | What data does it process? Boundary values? |
|
|
9
|
+
| **Interfaces** | How does it connect to other things? APIs? UI? |
|
|
10
|
+
| **Platform** | What does it depend on? OS? Browser? Network? |
|
|
11
|
+
| **Operations** | How will it be used? By whom? How often? |
|
|
12
|
+
| **Time** | What changes over time? Timeouts? Scheduling? |
|
|
13
|
+
|
|
14
|
+
## FEW HICCUPPS (How to Recognize Problems)
|
|
15
|
+
| Oracle | What to Compare Against |
|
|
16
|
+
|--------|----------------------|
|
|
17
|
+
| **Familiar** | Does it work like similar products I know? |
|
|
18
|
+
| **Explainable** | Can I explain what it does to someone? |
|
|
19
|
+
| **World** | Does it match how the real world works? |
|
|
20
|
+
| **History** | Is it consistent with previous versions? |
|
|
21
|
+
| **Image** | Does it match the organization's brand/values? |
|
|
22
|
+
| **Comparable** | How does it compare to competitors? |
|
|
23
|
+
| **Claims** | Does it match specs, docs, marketing? |
|
|
24
|
+
| **Users** | Does it serve the actual users' needs? |
|
|
25
|
+
| **Product** | Is it internally consistent? |
|
|
26
|
+
| **Purpose** | Does it fulfill its reason for existing? |
|
|
27
|
+
| **Standards** | Does it meet relevant standards (WCAG, RFC)? |
|
|
28
|
+
|
|
29
|
+
## Test Tours (How to Explore)
|
|
30
|
+
| Tour | Strategy |
|
|
31
|
+
|------|----------|
|
|
32
|
+
| **Guidebook** | Follow the documentation exactly |
|
|
33
|
+
| **Money** | Test the revenue-critical features |
|
|
34
|
+
| **Landmark** | Navigate between major features |
|
|
35
|
+
| **Bad Neighborhood** | Focus on historically buggy areas |
|
|
36
|
+
| **Intellectual** | Test the most complex features |
|
|
37
|
+
| **FedEx** | Follow data through the system |
|
|
38
|
+
| **Garbage Collector** | Navigate to least-used features |
|
|
39
|
+
| **Saboteur** | Try to break things intentionally |
|
|
40
|
+
|
|
41
|
+
## Session Charter Template
|
|
42
|
+
```
|
|
43
|
+
CHARTER: Explore [target area]
|
|
44
|
+
WITH: [resources/tools/heuristics]
|
|
45
|
+
TO DISCOVER: [what we're looking for]
|
|
46
|
+
TIME BOX: [45/60/90 minutes]
|
|
47
|
+
PRIORITY: [P0/P1/P2]
|
|
48
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: freeze-tests
|
|
3
|
+
description: "Use when refactoring production code and you want to ensure test files are not modified. Activate with /freeze-tests to block all edits to test files for safe refactoring."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Freeze Tests Mode
|
|
8
|
+
|
|
9
|
+
When activated, blocks all modifications to test files. Use during refactoring to ensure behavior (as captured by tests) is preserved.
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
Blocks Write and Edit operations on any file matching test patterns:
|
|
14
|
+
- `**/*.test.{ts,js,tsx,jsx}`
|
|
15
|
+
- `**/*.spec.{ts,js,tsx,jsx}`
|
|
16
|
+
- `**/__tests__/**`
|
|
17
|
+
- `**/tests/**`
|
|
18
|
+
|
|
19
|
+
## Activation
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
/freeze-tests
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Deactivate with `/freeze-tests off`.
|
|
26
|
+
|
|
27
|
+
## Hook Configuration
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"hooks": {
|
|
32
|
+
"PreToolUse": [
|
|
33
|
+
{
|
|
34
|
+
"matcher": "Write|Edit",
|
|
35
|
+
"hook": ".claude/skills/freeze-tests/scripts/block-test-edits.sh",
|
|
36
|
+
"condition": "file matches **/*.test.* OR **/*.spec.* OR **/__tests__/** OR **/tests/**"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Enforcement Logic
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
#!/bin/bash
|
|
47
|
+
# block-test-edits.sh
|
|
48
|
+
FILE="$1"
|
|
49
|
+
|
|
50
|
+
if echo "$FILE" | grep -qP '\.(test|spec)\.(ts|js|tsx|jsx)$|__tests__|/tests/'; then
|
|
51
|
+
echo "BLOCKED: Test files are frozen during refactoring."
|
|
52
|
+
echo "If tests need updating, deactivate with: /freeze-tests off"
|
|
53
|
+
exit 1
|
|
54
|
+
fi
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## When to Use
|
|
58
|
+
|
|
59
|
+
1. **Refactoring**: Changing code structure without changing behavior
|
|
60
|
+
2. **Performance optimization**: Making code faster without changing logic
|
|
61
|
+
3. **Dependency updates**: Upgrading libraries while preserving behavior
|
|
62
|
+
|
|
63
|
+
## Gotchas
|
|
64
|
+
|
|
65
|
+
- Frozen tests can't be fixed if they break during refactoring — that's the point (the refactoring broke behavior)
|
|
66
|
+
- If a refactoring requires test changes, it's not a pure refactoring — deactivate and treat as a feature change
|
|
67
|
+
- This doesn't prevent running tests — only modifying test files
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# block-test-edits.sh — Freeze Tests hook
|
|
3
|
+
# Blocks all modifications to test files during refactoring.
|
|
4
|
+
# Called by PreToolUse hook on Write/Edit targeting test files.
|
|
5
|
+
|
|
6
|
+
FILE="$1"
|
|
7
|
+
|
|
8
|
+
if [ -z "$FILE" ]; then
|
|
9
|
+
exit 0
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
# Check if file matches test patterns
|
|
13
|
+
if echo "$FILE" | grep -qP '\.(test|spec)\.(ts|js|tsx|jsx)$' 2>/dev/null; then
|
|
14
|
+
echo "BLOCKED: Test files are frozen during refactoring."
|
|
15
|
+
echo "File: $FILE"
|
|
16
|
+
echo "Deactivate with: /freeze-tests off"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
if echo "$FILE" | grep -qP '__tests__/|/tests/' 2>/dev/null; then
|
|
21
|
+
echo "BLOCKED: Test directories are frozen during refactoring."
|
|
22
|
+
echo "File: $FILE"
|
|
23
|
+
echo "Deactivate with: /freeze-tests off"
|
|
24
|
+
exit 1
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
exit 0
|
|
@@ -16,7 +16,6 @@ validation:
|
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
17
|
validator_path: scripts/validate-config.json
|
|
18
18
|
eval_path: evals/localization-testing.yaml
|
|
19
|
-
|
|
20
19
|
---
|
|
21
20
|
|
|
22
21
|
# Localization & Internationalization Testing
|
|
@@ -50,19 +49,6 @@ When testing multi-language/region support:
|
|
|
50
49
|
- Before international releases
|
|
51
50
|
- After UI changes
|
|
52
51
|
|
|
53
|
-
### i18n vs l10n
|
|
54
|
-
| Term | Full Name | Focus |
|
|
55
|
-
|------|-----------|-------|
|
|
56
|
-
| **i18n** | Internationalization | Building for localization |
|
|
57
|
-
| **l10n** | Localization | Adapting for specific locale |
|
|
58
|
-
|
|
59
|
-
### Common Locale Formats
|
|
60
|
-
| Type | US (en-US) | UK (en-GB) | Japan (ja-JP) |
|
|
61
|
-
|------|------------|------------|---------------|
|
|
62
|
-
| **Date** | 10/24/2025 | 24/10/2025 | 2025/10/24 |
|
|
63
|
-
| **Currency** | $1,234.56 | £1,234.56 | ¥1,235 |
|
|
64
|
-
| **Number** | 1,234.56 | 1,234.56 | 1,234.56 |
|
|
65
|
-
|
|
66
52
|
---
|
|
67
53
|
|
|
68
54
|
## Translation Coverage Testing
|
|
@@ -220,8 +206,4 @@ const l10nFleet = await FleetManager.coordinate({
|
|
|
220
206
|
|
|
221
207
|
## Remember
|
|
222
208
|
|
|
223
|
-
**Don't hardcode. Externalize all user-facing strings.** Every string visible to users must come from translation files, not code.
|
|
224
|
-
|
|
225
|
-
**Test with native speakers, not just translation files.** Machine translations and translation files can have context issues that only native speakers catch.
|
|
226
|
-
|
|
227
209
|
**With Agents:** Agents validate translation coverage, detect hardcoded strings, test locale-specific formatting, and verify RTL layouts automatically across all supported languages.
|
|
@@ -16,7 +16,6 @@ validation:
|
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
17
|
validator_path: scripts/validate-config.json
|
|
18
18
|
eval_path: evals/mobile-testing.yaml
|
|
19
|
-
|
|
20
19
|
---
|
|
21
20
|
|
|
22
21
|
# Mobile Testing
|
|
@@ -66,51 +65,6 @@ When testing mobile applications:
|
|
|
66
65
|
| **Tier 2** | 30% users | iPhone 14/13, Pixel 8 |
|
|
67
66
|
| **Tier 3** | 10% users | Older devices, other manufacturers |
|
|
68
67
|
|
|
69
|
-
### Mobile Performance Goals
|
|
70
|
-
| Metric | Target |
|
|
71
|
-
|--------|--------|
|
|
72
|
-
| App launch | < 2 seconds |
|
|
73
|
-
| Screen transition | < 300ms |
|
|
74
|
-
| Frame rate | 60 FPS |
|
|
75
|
-
| Battery drain | < 5%/hour background |
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Touch Gesture Testing
|
|
80
|
-
|
|
81
|
-
```javascript
|
|
82
|
-
// Appium gesture examples
|
|
83
|
-
// Tap
|
|
84
|
-
await driver.touchAction({ action: 'tap', x: 100, y: 200 });
|
|
85
|
-
|
|
86
|
-
// Swipe (scroll down)
|
|
87
|
-
await driver.touchAction([
|
|
88
|
-
{ action: 'press', x: 200, y: 400 },
|
|
89
|
-
{ action: 'moveTo', x: 200, y: 100 },
|
|
90
|
-
{ action: 'release' }
|
|
91
|
-
]);
|
|
92
|
-
|
|
93
|
-
// Pinch to zoom
|
|
94
|
-
const finger1 = [
|
|
95
|
-
{ action: 'press', x: 100, y: 200 },
|
|
96
|
-
{ action: 'moveTo', x: 50, y: 150 },
|
|
97
|
-
{ action: 'release' }
|
|
98
|
-
];
|
|
99
|
-
const finger2 = [
|
|
100
|
-
{ action: 'press', x: 200, y: 200 },
|
|
101
|
-
{ action: 'moveTo', x: 250, y: 250 },
|
|
102
|
-
{ action: 'release' }
|
|
103
|
-
];
|
|
104
|
-
await driver.multiTouchAction([finger1, finger2]);
|
|
105
|
-
|
|
106
|
-
// Long press
|
|
107
|
-
await driver.touchAction({
|
|
108
|
-
action: 'longPress',
|
|
109
|
-
x: 100, y: 200,
|
|
110
|
-
duration: 2000
|
|
111
|
-
});
|
|
112
|
-
```
|
|
113
|
-
|
|
114
68
|
---
|
|
115
69
|
|
|
116
70
|
## Mobile-Specific Scenarios
|
|
@@ -218,8 +172,6 @@ const mobileFleet = await FleetManager.coordinate({
|
|
|
218
172
|
|
|
219
173
|
## Remember
|
|
220
174
|
|
|
221
|
-
**
|
|
222
|
-
|
|
223
|
-
**Test on real devices for critical flows.** Emulators catch 80% of bugs but real devices needed for actual performance, sensor behavior, and platform quirks.
|
|
175
|
+
**Test on real devices for critical flows.** Emulators catch 80% of bugs but real devices are needed for actual performance, sensor behavior, and platform quirks.
|
|
224
176
|
|
|
225
|
-
**With Agents:** `qe-test-executor` orchestrates testing across device farms, manages platform differences, and tests 10+ devices in parallel.
|
|
177
|
+
**With Agents:** `qe-test-executor` orchestrates testing across device farms, manages platform differences, and tests 10+ devices in parallel.
|
|
@@ -11,7 +11,6 @@ last_optimized: 2025-12-02
|
|
|
11
11
|
dependencies: []
|
|
12
12
|
quick_reference_card: true
|
|
13
13
|
tags: [mutation, stryker, test-quality, kill-rate, assertions, effectiveness]
|
|
14
|
-
|
|
15
14
|
# ADR-056 Trust Tier 3 Validation
|
|
16
15
|
trust_tier: 3
|
|
17
16
|
validation:
|
|
@@ -234,3 +233,29 @@ const mutationFleet = await FleetManager.coordinate({
|
|
|
234
233
|
**Focus on critical paths first.** Don't mutation test everything - prioritize payment, authentication, data integrity code.
|
|
235
234
|
|
|
236
235
|
**With Agents:** Agents run mutation analysis, identify surviving mutants, and generate missing test cases to kill them. Automated improvement of test quality.
|
|
236
|
+
|
|
237
|
+
## Run History
|
|
238
|
+
|
|
239
|
+
After each mutation test run, append results to `run-history.json` in this skill directory:
|
|
240
|
+
```bash
|
|
241
|
+
node -e "
|
|
242
|
+
const fs = require('fs');
|
|
243
|
+
const h = JSON.parse(fs.readFileSync('.claude/skills/mutation-testing/run-history.json'));
|
|
244
|
+
h.runs.push({date: new Date().toISOString().split('T')[0], mutation_score_pct: SCORE, killed: KILLED, survived: SURVIVED});
|
|
245
|
+
fs.writeFileSync('.claude/skills/mutation-testing/run-history.json', JSON.stringify(h, null, 2));
|
|
246
|
+
"
|
|
247
|
+
```
|
|
248
|
+
Read `run-history.json` before each run to track score improvements over time.
|
|
249
|
+
|
|
250
|
+
## Skill Composition
|
|
251
|
+
|
|
252
|
+
- **Before mutation testing** → Run `/qe-test-generation` to ensure tests exist
|
|
253
|
+
- **After mutation results** → Use `/qe-coverage-analysis` to prioritize improvement areas
|
|
254
|
+
- **Quality gate** → Feed results into `/qe-quality-assessment` for ship/no-ship decision
|
|
255
|
+
|
|
256
|
+
## Gotchas
|
|
257
|
+
|
|
258
|
+
- Stryker requires `--testRunner jest` explicitly if both jest and vitest are installed
|
|
259
|
+
- Mutating `>=` to `>` in date comparisons rarely gets killed — add boundary tests
|
|
260
|
+
- Running on files >500 LOC will timeout; use `--mutate` to target specific functions
|
|
261
|
+
- `--concurrency` defaults to CPU count which OOMs in containers — set to 2
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./config-schema.json",
|
|
3
|
+
"_description": "Mutation Testing configuration. Auto-created on first run. Edit to customize.",
|
|
4
|
+
"mutator": "stryker",
|
|
5
|
+
"concurrency": 2,
|
|
6
|
+
"score_threshold": 80,
|
|
7
|
+
"options": {
|
|
8
|
+
"testRunner": null,
|
|
9
|
+
"mutateGlob": "src/**/*.{ts,js}",
|
|
10
|
+
"excludeGlob": "src/**/*.test.{ts,js}",
|
|
11
|
+
"timeoutMs": 60000
|
|
12
|
+
},
|
|
13
|
+
"_setupPrompt": "If testRunner is null, ask: 'Which test runner does this project use? (jest/vitest/mocha)'. Warn: concurrency defaults to 2 to avoid OOM in containers."
|
|
14
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Mutation Operators Reference
|
|
2
|
+
|
|
3
|
+
## Arithmetic Operators
|
|
4
|
+
| Original | Mutant | What It Tests |
|
|
5
|
+
|----------|--------|--------------|
|
|
6
|
+
| `a + b` | `a - b` | Addition logic |
|
|
7
|
+
| `a * b` | `a / b` | Multiplication logic |
|
|
8
|
+
| `a % b` | `a * b` | Modulo logic |
|
|
9
|
+
|
|
10
|
+
## Conditional Operators
|
|
11
|
+
| Original | Mutant | What It Tests |
|
|
12
|
+
|----------|--------|--------------|
|
|
13
|
+
| `a > b` | `a >= b` | Off-by-one in boundaries |
|
|
14
|
+
| `a >= b` | `a > b` | Boundary inclusion |
|
|
15
|
+
| `a === b` | `a !== b` | Equality checks |
|
|
16
|
+
| `a && b` | `a \|\| b` | Logical conjunction |
|
|
17
|
+
|
|
18
|
+
## Statement Mutations
|
|
19
|
+
| Original | Mutant | What It Tests |
|
|
20
|
+
|----------|--------|--------------|
|
|
21
|
+
| `return x` | `return !x` | Return value negation |
|
|
22
|
+
| `if (cond)` | `if (true)` | Condition relevance |
|
|
23
|
+
| `if (cond)` | `if (false)` | Dead code detection |
|
|
24
|
+
| `statement` | _(removed)_ | Statement necessity |
|
|
25
|
+
|
|
26
|
+
## Common Surviving Mutants and Fixes
|
|
27
|
+
|
|
28
|
+
**`>=` to `>` survives**: Add boundary test with exact boundary value
|
|
29
|
+
**`&&` to `||` survives**: Add test where only one condition is true
|
|
30
|
+
**Removed `return` survives**: Function's return value isn't being checked
|
|
31
|
+
**`+1` to `-1` survives**: Increment/decrement logic untested
|
|
32
|
+
|
|
33
|
+
## Stryker Configuration Tips
|
|
34
|
+
- `--testRunner jest` — explicit when multiple runners installed
|
|
35
|
+
- `--concurrency 2` — prevents OOM in containers
|
|
36
|
+
- `--mutate 'src/**/*.ts,!src/**/*.d.ts'` — skip type definitions
|
|
37
|
+
- `--timeoutMS 60000` — increase for slow test suites
|
|
38
|
+
- `--thresholds.high 80 --thresholds.low 60` — score quality bands
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_description": "Mutation testing run history. Append after each run. Claude reads this to track mutation score trends.",
|
|
3
|
+
"_format": "Each entry: {date, scope, mutation_score_pct, killed, survived, timeout, no_coverage, improvement_areas}",
|
|
4
|
+
"_instructions": "After running mutation testing, append results here. Track score improvements over time. Flag if score drops below threshold.",
|
|
5
|
+
"runs": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: no-skip
|
|
3
|
+
description: "Use when you want to prevent .skip(), .only(), xit(), and xdescribe() from being committed to test files. Activate with /no-skip for session-scoped test skip prevention."
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# No-Skip Mode
|
|
8
|
+
|
|
9
|
+
When activated, blocks any write that adds test-skipping patterns to test files.
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
Prevents these patterns from being written to test files:
|
|
14
|
+
- `.skip()` — skips individual tests
|
|
15
|
+
- `.only()` — runs only one test (excludes all others)
|
|
16
|
+
- `xit(` / `xdescribe(` — Jasmine skip syntax
|
|
17
|
+
- `test.todo(` — unimplemented test placeholders
|
|
18
|
+
- `@Skip` / `@Disabled` — JUnit skip annotations
|
|
19
|
+
|
|
20
|
+
## Activation
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/no-skip
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Hook Configuration
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"hooks": {
|
|
31
|
+
"PreToolUse": [
|
|
32
|
+
{
|
|
33
|
+
"matcher": "Write|Edit",
|
|
34
|
+
"hook": ".claude/skills/no-skip/scripts/check-skips.sh",
|
|
35
|
+
"condition": "file matches **/*.test.{ts,js,tsx,jsx} OR **/*.spec.{ts,js}"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Enforcement Logic
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
#!/bin/bash
|
|
46
|
+
# check-skips.sh
|
|
47
|
+
CONTENT="$1"
|
|
48
|
+
|
|
49
|
+
SKIP_PATTERNS=(
|
|
50
|
+
'\.skip\s*\('
|
|
51
|
+
'\.only\s*\('
|
|
52
|
+
'\bxit\s*\('
|
|
53
|
+
'\bxdescribe\s*\('
|
|
54
|
+
'\bxcontext\s*\('
|
|
55
|
+
'test\.todo\s*\('
|
|
56
|
+
'@Skip'
|
|
57
|
+
'@Disabled'
|
|
58
|
+
'@Ignore'
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
for pattern in "${SKIP_PATTERNS[@]}"; do
|
|
62
|
+
if echo "$CONTENT" | grep -qP "$pattern"; then
|
|
63
|
+
echo "BLOCKED: Found skip pattern '$pattern'"
|
|
64
|
+
echo "Remove the skip and either fix the test or delete it."
|
|
65
|
+
exit 1
|
|
66
|
+
fi
|
|
67
|
+
done
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Gotchas
|
|
71
|
+
|
|
72
|
+
- This catches NEW skips being written, not existing ones — run `grep -r '.skip(' tests/` to find existing skips
|
|
73
|
+
- `.only()` is sometimes used intentionally during debugging — deactivate with `/no-skip off` if needed
|
|
74
|
+
- Some frameworks use `pending()` instead of `.skip()` — add to patterns if using Jasmine
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# check-skips.sh — No-Skip hook
|
|
3
|
+
# Blocks writes that add test-skipping patterns to test files.
|
|
4
|
+
# Called by PreToolUse hook on Write/Edit to **/*.test.* or **/*.spec.*
|
|
5
|
+
|
|
6
|
+
CONTENT="$1"
|
|
7
|
+
|
|
8
|
+
if [ -z "$CONTENT" ]; then
|
|
9
|
+
# If no content passed, read from stdin
|
|
10
|
+
CONTENT=$(cat)
|
|
11
|
+
fi
|
|
12
|
+
|
|
13
|
+
FOUND=0
|
|
14
|
+
|
|
15
|
+
# Check for skip patterns
|
|
16
|
+
for pattern in '\.skip\s*(' '\.only\s*(' '\bxit\s*(' '\bxdescribe\s*(' '\bxcontext\s*(' 'test\.todo\s*(' '@Skip' '@Disabled' '@Ignore'; do
|
|
17
|
+
if echo "$CONTENT" | grep -qP "$pattern" 2>/dev/null || echo "$CONTENT" | grep -q "$pattern" 2>/dev/null; then
|
|
18
|
+
echo "BLOCKED: Found skip pattern: $pattern"
|
|
19
|
+
FOUND=1
|
|
20
|
+
fi
|
|
21
|
+
done
|
|
22
|
+
|
|
23
|
+
if [ $FOUND -eq 1 ]; then
|
|
24
|
+
echo "Remove the skip and either fix the test or delete it."
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
exit 0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Pair Programming
|
|
3
|
-
description:
|
|
3
|
+
description: "Use when pair programming with AI assistance, practicing TDD with a navigator, debugging collaboratively, refactoring with real-time verification, or running learning sessions with continuous code review and quality monitoring."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Pair Programming
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: pentest-validation
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when validating security findings from SAST/DAST scans, proving exploitability of reported vulnerabilities, eliminating false positives, or running the 4-phase pentest pipeline (recon, analysis, validation, report)."
|
|
4
4
|
category: specialized-testing
|
|
5
5
|
priority: critical
|
|
6
6
|
tokenEstimate: 1500
|
|
@@ -253,8 +253,7 @@ aqe/pentest/
|
|
|
253
253
|
|
|
254
254
|
## Related Skills
|
|
255
255
|
|
|
256
|
-
- [security-testing](../security-testing/) - OWASP vulnerability scanning
|
|
257
|
-
- [qe-security-compliance](../qe-security-compliance/) - SAST/DAST automation
|
|
256
|
+
- [security-testing](../security-testing/) - OWASP vulnerability scanning, SAST/DAST automation
|
|
258
257
|
- [compliance-testing](../compliance-testing/) - Regulatory compliance
|
|
259
258
|
- [api-testing-patterns](../api-testing-patterns/) - API security testing
|
|
260
259
|
- [chaos-engineering-resilience](../chaos-engineering-resilience/) - Security under chaos
|