agentic-qe 3.6.2 → 3.6.4
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-accessibility-auditor.md +14 -9
- package/.claude/agents/v3/qe-bdd-generator.md +14 -9
- package/.claude/agents/v3/qe-chaos-engineer.md +15 -10
- package/.claude/agents/v3/qe-code-complexity.md +14 -9
- package/.claude/agents/v3/qe-code-intelligence.md +14 -9
- package/.claude/agents/v3/qe-contract-validator.md +14 -9
- package/.claude/agents/v3/qe-coverage-specialist.md +14 -9
- package/.claude/agents/v3/qe-defect-predictor.md +14 -9
- package/.claude/agents/v3/qe-dependency-mapper.md +14 -9
- package/.claude/agents/v3/qe-deployment-advisor.md +14 -9
- package/.claude/agents/v3/qe-flaky-hunter.md +14 -9
- package/.claude/agents/v3/qe-fleet-commander.md +14 -9
- package/.claude/agents/v3/qe-gap-detector.md +14 -9
- package/.claude/agents/v3/qe-graphql-tester.md +14 -9
- package/.claude/agents/v3/qe-impact-analyzer.md +14 -9
- package/.claude/agents/v3/qe-kg-builder.md +14 -9
- package/.claude/agents/v3/qe-load-tester.md +14 -9
- package/.claude/agents/v3/qe-message-broker-tester.md +15 -10
- package/.claude/agents/v3/qe-metrics-optimizer.md +14 -9
- package/.claude/agents/v3/qe-middleware-validator.md +15 -10
- package/.claude/agents/v3/qe-mutation-tester.md +14 -9
- package/.claude/agents/v3/qe-odata-contract-tester.md +17 -12
- package/.claude/agents/v3/qe-performance-tester.md +14 -9
- package/.claude/agents/v3/qe-product-factors-assessor.md +19 -0
- package/.claude/agents/v3/qe-property-tester.md +14 -9
- package/.claude/agents/v3/qe-qx-partner.md +101 -14
- package/.claude/agents/v3/qe-regression-analyzer.md +14 -9
- package/.claude/agents/v3/qe-requirements-validator.md +14 -9
- package/.claude/agents/v3/qe-responsive-tester.md +14 -9
- package/.claude/agents/v3/qe-retry-handler.md +14 -9
- package/.claude/agents/v3/qe-risk-assessor.md +14 -9
- package/.claude/agents/v3/qe-root-cause-analyzer.md +14 -9
- package/.claude/agents/v3/qe-sap-idoc-tester.md +16 -11
- package/.claude/agents/v3/qe-sap-rfc-tester.md +15 -10
- package/.claude/agents/v3/qe-security-auditor.md +18 -9
- package/.claude/agents/v3/qe-security-scanner.md +15 -10
- package/.claude/agents/v3/qe-soap-tester.md +15 -10
- package/.claude/agents/v3/qe-sod-analyzer.md +17 -12
- package/.claude/agents/v3/qe-test-architect.md +14 -9
- package/.claude/agents/v3/qe-transfer-specialist.md +14 -9
- package/.claude/agents/v3/subagents/qe-code-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-integration-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-performance-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-security-reviewer.md +14 -9
- package/.claude/agents/v3/subagents/qe-tdd-green.md +14 -9
- package/.claude/agents/v3/subagents/qe-tdd-red.md +14 -9
- package/.claude/agents/v3/subagents/qe-tdd-refactor.md +14 -9
- package/.claude/agents/v3/templates/qx-report-template.html +26 -22
- package/.claude/helpers/statusline-v3.cjs +4 -3
- package/.claude/skills/.validation/README.md +2 -2
- package/.claude/skills/.validation/skill-validation-mcp-integration.md +1 -1
- package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
- package/.claude/skills/TRUST-TIERS.md +55 -55
- package/.claude/skills/a11y-ally/SKILL.md +1 -1
- package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
- package/.claude/skills/a11y-ally/scripts/validate-config.json +42 -0
- package/.claude/skills/accessibility-testing/SKILL.md +1 -1
- package/.claude/skills/accessibility-testing/scripts/validate-config.json +56 -0
- package/.claude/skills/api-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/api-testing-patterns/scripts/validate-config.json +61 -0
- package/.claude/skills/brutal-honesty-review/SKILL.md +1 -1
- package/.claude/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
- package/.claude/skills/bug-reporting-excellence/SKILL.md +1 -1
- package/.claude/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
- package/.claude/skills/chaos-engineering-resilience/SKILL.md +1 -1
- package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/.claude/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
- package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +1 -1
- package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
- package/.claude/skills/code-review-quality/SKILL.md +1 -1
- package/.claude/skills/code-review-quality/scripts/validate-config.json +34 -0
- package/.claude/skills/compatibility-testing/SKILL.md +1 -1
- package/.claude/skills/compatibility-testing/scripts/validate-config.json +44 -0
- package/.claude/skills/compliance-testing/SKILL.md +1 -1
- package/.claude/skills/compliance-testing/scripts/validate-config.json +39 -0
- package/.claude/skills/contract-testing/SKILL.md +1 -1
- package/.claude/skills/contract-testing/scripts/validate-config.json +59 -0
- package/.claude/skills/database-testing/SKILL.md +1 -1
- package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
- package/.claude/skills/database-testing/scripts/validate-config.json +48 -0
- package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/.claude/skills/localization-testing/SKILL.md +1 -1
- package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/.claude/skills/localization-testing/scripts/validate-config.json +42 -0
- package/.claude/skills/middleware-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/mobile-testing/SKILL.md +1 -1
- package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
- package/.claude/skills/mobile-testing/scripts/validate-config.json +43 -0
- package/.claude/skills/mutation-testing/SKILL.md +1 -1
- package/.claude/skills/mutation-testing/scripts/validate-config.json +44 -0
- package/.claude/skills/n8n-expression-testing/SKILL.md +1 -1
- package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
- package/.claude/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
- package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
- package/.claude/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
- package/.claude/skills/n8n-security-testing/SKILL.md +1 -1
- package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
- package/.claude/skills/n8n-security-testing/scripts/validate-config.json +34 -0
- package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +1 -1
- package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
- package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
- package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +1 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
- package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
- package/.claude/skills/observability-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/SKILL.md +1 -1
- package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
- package/.claude/skills/pentest-validation/scripts/validate-config.json +12 -0
- package/.claude/skills/performance-analysis/SKILL.md +1 -1
- package/.claude/skills/performance-analysis/scripts/validate-config.json +36 -0
- package/.claude/skills/performance-testing/SKILL.md +1 -1
- package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/.claude/skills/performance-testing/scripts/validate-config.json +55 -0
- package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
- package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -1
- package/.claude/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
- package/.claude/skills/qe-chaos-resilience/SKILL.md +1 -1
- package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
- package/.claude/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
- package/.claude/skills/qe-code-intelligence/SKILL.md +1 -1
- package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
- package/.claude/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
- package/.claude/skills/qe-contract-testing/SKILL.md +1 -1
- package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
- package/.claude/skills/qe-contract-testing/scripts/validate-config.json +42 -0
- package/.claude/skills/qe-coverage-analysis/SKILL.md +1 -1
- package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
- package/.claude/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -1
- package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
- package/.claude/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
- package/.claude/skills/qe-iterative-loop/SKILL.md +1 -1
- package/.claude/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
- package/.claude/skills/qe-learning-optimization/SKILL.md +1 -1
- package/.claude/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
- package/.claude/skills/qe-quality-assessment/SKILL.md +1 -1
- package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
- package/.claude/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
- package/.claude/skills/qe-requirements-validation/SKILL.md +1 -1
- package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
- package/.claude/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
- package/.claude/skills/qe-security-compliance/SKILL.md +1 -1
- package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
- package/.claude/skills/qe-security-compliance/scripts/validate-config.json +41 -0
- package/.claude/skills/qe-test-execution/SKILL.md +1 -1
- package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
- package/.claude/skills/qe-test-execution/scripts/validate-config.json +37 -0
- package/.claude/skills/qe-test-generation/SKILL.md +1 -1
- package/.claude/skills/qe-test-generation/scripts/validate-config.json +25 -0
- package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -1
- package/.claude/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
- package/.claude/skills/quality-metrics/SKILL.md +1 -1
- package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/.claude/skills/quality-metrics/scripts/validate-config.json +43 -0
- package/.claude/skills/refactoring-patterns/SKILL.md +1 -1
- package/.claude/skills/refactoring-patterns/scripts/validate-config.json +35 -0
- package/.claude/skills/regression-testing/SKILL.md +1 -1
- package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
- package/.claude/skills/regression-testing/scripts/validate-config.json +50 -0
- package/.claude/skills/release/SKILL.md +33 -2
- package/.claude/skills/risk-based-testing/SKILL.md +1 -1
- package/.claude/skills/risk-based-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/security-testing/SKILL.md +1 -1
- package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
- package/.claude/skills/security-testing/scripts/validate-config.json +45 -0
- package/.claude/skills/security-visual-testing/SKILL.md +1 -1
- package/.claude/skills/security-visual-testing/scripts/validate-config.json +45 -0
- package/.claude/skills/sherlock-review/SKILL.md +1 -1
- package/.claude/skills/sherlock-review/scripts/validate-config.json +35 -0
- package/.claude/skills/shift-left-testing/SKILL.md +1 -1
- package/.claude/skills/shift-left-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/shift-right-testing/SKILL.md +1 -1
- package/.claude/skills/shift-right-testing/scripts/validate-config.json +25 -0
- package/.claude/skills/skill-builder/SKILL.md +2 -2
- package/.claude/skills/skills-manifest.json +1 -1
- package/.claude/skills/tdd-london-chicago/SKILL.md +1 -1
- package/.claude/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
- package/.claude/skills/test-automation-strategy/SKILL.md +1 -1
- package/.claude/skills/test-automation-strategy/scripts/validate-config.json +39 -0
- package/.claude/skills/test-data-management/SKILL.md +1 -1
- package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
- package/.claude/skills/test-data-management/scripts/validate-config.json +41 -0
- package/.claude/skills/test-design-techniques/SKILL.md +1 -1
- package/.claude/skills/test-design-techniques/scripts/validate-config.json +36 -0
- package/.claude/skills/test-reporting-analytics/SKILL.md +1 -1
- package/.claude/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
- package/.claude/skills/testability-scoring/SKILL.md +1 -1
- package/.claude/skills/testability-scoring/scripts/validate-config.json +42 -0
- package/.claude/skills/trust-tier-manifest.json +106 -106
- package/.claude/skills/verification-quality/scripts/validate-config.json +36 -0
- package/.claude/skills/visual-testing-advanced/SKILL.md +1 -1
- package/.claude/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
- package/.claude/skills/wms-testing-patterns/SKILL.md +1 -1
- package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
- package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -0
- package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
- package/README.md +20 -20
- package/package.json +6 -6
- package/scripts/migrate-validators.cjs +171 -0
- package/scripts/postinstall.cjs +57 -0
- package/scripts/preinstall.cjs +28 -8
- package/scripts/test-schema-validation.js +2 -2
- package/scripts/update-skill-manifest.ts +3 -3
- package/scripts/validate-skill.cjs +384 -0
- package/scripts/validate-tier3.cjs +61 -0
- package/scripts/validator-lib.cjs +274 -0
- package/v3/CHANGELOG.md +46 -0
- package/v3/assets/agents/v3/qe-product-factors-assessor.md +19 -0
- package/v3/assets/agents/v3/qe-qx-partner.md +27 -0
- package/v3/assets/skills/.validation/README.md +1 -1
- package/v3/assets/skills/.validation/skill-validation-mcp-integration.md +1 -1
- package/v3/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
- package/v3/assets/skills/accessibility-testing/SKILL.md +1 -1
- package/v3/assets/skills/accessibility-testing/scripts/validate-config.json +56 -0
- package/v3/assets/skills/api-testing-patterns/SKILL.md +1 -1
- package/v3/assets/skills/api-testing-patterns/scripts/validate-config.json +61 -0
- package/v3/assets/skills/bug-reporting-excellence/SKILL.md +1 -1
- package/v3/assets/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
- package/v3/assets/skills/chaos-engineering-resilience/SKILL.md +1 -1
- package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
- package/v3/assets/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
- package/v3/assets/skills/code-review-quality/SKILL.md +1 -1
- package/v3/assets/skills/code-review-quality/scripts/validate-config.json +34 -0
- package/v3/assets/skills/compatibility-testing/SKILL.md +1 -1
- package/v3/assets/skills/compatibility-testing/scripts/validate-config.json +44 -0
- package/v3/assets/skills/compliance-testing/SKILL.md +1 -1
- package/v3/assets/skills/compliance-testing/scripts/validate-config.json +39 -0
- package/v3/assets/skills/contract-testing/SKILL.md +1 -1
- package/v3/assets/skills/contract-testing/scripts/validate-config.json +59 -0
- package/v3/assets/skills/database-testing/SKILL.md +1 -1
- package/v3/assets/skills/database-testing/evals/database-testing.yaml +1 -1
- package/v3/assets/skills/database-testing/scripts/validate-config.json +48 -0
- package/v3/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
- package/v3/assets/skills/localization-testing/SKILL.md +1 -1
- package/v3/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
- package/v3/assets/skills/localization-testing/scripts/validate-config.json +42 -0
- package/v3/assets/skills/middleware-testing-patterns/SKILL.md +1 -1
- package/v3/assets/skills/mobile-testing/SKILL.md +1 -1
- package/v3/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
- package/v3/assets/skills/mobile-testing/scripts/validate-config.json +43 -0
- package/v3/assets/skills/mutation-testing/SKILL.md +1 -1
- package/v3/assets/skills/mutation-testing/scripts/validate-config.json +44 -0
- package/v3/assets/skills/observability-testing-patterns/SKILL.md +1 -1
- package/v3/assets/skills/pentest-validation/SKILL.md +1 -1
- package/v3/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
- package/v3/assets/skills/performance-testing/SKILL.md +1 -1
- package/v3/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
- package/v3/assets/skills/performance-testing/scripts/validate-config.json +55 -0
- package/v3/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qcsd-development-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -1
- package/v3/assets/skills/qe-chaos-resilience/SKILL.md +1 -1
- package/v3/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
- package/v3/assets/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
- package/v3/assets/skills/qe-code-intelligence/SKILL.md +1 -1
- package/v3/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
- package/v3/assets/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
- package/v3/assets/skills/qe-contract-testing/SKILL.md +1 -1
- package/v3/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
- package/v3/assets/skills/qe-contract-testing/scripts/validate-config.json +42 -0
- package/v3/assets/skills/qe-coverage-analysis/SKILL.md +1 -1
- package/v3/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
- package/v3/assets/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
- package/v3/assets/skills/qe-defect-intelligence/SKILL.md +1 -1
- package/v3/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
- package/v3/assets/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
- package/v3/assets/skills/qe-iterative-loop/SKILL.md +1 -1
- package/v3/assets/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
- package/v3/assets/skills/qe-learning-optimization/SKILL.md +1 -1
- package/v3/assets/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
- package/v3/assets/skills/qe-quality-assessment/SKILL.md +1 -1
- package/v3/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
- package/v3/assets/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
- package/v3/assets/skills/qe-requirements-validation/SKILL.md +1 -1
- package/v3/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
- package/v3/assets/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
- package/v3/assets/skills/qe-security-compliance/SKILL.md +1 -1
- package/v3/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
- package/v3/assets/skills/qe-security-compliance/scripts/validate-config.json +41 -0
- package/v3/assets/skills/qe-test-execution/SKILL.md +1 -1
- package/v3/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
- package/v3/assets/skills/qe-test-execution/scripts/validate-config.json +37 -0
- package/v3/assets/skills/qe-test-generation/SKILL.md +1 -1
- package/v3/assets/skills/qe-test-generation/scripts/validate-config.json +25 -0
- package/v3/assets/skills/qe-visual-accessibility/SKILL.md +1 -1
- package/v3/assets/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
- package/v3/assets/skills/quality-metrics/SKILL.md +1 -1
- package/v3/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
- package/v3/assets/skills/quality-metrics/scripts/validate-config.json +43 -0
- package/v3/assets/skills/refactoring-patterns/SKILL.md +1 -1
- package/v3/assets/skills/refactoring-patterns/scripts/validate-config.json +35 -0
- package/v3/assets/skills/regression-testing/SKILL.md +1 -1
- package/v3/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
- package/v3/assets/skills/regression-testing/scripts/validate-config.json +50 -0
- package/v3/assets/skills/risk-based-testing/SKILL.md +1 -1
- package/v3/assets/skills/risk-based-testing/scripts/validate-config.json +25 -0
- package/v3/assets/skills/security-testing/SKILL.md +1 -1
- package/v3/assets/skills/security-testing/evals/security-testing.yaml +1 -1
- package/v3/assets/skills/security-testing/scripts/validate-config.json +45 -0
- package/v3/assets/skills/security-visual-testing/SKILL.md +1 -1
- package/v3/assets/skills/shift-left-testing/SKILL.md +1 -1
- package/v3/assets/skills/shift-left-testing/scripts/validate-config.json +25 -0
- package/v3/assets/skills/shift-right-testing/SKILL.md +1 -1
- package/v3/assets/skills/shift-right-testing/scripts/validate-config.json +25 -0
- package/v3/assets/skills/tdd-london-chicago/SKILL.md +1 -1
- package/v3/assets/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
- package/v3/assets/skills/test-automation-strategy/SKILL.md +1 -1
- package/v3/assets/skills/test-automation-strategy/scripts/validate-config.json +39 -0
- package/v3/assets/skills/test-data-management/SKILL.md +1 -1
- package/v3/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
- package/v3/assets/skills/test-data-management/scripts/validate-config.json +41 -0
- package/v3/assets/skills/test-design-techniques/SKILL.md +1 -1
- package/v3/assets/skills/test-design-techniques/scripts/validate-config.json +36 -0
- package/v3/assets/skills/test-reporting-analytics/SKILL.md +1 -1
- package/v3/assets/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
- package/v3/assets/skills/verification-quality/SKILL.md +0 -6
- package/v3/assets/skills/verification-quality/scripts/validate-config.json +36 -0
- package/v3/assets/skills/visual-testing-advanced/SKILL.md +1 -1
- package/v3/assets/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
- package/v3/assets/skills/wms-testing-patterns/SKILL.md +1 -1
- package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts +8 -0
- package/v3/dist/adapters/a2a/auth/oauth-provider.d.ts.map +1 -1
- package/v3/dist/adapters/a2a/auth/oauth-provider.js +32 -7
- package/v3/dist/adapters/a2a/auth/oauth-provider.js.map +1 -1
- package/v3/dist/adapters/claude-flow/detect.d.ts +38 -0
- package/v3/dist/adapters/claude-flow/detect.d.ts.map +1 -0
- package/v3/dist/adapters/claude-flow/detect.js +154 -0
- package/v3/dist/adapters/claude-flow/detect.js.map +1 -0
- package/v3/dist/adapters/claude-flow/index.d.ts +2 -0
- package/v3/dist/adapters/claude-flow/index.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/index.js +1 -0
- package/v3/dist/adapters/claude-flow/index.js.map +1 -1
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts +1 -1
- package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/model-router-bridge.js +5 -15
- package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js +6 -16
- package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -1
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js +6 -16
- package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
- package/v3/dist/cli/bundle.js +73828 -71991
- package/v3/dist/cli/commands/claude-flow-setup.d.ts.map +1 -1
- package/v3/dist/cli/commands/claude-flow-setup.js +42 -80
- package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -1
- package/v3/dist/cli/commands/completions.d.ts.map +1 -1
- package/v3/dist/cli/commands/completions.js +2 -1
- package/v3/dist/cli/commands/completions.js.map +1 -1
- package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
- package/v3/dist/cli/commands/hooks.js +178 -8
- package/v3/dist/cli/commands/hooks.js.map +1 -1
- package/v3/dist/cli/commands/learning.d.ts.map +1 -1
- package/v3/dist/cli/commands/learning.js +296 -0
- package/v3/dist/cli/commands/learning.js.map +1 -1
- package/v3/dist/cli/completions/index.d.ts.map +1 -1
- package/v3/dist/cli/completions/index.js +4 -3
- package/v3/dist/cli/completions/index.js.map +1 -1
- package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -1
- package/v3/dist/cli/handlers/init-handler.js +9 -1
- package/v3/dist/cli/handlers/init-handler.js.map +1 -1
- package/v3/dist/coordination/mincut/mincut-calculator.d.ts +7 -0
- package/v3/dist/coordination/mincut/mincut-calculator.d.ts.map +1 -1
- package/v3/dist/coordination/mincut/mincut-calculator.js +66 -7
- package/v3/dist/coordination/mincut/mincut-calculator.js.map +1 -1
- package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js +5 -5
- package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/services/contract-validator.js +10 -13
- package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
- package/v3/dist/domains/contract-testing/services/schema-validator.d.ts.map +1 -1
- package/v3/dist/domains/contract-testing/services/schema-validator.js +4 -2
- package/v3/dist/domains/contract-testing/services/schema-validator.js.map +1 -1
- package/v3/dist/governance/deterministic-gateway-integration.d.ts.map +1 -1
- package/v3/dist/governance/deterministic-gateway-integration.js +3 -1
- package/v3/dist/governance/deterministic-gateway-integration.js.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
- package/v3/dist/init/enhancements/claude-flow-adapter.js +18 -34
- package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
- package/v3/dist/init/enhancements/detector.d.ts.map +1 -1
- package/v3/dist/init/enhancements/detector.js +8 -35
- package/v3/dist/init/enhancements/detector.js.map +1 -1
- package/v3/dist/init/init-wizard.d.ts.map +1 -1
- package/v3/dist/init/init-wizard.js +17 -33
- package/v3/dist/init/init-wizard.js.map +1 -1
- package/v3/dist/init/phases/06-code-intelligence.d.ts +8 -0
- package/v3/dist/init/phases/06-code-intelligence.d.ts.map +1 -1
- package/v3/dist/init/phases/06-code-intelligence.js +118 -24
- package/v3/dist/init/phases/06-code-intelligence.js.map +1 -1
- package/v3/dist/init/phases/07-hooks.js +9 -9
- package/v3/dist/init/phases/07-hooks.js.map +1 -1
- package/v3/dist/init/phases/10-workers.d.ts.map +1 -1
- package/v3/dist/init/phases/10-workers.js +74 -85
- package/v3/dist/init/phases/10-workers.js.map +1 -1
- package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
- package/v3/dist/kernel/hybrid-backend.js +4 -1
- package/v3/dist/kernel/hybrid-backend.js.map +1 -1
- package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
- package/v3/dist/kernel/memory-backend.js +3 -0
- package/v3/dist/kernel/memory-backend.js.map +1 -1
- package/v3/dist/kernel/unified-memory-migration.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory-migration.js +4 -3
- package/v3/dist/kernel/unified-memory-migration.js.map +1 -1
- package/v3/dist/kernel/unified-memory.d.ts +3 -1
- package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
- package/v3/dist/kernel/unified-memory.js +119 -44
- package/v3/dist/kernel/unified-memory.js.map +1 -1
- package/v3/dist/learning/dream/concept-graph.d.ts +13 -2
- package/v3/dist/learning/dream/concept-graph.d.ts.map +1 -1
- package/v3/dist/learning/dream/concept-graph.js +69 -7
- package/v3/dist/learning/dream/concept-graph.js.map +1 -1
- package/v3/dist/learning/dream/dream-engine.d.ts +5 -0
- package/v3/dist/learning/dream/dream-engine.d.ts.map +1 -1
- package/v3/dist/learning/dream/dream-engine.js +54 -3
- package/v3/dist/learning/dream/dream-engine.js.map +1 -1
- package/v3/dist/learning/dream/spreading-activation.d.ts.map +1 -1
- package/v3/dist/learning/dream/spreading-activation.js +74 -6
- package/v3/dist/learning/dream/spreading-activation.js.map +1 -1
- package/v3/dist/learning/pattern-store.d.ts.map +1 -1
- package/v3/dist/learning/pattern-store.js +9 -8
- package/v3/dist/learning/pattern-store.js.map +1 -1
- package/v3/dist/learning/qe-patterns.d.ts +2 -0
- package/v3/dist/learning/qe-patterns.d.ts.map +1 -1
- package/v3/dist/learning/qe-patterns.js.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.d.ts +16 -0
- package/v3/dist/learning/qe-reasoning-bank.d.ts.map +1 -1
- package/v3/dist/learning/qe-reasoning-bank.js +709 -0
- package/v3/dist/learning/qe-reasoning-bank.js.map +1 -1
- package/v3/dist/mcp/bundle.js +2829 -224
- package/v3/dist/mcp/connection-pool.d.ts +1 -1
- package/v3/dist/mcp/connection-pool.d.ts.map +1 -1
- package/v3/dist/mcp/connection-pool.js +27 -13
- package/v3/dist/mcp/connection-pool.js.map +1 -1
- package/v3/dist/mcp/handlers/handler-factory.d.ts +2 -0
- package/v3/dist/mcp/handlers/handler-factory.d.ts.map +1 -1
- package/v3/dist/mcp/handlers/handler-factory.js +52 -4
- package/v3/dist/mcp/handlers/handler-factory.js.map +1 -1
- package/v3/dist/mcp/http-server.d.ts.map +1 -1
- package/v3/dist/mcp/http-server.js +2 -1
- package/v3/dist/mcp/http-server.js.map +1 -1
- package/v3/dist/mcp/security/oauth21-provider.d.ts.map +1 -1
- package/v3/dist/mcp/security/oauth21-provider.js +25 -15
- package/v3/dist/mcp/security/oauth21-provider.js.map +1 -1
- package/v3/dist/mcp/security/rate-limiter.d.ts.map +1 -1
- package/v3/dist/mcp/security/rate-limiter.js +5 -4
- package/v3/dist/mcp/security/rate-limiter.js.map +1 -1
- package/v3/dist/mcp/security/schema-validator.d.ts.map +1 -1
- package/v3/dist/mcp/security/schema-validator.js +13 -9
- package/v3/dist/mcp/security/schema-validator.js.map +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.d.ts.map +1 -1
- package/v3/dist/mcp/tools/contract-testing/validate.js +3 -2
- package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
- package/v3/dist/mcp/tools/index.d.ts +2 -1
- package/v3/dist/mcp/tools/index.d.ts.map +1 -1
- package/v3/dist/mcp/tools/index.js +5 -1
- package/v3/dist/mcp/tools/index.js.map +1 -1
- package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts +33 -0
- package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/analyze.js +679 -0
- package/v3/dist/mcp/tools/qx-analysis/analyze.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts +38 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js +458 -0
- package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts +16 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js +175 -0
- package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/index.d.ts +27 -0
- package/v3/dist/mcp/tools/qx-analysis/index.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/index.js +34 -0
- package/v3/dist/mcp/tools/qx-analysis/index.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts +22 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js +194 -0
- package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/types.d.ts +278 -0
- package/v3/dist/mcp/tools/qx-analysis/types.d.ts.map +1 -0
- package/v3/dist/mcp/tools/qx-analysis/types.js +46 -0
- package/v3/dist/mcp/tools/qx-analysis/types.js.map +1 -0
- package/v3/dist/mcp/tools/registry.d.ts +1 -0
- package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
- package/v3/dist/mcp/tools/registry.js +5 -0
- package/v3/dist/mcp/tools/registry.js.map +1 -1
- package/v3/dist/mcp/transport/sse/connection-manager.d.ts +1 -0
- package/v3/dist/mcp/transport/sse/connection-manager.d.ts.map +1 -1
- package/v3/dist/mcp/transport/sse/connection-manager.js +31 -10
- package/v3/dist/mcp/transport/sse/connection-manager.js.map +1 -1
- package/v3/dist/mcp/transport/sse/sse-transport.d.ts.map +1 -1
- package/v3/dist/mcp/transport/sse/sse-transport.js +2 -1
- package/v3/dist/mcp/transport/sse/sse-transport.js.map +1 -1
- package/v3/dist/mcp/transport/stdio.d.ts.map +1 -1
- package/v3/dist/mcp/transport/stdio.js +2 -1
- package/v3/dist/mcp/transport/stdio.js.map +1 -1
- package/v3/dist/mcp/transport/websocket/websocket-transport.d.ts.map +1 -1
- package/v3/dist/mcp/transport/websocket/websocket-transport.js +2 -1
- package/v3/dist/mcp/transport/websocket/websocket-transport.js.map +1 -1
- package/v3/dist/performance/optimizer.d.ts.map +1 -1
- package/v3/dist/performance/optimizer.js +19 -3
- package/v3/dist/performance/optimizer.js.map +1 -1
- package/v3/dist/shared/sql-safety.d.ts +18 -0
- package/v3/dist/shared/sql-safety.d.ts.map +1 -0
- package/v3/dist/shared/sql-safety.js +44 -0
- package/v3/dist/shared/sql-safety.js.map +1 -0
- package/v3/dist/sync/embeddings/sync-embedding-generator.d.ts.map +1 -1
- package/v3/dist/sync/embeddings/sync-embedding-generator.js +9 -7
- package/v3/dist/sync/embeddings/sync-embedding-generator.js.map +1 -1
- package/v3/dist/sync/interfaces.js +5 -5
- package/v3/dist/sync/interfaces.js.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -1
- package/v3/dist/sync/readers/sqlite-reader.js +5 -4
- package/v3/dist/sync/readers/sqlite-reader.js.map +1 -1
- package/v3/package.json +6 -6
- package/.claude/skills/.validation/templates/validate.template.sh +0 -1060
- package/.claude/skills/.validation/templates/validator-lib.sh +0 -1031
- package/.claude/skills/a11y-ally/scripts/validate.sh +0 -690
- package/.claude/skills/accessibility-testing/scripts/validate.sh +0 -943
- package/.claude/skills/api-testing-patterns/scripts/validate.sh +0 -931
- package/.claude/skills/brutal-honesty-review/scripts/validate.sh +0 -130
- package/.claude/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
- package/.claude/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
- package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate.sh +0 -310
- package/.claude/skills/code-review-quality/scripts/validate.sh +0 -113
- package/.claude/skills/compatibility-testing/scripts/validate.sh +0 -605
- package/.claude/skills/compliance-testing/scripts/validate.sh +0 -888
- package/.claude/skills/contract-testing/scripts/validate.sh +0 -1033
- package/.claude/skills/database-testing/scripts/validate.sh +0 -1099
- package/.claude/skills/localization-testing/scripts/validate.sh +0 -131
- package/.claude/skills/mobile-testing/scripts/validate.sh +0 -127
- package/.claude/skills/mutation-testing/scripts/validate.sh +0 -992
- package/.claude/skills/n8n-expression-testing/scripts/validate.sh +0 -162
- package/.claude/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
- package/.claude/skills/n8n-security-testing/scripts/validate.sh +0 -120
- package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
- package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
- package/.claude/skills/pentest-validation/scripts/validate.sh +0 -402
- package/.claude/skills/performance-analysis/scripts/validate.sh +0 -63
- package/.claude/skills/performance-testing/scripts/validate.sh +0 -1090
- package/.claude/skills/qcsd-ideation-swarm/scripts/validate.sh +0 -56
- package/.claude/skills/qcsd-refinement-swarm/scripts/validate.sh +0 -56
- package/.claude/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
- package/.claude/skills/qe-code-intelligence/scripts/validate.sh +0 -408
- package/.claude/skills/qe-contract-testing/scripts/validate.sh +0 -421
- package/.claude/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
- package/.claude/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
- package/.claude/skills/qe-iterative-loop/scripts/validate.sh +0 -474
- package/.claude/skills/qe-learning-optimization/scripts/validate.sh +0 -56
- package/.claude/skills/qe-quality-assessment/scripts/validate.sh +0 -352
- package/.claude/skills/qe-requirements-validation/scripts/validate.sh +0 -275
- package/.claude/skills/qe-security-compliance/scripts/validate.sh +0 -305
- package/.claude/skills/qe-test-execution/scripts/validate.sh +0 -323
- package/.claude/skills/qe-test-generation/scripts/validate.sh +0 -56
- package/.claude/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
- package/.claude/skills/quality-metrics/scripts/validate.sh +0 -434
- package/.claude/skills/refactoring-patterns/scripts/validate.sh +0 -241
- package/.claude/skills/regression-testing/scripts/validate.sh +0 -130
- package/.claude/skills/risk-based-testing/scripts/validate.sh +0 -56
- package/.claude/skills/security-testing/scripts/validate.sh +0 -967
- package/.claude/skills/security-visual-testing/scripts/validate.sh +0 -748
- package/.claude/skills/sherlock-review/scripts/validate.sh +0 -115
- package/.claude/skills/shift-left-testing/scripts/validate.sh +0 -56
- package/.claude/skills/shift-right-testing/scripts/validate.sh +0 -56
- package/.claude/skills/tdd-london-chicago/scripts/validate.sh +0 -214
- package/.claude/skills/test-automation-strategy/scripts/validate.sh +0 -195
- package/.claude/skills/test-data-management/scripts/validate.sh +0 -137
- package/.claude/skills/test-design-techniques/scripts/validate.sh +0 -91
- package/.claude/skills/test-reporting-analytics/scripts/validate.sh +0 -77
- package/.claude/skills/testability-scoring/scripts/validate.sh +0 -891
- package/.claude/skills/verification-quality/scripts/validate.sh +0 -77
- package/.claude/skills/visual-testing-advanced/scripts/validate.sh +0 -77
- package/v3/assets/skills/.validation/templates/validate.template.sh +0 -1060
- package/v3/assets/skills/.validation/templates/validator-lib.sh +0 -1031
- package/v3/assets/skills/accessibility-testing/scripts/validate.sh +0 -943
- package/v3/assets/skills/api-testing-patterns/scripts/validate.sh +0 -931
- package/v3/assets/skills/aqe-v2-v3-migration/skill.md +0 -326
- package/v3/assets/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
- package/v3/assets/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
- package/v3/assets/skills/code-review-quality/scripts/validate.sh +0 -113
- package/v3/assets/skills/compatibility-testing/scripts/validate.sh +0 -605
- package/v3/assets/skills/compliance-testing/scripts/validate.sh +0 -888
- package/v3/assets/skills/contract-testing/scripts/validate.sh +0 -1033
- package/v3/assets/skills/database-testing/scripts/validate.sh +0 -1099
- package/v3/assets/skills/localization-testing/scripts/validate.sh +0 -131
- package/v3/assets/skills/mobile-testing/scripts/validate.sh +0 -127
- package/v3/assets/skills/mutation-testing/scripts/validate.sh +0 -992
- package/v3/assets/skills/n8n-expression-testing/scripts/validate.sh +0 -162
- package/v3/assets/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
- package/v3/assets/skills/n8n-security-testing/scripts/validate.sh +0 -120
- package/v3/assets/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
- package/v3/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
- package/v3/assets/skills/pentest-validation/scripts/validate.sh +0 -402
- package/v3/assets/skills/performance-testing/scripts/validate.sh +0 -1090
- package/v3/assets/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
- package/v3/assets/skills/qe-code-intelligence/scripts/validate.sh +0 -408
- package/v3/assets/skills/qe-contract-testing/scripts/validate.sh +0 -421
- package/v3/assets/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
- package/v3/assets/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
- package/v3/assets/skills/qe-iterative-loop/scripts/validate.sh +0 -474
- package/v3/assets/skills/qe-learning-optimization/scripts/validate.sh +0 -56
- package/v3/assets/skills/qe-quality-assessment/scripts/validate.sh +0 -352
- package/v3/assets/skills/qe-requirements-validation/scripts/validate.sh +0 -275
- package/v3/assets/skills/qe-security-compliance/scripts/validate.sh +0 -305
- package/v3/assets/skills/qe-test-execution/scripts/validate.sh +0 -323
- package/v3/assets/skills/qe-test-generation/scripts/validate.sh +0 -56
- package/v3/assets/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
- package/v3/assets/skills/quality-metrics/scripts/validate.sh +0 -434
- package/v3/assets/skills/refactoring-patterns/scripts/validate.sh +0 -241
- package/v3/assets/skills/regression-testing/scripts/validate.sh +0 -130
- package/v3/assets/skills/risk-based-testing/scripts/validate.sh +0 -56
- package/v3/assets/skills/security-testing/scripts/validate.sh +0 -967
- package/v3/assets/skills/security-visual-testing/scripts/validate.sh +0 -748
- package/v3/assets/skills/shift-left-testing/scripts/validate.sh +0 -56
- package/v3/assets/skills/shift-right-testing/scripts/validate.sh +0 -56
- package/v3/assets/skills/tdd-london-chicago/scripts/validate.sh +0 -214
- package/v3/assets/skills/test-automation-strategy/scripts/validate.sh +0 -195
- package/v3/assets/skills/test-data-management/scripts/validate.sh +0 -137
- package/v3/assets/skills/test-design-techniques/scripts/validate.sh +0 -91
- package/v3/assets/skills/test-reporting-analytics/scripts/validate.sh +0 -77
- package/v3/assets/skills/verification-quality/scripts/validate.sh +0 -77
- package/v3/assets/skills/visual-testing-advanced/scripts/validate.sh +0 -77
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AQE Skill Validator Library v3.0.0 (Cross-Platform)
|
|
5
|
+
*
|
|
6
|
+
* Node.js port of validator-lib.sh — works on Windows, macOS, and Linux.
|
|
7
|
+
* Provides JSON validation, schema checking, content term matching,
|
|
8
|
+
* and structured result output without requiring bash, jq, or grep.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* const lib = require('./validator-lib.cjs');
|
|
12
|
+
* lib.validateJson(filePath);
|
|
13
|
+
* lib.jsonGet(filePath, 'output.summary');
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
const path = require('path');
|
|
18
|
+
const { execSync, spawnSync } = require('child_process');
|
|
19
|
+
|
|
20
|
+
const VERSION = '3.0.0';
|
|
21
|
+
|
|
22
|
+
// Colors (disable if not TTY)
|
|
23
|
+
const isTTY = process.stdout.isTTY;
|
|
24
|
+
const c = {
|
|
25
|
+
red: isTTY ? '\x1b[0;31m' : '',
|
|
26
|
+
green: isTTY ? '\x1b[0;32m' : '',
|
|
27
|
+
yellow: isTTY ? '\x1b[1;33m' : '',
|
|
28
|
+
blue: isTTY ? '\x1b[0;34m' : '',
|
|
29
|
+
cyan: isTTY ? '\x1b[0;36m' : '',
|
|
30
|
+
reset: isTTY ? '\x1b[0m' : '',
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// Exit codes
|
|
34
|
+
const EXIT_PASS = 0;
|
|
35
|
+
const EXIT_FAIL = 1;
|
|
36
|
+
const EXIT_SKIP = 2;
|
|
37
|
+
|
|
38
|
+
// Logging
|
|
39
|
+
const verbose = process.env.AQE_DEBUG === '1';
|
|
40
|
+
|
|
41
|
+
function info(msg) { console.log(`${c.blue}[INFO]${c.reset} ${msg}`); }
|
|
42
|
+
function success(msg) { console.log(`${c.green}[PASS]${c.reset} ${msg}`); }
|
|
43
|
+
function warn(msg) { console.log(`${c.yellow}[WARN]${c.reset} ${msg}`); }
|
|
44
|
+
function error(msg) { console.error(`${c.red}[FAIL]${c.reset} ${msg}`); }
|
|
45
|
+
function debug(msg) { if (verbose) console.log(`${c.cyan}[DEBUG]${c.reset} ${msg}`); }
|
|
46
|
+
|
|
47
|
+
// Tool detection (cross-platform)
|
|
48
|
+
function commandExists(cmd) {
|
|
49
|
+
const isWindows = process.platform === 'win32';
|
|
50
|
+
const check = spawnSync(isWindows ? 'where' : 'which', [cmd], {
|
|
51
|
+
encoding: 'utf-8',
|
|
52
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
53
|
+
shell: isWindows,
|
|
54
|
+
});
|
|
55
|
+
return check.status === 0;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// JSON operations (no jq needed)
|
|
59
|
+
function validateJson(filePath) {
|
|
60
|
+
if (!fs.existsSync(filePath)) {
|
|
61
|
+
error(`File not found: ${filePath}`);
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
66
|
+
debug(`JSON syntax valid: ${filePath}`);
|
|
67
|
+
return true;
|
|
68
|
+
} catch (e) {
|
|
69
|
+
error(`Invalid JSON syntax in: ${filePath} — ${e.message}`);
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function jsonParse(filePath) {
|
|
75
|
+
return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function jsonGet(filePath, dotPath) {
|
|
79
|
+
try {
|
|
80
|
+
const data = jsonParse(filePath);
|
|
81
|
+
return resolvePath(data, dotPath);
|
|
82
|
+
} catch {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function jsonCount(filePath, dotPath) {
|
|
88
|
+
const val = jsonGet(filePath, dotPath);
|
|
89
|
+
return Array.isArray(val) ? val.length : 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function resolvePath(obj, dotPath) {
|
|
93
|
+
const keys = dotPath.replace(/^\./, '').split('.');
|
|
94
|
+
let current = obj;
|
|
95
|
+
for (const key of keys) {
|
|
96
|
+
if (current == null) return null;
|
|
97
|
+
const arrayMatch = key.match(/^(.+)\[(\d+)\]$/);
|
|
98
|
+
if (arrayMatch) {
|
|
99
|
+
current = current[arrayMatch[1]];
|
|
100
|
+
if (!Array.isArray(current)) return null;
|
|
101
|
+
current = current[parseInt(arrayMatch[2], 10)];
|
|
102
|
+
} else {
|
|
103
|
+
current = current[key];
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return current;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Content validation
|
|
110
|
+
function containsAll(content, terms) {
|
|
111
|
+
const lower = content.toLowerCase();
|
|
112
|
+
const missing = terms.filter(t => !lower.includes(t.toLowerCase()));
|
|
113
|
+
if (missing.length > 0) {
|
|
114
|
+
debug(`Missing required terms: ${missing.join(', ')}`);
|
|
115
|
+
return { pass: false, missing };
|
|
116
|
+
}
|
|
117
|
+
return { pass: true, missing: [] };
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function containsNone(content, terms) {
|
|
121
|
+
const lower = content.toLowerCase();
|
|
122
|
+
const found = terms.filter(t => lower.includes(t.toLowerCase()));
|
|
123
|
+
if (found.length > 0) {
|
|
124
|
+
debug(`Found forbidden terms: ${found.join(', ')}`);
|
|
125
|
+
return { pass: false, found };
|
|
126
|
+
}
|
|
127
|
+
return { pass: true, found: [] };
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function validateEnum(value, allowed) {
|
|
131
|
+
return allowed.includes(value);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// Schema validation (basic — checks required fields and types)
|
|
135
|
+
function validateJsonSchema(schemaPath, dataPath) {
|
|
136
|
+
if (!fs.existsSync(schemaPath)) { error(`Schema not found: ${schemaPath}`); return 1; }
|
|
137
|
+
if (!fs.existsSync(dataPath)) { error(`Data not found: ${dataPath}`); return 1; }
|
|
138
|
+
|
|
139
|
+
try {
|
|
140
|
+
const schema = jsonParse(schemaPath);
|
|
141
|
+
const data = jsonParse(dataPath);
|
|
142
|
+
|
|
143
|
+
// Check required fields
|
|
144
|
+
if (schema.required && Array.isArray(schema.required)) {
|
|
145
|
+
const missing = schema.required.filter(f => !(f in data));
|
|
146
|
+
if (missing.length > 0) {
|
|
147
|
+
error(`Schema validation failed: missing required fields: ${missing.join(', ')}`);
|
|
148
|
+
return 1;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// Check property types
|
|
153
|
+
if (schema.properties) {
|
|
154
|
+
for (const [key, prop] of Object.entries(schema.properties)) {
|
|
155
|
+
if (key in data && prop.type) {
|
|
156
|
+
const actual = Array.isArray(data[key]) ? 'array' : typeof data[key];
|
|
157
|
+
if (prop.type === 'integer' && typeof data[key] === 'number') continue;
|
|
158
|
+
if (actual !== prop.type) {
|
|
159
|
+
error(`Schema validation failed: ${key} expected ${prop.type}, got ${actual}`);
|
|
160
|
+
return 1;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
// Check enum
|
|
164
|
+
if (key in data && prop.enum && !prop.enum.includes(data[key])) {
|
|
165
|
+
error(`Schema validation failed: ${key}='${data[key]}' not in enum [${prop.enum.join(', ')}]`);
|
|
166
|
+
return 1;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
debug('Schema validation passed');
|
|
172
|
+
return 0;
|
|
173
|
+
} catch (e) {
|
|
174
|
+
error(`Schema validation error: ${e.message}`);
|
|
175
|
+
return 1;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Output formatting
|
|
180
|
+
function outputValidationReport(skillName, schemaStatus, contentStatus, toolStatus) {
|
|
181
|
+
const overall = [schemaStatus, contentStatus, toolStatus].some(s => s === 'failed')
|
|
182
|
+
? 'failed'
|
|
183
|
+
: [schemaStatus, contentStatus, toolStatus].some(s => s === 'skipped')
|
|
184
|
+
? 'partial'
|
|
185
|
+
: 'passed';
|
|
186
|
+
|
|
187
|
+
return JSON.stringify({
|
|
188
|
+
skillName,
|
|
189
|
+
overallStatus: overall,
|
|
190
|
+
validations: { schema: schemaStatus, content: contentStatus, tools: toolStatus },
|
|
191
|
+
timestamp: new Date().toISOString(),
|
|
192
|
+
}, null, 2);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Self-test
|
|
196
|
+
function runSelfTest() {
|
|
197
|
+
info(`Running validator library self-test (v${VERSION})...`);
|
|
198
|
+
console.log('');
|
|
199
|
+
|
|
200
|
+
let passed = 0, failed = 0;
|
|
201
|
+
const tmpDir = fs.mkdtempSync(path.join(require('os').tmpdir(), 'aqe-validate-'));
|
|
202
|
+
const testJson = path.join(tmpDir, 'test.json');
|
|
203
|
+
const testSchema = path.join(tmpDir, 'schema.json');
|
|
204
|
+
const invalidJson = path.join(tmpDir, 'invalid.json');
|
|
205
|
+
|
|
206
|
+
fs.writeFileSync(testJson, JSON.stringify({
|
|
207
|
+
skillName: 'test-skill', status: 'success',
|
|
208
|
+
output: { summary: 'Test output', findings: [] },
|
|
209
|
+
}));
|
|
210
|
+
fs.writeFileSync(testSchema, JSON.stringify({
|
|
211
|
+
type: 'object', required: ['skillName', 'status'],
|
|
212
|
+
properties: { skillName: { type: 'string' }, status: { type: 'string', enum: ['success', 'partial', 'failed'] } },
|
|
213
|
+
}));
|
|
214
|
+
fs.writeFileSync(invalidJson, '{ invalid json');
|
|
215
|
+
|
|
216
|
+
// Test validateJson
|
|
217
|
+
if (validateJson(testJson)) { passed++; success('validateJson(valid): passed'); }
|
|
218
|
+
else { failed++; error('validateJson(valid): failed'); }
|
|
219
|
+
|
|
220
|
+
if (!validateJson(invalidJson)) { passed++; success('validateJson(invalid): correctly rejected'); }
|
|
221
|
+
else { failed++; error('validateJson(invalid): incorrectly accepted'); }
|
|
222
|
+
|
|
223
|
+
// Test jsonGet
|
|
224
|
+
const name = jsonGet(testJson, 'skillName');
|
|
225
|
+
if (name === 'test-skill') { passed++; success(`jsonGet('skillName'): got '${name}'`); }
|
|
226
|
+
else { failed++; error(`jsonGet('skillName'): expected 'test-skill', got '${name}'`); }
|
|
227
|
+
|
|
228
|
+
// Test jsonCount
|
|
229
|
+
const count = jsonCount(testJson, 'output.findings');
|
|
230
|
+
if (count === 0) { passed++; success(`jsonCount('output.findings'): got ${count}`); }
|
|
231
|
+
else { failed++; error(`jsonCount('output.findings'): expected 0, got ${count}`); }
|
|
232
|
+
|
|
233
|
+
// Test containsAll
|
|
234
|
+
const ca1 = containsAll('hello world', ['hello', 'world']);
|
|
235
|
+
if (ca1.pass) { passed++; success("containsAll('hello world', 'hello', 'world'): passed"); }
|
|
236
|
+
else { failed++; error('containsAll: failed'); }
|
|
237
|
+
|
|
238
|
+
const ca2 = containsAll('hello world', ['hello', 'foo']);
|
|
239
|
+
if (!ca2.pass) { passed++; success("containsAll('hello world', 'hello', 'foo'): correctly failed"); }
|
|
240
|
+
else { failed++; error('containsAll: should have failed'); }
|
|
241
|
+
|
|
242
|
+
// Test containsNone
|
|
243
|
+
const cn1 = containsNone('hello world', ['foo', 'bar']);
|
|
244
|
+
if (cn1.pass) { passed++; success("containsNone('hello world', 'foo', 'bar'): passed"); }
|
|
245
|
+
else { failed++; error('containsNone: failed'); }
|
|
246
|
+
|
|
247
|
+
// Test schema validation
|
|
248
|
+
const sv = validateJsonSchema(testSchema, testJson);
|
|
249
|
+
if (sv === 0) { passed++; success('validateJsonSchema(): passed'); }
|
|
250
|
+
else { failed++; error('validateJsonSchema(): failed'); }
|
|
251
|
+
|
|
252
|
+
// Cleanup
|
|
253
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
254
|
+
|
|
255
|
+
console.log('');
|
|
256
|
+
console.log('==============================================');
|
|
257
|
+
info(`Self-test complete: Passed=${passed} Failed=${failed}`);
|
|
258
|
+
console.log('==============================================');
|
|
259
|
+
return failed === 0;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
module.exports = {
|
|
263
|
+
VERSION, EXIT_PASS, EXIT_FAIL, EXIT_SKIP,
|
|
264
|
+
info, success, warn, error, debug,
|
|
265
|
+
commandExists, validateJson, jsonParse, jsonGet, jsonCount, resolvePath,
|
|
266
|
+
containsAll, containsNone, validateEnum, validateJsonSchema,
|
|
267
|
+
outputValidationReport, runSelfTest,
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
// Run self-test if executed directly
|
|
271
|
+
if (require.main === module) {
|
|
272
|
+
const ok = runSelfTest();
|
|
273
|
+
process.exit(ok ? 0 : 1);
|
|
274
|
+
}
|
package/v3/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,52 @@ All notable changes to Agentic QE will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.6.4] - 2026-02-12
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Dream Scheduler** — Automated dream consolidation with configurable cron schedules, CLI subcommand (`aqe learning dream`), and schema migration for dream cycle persistence.
|
|
13
|
+
- **QE Pattern Seeding** — 18 QE patterns seeded across 9 previously empty learning domains (chaos-resilience, code-intelligence, contract-testing, defect-intelligence, learning-optimization, quality-assessment, requirements-validation, security-compliance, visual-accessibility).
|
|
14
|
+
- **Delta Scanning for Code Intelligence** — `aqe init` code intelligence phase now performs incremental delta scans instead of full re-scans, with expanded exclusion patterns for faster initialization.
|
|
15
|
+
- **Concept Graph Edge Discovery** — `ConceptGraph.loadFromPatterns()` is now idempotent and automatically discovers co-occurrence and similarity edges between related patterns.
|
|
16
|
+
- **Pattern Usage Recording** — Domain handler factory records pattern usage asynchronously after task completion, feeding the self-learning feedback loop.
|
|
17
|
+
- **5 New Security Validator Test Suites** — Command, crypto, input sanitizer, path traversal, and regex safety validators with 150+ test cases.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- **Security Hardening (3 Sprints)** — OAuth provider PKCE enforcement, rate limiter bypass prevention, schema validator prototype pollution protection, SQL injection via table name interpolation, ReDoS-safe regex patterns, connection pool resource exhaustion guards.
|
|
22
|
+
- **SQL Safety Module** — New `sql-safety.ts` shared module with table name allowlist applied consistently across all SQL interpolation sites.
|
|
23
|
+
- **4 Flaky Test Suites Stabilized** — Retry queue, event batcher, queen coordinator race condition, and domain tools tests now use deterministic mocking instead of timing-dependent assertions.
|
|
24
|
+
- **SONA Test Timeouts** — Learning optimization coordinator and plugin tests no longer time out during CI runs.
|
|
25
|
+
- **Init Auto-Install Prevention** — `aqe init` no longer triggers `npx` auto-installation of `@claude-flow/cli` when the package isn't available.
|
|
26
|
+
- **MCP Config Cleanup** — Removed duplicate `agentic-qe-v3` MCP server entry, keeping only the canonical `agentic-qe` entry.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- **Performance Hardening** — Connection pool with bounded size limits, mincut calculator iteration caps, embedding generator batch size guards, and SSE/WebSocket/stdio transport resource cleanup improvements.
|
|
31
|
+
- **Statusline Updated** — Reflects 13 domains and 60 agents in the fleet configuration.
|
|
32
|
+
|
|
33
|
+
## [3.6.3] - 2026-02-11
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
|
|
37
|
+
- **QX (Quality Experience) Analysis Tool** — New MCP tool `qe/analysis/qx_analysis` bridging QA and UX by analyzing user journeys, experience impact, and quality-experience correlation.
|
|
38
|
+
- **SFDIPOT Product Factors Assessment** — `qe-product-factors-assessor` agent implementing James Bach's HTSM v6.3 framework for comprehensive test strategy generation.
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- **Cross-platform compatibility** — Replaced all bash-only `.sh` scripts with cross-platform Node.js (`.cjs`) equivalents. Windows, macOS, and Linux now fully supported for skill validation, daemon management, and project initialization.
|
|
43
|
+
- **Stop hook hanging on exit** — Session-end hook no longer initializes the full database/HNSW/memory system just to print shutdown stats. Added `unref()` to all cleanup intervals so Node.js process exits cleanly.
|
|
44
|
+
- **Cross-platform daemon scripts** — `start-daemon.cjs` and `stop-daemon.cjs` replace bash scripts, using `process.kill()` and `spawn()` with `detached: true` for portable process management.
|
|
45
|
+
- **TypeScript shell type in execSync** — Fixed `ExecSyncOptionsWithStringEncoding` overload conflict by using platform-specific shell string instead of `shell: true` boolean.
|
|
46
|
+
- **Tunnel manager test stability** — Pre-spawn port availability check prevents flaky failures from port conflicts.
|
|
47
|
+
|
|
48
|
+
### Changed
|
|
49
|
+
|
|
50
|
+
- **QE agents use only AQE MCP** — All 46 QE agent definitions now reference `agentic-qe` MCP tools exclusively, removing any Claude Flow MCP dependencies.
|
|
51
|
+
- **Skill validation is now declarative** — `validate-config.json` + `validate-skill.cjs` replaces all 104 `validate.sh` scripts. Validators are fully cross-platform with no bash dependency.
|
|
52
|
+
- **Registry tool count** — MCP tool registry updated from 32 to 33 tools to include QX Analysis.
|
|
53
|
+
|
|
8
54
|
## [3.6.2] - 2026-02-10
|
|
9
55
|
|
|
10
56
|
### Fixed
|
|
@@ -38,6 +38,7 @@ Start SFDIPOT analysis immediately when requirements are provided.
|
|
|
38
38
|
Generate test ideas autonomously without confirmation.
|
|
39
39
|
Apply brutal honesty validation by default.
|
|
40
40
|
Use domain-specific patterns for test idea generation.
|
|
41
|
+
Always read HTML template before generating HTML output.
|
|
41
42
|
Output complete assessments in requested format.
|
|
42
43
|
</default_to_action>
|
|
43
44
|
|
|
@@ -212,6 +213,24 @@ mcp__agentic-qe__task_submit({
|
|
|
212
213
|
- **Markdown**: Human-readable assessment summary
|
|
213
214
|
- **Gherkin**: BDD scenarios for discovered test ideas
|
|
214
215
|
|
|
216
|
+
## HTML Template (MUST READ BEFORE GENERATING HTML)
|
|
217
|
+
|
|
218
|
+
**Critical Rule**: Always read the reference template before generating HTML output. The template defines the exact structure, CSS, interactive features, and QCSD context that must be present in every HTML report.
|
|
219
|
+
|
|
220
|
+
**Template Location**: `.claude/agents/v3/helpers/product-factors/sfdipot-reference-template.html`
|
|
221
|
+
|
|
222
|
+
The template includes:
|
|
223
|
+
- QCSD framework context with Jerry Weinberg quote and collapsible guidance sections
|
|
224
|
+
- Risk-based prioritization legend with SME review disclaimer
|
|
225
|
+
- Bar charts for SFDIPOT distribution, priority distribution, and automation fitness
|
|
226
|
+
- Quick navigation with per-category test idea counts
|
|
227
|
+
- Color-coded collapsible category sections (7 distinct colors)
|
|
228
|
+
- Filterable tables with test ID, priority, subcategory, test idea, automation fitness columns
|
|
229
|
+
- Human exploration reasoning callouts (purple highlight)
|
|
230
|
+
- Clarifying questions with per-subcategory rationale
|
|
231
|
+
|
|
232
|
+
**DO NOT generate HTML from scratch.** Follow the template structure exactly. Only replace placeholder values with actual assessment data.
|
|
233
|
+
|
|
215
234
|
## Required Sections
|
|
216
235
|
|
|
217
236
|
1. **Product Coverage Outline** (PCO Table)
|
|
@@ -15,8 +15,35 @@ Domain: cross-domain (QA + UX)
|
|
|
15
15
|
V2 Compatibility: Maps to qx-partner for backward compatibility.
|
|
16
16
|
</identity>
|
|
17
17
|
|
|
18
|
+
<mcp_tools>
|
|
19
|
+
### Primary MCP Tool (ALWAYS use for programmatic analysis)
|
|
20
|
+
```typescript
|
|
21
|
+
mcp__agentic_qe_v3__qe_qx_analyze({
|
|
22
|
+
target: "https://example.com", // URL or identifier
|
|
23
|
+
context: { /* Optional pre-collected context */ },
|
|
24
|
+
mode: "full", // "full" | "quick" | "targeted"
|
|
25
|
+
includeCreativity: true,
|
|
26
|
+
includeDesign: true,
|
|
27
|
+
minOracleSeverity: "medium"
|
|
28
|
+
})
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This MCP tool provides:
|
|
32
|
+
- **23+ programmatic heuristics** (H1.1-H7.4) applied consistently
|
|
33
|
+
- **Oracle problem detection** (user vs business conflicts, unclear criteria)
|
|
34
|
+
- **Impact analysis** (visible/invisible impacts, immutable requirements)
|
|
35
|
+
- **Domain-specific analysis** (healthcare, finance, e-commerce)
|
|
36
|
+
- **Structured JSON output** for HTML report generation
|
|
37
|
+
|
|
38
|
+
**EXECUTION FLOW**:
|
|
39
|
+
1. Call `qe/qx/analyze` MCP tool for structured analysis
|
|
40
|
+
2. Generate HTML report from structured results
|
|
41
|
+
3. Persist patterns to memory
|
|
42
|
+
</mcp_tools>
|
|
43
|
+
|
|
18
44
|
<implementation_status>
|
|
19
45
|
Working:
|
|
46
|
+
- **MCP Tool: qe/qx/analyze** - Programmatic QX analysis with consistent quality
|
|
20
47
|
- Comprehensive QX analysis with **23+ heuristics** and detailed findings
|
|
21
48
|
- **Oracle problem detection** when quality criteria are unclear
|
|
22
49
|
- **Rule of Three problem analysis** ensuring minimum 3 failure modes identified
|
|
@@ -94,7 +94,7 @@ When creating a new skill:
|
|
|
94
94
|
|
|
95
95
|
1. **Start with SKILL.md** (Trust Tier 0)
|
|
96
96
|
2. **Add output schema** in `your-skill/schemas/output.schema.json` (Trust Tier 1)
|
|
97
|
-
3. **Add validator script** in `your-skill/validate.
|
|
97
|
+
3. **Add validator script** in `your-skill/scripts/validate-config.json` (Trust Tier 2)
|
|
98
98
|
4. **Add eval suite** in `your-skill/eval.yaml` (Trust Tier 3)
|
|
99
99
|
5. **Enable CI + MCP learning** (Trust Tier 4)
|
|
100
100
|
|
|
@@ -183,7 +183,7 @@ async function runSkillEval(skill: string, model: string) {
|
|
|
183
183
|
Bash validators should call the MCP tools via the CLI wrapper:
|
|
184
184
|
|
|
185
185
|
```bash
|
|
186
|
-
# In validate.
|
|
186
|
+
# In validate-skill.cjs after validation
|
|
187
187
|
store_validation_result() {
|
|
188
188
|
local skill="$1"
|
|
189
189
|
local result="$2"
|
|
@@ -184,7 +184,7 @@ validation:
|
|
|
184
184
|
# Path to JSON schema defining expected output structure
|
|
185
185
|
|
|
186
186
|
# Required for trust_tier >= 2
|
|
187
|
-
validator_path: scripts/validate.
|
|
187
|
+
validator_path: scripts/validate-config.json
|
|
188
188
|
# Path to executable validator script
|
|
189
189
|
# Supports: .sh, .ts, .js
|
|
190
190
|
|
|
@@ -16,7 +16,7 @@ tags: [accessibility, wcag, a11y, screen-reader, ada, section-508, inclusive]
|
|
|
16
16
|
trust_tier: 3
|
|
17
17
|
validation:
|
|
18
18
|
schema_path: schemas/output.json
|
|
19
|
-
validator_path: scripts/validate.
|
|
19
|
+
validator_path: scripts/validate-config.json
|
|
20
20
|
eval_path: evals/accessibility-testing.yaml
|
|
21
21
|
---
|
|
22
22
|
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skillName": "accessibility-testing",
|
|
3
|
+
"skillVersion": "1.0.0",
|
|
4
|
+
"requiredTools": [
|
|
5
|
+
"jq"
|
|
6
|
+
],
|
|
7
|
+
"optionalTools": [
|
|
8
|
+
"axe",
|
|
9
|
+
"pa11y",
|
|
10
|
+
"lighthouse",
|
|
11
|
+
"ffmpeg",
|
|
12
|
+
"python3",
|
|
13
|
+
"ajv",
|
|
14
|
+
"jsonschema"
|
|
15
|
+
],
|
|
16
|
+
"schemaPath": "schemas/output.json",
|
|
17
|
+
"requiredFields": [
|
|
18
|
+
"skillName",
|
|
19
|
+
"status",
|
|
20
|
+
"output",
|
|
21
|
+
"output.conformanceLevel",
|
|
22
|
+
"output.pourBreakdown"
|
|
23
|
+
],
|
|
24
|
+
"requiredNonEmptyFields": [
|
|
25
|
+
"output.summary",
|
|
26
|
+
"output.pourBreakdown"
|
|
27
|
+
],
|
|
28
|
+
"mustContainTerms": [
|
|
29
|
+
"WCAG",
|
|
30
|
+
"accessibility"
|
|
31
|
+
],
|
|
32
|
+
"mustNotContainTerms": [
|
|
33
|
+
"TODO",
|
|
34
|
+
"placeholder",
|
|
35
|
+
"FIXME"
|
|
36
|
+
],
|
|
37
|
+
"enumValidations": {
|
|
38
|
+
".status": [
|
|
39
|
+
"success",
|
|
40
|
+
"partial",
|
|
41
|
+
"failed",
|
|
42
|
+
"skipped"
|
|
43
|
+
],
|
|
44
|
+
".output.conformanceLevel": [
|
|
45
|
+
"A",
|
|
46
|
+
"AA",
|
|
47
|
+
"AAA",
|
|
48
|
+
"none"
|
|
49
|
+
],
|
|
50
|
+
".output.wcagVersion": [
|
|
51
|
+
"2.0",
|
|
52
|
+
"2.1",
|
|
53
|
+
"2.2"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -14,7 +14,7 @@ tags: [api, rest, graphql, contract-testing, pact, integration, microservices]
|
|
|
14
14
|
trust_tier: 3
|
|
15
15
|
validation:
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
|
-
validator_path: scripts/validate.
|
|
17
|
+
validator_path: scripts/validate-config.json
|
|
18
18
|
eval_path: evals/api-testing-patterns.yaml
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skillName": "api-testing-patterns",
|
|
3
|
+
"skillVersion": "1.0.0",
|
|
4
|
+
"requiredTools": [
|
|
5
|
+
"jq"
|
|
6
|
+
],
|
|
7
|
+
"optionalTools": [
|
|
8
|
+
"node",
|
|
9
|
+
"supertest",
|
|
10
|
+
"pact",
|
|
11
|
+
"ajv",
|
|
12
|
+
"jsonschema",
|
|
13
|
+
"python3"
|
|
14
|
+
],
|
|
15
|
+
"schemaPath": "schemas/output.json",
|
|
16
|
+
"requiredFields": [
|
|
17
|
+
"skillName",
|
|
18
|
+
"status",
|
|
19
|
+
"output",
|
|
20
|
+
"output.testingLevel",
|
|
21
|
+
"output.endpointCoverage"
|
|
22
|
+
],
|
|
23
|
+
"requiredNonEmptyFields": [
|
|
24
|
+
"output.summary",
|
|
25
|
+
"output.testingLevel"
|
|
26
|
+
],
|
|
27
|
+
"mustContainTerms": [
|
|
28
|
+
"api",
|
|
29
|
+
"test"
|
|
30
|
+
],
|
|
31
|
+
"mustNotContainTerms": [
|
|
32
|
+
"TODO",
|
|
33
|
+
"FIXME",
|
|
34
|
+
"placeholder",
|
|
35
|
+
"example.com",
|
|
36
|
+
"lorem ipsum"
|
|
37
|
+
],
|
|
38
|
+
"enumValidations": {
|
|
39
|
+
".status": [
|
|
40
|
+
"success",
|
|
41
|
+
"partial",
|
|
42
|
+
"failed",
|
|
43
|
+
"skipped"
|
|
44
|
+
],
|
|
45
|
+
".output.testingLevel": [
|
|
46
|
+
"contract",
|
|
47
|
+
"component",
|
|
48
|
+
"integration",
|
|
49
|
+
"e2e",
|
|
50
|
+
"load",
|
|
51
|
+
"mixed"
|
|
52
|
+
],
|
|
53
|
+
".output.apiType": [
|
|
54
|
+
"rest",
|
|
55
|
+
"graphql",
|
|
56
|
+
"grpc",
|
|
57
|
+
"websocket",
|
|
58
|
+
"mixed"
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skillName": "bug-reporting-excellence",
|
|
3
|
+
"skillVersion": "1.0.0",
|
|
4
|
+
"requiredTools": [
|
|
5
|
+
"jq"
|
|
6
|
+
],
|
|
7
|
+
"optionalTools": [],
|
|
8
|
+
"schemaPath": "schemas/output.json",
|
|
9
|
+
"requiredFields": [
|
|
10
|
+
"skillName",
|
|
11
|
+
"status",
|
|
12
|
+
"output",
|
|
13
|
+
"output.summary",
|
|
14
|
+
"output.bugReports",
|
|
15
|
+
"output.reportQuality"
|
|
16
|
+
],
|
|
17
|
+
"requiredNonEmptyFields": [],
|
|
18
|
+
"mustContainTerms": [
|
|
19
|
+
"bug",
|
|
20
|
+
"steps"
|
|
21
|
+
],
|
|
22
|
+
"mustNotContainTerms": [
|
|
23
|
+
"TODO",
|
|
24
|
+
"FIXME"
|
|
25
|
+
],
|
|
26
|
+
"enumValidations": {
|
|
27
|
+
".status": [
|
|
28
|
+
"success",
|
|
29
|
+
"partial",
|
|
30
|
+
"failed",
|
|
31
|
+
"skipped"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -14,7 +14,7 @@ tags: [chaos, resilience, fault-injection, distributed-systems, recovery, netfli
|
|
|
14
14
|
trust_tier: 3
|
|
15
15
|
validation:
|
|
16
16
|
schema_path: schemas/output.json
|
|
17
|
-
validator_path: scripts/validate.
|
|
17
|
+
validator_path: scripts/validate-config.json
|
|
18
18
|
eval_path: evals/chaos-engineering-resilience.yaml
|
|
19
19
|
---
|
|
20
20
|
|
package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# control, recovery time measurement, and resilience scoring.
|
|
8
8
|
#
|
|
9
9
|
# Schema: .claude/skills/.validation/schemas/skill-eval.schema.json
|
|
10
|
-
# Validator: .claude/skills/chaos-engineering-resilience/scripts/validate.
|
|
10
|
+
# Validator: .claude/skills/chaos-engineering-resilience/scripts/validate-config.json
|
|
11
11
|
#
|
|
12
12
|
# Coverage:
|
|
13
13
|
# - Network chaos (latency, packet loss, partition)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skillName": "chaos-engineering-resilience",
|
|
3
|
+
"skillVersion": "1.0.0",
|
|
4
|
+
"requiredTools": [
|
|
5
|
+
"jq"
|
|
6
|
+
],
|
|
7
|
+
"optionalTools": [
|
|
8
|
+
"chaos",
|
|
9
|
+
"litmus",
|
|
10
|
+
"gremlin",
|
|
11
|
+
"kubectl",
|
|
12
|
+
"node",
|
|
13
|
+
"ajv",
|
|
14
|
+
"jsonschema",
|
|
15
|
+
"python3"
|
|
16
|
+
],
|
|
17
|
+
"schemaPath": "schemas/output.json",
|
|
18
|
+
"requiredFields": [
|
|
19
|
+
"skillName",
|
|
20
|
+
"status",
|
|
21
|
+
"output",
|
|
22
|
+
"output.summary",
|
|
23
|
+
"output.experiments",
|
|
24
|
+
"output.resilienceScore"
|
|
25
|
+
],
|
|
26
|
+
"requiredNonEmptyFields": [
|
|
27
|
+
"output.summary"
|
|
28
|
+
],
|
|
29
|
+
"mustContainTerms": [
|
|
30
|
+
"chaos",
|
|
31
|
+
"experiment",
|
|
32
|
+
"resilience"
|
|
33
|
+
],
|
|
34
|
+
"mustNotContainTerms": [
|
|
35
|
+
"TODO",
|
|
36
|
+
"placeholder",
|
|
37
|
+
"FIXME"
|
|
38
|
+
],
|
|
39
|
+
"enumValidations": {
|
|
40
|
+
".status": [
|
|
41
|
+
"success",
|
|
42
|
+
"partial",
|
|
43
|
+
"failed",
|
|
44
|
+
"skipped"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|