# The Deployment.io Skill
---
The Deployment.io skill is a [SKILL.md](https://agentskills.io/specification)-compliant bundle that teaches your coding agent how to deploy on Deployment.io — git pre-flight, parameter detection, log-based diagnosis, and approval handling. It pairs with the [MCP server](/docs/coding-agents/mcp-configuration/) and works across Claude Code, Claude Desktop, Cursor, OpenAI Codex, Gemini CLI, and 25+ other SKILL.md-compliant agents.
Source: github.com/deployment-io/skills (MIT, semver).
## What the Skill Adds
The MCP server gives your agent the **tools** (`deploy_static_site`, `deploy_web_service`, `list_environments`, etc.). The skill gives it the **playbook**:
- Framework → `publish_directory` table (Vite/Svelte/Astro → `dist`, CRA → `build`, Next.js static → `out`, Hugo → `public`, Jekyll → `_site`).
- How to pick `is_spa` correctly (client-side routers vs. static site generators).
- Where to find the `port` inside a container (Dockerfile `EXPOSE`, app listen calls, `PORT` env).
- Health-check route detection (`/health`, `/healthz`, `/ping`, `/ready`).
- Git pre-flight: `git fetch origin`, check unpushed commits, capture the exact SHA for `commit_hash`.
- Diagnose a bad deploy: use `get_deployment_logs` + `get_job_status` to read failure output.
- Approval flow: poll `get_approval_status`, don't retry the original call.
Without the skill, your agent has the tools but has to re-derive these details on each session. With the skill, the runbook is loaded automatically when the prompt matches a deploy intent.
## Prerequisites
- A Deployment.io account.
- The Deployment.io MCP server connected in your agent — see [MCP Configuration](/docs/coding-agents/mcp-configuration/). The skill calls these tools; without the MCP server, the skill has nothing to invoke.
## Install
Clone the repo once:
```bash
git clone --depth 1 --branch v0.1.0 https://github.com/deployment-io/skills.git /tmp/dio-skills
```
Then copy the skill folder into the path your agent reads from:
| Agent | Command |
| ---------------------------- | ------------------------------------------------------------------------------------------- |
| Claude Code / Claude Desktop | `mkdir -p ~/.claude/skills && cp -r /tmp/dio-skills/skills/deployment-io ~/.claude/skills/` |
| Codex CLI | `mkdir -p ~/.codex/skills && cp -r /tmp/dio-skills/skills/deployment-io ~/.codex/skills/` |
| Gemini CLI | `mkdir -p ~/.gemini/skills && cp -r /tmp/dio-skills/skills/deployment-io ~/.gemini/skills/` |
| Cursor | `mkdir -p ~/.cursor/skills && cp -r /tmp/dio-skills/skills/deployment-io ~/.cursor/skills/` |
> **Important:** Restart your agent after copying. Skills are scanned at session start, not at runtime — if you skip this step, the skill won't load.
## Verify It's Loaded
Start a new conversation and ask:
> "What skills do you currently have loaded?"
Your agent should list `deployment-io`. For a deeper check, ask about specific content the skill owns:
> "I'm planning to deploy a Vite app on Deployment.io — what publish_directory should I use, and what about a Hugo site?"
A skill-loaded agent answers with the framework table verbatim. A generic agent will either guess or say it doesn't know.
## Troubleshooting
**Skill doesn't appear when I ask "what skills are loaded?"**
Confirm the path: `ls ~/.claude/skills/deployment-io/SKILL.md` (adjust path per agent). The file must be directly inside a `deployment-io/` folder in your agent's skills directory, not nested deeper. Restart your agent — skills are only scanned at session start.
**Skill is listed but doesn't activate on deploy prompts.**
Try a more explicit phrase: _"Use the deployment-io skill to deploy my app to staging."_ If it activates now, the issue is trigger-phrase matching — try rephrasing your natural request. If it still doesn't activate, check the frontmatter parses: `yq e --front-matter=extract ~/.claude/skills/deployment-io/SKILL.md` — you should see `name` and `description` fields.
**Skill activates but tool calls fail.**
The MCP server isn't connected. The skill calls tools like `deploy_static_site` and `list_environments` that come from the Deployment.io MCP server. Ask your agent: _"Is the deployment-io MCP server connected?"_ If not, follow the [MCP configuration guide](/docs/coding-agents/mcp-configuration/).
**Agent ignores the framework table or keeps asking for parameters it should know.**
Your agent may have an older skill version cached. Delete `~/.claude/skills/deployment-io` (or your agent's path), re-run the install, and restart.
## Update
Re-clone with a new tag and re-copy to the agent's skills path:
```bash
git clone --depth 1 --branch https://github.com/deployment-io/skills.git /tmp/dio-skills
cp -r /tmp/dio-skills/skills/deployment-io ~/.claude/skills/ # or your agent's path
```
Restart the agent to pick up the new version.
## License
MIT. Fork it, extend it, customize it for your team.
---
Source: https://deployment.io/docs/coding-agents/deployment-io-skill/