Agent Skill · Harness
create-environment
Generate Harness Environment YAML for deployment targets and create via MCP. Supports PreProduction and Production types with environment variables, manifest overrides, and multi-environment setup (dev, staging, prod). Use when asked to create an environment, set up staging, configure production, define deployment targets, or manage environment overrides. Trigger phrases: create environment, deployment environment, setup dev, setup staging, setup production, environment variables, environment overrides.
Skill body
Create Environment
Generate Harness Environment YAML and push to Harness via MCP.
Instructions
- Determine environment type -
PreProductionfor dev/staging/QA,Productionfor live environments - Define variables and overrides - Environment-specific config values and manifest overrides
- Generate YAML using the structure below
- Create via MCP using
harness_createwith resource_typeenvironment
Environment Structure
environment:
name: Staging
identifier: staging
orgIdentifier: default
projectIdentifier: my_project
type: PreProduction # PreProduction or Production
tags:
tier: staging
variables:
- name: domain
type: String
value: staging.myapp.com
- name: replicas
type: Number
value: "2"
- name: db_password
type: Secret
value: <+secrets.getValue("staging_db_password")>
overrides:
manifests:
- manifest:
identifier: values_override
type: Values
spec:
store:
type: Github
spec:
connectorRef: github
repoName: config
branch: main
paths: [values-staging.yaml]
Environment Types
PreProduction- Dev, QA, staging, integration environmentsProduction- Live production environments (enables additional safeguards)
Multi-Environment Setup
Create dev, staging, and prod:
# Dev
environment:
name: Development
identifier: dev
type: PreProduction
variables:
- name: domain
type: String
value: dev.myapp.com
# Staging
environment:
name: Staging
identifier: staging
type: PreProduction
variables:
- name: domain
type: String
value: staging.myapp.com
# Production
environment:
name: Production
identifier: prod
type: Production
variables:
- name: domain
type: String
value: myapp.com
Creating via MCP
Call MCP tool: harness_create
Parameters:
resource_type: "environment"
org_id: "<organization>"
project_id: "<project>"
body: <environment YAML>
List environments:
Call MCP tool: harness_list
Parameters:
resource_type: "environment"
org_id: "<organization>"
project_id: "<project>"
Examples
- “Create dev, staging, and prod environments” - Generate 3 environments with appropriate types
- “Set up a production environment with overrides” - Production type with manifest overrides
Performance Notes
- When creating multiple environments (dev/staging/prod), ensure variable values are distinct per environment.
- Verify that manifest override paths exist in the referenced repository before creating.
- Use Production type only for live environments — it enables additional safeguards like deployment freezes.
Troubleshooting
DUPLICATE_IDENTIFIER- Environment exists; useharness_update- Production type enables deployment freeze and approval guardrails
Skill frontmatter
metadata: {"author"=>"Harness", "version"=>"2.0.0", "mcp-server"=>"harness-mcp-v2"}
license: Apache-2.0
compatibility: Requires Harness MCP v2 server (harness-mcp-v2)