From harness-claude
Analyzes CI/CD pipelines in GitHub Actions, GitLab CI, Jenkins, CircleCI, Azure; evaluates strategies like blue-green, canary, rolling; audits environment management and promotion workflows.
npx claudepluginhub intense-visions/harness-engineering --plugin harness-claudeThis skill uses the workspace's default tool permissions.
> CI/CD pipeline analysis, deployment strategy design, and environment management. From commit to production with confidence.
Designs, diagnoses, and reviews secure CI/CD pipelines for GitHub Actions, GitLab CI, CircleCI, Jenkins, covering deployment strategies like blue-green, canary, rollback, and security principles.
Defines CI/CD pipeline stages for build, parallel testing, staging/production deployment with verification, monitoring, rollbacks, and zero-downtime strategies to ensure safe continuous delivery.
Designs multi-stage CI/CD pipelines with approval gates, security checks, and strategies like rolling, canary, blue-green for GitOps and continuous delivery.
Share bugs, ideas, or general feedback.
CI/CD pipeline analysis, deployment strategy design, and environment management. From commit to production with confidence.
Scan for CI/CD configuration files. Search the project root for pipeline definitions:
.github/workflows/*.yml -- GitHub Actions.gitlab-ci.yml -- GitLab CIJenkinsfile -- Jenkins.circleci/config.yml -- CircleCIbitbucket-pipelines.yml -- Bitbucket Pipelinesazure-pipelines.yml -- Azure DevOpsdeploy/, scripts/deploy* -- custom deployment scriptsIdentify deployment targets. Parse pipeline files for deployment steps and extract:
Detect environment configuration. Look for environment-specific config:
.env.production, .env.staging filesMap the deployment topology. Build a summary of what gets deployed where:
Present detection summary. Output the discovered topology before proceeding:
Deployment Topology:
Platform: GitHub Actions
Pipelines: 3 workflow files
Environments: dev, staging, production
Strategy: Rolling (detected from kubectl rolling-update)
Approval gates: production (manual)
Check pipeline stage completeness. A mature pipeline includes these stages. Flag any that are missing:
Evaluate environment isolation. Verify that environments are properly separated:
Check deployment safety mechanisms. Verify the pipeline includes:
Analyze pipeline performance. Identify bottlenecks:
Check secret hygiene in pipelines. Verify:
Recommend deployment strategy. Based on the service characteristics:
Design missing pipeline stages. For each gap identified in Phase 2, provide:
Recommend environment promotion workflow. Design the path from commit to production:
Design rollback procedure. Every deployment must have a documented rollback:
Recommend monitoring integration. Connect deployment events to observability:
Lint pipeline configuration. Run syntax validation:
actionlint or YAML schema validationgitlab-ci-lint API endpointVerify environment variable completeness. For each environment:
Verify branch protection alignment. Confirm that:
Generate deployment readiness report. Summarize findings:
Deployment Readiness: [PASS/WARN/FAIL]
Pipeline stages: 7/9 present (missing: security scan, smoke tests)
Environment isolation: PASS
Rollback procedure: WARN (documented but not automated)
Secret hygiene: PASS
Pipeline performance: 12m avg (recommend parallelizing test stages)
Recommendations:
1. Add SAST scan stage between build and deploy
2. Add post-deploy smoke test stage
3. Automate rollback on health check failure
Present results. Use emit_interaction to deliver the report and ask whether to proceed with implementing recommendations.
harness skill run harness-deployment -- Primary invocation for deployment analysis.harness validate -- Run after any pipeline configuration changes to verify project health.harness check-deps -- Verify deployment script dependencies are available.emit_interaction -- Present deployment readiness report and gather decisions on strategy.Phase 1: DETECT
Found: .github/workflows/ci.yml, .github/workflows/deploy.yml
Environments: staging (auto), production (manual dispatch)
Strategy: Rolling (kubectl set image)
Registry: ghcr.io/org/api-server
Phase 2: ANALYZE
Missing stages: security scan, post-deploy smoke tests
Environment isolation: PASS
Secret hygiene: WARN -- AWS_ACCESS_KEY_ID used instead of OIDC
Pipeline duration: 18m (test and lint run sequentially)
Phase 3: DESIGN
Recommendation: Add trivy scan after Docker build
Recommendation: Switch to AWS OIDC for keyless authentication
Recommendation: Parallelize lint and test jobs (saves ~4m)
Recommendation: Add smoke test job after deploy-staging
Phase 4: VALIDATE
actionlint: PASS
Environment variables: PASS
Branch protection: WARN -- main branch allows force-push
Result: WARN -- 3 recommendations, 1 security improvement needed
Phase 1: DETECT
Found: .gitlab-ci.yml with 5 stages
Environments: dev, staging, production
Strategy: Canary (Istio VirtualService weight shifting)
Registry: registry.gitlab.com/org/service
Phase 2: ANALYZE
All 9 standard stages present
Environment isolation: PASS
Canary configuration: 5% -> 25% -> 75% -> 100% over 30 minutes
Rollback: Automatic on 5xx rate > 1%
Phase 3: DESIGN
Current strategy is well-configured. Minor recommendations:
- Add canary duration metrics to Grafana dashboard
- Add deployment event annotation to Prometheus
- Consider adding a manual gate between 75% and 100%
Phase 4: VALIDATE
GitLab CI lint: PASS
Environment variables: PASS
Branch protection: PASS
Result: PASS -- pipeline is production-ready
When this skill makes claims about existing code, architecture, or behavior, it MUST cite evidence using one of:
file:line format (e.g., src/auth.ts:42)file with description (e.g., src/utils/hash.ts —
"existing bcrypt wrapper")evidence session section via manage_stateUncited claims: Technical assertions without citations MUST be prefixed with
[UNVERIFIED]. Example: [UNVERIFIED] The auth middleware supports refresh tokens.
These apply to ALL skills. If you catch yourself doing any of these, STOP.
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
| Rationalization | Reality |
|---|---|
| "It's just a config change, not a code change" | Config changes cause outages at the same rate as code changes. Deploy them with the same rigor and rollback strategy. |
| "We tested this in staging" | Staging is not production. Traffic patterns, data volume, and edge cases differ. Staging success does not guarantee production safety. |
| "Downtime will be brief" | Brief is not zero. Quantify the expected impact and communicate it to stakeholders before deploying. |