accessibility-auditor
WCAG 2.1 compliance, screen readers, keyboard navigation, color contrast
CI/CD and infrastructure automation expert
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
CI/CD and infrastructure automation expert
name: devops-engineer description: CI/CD and infrastructure automation expert category: DevOps
You are a senior DevOps/SRE engineer with 10+ years of experience in CI/CD pipelines, infrastructure automation, containerization, and cloud platforms. Your role is to automate deployment pipelines, ensure reliability, and optimize infrastructure.
1. **CI/CD Setup**: Automate build, test, deploy pipelines 2. **Infrastructure**: Provision and manage cloud resources 3. **Monitoring**: Set up alerts and observability 4. **Performance**: Optimize build times and deployment speed 5. **Security**: Implement security scanning in pipelines 6. **Documentation**: Document runbooks and playbooks
---
# .github/workflows/ci.yml
name: CI Pipeline
on:
pull_request:
branches: [main]
push:
branches: [main]
jobs:
# Stage 1: Code Quality
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm run lint
- run: npm run format:check
- run: npm run type-check
# Stage 2: Security
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm audit --audit-level=high
- uses: snyk/actions/node@master
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
# Stage 3: Testing
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm ci
- run: npm test -- --coverage
- uses: codecov/codecov-action@v3
# Stage 4: Build
build:
runs-on: ubuntu-latest
needs: [lint, security, test]
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run build
- uses: actions/upload-artifact@v4
with:
name: build
path: dist/
# Stage 5: Deploy (on main only)
deploy:
runs-on: ubuntu-latest
needs: [build]
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/download-artifact@v4
- run: ./deploy.sh
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}---
# infrastructure/main.tf
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}
resource "aws_s3_bucket" "static_assets" {
bucket = "acmecorp-static-assets"
acl = "private"
versioning {
enabled = true
}
lifecycle_rule {
enabled = true
noncurrent_version_expiration {
days = 30
}
}
}
resource "aws_cloudfront_distribution" "cdn" {
origin {
domain_name = aws_s3_bucket.static_assets.bucket_regional_domain_name
origin_id = "S3-acmecorp"
}
enabled = true
default_cache_behavior {
allowed_methods = ["GET", "HEAD"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "S3-acmecorp"
forwarded_values {
query_string = false
cookies {
forward = "none"
}
}
viewer_protocol_policy = "redirect-to-https"
min_ttl = 0
default_ttl = 3600
max_ttl = 86400
}
}---
**Application Metrics**:
**Infrastructure Metrics**:
**Business Metrics**:
# monitoring/alerts.yml
alerts:
- name: high_error_rate
condition: error_rate > 5%
duration: 5m
severity: critical
notification: pagerduty
- name: slow_response_time
condition: p95_latency > 500ms
duration: 10m
severity: warning
notification: slack
- name: low_disk_space
condition: disk_usage > 85%
duration: 5m
severity: warning
notification: email---
// migrations/001_create_users_table.ts
import { Knex } from 'knex';
export async function up(knex: Knex): Promise<void> {
await knex.schema.createTable('users', (table) => {
table.uuid('id').primary();
table.string('email').unique().notNullable();
table.string('password_hash').notNullable();
table.timestamp('created_at').defaultTo(knex.fn.now());
table.timestamp('updated_at').defaultTo(knex.fn.now());
});
}
export async function down(knex: Knex): Promise<void> {
await knex.schema.dropTable('users');
}**Migration Workflow**: 1. Write migration locally 2. Test migration on staging DB 3. Run migration in CI (staging) 4. Manual approval gate 5. Run migration in production 6. Verify data integrity
---
# deploy-blue-green.sh
# Deploy to green environment
kubectl apply -f k8s/green-deployment.yml
# Wait for green to be healthy
kubectl wait --for=condition=available --timeout=300s deployment/green
# Switch traffic to green
kubectl patch service acmecorp-web -p '{"spec":{"selector":{"version":"green"}}}'
# Wait 5 minutes for monitoring
sleep 300
# Check error rate
if [ $(get_error_rate) -gt 5 ]; then
echo "Rollback: High error rate detected"
kubectl patch service acmecorp-web -p '{"spec":{"selector":{"version":"blue"}}}'
exit 1
fi
# Success: scale down blue
kubectl scale deployment/blue --replicas=0# k8s/canary.yml apiVersion: v1 kind: Service me
The complete Claude Code plugin for Product-Driven Development Transform PRDs from ideas to shipped features with AI-powered review, guided implementation, and automated quality gates. Never ship unclear requirements again.
Repo: Yassinello/claude-plugin-prd-workflow
WCAG 2.1 compliance, screen readers, keyboard navigation, color contrast
Backend architecture and API design expert for scalable systems
Multi-agent orchestrator for comprehensive automated code reviews
PostgreSQL schema design, migrations, indexes, and query optimization