When designing and implementing web interfaces to ensure they are usable by everyone.
The English summary is being prepared. Showing the original description.
When configuring automated build, test, and deployment workflows for a repository.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
Pipelines are the line between "works on my machine" and "production is down." This skill ensures code is built exactly once, tested comprehensively, and deployed reliably through immutable artifacts without human intervention.
pull_request. Run builds/deployments on push to main or upon release tags.continue-on-error: true)npm run build in staging, then again in productioncontinue-on-error: true instead of fixing flaky testdeploy.sh from laptop❌ Anti-pattern (Rebuilding, secrets hardcoded, no promotion):
# BAD: Separate build jobs per environment
build-staging:
script:
- npm run build
- docker build -t myapp:staging .
- docker push myapp:staging
only: [main]
build-production:
script:
- npm run build # REBUILDING!
- docker build -t myapp:latest . # No SHA tag!
- docker push myapp:latest
only: [tags]
# BAD: Secrets hardcoded
deploy-production:
script:
- kubectl set image deployment/api api=$DOCKER_IMAGE
env:
AWS_KEY: "AKIA1234567890" # LEAKED!
DB_PASSWORD: "super-secret-123" # LEAKED!
✅ Correct pattern (Single artifact, promotion, secrets managed):
# CORRECT: Single build, tagged with SHA
build:
stage: build
script:
- docker build -t $CI_REGISTRY/myapp:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY/myapp:$CI_COMMIT_SHA
only: [main, tags]
# CORRECT: Promote existing artifact (no rebuild)
deploy-staging:
stage: deploy
script:
- kubectl set image deployment/api api=$CI_REGISTRY/myapp:$CI_COMMIT_SHA
environment: staging
only: [main]
deploy-production:
stage: deploy
script:
- kubectl set image deployment/api api=$CI_REGISTRY/myapp:$CI_COMMIT_SHA
environment: production
only: [tags]
when: manual # Explicit approval required
# CORRECT: Secrets injected via platform
deploy-production:
script:
- echo $AWS_ACCESS_KEY_ID | aws sts get-caller-identity # Platform injects
- helm upgrade myapp ./chart -f values-prod.yaml
secrets:
AWS_ACCESS_KEY_ID:
vault: aws/prod/access_key
environment: production
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
When designing and implementing web interfaces to ensure they are usable by everyone.
The English summary is being prepared. Showing the original description.
When creating or extending an HTTP API for client consumption.
The English summary is being prepared. Showing the original description.
When improving read performance and reducing database load.
The English summary is being prepared. Showing the original description.
When asynchronously reviewing peer code before merging into the main branch.
The English summary is being prepared. Showing the original description.
When addressing slow application endpoints, high database CPU usage, or standardizing data access patterns.
The English summary is being prepared. Showing the original description.
When isolating and fixing unpredictable or complex software bugs.
The English summary is being prepared. Showing the original description.