
Shift Right Testing
- 93 installs
- 433 repo stars
- Updated August 4, 2026
- proffesor-for-testing/agentic-qe
shift-right-testing is a Claude Code skill for testing & qa.
About
shift-right-testing is a Claude Code skill for testing & qa. It helps solo builders move faster with AI-assisted development.
- shift-right-testing
- Testing & QA
- AI-coding skill
Shift Right Testing by the numbers
- 93 all-time installs (skills.sh)
- +3 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,022 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-right-testingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 93 |
|---|---|
| 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 right 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-right-testing is a claude code skill for testing & qa.
What you get
Structured output aligned to shift-right-testing: shift-right-testing, Testing & QA.
Files
Shift-Right Testing
<default_to_action> When testing in production or implementing progressive delivery: 1. IMPLEMENT feature flags for progressive rollout (1% → 10% → 50% → 100%) 2. DEPLOY with canary releases (compare metrics before full rollout) 3. MONITOR with synthetic tests (proactive) + RUM (reactive) 4. INJECT failures with chaos engineering (build resilience) 5. ANALYZE production data to improve pre-production testing
Quick Shift-Right Techniques:
- Feature flags → Control who sees what, instant rollback
- Canary deployment → 5% traffic, compare error rates
- Synthetic monitoring → Simulate users 24/7, catch issues before users
- Chaos engineering → Netflix-style failure injection
- RUM (Real User Monitoring) → Actual user experience data
Critical Success Factors:
- Production is the ultimate test environment
- Ship fast with safety nets, not slow with certainty
- Use production data to improve shift-left testing
</default_to_action>
Quick Reference Card
When to Use
- Progressive feature rollouts
- Production reliability validation
- Performance monitoring at scale
- Learning from real user behavior
Shift-Right Techniques
| Technique | Purpose | When |
|---|---|---|
| Feature Flags | Controlled rollout | Every feature |
| Canary | Compare new vs old | Every deployment |
| Synthetic Monitoring | Proactive detection | 24/7 |
| RUM | Real user metrics | Always on |
| Chaos Engineering | Resilience validation | Regularly |
| A/B Testing | User behavior validation | Feature decisions |
Progressive Rollout Pattern
1% → 10% → 25% → 50% → 100%
↓ ↓ ↓ ↓
Check Check Check MonitorKey Metrics to Monitor
| Metric | SLO Target | Alert Threshold |
|---|---|---|
| Error rate | < 0.1% | > 1% |
| p95 latency | < 200ms | > 500ms |
| Availability | 99.9% | < 99.5% |
| Apdex | > 0.95 | < 0.8 |
---
Feature Flags
// Progressive rollout with LaunchDarkly/Unleash pattern
const newCheckout = featureFlags.isEnabled('new-checkout', {
userId: user.id,
percentage: 10, // 10% of users
allowlist: ['beta-testers']
});
if (newCheckout) {
return <NewCheckoutFlow />;
} else {
return <LegacyCheckoutFlow />;
}
// Instant rollback on issues
await featureFlags.disable('new-checkout');---
Canary Deployment
# Flagger canary config
apiVersion: flagger.app/v1beta1
kind: Canary
spec:
targetRef:
apiVersion: apps/v1
kind: Deployment
name: checkout-service
progressDeadlineSeconds: 60
analysis:
interval: 1m
threshold: 5 # Max failed checks
maxWeight: 50 # Max traffic to canary
stepWeight: 10 # Increment per interval
metrics:
- name: request-success-rate
threshold: 99
- name: request-duration
threshold: 500---
Synthetic Monitoring
// Continuous production validation
await Task("Synthetic Tests", {
endpoints: [
{ path: '/health', expected: 200, interval: '30s' },
{ path: '/api/products', expected: 200, interval: '1m' },
{ path: '/checkout', flow: 'full-purchase', interval: '5m' }
],
locations: ['us-east', 'eu-west', 'ap-south'],
alertOn: {
statusCode: '!= 200',
latency: '> 500ms',
contentMismatch: true
}
}, "qe-production-intelligence");---
Chaos Engineering
// Controlled failure injection
await Task("Chaos Experiment", {
hypothesis: 'System handles database latency gracefully',
steadyState: {
metric: 'error_rate',
expected: '< 0.1%'
},
experiment: {
type: 'network-latency',
target: 'database',
delay: '500ms',
duration: '5m'
},
rollback: {
automatic: true,
trigger: 'error_rate > 5%'
}
}, "qe-chaos-engineer");---
Production → Pre-Production Feedback Loop
// Convert production incidents to regression tests
await Task("Incident Replay", {
incident: {
id: 'INC-2024-001',
type: 'performance-degradation',
conditions: { concurrent_users: 500, cart_items: 10 }
},
generateTests: true,
addToRegression: true
}, "qe-production-intelligence");
// Output: New test added to prevent recurrence---
Agent Coordination Hints
Memory Namespace
aqe/shift-right/
├── canary-results/* - Canary deployment metrics
├── synthetic-tests/* - Monitoring configurations
├── chaos-experiments/* - Experiment results
├── production-insights/* - Issues → test conversions
└── rum-analysis/* - Real user data patternsFleet Coordination
const shiftRightFleet = await FleetManager.coordinate({
strategy: 'shift-right-testing',
agents: [
'qe-production-intelligence', // RUM, incident replay
'qe-chaos-engineer', // Resilience testing
'qe-performance-tester', // Synthetic monitoring
'qe-quality-analyzer' // Metrics analysis
],
topology: 'mesh'
});---
Related Skills
- shift-left-testing - Pre-production testing
- chaos-engineering-resilience - Failure injection deep dive
- performance-testing - Load testing
- agentic-quality-engineering - Agent coordination
---
Remember
Production is the ultimate test environment. Feature flags enable instant rollback. Canary catches issues before 100% rollout. Synthetic monitoring detects problems before users. Chaos engineering builds resilience. RUM shows real user experience.
With Agents: Agents monitor production, replay incidents as tests, run chaos experiments, and convert production insights to pre-production tests. Use agents to maintain continuous production quality.
skill: shift-right-testing
version: 1.0.0
description: >
Evaluation suite for shift-right testing strategy.
Tests production monitoring, canary deployments, and runtime 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_production_monitoring
description: "Monitor system health in production"
category: monitoring
priority: critical
input:
metrics:
error_rate: 0.5
response_time_p99_ms: 2500
cpu_usage: 85
threshold_error_rate: 1.0
expected_output:
must_contain:
- "production"
- "monitor"
- "metric"
validation:
schema_check: true
keyword_match_threshold: 0.8
- id: tc002_canary_deployment_analysis
description: "Validate canary deployment metrics"
category: deployment
priority: high
input:
canary_traffic_percent: 10
canary_error_rate: 0.3
baseline_error_rate: 0.1
rollout_decision_required: true
expected_output:
must_contain:
- "canary"
- "deployment"
- "rollout"
validation:
schema_check: true
- id: tc003_runtime_issue_detection
description: "Detect runtime issues in production"
category: detection
priority: high
input:
logs:
- "OutOfMemoryError: heap size exceeded"
- "Connection timeout after 30s"
environment: "production"
expected_output:
must_contain:
- "runtime"
- "issue"
- "memory"
validation:
schema_check: true
- id: tc004_synthetic_monitoring
description: "Generate synthetic test scenarios for production"
category: synthetic
priority: medium
input:
endpoints:
- "/api/users"
- "/api/payments"
- "/api/search"
test_frequency_minutes: 5
expected_output:
must_contain:
- "synthetic"
- "test"
validation:
schema_check: true
- id: tc005_anomaly_detection
description: "Detect anomalies in production behavior"
category: anomaly
priority: medium
input:
baseline_request_rate: 1000
current_request_rate: 5000
time_window_minutes: 5
expected_output:
must_contain:
- "anomaly"
- "detect"
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-right-coordinator"
created: "2026-02-02"
coverage_target: >
Shift-right testing with 5 test cases covering production monitoring,
canary deployments, runtime issue detection, synthetic monitoring, and anomaly detection.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://agentic-qe.dev/schemas/shift-right-testing-output.json",
"title": "AQE Shift-Right Testing Skill Output Schema",
"description": "Schema for shift-right-testing skill output validation. Extends the base skill-output template with feature flags, canary deployments, synthetic monitoring, and chaos engineering.",
"type": "object",
"required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
"properties": {
"skillName": {
"type": "string",
"const": "shift-right-testing",
"description": "Must be 'shift-right-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", "productionTesting", "findings", "recommendations"],
"properties": {
"summary": {
"type": "string",
"minLength": 50,
"maxLength": 2000,
"description": "Human-readable summary of shift-right assessment"
},
"score": {
"$ref": "#/$defs/shiftRightScore"
},
"productionTesting": {
"$ref": "#/$defs/productionTesting",
"description": "Production testing capabilities assessment"
},
"featureFlags": {
"$ref": "#/$defs/featureFlags",
"description": "Feature flag usage and configuration"
},
"canaryDeployment": {
"$ref": "#/$defs/canaryDeployment",
"description": "Canary deployment configuration"
},
"syntheticMonitoring": {
"$ref": "#/$defs/syntheticMonitoring",
"description": "Synthetic monitoring configuration"
},
"realUserMonitoring": {
"$ref": "#/$defs/realUserMonitoring",
"description": "RUM configuration and metrics"
},
"chaosEngineering": {
"$ref": "#/$defs/chaosEngineering",
"description": "Chaos engineering practices"
},
"feedbackLoop": {
"$ref": "#/$defs/feedbackLoop",
"description": "Production to pre-production feedback"
},
"findings": {
"type": "array",
"items": {
"$ref": "#/$defs/shiftRightFinding"
},
"maxItems": 100
},
"recommendations": {
"type": "array",
"items": {
"$ref": "#/$defs/shiftRightRecommendation"
},
"maxItems": 50
},
"metrics": {
"$ref": "#/$defs/shiftRightMetrics"
},
"artifacts": {
"type": "array",
"items": {
"$ref": "#/$defs/artifact"
},
"maxItems": 50
}
}
},
"metadata": {
"$ref": "#/$defs/metadata"
},
"validation": {
"$ref": "#/$defs/validationResult"
},
"learning": {
"$ref": "#/$defs/learningData"
}
},
"$defs": {
"shiftRightScore": {
"type": "object",
"required": ["value", "max"],
"properties": {
"value": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"max": {
"type": "number",
"const": 100
},
"grade": {
"type": "string",
"pattern": "^[A-F][+-]?$"
},
"observabilityLevel": {
"type": "string",
"enum": ["basic", "intermediate", "advanced", "elite"],
"description": "Production observability maturity"
}
}
},
"productionTesting": {
"type": "object",
"required": ["techniques"],
"properties": {
"techniques": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": ["feature-flags", "canary", "blue-green", "shadow-traffic", "synthetic-monitoring", "rum", "chaos-engineering", "a-b-testing"]
},
"implemented": { "type": "boolean" },
"maturity": { "type": "string", "enum": ["none", "basic", "intermediate", "advanced"] },
"tools": { "type": "array", "items": { "type": "string" } }
}
}
},
"overallMaturity": {
"type": "string",
"enum": ["none", "basic", "intermediate", "advanced", "elite"]
}
}
},
"featureFlags": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"provider": { "type": "string", "description": "e.g., LaunchDarkly, Unleash, custom" },
"flagCount": { "type": "integer" },
"progressiveRollout": { "type": "boolean" },
"instantRollback": { "type": "boolean" },
"targetingCapabilities": {
"type": "array",
"items": {
"type": "string",
"enum": ["percentage", "user-id", "group", "geography", "device", "custom-attribute"]
}
},
"flagTypes": {
"type": "object",
"properties": {
"release": { "type": "integer" },
"experiment": { "type": "integer" },
"operational": { "type": "integer" },
"permission": { "type": "integer" }
}
}
}
},
"canaryDeployment": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"provider": { "type": "string", "description": "e.g., Flagger, Argo, Spinnaker" },
"configuration": {
"type": "object",
"properties": {
"initialWeight": { "type": "number", "description": "Initial traffic percentage" },
"maxWeight": { "type": "number", "description": "Maximum traffic percentage" },
"stepWeight": { "type": "number", "description": "Traffic increment per step" },
"interval": { "type": "string", "description": "Analysis interval" },
"threshold": { "type": "integer", "description": "Max failed checks before rollback" }
}
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"threshold": { "type": "number" },
"type": { "type": "string", "enum": ["success-rate", "latency", "error-rate", "custom"] }
}
}
},
"automaticRollback": { "type": "boolean" }
}
},
"syntheticMonitoring": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"provider": { "type": "string" },
"endpoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": { "type": "string" },
"type": { "type": "string", "enum": ["health", "api", "user-flow", "transaction"] },
"interval": { "type": "string" },
"locations": { "type": "array", "items": { "type": "string" } },
"alerts": { "type": "boolean" }
}
}
},
"coverage": {
"type": "object",
"properties": {
"criticalPaths": { "type": "number", "minimum": 0, "maximum": 100 },
"geographicCoverage": { "type": "number", "minimum": 0, "maximum": 100 }
}
}
}
},
"realUserMonitoring": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"provider": { "type": "string" },
"metrics": {
"type": "object",
"properties": {
"pageLoadTime": { "type": "object", "properties": { "p50": { "type": "number" }, "p95": { "type": "number" }, "p99": { "type": "number" } } },
"firstContentfulPaint": { "type": "object" },
"largestContentfulPaint": { "type": "object" },
"cumulativeLayoutShift": { "type": "number" },
"firstInputDelay": { "type": "object" },
"errorRate": { "type": "number" },
"apdex": { "type": "number" }
}
},
"segmentation": {
"type": "array",
"items": {
"type": "string",
"enum": ["browser", "device", "geography", "user-type", "feature"]
}
}
}
},
"chaosEngineering": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"provider": { "type": "string", "description": "e.g., Chaos Monkey, Gremlin, Litmus" },
"experiments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"type": {
"type": "string",
"enum": ["network-latency", "network-partition", "pod-kill", "cpu-stress", "memory-stress", "disk-fill", "dns-failure", "http-error"]
},
"target": { "type": "string" },
"frequency": { "type": "string" },
"lastRun": { "type": "string" },
"result": { "type": "string", "enum": ["passed", "failed", "not-run"] }
}
}
},
"gamedays": {
"type": "object",
"properties": {
"frequency": { "type": "string" },
"lastGameday": { "type": "string" },
"findingsFromLastGameday": { "type": "integer" }
}
},
"steadyStateHypothesis": { "type": "boolean" },
"automaticRollback": { "type": "boolean" }
}
},
"feedbackLoop": {
"type": "object",
"properties": {
"incidentToTestConversion": { "type": "boolean" },
"productionBugsTracked": { "type": "boolean" },
"riskScoreUpdates": { "type": "boolean" },
"automatedReplayTests": { "type": "boolean" },
"conversionsLastMonth": {
"type": "integer",
"description": "Production issues converted to tests"
}
}
},
"shiftRightFinding": {
"type": "object",
"required": ["id", "title", "type", "severity"],
"properties": {
"id": {
"type": "string",
"pattern": "^SRT-\\d{3,6}$"
},
"title": {
"type": "string",
"minLength": 10,
"maxLength": 200
},
"description": { "type": "string" },
"type": {
"type": "string",
"enum": ["missing-technique", "configuration-gap", "monitoring-gap", "feedback-gap", "resilience-gap", "opportunity"]
},
"severity": {
"type": "string",
"enum": ["critical", "high", "medium", "low", "info"]
},
"technique": {
"type": "string",
"enum": ["feature-flags", "canary", "synthetic", "rum", "chaos", "feedback-loop"]
}
}
},
"shiftRightRecommendation": {
"type": "object",
"required": ["id", "title", "priority", "techniqueImpact"],
"properties": {
"id": {
"type": "string",
"pattern": "^REC-\\d{3,6}$"
},
"title": { "type": "string" },
"description": { "type": "string" },
"priority": {
"type": "string",
"enum": ["critical", "high", "medium", "low"]
},
"techniqueImpact": {
"type": "array",
"items": {
"type": "string",
"enum": ["feature-flags", "canary", "synthetic", "rum", "chaos", "feedback-loop"]
}
},
"reliabilityImprovement": {
"type": "string",
"description": "Expected reliability improvement"
},
"effort": {
"type": "string",
"enum": ["trivial", "low", "medium", "high", "major"]
}
}
},
"shiftRightMetrics": {
"type": "object",
"properties": {
"availability": { "type": "number", "minimum": 0, "maximum": 100 },
"mttd": { "type": "integer", "description": "Mean time to detect in minutes" },
"mttr": { "type": "integer", "description": "Mean time to recover in minutes" },
"deploymentFrequency": { "type": "string" },
"changeFailureRate": { "type": "number", "minimum": 0, "maximum": 100 },
"syntheticTestsCount": { "type": "integer" },
"chaosExperimentsRun": { "type": "integer" }
}
},
"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-right-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-right-testing do?
shift-right-testing is a Claude Code skill for testing & qa.
When should I use shift-right-testing?
When you need to helps with testing & qa tasks., or when shift-right-testing is a claude code skill for testing & qa.
What are the main capabilities?
shift-right-testing; Testing & QA; AI-coding skill.