# SkillsMiddleware

> **Class** in `deepagents`

📖 [View in docs](https://reference.langchain.com/python/deepagents/middleware/skills/SkillsMiddleware)

Middleware for loading and exposing agent skills to the system prompt.

Loads skills from backend sources and injects them into the system prompt
using progressive disclosure (metadata first, full content on demand).

Skills are loaded in source order with later sources overriding
earlier ones.

## Signature

```python
SkillsMiddleware(
    self,
    *,
    backend: BACKEND_TYPES,
    sources: list[str],
)
```

## Description

**Example:**

```python
from deepagents.backends.filesystem import FilesystemBackend

backend = FilesystemBackend(root_dir="/path/to/skills")
middleware = SkillsMiddleware(
    backend=backend,
    sources=[
        "/path/to/skills/user/",
        "/path/to/skills/project/",
    ],
)
```

## Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `backend` | `BACKEND_TYPES` | Yes | Backend instance for file operations |
| `sources` | `list[str]` | Yes | List of skill source paths.  Source names are derived from the last path component. |

## Extends

- `AgentMiddleware[SkillsState, ContextT, ResponseT]`

## Constructors

```python
__init__(
    self,
    *,
    backend: BACKEND_TYPES,
    sources: list[str],
) -> None
```

| Name | Type |
|------|------|
| `backend` | `BACKEND_TYPES` |
| `sources` | `list[str]` |


## Properties

- `state_schema`
- `sources`
- `system_prompt_template`

## Methods

- [`modify_request()`](https://reference.langchain.com/python/deepagents/middleware/skills/SkillsMiddleware/modify_request)
- [`before_agent()`](https://reference.langchain.com/python/deepagents/middleware/skills/SkillsMiddleware/before_agent)
- [`abefore_agent()`](https://reference.langchain.com/python/deepagents/middleware/skills/SkillsMiddleware/abefore_agent)
- [`wrap_model_call()`](https://reference.langchain.com/python/deepagents/middleware/skills/SkillsMiddleware/wrap_model_call)
- [`awrap_model_call()`](https://reference.langchain.com/python/deepagents/middleware/skills/SkillsMiddleware/awrap_model_call)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/a9e6e4f7ad7fe161dd9affc3d74bb19784aca70b/libs/deepagents/deepagents/middleware/skills.py#L602)