Skip to main content

Langchain adapters to support skills in your agent

Project description

Langchain Skills Adapters

Langchain adapters to support skills in your agent.

Features

Installation

uv:

uv add langchain-skills-adapters

pip:

pip install langchain-skills-adapters

Skills Format

Skills must follow the Anthropic Open Standard for Skills. This includes having frontmatter with at minimum the name and skill description.

---
name: My Skill
description: This is my skill
---

# My Skill

Skill content

The skill directory must be in the following format to be loaded correctly:

skills
├── my-skill
│   ├── assets          # Required: instructions + metadata
│   ├── references      # Optional: executable code
│   ├── scripts         # Optional: documentation
│   └── SKILL.md        # Optional: templates, resources
└── other skills...

Usage

As a Tool

The SkillsTool creates a Langchain tool that can be used by your agent to activate a skill. The description of the skills tool contains names and descriptions of all available skills from your skill directory. This way, your agent will always see what skills are available to it before acting, and can use the tool to activate a skill and read its full content.

If your skills directory contains resource files (such as scripts, assets, etc.), you can add a ReadFileTool to enable your agent to read these files.

from langchain.agents import create_agent
from langchain_community.tools.file_management.read import ReadFileTool

from langchain_skills_adapters import SkillsTool

# Create the SkillsTool pointed to your skills directory
skills_dir = "/path/to/skills/"
skills_tool = SkillsTool(skills_dir)

# Optional: Add a file reading tool. Recommended if your agent needs to read resources from your skills directory (scripts, assets, etc.)
read_file_tool = ReadFileTool(root_dir=skills_dir)

# Create the agent
tools = [skills_tool, read_file_tool]
agent = create_agent("openai:gpt-5", tools=tools)
response = agent.invoke(input={"messages": {"role": "user", "content": "What skills do you have?"}})

As Middleware

The SkillsMiddleware is a Langchain middleware that adds skill info to your agent's system prompt before each model call. It also adds a skills_file_read tool to your agent's tool list, allowing it to read skill files and other resources from your skills directory. This way, your agent will always see what skills are available to it before acting, and can use the tool to read skill files and other resource files.

from langchain.agents import create_agent

from langchain_skills_adapters import SkillsMiddleware

# Create the SkillsTool pointed to your skills directory
skills_dir = "/path/to/skills/"
skills_middleware = SkillsMiddleware(skills_dir)

# Create the agent
agent = create_agent("openai:gpt-5", middleware=[skills_middleware])
response = agent.invoke(input={"messages": {"role": "user", "content": "What skills do you have?"}})

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_skills_adapters-0.1.3.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_skills_adapters-0.1.3-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file langchain_skills_adapters-0.1.3.tar.gz.

File metadata

File hashes

Hashes for langchain_skills_adapters-0.1.3.tar.gz
Algorithm Hash digest
SHA256 23c2c3f798fe20a3729d516b910484a538547af3aa44aeb39399c8b5726bdb1e
MD5 33286d7696b0e1ff7b1ca61afd9f083c
BLAKE2b-256 110ea41821f7e7c22da1946f9b3683b84a4e1e91a8ab9cb2803169748b416e69

See more details on using hashes here.

File details

Details for the file langchain_skills_adapters-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_skills_adapters-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f647d56f929f4d9652b4c21ba3cc9e6c3fd84fc605caad2c96d90d677ec1dcfc
MD5 bb13d54798a405b0159d1f49ef5506ab
BLAKE2b-256 29bf6a8387e79703fd7c7649f45afb77c507d1f1ec4f9f8558fb4c3d6e293b83

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page