
Shift Left Testing
- 94 installs
- 433 repo stars
- Updated August 4, 2026
- proffesor-for-testing/agentic-qe
shift-left-testing is a Claude Code skill for testing & qa.
About
shift-left-testing is a Claude Code skill for testing & qa. It helps solo builders move faster with AI-assisted development.
- shift-left-testing
- Testing & QA
- AI-coding skill
Shift Left Testing by the numbers
- 94 all-time installs (skills.sh)
- +3 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,019 of 2,153 Testing & QA skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill shift-left-testingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 94 |
|---|---|
| repo stars | ★ 433 |
| Last updated | August 4, 2026 |
| Repository | proffesor-for-testing/agentic-qe ↗ |
How do I helps with testing & qa tasks.?
Helps with testing & qa tasks.
Who is it for?
Best when you're working on testing & qa and need structured help with shift left testing.
Skip if: Teams with no testing & qa needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with testing & qa tasks., or when shift-left-testing is a claude code skill for testing & qa.
What you get
Structured output aligned to shift-left-testing: shift-left-testing, Testing & QA.
Files
Shift-Left Testing
<default_to_action> When implementing early testing practices: 1. VALIDATE requirements before coding (testability, BDD scenarios) 2. WRITE tests before implementation (TDD) 3. AUTOMATE in CI pipeline (every commit triggers tests) 4. FIX defects immediately - never let them accumulate
Quick Shift-Left Levels:
- Level 1: Unit tests with each PR (developer responsibility)
- Level 2: TDD practice (tests before code)
- Level 3: BDD/Example mapping in refinement (requirements testing)
- Level 4: Risk analysis in design (architecture testing)
</default_to_action>
Quick Reference Card
When to Use
- Reducing cost of defects
- Implementing CI/CD pipelines
- Starting TDD practice
- Improving requirements quality
Shift-Left Levels
| Level | Practice | When |
|---|---|---|
| 1 | Unit tests in PR | Before merge |
| 2 | TDD | Before implementation |
| 3 | BDD/Example Mapping | During refinement |
| 4 | Risk Analysis | During design |
---
Level 1: Tests in Every PR
# CI pipeline - tests run on every commit
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run test:unit
- run: npm run test:integration
- run: npm run lint
quality-gate:
needs: test
steps:
- name: Coverage Check
run: npx coverage-check --min 80
- name: No New Warnings
run: npm run lint -- --max-warnings 0---
Agent-Assisted Shift-Left
// Validate requirements testability
await Task("Requirements Validation", {
requirements: userStories,
check: ['INVEST-criteria', 'testability', 'ambiguity'],
generateBDD: true
}, "qe-requirements-validator");
// Generate tests from requirements
await Task("Generate Tests", {
source: 'requirements',
types: ['unit', 'integration', 'e2e'],
coverage: 'comprehensive'
}, "qe-test-generator");
// Smart test selection for changes
await Task("Select Regression Tests", {
changedFiles: prFiles,
algorithm: 'risk-based',
targetReduction: 0.7 // 70% time savings
}, "qe-regression-risk-analyzer");---
Agent Coordination Hints
Memory Namespace
aqe/shift-left/
├── requirements/* - Validated requirements
├── generated-tests/* - Auto-generated tests
├── coverage-targets/* - Coverage goals by component
└── pipeline-results/* - CI/CD test historyFleet Coordination
const shiftLeftFleet = await FleetManager.coordinate({
strategy: 'shift-left',
agents: [
'qe-requirements-validator', // Level 3-4
'qe-test-generator', // Level 2
'qe-regression-risk-analyzer' // Smart selection
],
topology: 'sequential'
});---
Related Skills
- tdd-london-chicago - TDD practices
- holistic-testing-pact - Proactive testing
- cicd-pipeline-qe-orchestrator - Pipeline integration
- shift-right-testing - Production feedback
---
Remember
With Agents: Agents validate requirements testability, generate tests from specs, and select optimal regression suites. Use agents to implement shift-left practices consistently.
Skill Composition
- TDD practice → Use
/tdd-london-chicagofor specific TDD guidance - Generate tests → Use
/qe-test-generationfor AI-powered test generation - CI/CD quality → Use
/cicd-pipeline-qe-orchestratorfor pipeline setup
Gotchas
- "Shift left" doesn't mean "only test left" — production monitoring (shift right) is still needed
- Agent generates tests before understanding requirements — tests for wrong behavior are worse than no tests
- CI pipeline tests that take >10 minutes kill the feedback loop — keep commit-stage tests under 5 minutes
- TDD discipline degrades when agent writes test+code simultaneously — enforce Red phase separation
- Shifting left without lightweight environments just shifts the bottleneck — fix environments first
skill: shift-left-testing
version: 1.0.0
description: >
Evaluation suite for shift-left testing strategy.
Tests early defect detection, pre-commit checks, and development-phase validation.
models_to_test:
- claude-sonnet-4-6 # Primary (high accuracy expected)
- claude-haiku-4-5 # Fast model (minimum quality floor)
mcp_integration:
enabled: true
namespace: skill-validation
query_patterns: true
track_outcomes: true
store_patterns: true
target_agents:
- qe-learning-coordinator
learning:
store_success_patterns: true
pattern_ttl_days: 90
result_format:
json_output: true
include_timing: true
include_token_usage: true
setup:
required_tools:
- jq
test_cases:
- id: tc001_pre_commit_validation
description: "Identify issues before commit"
category: pre_commit
priority: critical
input:
code_changes:
- "function processPayment() { db.query(userInput); }"
checks:
- "sql_injection"
- "xss"
- "hardcoded_secrets"
expected_output:
must_contain:
- "SQL injection"
- "vulnerable"
- "pre-commit"
validation:
schema_check: true
keyword_match_threshold: 0.8
- id: tc002_unit_test_generation_early
description: "Generate unit tests during development"
category: development
priority: high
input:
code: |
function calculateDiscount(amount, percentage) {
return amount * (1 - percentage / 100);
}
generate_tests: true
expected_output:
must_contain:
- "test"
- "unit"
- "edge case"
validation:
schema_check: true
- id: tc003_code_quality_gates
description: "Apply quality gates during development"
category: quality
priority: high
input:
metrics:
complexity: 12
duplication_percent: 5
test_coverage: 75
expected_output:
must_contain:
- "quality"
- "gate"
validation:
schema_check: true
- id: tc004_early_architecture_review
description: "Validate architecture early in development"
category: architecture
priority: medium
input:
design:
layers: ["presentation", "business", "data"]
patterns: ["MVC", "dependency_injection"]
expected_output:
must_contain:
- "architecture"
- "design"
validation:
schema_check: true
- id: tc005_developer_feedback
description: "Provide immediate developer feedback"
category: feedback
priority: medium
input:
code_snippet: "const x = 1; const y = 1; const z = x + y;"
focus_areas: ["readability", "performance"]
expected_output:
must_contain:
- "feedback"
- "improve"
validation:
schema_check: true
allow_partial: true
success_criteria:
pass_rate: 0.9
critical_pass_rate: 1.0
avg_reasoning_quality: 0.75
max_execution_time_ms: 300000
metadata:
author: "qe-shift-left-coordinator"
created: "2026-02-02"
coverage_target: >
Shift-left testing with 5 test cases covering pre-commit validation,
early test generation, quality gates, architecture review, and developer feedback.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://agentic-qe.dev/schemas/shift-left-testing-output.json",
"title": "AQE Shift-Left Testing Skill Output Schema",
"description": "Schema for shift-left-testing skill output validation. Extends the base skill-output template with test pyramid analysis, TDD assessment, and CI/CD integration.",
"type": "object",
"required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
"properties": {
"skillName": {
"type": "string",
"const": "shift-left-testing",
"description": "Must be 'shift-left-testing'"
},
"version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"status": {
"type": "string",
"enum": ["success", "partial", "failed", "skipped"]
},
"trustTier": {
"type": "integer",
"const": 3
},
"output": {
"type": "object",
"required": ["summary", "testPyramid", "shiftLeftLevel", "findings", "recommendations"],
"properties": {
"summary": {
"type": "string",
"minLength": 50,
"maxLength": 2000,
"description": "Human-readable summary of shift-left assessment"
},
"score": {
"$ref": "#/$defs/shiftLeftScore"
},
"testPyramid": {
"$ref": "#/$defs/testPyramid",
"description": "Test pyramid analysis"
},
"shiftLeftLevel": {
"$ref": "#/$defs/shiftLeftLevel",
"description": "Current shift-left maturity level"
},
"cicdIntegration": {
"$ref": "#/$defs/cicdIntegration",
"description": "CI/CD pipeline testing integration"
},
"tddPractices": {
"$ref": "#/$defs/tddPractices",
"description": "TDD/BDD practices assessment"
},
"requirementsValidation": {
"$ref": "#/$defs/requirementsValidation",
"description": "Early requirements testing"
},
"defectCostAnalysis": {
"$ref": "#/$defs/defectCostAnalysis",
"description": "Cost of defects by phase"
},
"findings": {
"type": "array",
"items": {
"$ref": "#/$defs/shiftLeftFinding"
},
"maxItems": 100
},
"recommendations": {
"type": "array",
"items": {
"$ref": "#/$defs/shiftLeftRecommendation"
},
"maxItems": 50
},
"metrics": {
"$ref": "#/$defs/shiftLeftMetrics"
},
"artifacts": {
"type": "array",
"items": {
"$ref": "#/$defs/artifact"
},
"maxItems": 50
}
}
},
"metadata": {
"$ref": "#/$defs/metadata"
},
"validation": {
"$ref": "#/$defs/validationResult"
},
"learning": {
"$ref": "#/$defs/learningData"
}
},
"$defs": {
"shiftLeftScore": {
"type": "object",
"required": ["value", "max"],
"properties": {
"value": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"max": {
"type": "number",
"const": 100
},
"grade": {
"type": "string",
"pattern": "^[A-F][+-]?$"
},
"maturityLevel": {
"type": "string",
"enum": ["level-1", "level-2", "level-3", "level-4"],
"description": "Shift-left maturity level"
}
}
},
"testPyramid": {
"type": "object",
"required": ["unit", "integration", "e2e"],
"properties": {
"unit": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 0 },
"percentage": { "type": "number", "minimum": 0, "maximum": 100 },
"target": { "type": "number", "default": 70 },
"coverage": { "type": "number", "minimum": 0, "maximum": 100 },
"averageExecutionMs": { "type": "number" },
"status": { "type": "string", "enum": ["healthy", "needs-attention", "critical"] }
},
"description": "Unit tests layer"
},
"integration": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 0 },
"percentage": { "type": "number", "minimum": 0, "maximum": 100 },
"target": { "type": "number", "default": 20 },
"coverage": { "type": "number", "minimum": 0, "maximum": 100 },
"averageExecutionMs": { "type": "number" },
"status": { "type": "string", "enum": ["healthy", "needs-attention", "critical"] }
},
"description": "Integration tests layer"
},
"e2e": {
"type": "object",
"properties": {
"count": { "type": "integer", "minimum": 0 },
"percentage": { "type": "number", "minimum": 0, "maximum": 100 },
"target": { "type": "number", "default": 10 },
"coverage": { "type": "number", "minimum": 0, "maximum": 100 },
"averageExecutionMs": { "type": "number" },
"status": { "type": "string", "enum": ["healthy", "needs-attention", "critical"] }
},
"description": "End-to-end tests layer"
},
"pyramidShape": {
"type": "string",
"enum": ["healthy-pyramid", "ice-cream-cone", "hourglass", "inverted", "unbalanced"],
"description": "Current pyramid shape"
},
"pyramidScore": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "How close to ideal pyramid (100 = perfect)"
}
}
},
"shiftLeftLevel": {
"type": "object",
"required": ["current", "practices"],
"properties": {
"current": {
"type": "integer",
"minimum": 0,
"maximum": 4,
"description": "Current shift-left level (0-4)"
},
"target": {
"type": "integer",
"minimum": 0,
"maximum": 4,
"description": "Target shift-left level"
},
"practices": {
"type": "object",
"properties": {
"level1": {
"type": "object",
"properties": {
"testsInPR": { "type": "boolean" },
"ciPipeline": { "type": "boolean" },
"codeReview": { "type": "boolean" }
},
"description": "Level 1: Tests in every PR"
},
"level2": {
"type": "object",
"properties": {
"tddPractice": { "type": "boolean" },
"testFirst": { "type": "boolean" },
"redGreenRefactor": { "type": "boolean" }
},
"description": "Level 2: TDD practice"
},
"level3": {
"type": "object",
"properties": {
"bddInRefinement": { "type": "boolean" },
"exampleMapping": { "type": "boolean" },
"threeAmigos": { "type": "boolean" }
},
"description": "Level 3: BDD in refinement"
},
"level4": {
"type": "object",
"properties": {
"riskAnalysisInDesign": { "type": "boolean" },
"testabilityReview": { "type": "boolean" },
"architectureValidation": { "type": "boolean" }
},
"description": "Level 4: Risk analysis in design"
}
}
}
}
},
"cicdIntegration": {
"type": "object",
"properties": {
"hasCI": { "type": "boolean" },
"testsOnEveryCommit": { "type": "boolean" },
"pipelineDuration": {
"type": "object",
"properties": {
"total": { "type": "integer", "description": "Total duration in seconds" },
"unitTests": { "type": "integer" },
"integrationTests": { "type": "integer" },
"e2eTests": { "type": "integer" },
"linting": { "type": "integer" }
}
},
"qualityGates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"stage": { "type": "string" },
"blocking": { "type": "boolean" },
"currentStatus": { "type": "string", "enum": ["passing", "failing", "warning"] }
}
}
},
"fastFeedback": {
"type": "boolean",
"description": "Does pipeline provide feedback in < 10 minutes"
}
}
},
"tddPractices": {
"type": "object",
"properties": {
"tddAdoption": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Percentage of code developed with TDD"
},
"testFirstRatio": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Percentage of tests written before code"
},
"bddAdoption": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Percentage of features with BDD specs"
},
"practicesAssessment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"practice": { "type": "string" },
"implemented": { "type": "boolean" },
"effectiveness": { "type": "string", "enum": ["poor", "fair", "good", "excellent"] }
}
}
}
}
},
"requirementsValidation": {
"type": "object",
"properties": {
"investCriteria": { "type": "boolean" },
"testabilityReviewed": { "type": "boolean" },
"acceptanceCriteria": { "type": "boolean" },
"examplesProvided": { "type": "boolean" },
"ambiguityScore": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "How ambiguous are requirements (0=clear, 100=very ambiguous)"
}
}
},
"defectCostAnalysis": {
"type": "object",
"properties": {
"byPhase": {
"type": "array",
"items": {
"type": "object",
"properties": {
"phase": {
"type": "string",
"enum": ["requirements", "design", "development", "testing", "production"]
},
"relativeCost": {
"type": "number",
"description": "Relative cost (requirements = 1x)"
},
"defectsFound": {
"type": "integer",
"description": "Number of defects found in this phase"
},
"percentageFound": {
"type": "number",
"description": "Percentage of total defects found in this phase"
}
}
}
},
"potentialSavings": {
"type": "string",
"description": "Estimated savings from better shift-left"
}
}
},
"shiftLeftFinding": {
"type": "object",
"required": ["id", "title", "type", "severity"],
"properties": {
"id": {
"type": "string",
"pattern": "^SLT-\\d{3,6}$"
},
"title": {
"type": "string",
"minLength": 10,
"maxLength": 200
},
"description": { "type": "string" },
"type": {
"type": "string",
"enum": ["pyramid-imbalance", "ci-gap", "tdd-gap", "late-testing", "missing-gate", "slow-feedback", "opportunity"]
},
"severity": {
"type": "string",
"enum": ["critical", "high", "medium", "low", "info"]
},
"phase": {
"type": "string",
"enum": ["requirements", "design", "development", "testing", "deployment"],
"description": "Which phase this finding affects"
}
}
},
"shiftLeftRecommendation": {
"type": "object",
"required": ["id", "title", "priority", "levelImpact"],
"properties": {
"id": {
"type": "string",
"pattern": "^REC-\\d{3,6}$"
},
"title": { "type": "string" },
"description": { "type": "string" },
"priority": {
"type": "string",
"enum": ["critical", "high", "medium", "low"]
},
"levelImpact": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Which shift-left level this improves"
},
"costReduction": {
"type": "string",
"description": "Expected defect cost reduction"
},
"effort": {
"type": "string",
"enum": ["trivial", "low", "medium", "high", "major"]
}
}
},
"shiftLeftMetrics": {
"type": "object",
"properties": {
"defectEscapeRate": { "type": "number", "minimum": 0, "maximum": 100 },
"testCoverage": { "type": "number", "minimum": 0, "maximum": 100 },
"ciPassRate": { "type": "number", "minimum": 0, "maximum": 100 },
"averageFeedbackTime": { "type": "integer", "description": "Average CI feedback time in minutes" },
"tddAdoptionRate": { "type": "number", "minimum": 0, "maximum": 100 }
}
},
"artifact": {
"type": "object",
"required": ["type", "path"],
"properties": {
"type": { "type": "string" },
"path": { "type": "string" },
"format": { "type": "string" },
"description": { "type": "string" }
}
},
"metadata": {
"type": "object",
"properties": {
"executionTimeMs": { "type": "integer" },
"agentId": { "type": "string" },
"modelUsed": { "type": "string" },
"environment": { "type": "string" }
}
},
"validationResult": {
"type": "object",
"properties": {
"schemaValid": { "type": "boolean" },
"contentValid": { "type": "boolean" },
"confidence": { "type": "number" }
}
},
"learningData": {
"type": "object",
"properties": {
"patternsDetected": { "type": "array", "items": { "type": "string" } },
"reward": { "type": "number" }
}
}
}
}
{
"skillName": "shift-left-testing",
"skillVersion": "1.0.0",
"requiredTools": [
"jq"
],
"optionalTools": [],
"schemaPath": "schemas/output.json",
"requiredFields": [
"skillName",
"status",
"output"
],
"requiredNonEmptyFields": [],
"mustContainTerms": [],
"mustNotContainTerms": [],
"enumValidations": {
".status": [
"success",
"partial",
"failed",
"skipped"
]
}
}
Related skills
FAQ
What does shift-left-testing do?
shift-left-testing is a Claude Code skill for testing & qa.
When should I use shift-left-testing?
When you need to helps with testing & qa tasks., or when shift-left-testing is a claude code skill for testing & qa.
What are the main capabilities?
shift-left-testing; Testing & QA; AI-coding skill.