# Adding Skills to Agents

> Attach skills to your inference shell agents so they can load context on demand.

**URL:** https://inference.sh/docs/skills/adding-to-agents
**Last updated:** 2026-09-18

---

Attach skills to your inference shell agents so they can load context on demand.

---

## From the Registry

The fastest way to add a skill:

1. Open your agent's settings → **Prompt** tab
2. Scroll to the **Skills** section
3. Click **Browse** to open the skill browser
4. Search and select a skill

The skill's name, description, and URL are filled in automatically.

---

## By URL

Point to any skill hosted anywhere:

1. In the skills section, click **+ URL**
2. Fill in:

| Field | Value |
|-------|-------|
| **Name** | Identifier the agent uses (e.g. `api-docs`) |
| **Description** | When to load this skill — the agent sees this |
| **URL** | Where to fetch the content |

```
name: api-docs
description: REST API documentation for the payment service
url: https://api.inference.sh/skills/yourteam/api-docs/content
```

The URL can point to:
- A skill on inference shell (`https://api.inference.sh/skills/{ns}/{name}/content`)
- A raw file on GitHub (`https://raw.githubusercontent.com/...`)
- Any HTTPS URL that returns text/markdown

---

## Inline

Write skill content directly in the agent config:

1. Click **+ Text**
2. Fill in name, description, and the content itself

Good for short, agent-specific instructions that don't need to be shared:

```
name: response-style
description: guidelines for tone and formatting
content: |
  Always respond in lowercase.
  Use bullet points for lists.
  Keep responses under 200 words unless asked for detail.
```

---

## Preloading Skills

For skills the agent needs on every conversation, enable **preload**. The content is injected directly into the system prompt — available from turn one without a tool call.

1. In the skills section, toggle **Preload** on the skill
2. Or set `preload: true` in YAML config

```yaml
skills:
  - name: pricing-rules
    skill_id: myteam/pricing-rules
    preload: true
```

Use preloading for core reference material. Keep large or situational skills as on-demand to avoid bloating the system prompt.

---

## How skill_get Works at Runtime

Non-preloaded skills appear in the `skill_get` tool when your agent runs:

```
skill_get: Retrieves skill content.

Available skills:
- code-review: guidelines for reviewing pull requests
- api-docs: REST API documentation for the payment service

Parameters:
  skill: the name of the skill to retrieve
  path: optional path to a supporting file (e.g. references/api-docs.md)
```

The agent decides when to call `skill_get` based on the conversation. Typical flow:

1. User asks something related to a skill's description
2. Agent calls `skill_get(skill="code-review")` → gets the main instructions
3. If the instructions reference supporting files, agent calls `skill_get(skill="code-review", path="references/checklist.md")` → gets the specific file
4. Agent uses the loaded context to respond

Content is **cached per session** — loading the same skill twice doesn't re-fetch.

---

## How Many Skills?

There's no hard limit, but keep descriptions concise. Every skill adds a line to the tool description. 5-15 well-described skills is a good range — enough to cover the domain without overwhelming the agent's context.

If you find yourself adding 20+ skills, consider whether some should be supporting files within a parent skill rather than separate skills.

---

## Next

- [Creating skills](/docs/skills/creating) — build your own skills
- [Using with other agents](/docs/skills/other-agents) — install skills to Claude Code, Cursor, and more
- [Skills overview](/docs/skills/overview) — how skills work
