plugins/jira-orchestrator/skills/harness-cd/SKILL.md
This skill should be used when the user asks to "deploy with Harness", "set up Harness CD", "configure a canary/blue-green/rolling deployment", "add approval gates", or "roll back a deployment" — Kubernetes, Helm, Terraform, ECS, and serverless delivery via Harness.
npx skillsauth add markus41/claude harness-cdInstall 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.
Deployment orchestration for Kubernetes, Helm, Terraform, ECS, serverless with GitOps.
pipeline:
name: Deploy Pipeline
stages:
- stage:
name: Deploy Dev
type: Deployment
spec:
service:
serviceRef: my_service
environment:
environmentRef: development
execution:
steps:
- step:
name: Rolling Deploy
type: K8sRollingDeploy
timeout: 10m
rollbackSteps:
- step:
name: Rollback
type: K8sRollingRollback
- step:
type: K8sRollingDeploy
spec:
skipDryRun: false
- step:
type: K8sCanaryDeploy
spec:
instanceSelection:
type: Count
spec:
count: 1
- step:
type: K8sBGStageDeployment
- step:
type: K8sBGSwapServices
serviceDefinition:
type: Kubernetes
spec:
manifests:
- manifest:
type: K8sManifest
spec:
store:
type: Git
spec:
connectorRef: github_connector
branch: main
artifacts:
primary:
sources:
- type: DockerRegistry
spec:
imagePath: myorg/myapp
serviceDefinition:
type: NativeHelm
spec:
chartName: my-app
helmVersion: V3
serviceDefinition:
type: CustomDeployment
spec:
customDeploymentRef:
templateRef: terraform_template
environment:
name: Production
type: Production
infrastructureDefinition:
type: KubernetesDirect
spec:
connectorRef: k8s_connector
namespace: my-namespace
- step:
type: HarnessApproval
spec:
approvers:
userGroups:
- account.ProductionApprovers
# Jira: type: JiraApproval, issueKey: <+pipeline.variables.jiraIssueKey>
# ServiceNow: type: ServiceNowApproval, ticketNumber: <+pipeline.variables.changeRequest>
- step:
type: GitOpsUpdateReleaseRepo
spec:
variables:
- name: image_tag
value: <+artifact.tag>
- step:
type: GitOpsSync
spec:
prune: true
- step:
type: CreatePR
spec:
updates:
- path: environments/<+env.name>/values.yaml
key: image.tag
value: <+artifact.tag>
- step:
type: Verify
spec:
type: Canary
sensitivity: MEDIUM
- step:
type: Http
spec:
url: <+infra.variables.serviceUrl>/health
failureStrategies:
- onFailure:
errors:
- AllErrors
action:
type: StageRollback
pipeline:
stages:
- stage:
name: Deploy Dev
spec:
environment:
environmentRef: development
- stage:
name: Deploy Staging
spec:
environment:
environmentRef: staging
when:
condition: <+pipeline.stages.deploy_dev.status> == "SUCCEEDED"
- stage:
name: Deploy Production
spec:
environment:
environmentRef: production
# Artifact
trigger:
source:
type: Artifact
spec:
type: DockerRegistry
imagePath: myorg/myapp
# Webhook
trigger:
source:
type: Webhook
spec:
type: Github
# Scheduled
trigger:
source:
type: Scheduled
spec:
expression: "0 2 * * *"
| Expression | Purpose | |----------|---| | <+service.name> | Service | | <+env.name> | Environment | | <+infra.namespace> | Namespace | | <+artifact.image>:<+artifact.tag> | Image | | <+pipeline.stages.X.output.VAR> | Output |
curl -X POST "https://app.harness.io/pipeline/api/pipeline/execute/${PIPELINE_ID}" -H "x-api-key: ${API_KEY}"
curl -X GET "https://app.harness.io/pipeline/api/pipelines/execution/v2/${EXECUTION_ID}" -H "x-api-key: ${API_KEY}"
curl -X PUT "https://app.harness.io/pipeline/api/pipelines/execution/interrupt/${EXECUTION_ID}" -H "x-api-key: ${API_KEY}"
| Issue | Solution | |-------|----------| | Deployment timeout | Increase step timeout | | Image pull failed | Verify connector credentials | | Namespace not found | Check infrastructure definition | | Manifest error | Validate YAML locally | | Approval timeout | Review approval workflow | | Rollback failed | Configure rollback steps |
tools
Managing project and task state in .claude/projects/{id}/ with atomic writes and session continuity
tools
Deep research before task execution using 4-source protocol: codebase→Perplexity→Context7→Firecrawl
tools
Validating task completion against acceptance criteria with per-type automated checks
tools
Using and creating project templates for webapp, API, ML pipeline, mobile, and infrastructure projects