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
Build Teams-native agents with the Teams SDK (formerly Teams AI Library v2) — App class, activity routing, adaptive cards, streaming, AI-generated labels, feedback, message extensions, Teams-as-MCP-server, and the bring-your-own-AI pattern with Agent Framework.
tools
Run agents on Microsoft Foundry (formerly Azure AI Foundry) Agent Service — prompt agents vs hosted agents, threads/runs and the Responses API, built-in tools (Bing grounding, code interpreter, file search, MCP, OpenAPI, A2A), connected agents, Entra agent identity, SDKs, and observability/evaluations.
tools
Build and host custom engine agents with the Microsoft 365 Agents SDK — AgentApplication, the Activity protocol, channel reach via Azure Bot Service, hosting Agent Framework or Semantic Kernel engines, and the Agents Toolkit/Playground workflow. Successor to the Bot Framework SDK.
tools
Design, govern, and extend Microsoft Copilot Studio agents — topics, generative orchestration, knowledge, tools and MCP, agent flows, autonomous triggers, publishing channels, Copilot Credits pricing, and solution-based ALM on Power Platform.