dstack
dstack is an open-source control plane for GPU provisioning and orchestration across GPU clouds, Kubernetes, and on-prem clusters.
npx skills add dstackai/dstack --skill dstack --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Instructs an agent to manage GPU-based workloads across multiple environments using a three-part model: a server that can run locally, remotely, or via a managed service; a CLI that applies configurations and inspects fleets, runs, logs, events, volumes, gateways, and offers; and YAML configuration files ending with .dstack.yml that define run configurations (dev-environment, task, service) and infrastructure (fleets, volumes, gateways).
The skill directs the agent to perform operations such as showing a plan with dstack apply, submitting changes, configuring SSH access and port forwarding, and streaming logs. It also provides a concrete flow for detached runs: showing the plan, applying with -y -d, inspecting the run with dstack run get <run-name> --json, and attaching to surface IDE links, ports, and SSH aliases when running.
It emphasizes not proposing non-existent CLI flags or YAML properties, and requires using only documented commands and syntax verified via --help when uncertain.
How it works
The agent interacts with three core components:
dstackserver (local, remote, or Sky managed)dstackCLI (applies configurations, manages cars like fleets, runs, logs, events, volumes, gateways, offers; relies on~/.dstack/config.ymlanddstack project)dstackconfiguration files ending with.dstack.yml.
Key actions include:
- Running
dstack applyto show a plan and submit configuration changes; with-dit submits and exits; by default, attaching happens when a run reachesrunning. - For detached runs, following a specific sequence (plan check, apply, check run, attach in background, open surface IDE link/ports/SSH alias).
The agent must not invent CLI flags or YAML syntax and must comply with timing and timeout guidelines, including background attach via nohup and reporting results in code blocks when outputs are shown.
When to use it
- Running or managing dev environments, tasks, or services on dstack
- Creating, editing, or applying
.dstack.ymlconfigurations - Managing fleets, volumes, gateways, and checking available offers
What it can touch
- Commands and files described in the skill:
dstack apply,dstack run get <run-name> --json,dstack attach(background by default),nohup dstack attach <run name> --logs > /tmp/<run name>.attach.log 2>&1 &and related kill/restart patterns for background processes. - It references configuration types and parameters (e.g.,
type: dev-environment,type: task,type: service,volumes,ports,env,image,gpu, etc.) as documented in the skill.
Caveats
- Requires following the provided verification steps with
--helpto avoid unsupported flags or YAML properties. - Do not invent CLI flags or YAML keys not documented here.
- Some operations can block (e.g.,
dstack attach); the guide recommends non-blocking background attach and proper timeouts. - The workflow distinguishes terminal run states (
pending,submitted,provisioning,running,terminating,terminated,failed,done).
# dstack ## Overview `dstack` provisions and orchestrates workloads across GPU clouds, Kubernetes, and on-prem via fleets. **When to use this skill:** - Running or managing dev environments, tasks, or services on dstack - Creating, editing, or applying `*.dstack.yml` configurations - Managing fleets, volumes, gateways, and checking available offers ## How it works `dstack` operates through three core components: 1. `dstack` server - Can run locally, remotely, or via dstack Sky (managed) 2. `dstack` CLI - Applies configurations and manages or inspects fleets, runs, logs, events, volumes, gateways, and offers; it uses project configurations stored in `~/.dstack/config.yml`, which can be managed with `dstack project` 3. `dstack` configuration files - YAML files ending with `.dstack.yml` `dstack apply` shows a plan and submits configuration changes. For run configurations, it attaches when the run reaches `running` by default: it configures SSH access, forwards declared ports, and streams logs. With `-d`, it submits and exits. ## Quick agent flow (detached runs) 1) Show plan: `echo "n" | dstack apply -f <config>` 2) If plan is OK and user confirms, apply detached: `dstack apply -f <con
- Overview
- How it works
- Quick agent flow (detached runs)
- Agent execution guidelines
- Output accuracy
- Verification before execution
- Command timing and confirmation handling
- Detached run follow-up (after -d)
- Attaching behavior (blocking vs non-blocking)
- Interpreting user requests
- Configuration types
- files and repos intent policy
- 1. Dev environments
- 2. Tasks
dstack --help # List all commands dstack apply -h <configuration type> # Flags for apply per configuration type (dev-environment, task, service, fleet, etc) dstack fleet --help # Fleet subcommands dstack ps --help # Flags for ps nohup dstack attach <run name> --logs > /tmp/<run name>.attach.log 2>&1 & echo $! > /tmp/<run name>.attach.pid tail -n 50 /tmp/<run name>.attach.log tail -f /tmp/<run name>.attach.log kill "$(cat /tmp/<run name>.attach.pid)" pkill -f "dstack attach <run name>" curl -sS -X POST "https://<run name>.<gateway domain>/v1/chat/completions" \
What does the dstack skill do?
dstack is an open-source control plane for GPU provisioning and orchestration across GPU clouds, Kubernetes, and on-prem clusters.
How do I install it?
Run `npx skills add dstackai/dstack --skill dstack --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From dstackai/dstack, a repository with 2,203 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
