/mcloud-environments
Execute mcloud environments commands to list, get, create, delete, redeploy, or trigger builds for Cloud environments. Use when managing environment lifecycle, redeploying after variable changes, or starting new builds from source.
$ npx -y skills add medusajs/medusa-agent-skills --skill mcloud-environments --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/mcloud-environments
Context preview
The summary Claude sees to decide when to auto-load this skill.
Execute mcloud environments commands to list, get, create, delete, redeploy, or trigger builds for Cloud environments. Use when managing environment lifecycle, redeploying after variable changes, or starting new builds from source.
SKILL.md
mcloud-environments.SKILL.mdname: mcloud-environments
description: Execute mcloud environments commands to list, get, create, delete, redeploy, or trigger builds for Cloud environments. Use when managing environment lifecycle, redeploying after variable changes, or starting new builds from source.
allowed-tools: Bash(mcloud environments*), Bash(mcloud use*), Bash(jq*)
Cloud CLI: Environments Commands
Execute `mcloud environments` commands to manage environment lifecycle and deployments.
Constraints
- **Production environments cannot be deleted.** Always check `type` via `environments get --json` before attempting delete in automation.
- Use `--yes` for destructive operations (`delete`) in non-interactive contexts.
- `redeploy` vs `trigger-build` are not interchangeable — choose the right one based on where the fix is.
Commands
environments list
List all environments in a project.
mcloud environments list --organization <org-id> --project <project-id-or-handle> --json
**Options:**
- `-o/--organization <id>` — Organization ID (falls back to active context)
- `-p/--project <id-or-handle>` — Project ID or handle (falls back to active context)
- `--json` — Output as JSON
environments get
Retrieve a single environment by its ID or handle.
mcloud environments get <environment-id-or-handle> --organization <org-id> --project <project-id-or-handle> --json
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`, `--json`
environments create
Create a new long-lived environment.
mcloud environments create \
--organization <org-id> \
--project <project-id-or-handle> \
--name "Staging" \
--branch develop \
--json
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`
- `-n/--name <name>` — Environment name (required)
- `-b/--branch <branch>` — Git branch to track (required)
- `--custom-subdomain <subdomain>` — Optional custom subdomain
- `--json` — Output as JSON
environments delete
Delete an environment. **Cannot delete production environments.**
mcloud environments delete <environment-id-or-handle> \
--organization <org-id> \
--project <project-id-or-handle> \
--yes
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`
- `-y/--yes` — Skip confirmation prompt (required in non-interactive mode)
- `--json` — Output as JSON
environments redeploy
Re-run an existing build for the active deployment. Use when the fix is environment-side (variable change, infra issue) — does NOT start a new build.
mcloud environments redeploy <environment-id-or-handle> \
--organization <org-id> \
--project <project-id-or-handle> \
--json
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`, `--json`
> Requires the environment to have an active deployment. If it doesn't, use `trigger-build` first.
environments trigger-build
Start a new build from the tracked branch. Use when the fix is committed code — creates a new deployment.
mcloud environments trigger-build <environment-id-or-handle> \
--organization <org-id> \
--project <project-id-or-handle> \
--json
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`, `--json`
Redeploy vs Trigger-Build Decision
| Command | When to use | |---------|-------------| | `redeploy` | Fix is environment-side (variable change, infra config) — reruns existing build | | `trigger-build` | Fix is in source code on the tracked branch — starts a new build |
Examples
# List all environments
mcloud environments list --json
# Get environment details and check type before deleting
mcloud environments get staging --json | jq '{id, name, type, status}'
# Create a new environment tracking the develop branch
mcloud environments create --name "Staging" --branch develop --json
# Delete a non-production environment
mcloud environments delete staging --yes
# Redeploy after a variable change
mcloud environments redeploy production --json
# Trigger a fresh build from source
mcloud environments trigger-build production --json
# Find environment handles by name
mcloud environments list --json \
| jq -r '.[] | select(.name == "Production") | .handle'
# Verify new build started
mcloud deployments list --environment production --limit 5 --json \
| jq '.[] | {id, backend_status, updated_at}'Read more
name: mcloud-environments description: Execute mcloud environments commands to list, get, create, delete, redeploy, or trigger builds for Cloud environments. Use when managing environment lifecycle, redeploying after variable changes, or starting new builds from source. allowed-tools: Bash(mcloud environments*), Bash(mcloud use*), Bash(jq*)
Cloud CLI: Environments Commands
Execute `mcloud environments` commands to manage environment lifecycle and deployments.
Constraints
- **Production environments cannot be deleted.** Always check `type` via `environments get --json` before attempting delete in automation.
- Use `--yes` for destructive operations (`delete`) in non-interactive contexts.
- `redeploy` vs `trigger-build` are not interchangeable — choose the right one based on where the fix is.
Commands
environments list
List all environments in a project.
mcloud environments list --organization <org-id> --project <project-id-or-handle> --json
**Options:**
- `-o/--organization <id>` — Organization ID (falls back to active context)
- `-p/--project <id-or-handle>` — Project ID or handle (falls back to active context)
- `--json` — Output as JSON
environments get
Retrieve a single environment by its ID or handle.
mcloud environments get <environment-id-or-handle> --organization <org-id> --project <project-id-or-handle> --json
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`, `--json`
environments create
Create a new long-lived environment.
mcloud environments create \ --organization <org-id> \ --project <project-id-or-handle> \ --name "Staging" \ --branch develop \ --json
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`
- `-n/--name <name>` — Environment name (required)
- `-b/--branch <branch>` — Git branch to track (required)
- `--custom-subdomain <subdomain>` — Optional custom subdomain
- `--json` — Output as JSON
environments delete
Delete an environment. **Cannot delete production environments.**
mcloud environments delete <environment-id-or-handle> \ --organization <org-id> \ --project <project-id-or-handle> \ --yes
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`
- `-y/--yes` — Skip confirmation prompt (required in non-interactive mode)
- `--json` — Output as JSON
environments redeploy
Re-run an existing build for the active deployment. Use when the fix is environment-side (variable change, infra issue) — does NOT start a new build.
mcloud environments redeploy <environment-id-or-handle> \ --organization <org-id> \ --project <project-id-or-handle> \ --json
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`, `--json`
> Requires the environment to have an active deployment. If it doesn't, use `trigger-build` first.
environments trigger-build
Start a new build from the tracked branch. Use when the fix is committed code — creates a new deployment.
mcloud environments trigger-build <environment-id-or-handle> \ --organization <org-id> \ --project <project-id-or-handle> \ --json
**Arguments:**
- `environment` — Environment ID or handle (required)
**Options:**
- `-o/--organization <id>`, `-p/--project <id-or-handle>`, `--json`
Redeploy vs Trigger-Build Decision
| Command | When to use | |---------|-------------| | `redeploy` | Fix is environment-side (variable change, infra config) — reruns existing build | | `trigger-build` | Fix is in source code on the tracked branch — starts a new build |
Examples
# List all environments
mcloud environments list --json
# Get environment details and check type before deleting
mcloud environments get staging --json | jq '{id, name, type, status}'
# Create a new environment tracking the develop branch
mcloud environments create --name "Staging" --branch develop --json
# Delete a non-production environment
mcloud environments delete staging --yes
# Redeploy after a variable change
mcloud environments redeploy production --json
# Trigger a fresh build from source
mcloud environments trigger-build production --json
# Find environment handles by name
mcloud environments list --json \
| jq -r '.[] | select(.name == "Production") | .handle'
# Verify new build started
mcloud deployments list --environment production --limit 5 --json \
| jq '.[] | {id, backend_status, updated_at}'A collection of skills composed as Claude Code plugins for building Medusa applications with best practices and architectural patterns. These skills can be used with any agent, as explained in the Usage with Other Agents section.
Repo: medusajs/medusa-agent-skills
Other skills on medusa-agent-skills.
- /storefront-best-practices
ALWAYS use this skill when working on ecommerce storefronts, online stores, shopping sites. Use for ANY storefront component including checkout pages, cart, payment flows, product pages, product listings, navigation, homepage, or ANY page/component in a storefront. CRITICAL for
Open skill - /learning-medusa
Load automatically when user asks to learn Medusa development (e.g., "teach me how to build with medusa", "guide me through medusa", "I want to learn medusa"). Interactive guided tutorial where Claude acts as a coding bootcamp instructor, teaching step-by-step with checkpoints
Open skill - /mcloud-auth
Execute mcloud authentication and context commands: login, logout, whoami, use, version, and signup. Use when setting up the CLI, switching accounts, verifying auth state, setting the active org/project/environment context, or checking the CLI version.
Open skill - /mcloud-deployments
Execute mcloud deployments commands to list deployments, retrieve deployment details, and fetch build logs. Use when listing deployments, checking deployment status, or reading build output for debugging build failures.
Open skill - /mcloud-local
Execute mcloud local build to reproduce a Cloud build on the local machine. Use when debugging a build-failed deployment without pushing to the tracked branch, iterating on a build fix, or testing build-variable changes locally. Requires Docker and must run inside the project's
Open skill - /mcloud-logs
Execute mcloud logs to fetch and stream runtime logs for Cloud environments. Use when reading backend or storefront logs, filtering by time range, searching for errors, or scoping logs to a specific deployment.
Open skill

