---
title: "Links a skill to an agent."
method: POST
path: "/agents/{agentId}/skills/{skillId}/link"
tags: ["customAgents"]
---

# Links a skill to an agent.

`POST /agents/{agentId}/skills/{skillId}/link`

Links a shared skill to an agent when the caller can manage the agent and read the skill.

<Check title="Required Permissions" icon="key">Any authenticated user.</Check>

## Path parameters

- `agentId` string, uuid, required
- `skillId` string, uuid, required

## Response `200`

OK

- AgentSkillLinkResponseModel — Describes a skill linked to an agent.
  - `id` string, uuid — The agent-skill link id.
  - `agentId` string, uuid — The agent that uses the skill.
  - `skillId` string, uuid — The linked skill id.
  - `skillKey` string, nullable — The linked skill's stable key.
  - `skillName` string, nullable — The linked skill's display name.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found

## Changes

- **2026-09-20** `5332322ffca3` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/awork-io/apis/api-v1-reference/changes/agents/:agentId/skills/:skillId/link/post.md)

---

[API](https://skmtc.dev/awork-io/apis/api-v1-reference.md) · [All operations](https://skmtc.dev/awork-io/apis/api-v1-reference/llms.txt) · [OpenAPI document](https://skmtc.dev/awork-io/apis/api-v1-reference/revisions/eadefd26df12?raw)
