specwright/templates/skills/deployment-automation/SKILL.md
--- name: [PROJECT]-deployment-patterns description: [PROJECT] CI/CD pipeline and deployment automation patterns globs: [".github/workflows/**/*.yml", ".gitlab-ci.yml", "Jenkinsfile", "**/Dockerfile", "docker-compose.yml"] --- # Deployment Automation Patterns > **Template for project-specific deployment patterns skill** > Fill in [CUSTOMIZE] sections with your project's deployment infrastructure **Project**: [PROJECT NAME] **Platform**: [CUSTOMIZE: GitHub Actions / GitLab CI / Jenkins / Circl
npx skillsauth add michsindlinger/specwright specwright/templates/skills/deployment-automationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Template for project-specific deployment patterns skill Fill in [CUSTOMIZE] sections with your project's deployment infrastructure
Project: [PROJECT NAME] Platform: [CUSTOMIZE: GitHub Actions / GitLab CI / Jenkins / CircleCI] Last Updated: [DATE]
Location: [CUSTOMIZE: .github/workflows/ / .gitlab-ci.yml / Jenkinsfile / .circleci/]
File Structure:
[CUSTOMIZE: Show your pipeline file organization]
Examples:
- GitHub Actions: .github/workflows/ci.yml, deploy-staging.yml, deploy-production.yml
- GitLab CI: .gitlab-ci.yml (single file with stages)
- Jenkins: Jenkinsfile (declarative or scripted)
Events: [CUSTOMIZE: push to main/develop / pull requests / merge requests]
Branches: [CUSTOMIZE: main, develop, feature/* / all branches]
[CUSTOMIZE WITH YOUR PIPELINE STAGES]
Your Pipeline Flow:
[CUSTOMIZE: Describe your stages]
Examples:
1. Checkout code
2. Install dependencies (with caching)
3. Lint code
4. Run unit tests (backend)
5. Run unit tests (frontend)
6. Run integration tests
7. Run E2E tests
8. Build artifacts
9. Upload artifacts
Jobs Running in Parallel:
[CUSTOMIZE: Show parallel jobs]
Example (GitHub Actions):
jobs:
backend-tests:
runs-on: ubuntu-latest
frontend-tests:
runs-on: ubuntu-latest
# Both run simultaneously
Dependencies:
[CUSTOMIZE: Show dependency caching]
Examples:
- Maven: cache: 'maven'
- npm: cache: 'npm'
- pip: cache: 'pip'
Build Artifacts:
[CUSTOMIZE: Show build artifact caching]
Environment Matrix:
| Environment | Trigger | Approval | URL | |-------------|---------|----------|-----| | [Dev/Staging] | [Auto on push] | [No] | [URL] | | [Production] | [Manual/Tag] | [Yes] | [URL] |
Approach: [CUSTOMIZE: Rolling / Blue-Green / Canary / Recreate]
Why This Strategy: [CUSTOMIZE: Reasoning]
Rollback Plan:
[CUSTOMIZE: How to rollback]
Examples:
- Kubernetes: kubectl rollout undo
- Docker: docker-compose pull <previous-tag>
- Cloud: Revert to previous deployment
Dockerfile Location: [CUSTOMIZE: ./Dockerfile / backend/Dockerfile / Dockerfile.production]
Base Images:
[CUSTOMIZE WITH YOUR DOCKERFILE PATTERN]
Backend Example:
[CUSTOMIZE: Show your multi-stage Dockerfile]
Example pattern:
# Stage 1: Build
FROM [build-image] AS builder
WORKDIR /app
COPY [dependency-files]
RUN [install-deps]
COPY [source]
RUN [build-command]
# Stage 2: Runtime
FROM [runtime-image]
COPY --from=builder /app/[artifact] /app/
CMD [start-command]
Services: [CUSTOMIZE: backend, frontend, database, redis, etc.]
Local Development Setup:
[CUSTOMIZE: Show docker-compose.yml structure]
Platform: [CUSTOMIZE: GitHub Secrets / GitLab Variables / Jenkins Credentials / Vault]
Required Secrets:
[CUSTOMIZE: List all secrets needed]
Examples:
- DOCKER_USERNAME
- DOCKER_PASSWORD
- DATABASE_URL_STAGING
- DATABASE_URL_PRODUCTION
- API_KEY
- JWT_SECRET
In Pipeline:
[CUSTOMIZE: Show secret usage pattern]
Example (GitHub Actions):
env:
DATABASE_URL: ${{ secrets.DATABASE_URL }}
Trigger: [CUSTOMIZE: Auto on push to main / Manual]
Commands:
[CUSTOMIZE: Show deployment commands]
Examples:
- Docker: docker-compose pull && docker-compose up -d
- Kubernetes: kubectl apply -f k8s/
- Cloud: eb deploy staging
- SSH: ssh user@staging 'cd app && git pull && restart'
Trigger: [CUSTOMIZE: Manual workflow / Git tag / Release]
Approval: [CUSTOMIZE: Required reviewers / Manual gate]
Commands:
[CUSTOMIZE: Show production deployment]
Backend: [CUSTOMIZE: /health / /actuator/health / /api/health]
Frontend: [CUSTOMIZE: /health / / (root) / /api/health]
Database: [CUSTOMIZE: /health/db / Connection check]
Post-Deployment Verification:
[CUSTOMIZE: Show smoke test commands]
Examples:
sleep 10 # Wait for startup
curl -f https://api.myapp.com/health || exit 1
curl -f https://myapp.com/ || exit 1
Tool: [CUSTOMIZE: Flyway / Liquibase / Prisma Migrate / Django migrations / Rails migrations]
When Migrations Run: [CUSTOMIZE: Before deployment / After deployment / Separate job]
Example:
[CUSTOMIZE: Show migration command]
Examples:
- Flyway: mvn flyway:migrate
- Prisma: npx prisma migrate deploy
- Django: python manage.py migrate
Migration Rollback:
[CUSTOMIZE: How to rollback migrations]
Uptime: [CUSTOMIZE: UptimeRobot / Pingdom / DataDog]
Error Tracking: [CUSTOMIZE: Sentry / Rollbar / Bugsnag]
Logs: [CUSTOMIZE: Papertrail / CloudWatch / Loggly]
Metrics: [CUSTOMIZE: Prometheus / New Relic / DataDog]
Where Logs Go: [CUSTOMIZE: Stdout → Cloud logging / File → Aggregator]
Log Format: [CUSTOMIZE: JSON / Plain text / Structured]
CI Build: [CUSTOMIZE: <5 minutes / <10 minutes]
Local Build: [CUSTOMIZE: <2 minutes / <3 minutes]
[CUSTOMIZE WITH USED TECHNIQUES]
Dependency Scanning: [CUSTOMIZE: Dependabot / Snyk / OWASP Dependency Check]
Container Scanning: [CUSTOMIZE: Trivy / Snyk / Clair]
SAST: [CUSTOMIZE: SonarQube / CodeQL / Semgrep]
When: [CUSTOMIZE: Every PR / Nightly / Weekly]
Failure Threshold: [CUSTOMIZE: Critical vulnerabilities / High+ / All]
[CUSTOMIZE WITH PROJECT REQUIREMENTS]
Before deploying:
[CUSTOMIZE - ADD DEPLOYMENT CONTEXT]
Customization Complete: Replace all [CUSTOMIZE] sections with project-detected or chosen patterns.
Auto-generated by: /add-skill deployment-automation command
tools
Session Handoff: Erstellt eine vollständige Zusammenfassung der aktuellen Session für einen sauberen Kontextwechsel. NUR bei explizitem Aufruf (/session-handoff). NICHT automatisch auslösen. Geeignet wenn der User die Session resetten will, den Kontext aufräumen will, oder bei ~120k Tokens angelangt ist.
development
Pre-Mortem Risk Analysis: Strukturierte Prospective-Hindsight-Übung um launch-blocking Risiken vor Commitment aufzudecken. Team stellt sich vor, das Produkt sei 14 Tage nach Launch gefloppt, und arbeitet rückwärts. Klassifiziert Risiken in Tigers (echt), Paper Tigers (hypothetisch), Elephants (unausgesprochen). Nutze diesen Skill vor Build-Commitment, bei zu hoher Stakeholder-Confidence, vor Major-Releases, oder wenn das Team vage Sorgen nicht artikulieren kann. Trigger: /pre-mortem, 'pre-mortem', 'risk analysis', 'was könnte schiefgehen', 'risiken vor launch'.
testing
Six-Sigma Atomicity Validator for create-spec stories
tools
UX pattern definition guidance for navigation, user flows, interactions, and accessibility