---
title: "Install Clawhub Skill"
method: POST
path: "/api/agents/{agent_id}/skills/install"
tags: ["agents"]
---

# Install Clawhub Skill

`POST /api/agents/{agent_id}/skills/install`

## Request

- Base URL: `https://api.maritime.sh` (the document declares no server; this is the origin it was published from)
- URL: `https://api.maritime.sh/api/agents/{agent_id}/skills/install`
- Auth: HTTP bearer

Install a skill from ClawHub (`slug`) or a git repo (`git`), then run
the just-works pipeline: apply any provided `env`, auto-resolve missing
binaries inside the agent's VM (nix catalog -> npm -> pip3 -> apt-get,
recorded in the /data manifest for boot replay), and report the final
state.

Response: `{ok, slug|git, output, status, missing?, resolved?, reason?}`
where status is `active` (usable now), `needs_input` (missing.env /
missing.config need values; pass them to PUT /skills/env or re-call with
`env`), or `failed`. The legacy fields (ok/slug/output) are unchanged for
existing dashboard callers.

## Path parameters

- `agent_id` string, required

## Request body

- SkillInstallBody
  - `slug` string, nullable
  - `git` string, nullable
  - `version` string, nullable
  - `force` boolean
  - `env` object, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/maritime/apis/maritime-api.md) - [All operations](https://skmtc.dev/maritime/apis/maritime-api/llms.txt) - [OpenAPI document](https://skmtc.dev/maritime/apis/maritime-api/revisions/acd712090ad6?raw)
