---
question: Who can change a skill that someone else created?
kind: task
via_web: available
via_cli: na
via_python: na
via_api: available
via_config: na
ref_web: Settings › Skills
ref_api: PATCH /api/skills/{skill_id}
next:
  - /capabilities/build/skills/run-a-skill
  - /capabilities/build/skills/create-a-skill
---

# Change or delete a skill

Only its creator can change or delete a **Private (only me)** skill. A **Workspace** or **Organization** skill can be changed or deleted by anyone with access to the workspace it was created in. A change applies from the next chat turn. A disabled skill stays in Settings › Skills, but `/<slug>` no longer runs it and the agent no longer receives it. Deleting a skill is final.

## Web UI

### Open Settings › Skills

In the workspace, open Settings › Skills, or click the **Skills** heading in the chat sidebar. Search and the **Visibility** and **Status** filters narrow the list.

### Turn it on or off

Check or clear the box in the **Enabled** column of the skill's row. The box is disabled on a private skill you did not create.

### Edit it

Click the row. Change **Name**, **Slug**, **Description**, **Prompt**, **Visibility** or **Enabled**, then click **Save**. A private skill you did not create opens read-only, with "Only the creator can modify this private skill."

A new slug follows the rules of [Create a skill](/capabilities/build/skills/create-a-skill): `skills`, `create-skill` and a slug in use are refused.

### Delete it

Click the trash icon (**Delete**) on the row, then **Delete** in the `Delete skill "/<slug>"?` dialog. The icon only shows on skills you can change.

### Or do it from the chat

In the **Skills** group of the chat sidebar, the three-dot menu of a skill has **Edit skill**, which opens the same editor, and **Delete**. You can also ask the **Skills** agent in the chat: "disable /weekly-report", "rename /weekly-report to /sales-report". It deletes a skill only when you name it.

## CLI

Not applicable. No `abi` command changes or deletes a skill, and the Skills agent in `abi chat` has no Nexus workspace to work in. Use Nexus or the REST API on this page.

## Python

Not applicable. A skill is a Nexus record, and ABI has no Python API for it. From Python, call the REST API on this page.

## REST API

The Skills routes of the Nexus API. Auth: a Nexus session with access to the workspace (`POST /api/auth/login` returns the access token).

### Find the skill id

```bash title="List skills"
curl "http://localhost:9879/api/skills/?workspace_id=<workspace-id>" \
  -H "Authorization: Bearer $NEXUS_TOKEN"
```

The list holds every skill you can see in the workspace, with its `id`, `slug`, `scope` and `enabled`. `GET /api/skills/{skill_id}` returns one.

### Change it

```bash title="Change a skill"
curl -X PATCH "http://localhost:9879/api/skills/<skill-id>" \
  -H "Authorization: Bearer $NEXUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'
```

Send only the fields to change: `name`, `slug`, `description`, `prompt`, `scope` or `enabled`. The response is the updated skill. A private skill of someone else answers 403. A reserved slug, a slug in use or an unknown `scope` answers 409.

### Delete it

```bash title="Delete a skill"
curl -X DELETE "http://localhost:9879/api/skills/<skill-id>" \
  -H "Authorization: Bearer $NEXUS_TOKEN"
```

The response is `{"status": "deleted"}`. A private skill of someone else answers 403, an unknown id 404.

## Config

Not applicable. `config.yaml` holds no skills to change. Use Nexus or the REST API on this page.
