---
question: Does text after the slash command reach the skill as extra input?
kind: task
via_web: available
via_cli: na
via_python: na
via_api: available
via_config: na
ref_web: Chat › /<slug>
ref_api: POST /api/chat/complete
prereq: The skill is enabled and visible to you in the workspace. [Create a skill](/capabilities/build/skills/create-a-skill) first.
next:
  - /capabilities/build/agents/chat-with-an-agent
  - /capabilities/build/skills/change-or-delete-a-skill
---

# Run a skill

On each turn of a Nexus chat, the agent receives every enabled skill you can see in the workspace, with its full prompt. `/<slug>` names the skill to apply. Text after the slug is extra input for it: `/weekly-report for the sales team`. Without a slash command, the agent applies a skill on its own when the message matches what it is for.

Agents of remote modules do not receive the skills, so they do not run them.

## Web UI

### Open a chat

Open **Chat** in the sidebar and start or open a conversation. See [Chat with an agent](/capabilities/build/agents/chat-with-an-agent?via=web).

### Find the skill

Type `/skills` and press Enter to list the enabled skills, with their commands. Nothing is sent to the agent.

You can also type `/`: a menu lists the matching skills, most recently used first, and the built-in commands. Arrow keys move, Tab or Enter fills in the command, Escape closes the menu.

![Chat with the slash menu open](/abi/Screenshot_Slash_Menu.png)

*Typing / in the message box lists /skills, /create-skill and the workspace's skills.*

### Run it

Type `/<slug>`, then any extra input, and press Enter:

```text
/weekly-report for the sales team
```

The message is sent as typed, and the skill's **Last used** date in Settings › Skills is updated. A `/command` that matches no enabled skill is not sent: the chat answers "Unknown command".

### Or start from the sidebar

The **Skills** group of the chat sidebar lists the enabled skills, the three most recently used first. Clicking one opens a new chat with `/<slug> ` in the message box. Add the extra input and press Enter.

## CLI

Not applicable. `abi chat` talks to the engine directly, and the skills are added to the conversation by the Nexus chat only. Use Nexus or the REST API on this page.

## Python

Not applicable. `Agent.invoke` does not receive the workspace's skills. From Python, call the REST API on this page.

## REST API

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

### Send the command

```bash title="Run a skill"
curl -X POST "http://localhost:9879/api/chat/complete" \
  -H "Authorization: Bearer $NEXUS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "<workspace-id>",
    "agent": "<agent-id>",
    "message": "/weekly-report for the sales team"
  }'
```

`agent` is the agent's id from `GET /api/agents/?workspace_id=<id>`. The response holds the answer in `message.content` and a `conversation_id` to continue the thread. `POST /api/chat/stream` takes the same body and streams the answer, as the Nexus chat does.

### Record the use

The API does not check the slug: a `/command` that matches no skill reaches the agent as plain text. `GET /api/skills/?workspace_id=<id>` lists the skills you can see, with their `id` and `enabled`. To update the **Last used** date as Nexus does, call:

```bash title="Record the use"
curl -X POST "http://localhost:9879/api/skills/<skill-id>/use" \
  -H "Authorization: Bearer $NEXUS_TOKEN"
```

## Config

Not applicable. `config.yaml` runs no skill. Skills run in the Nexus chat or through the REST API on this page.
