Skip to main content

Anthropic Agent Skills implementation for LangChain

Project description

LangChain Skills Adapter

This package provides an easy way to work with Agent Skills in your LangChain/LangGraph project by treating Skills as any other tool in LangChain, allowing you to easily integrate skills with existing workflows and agents. For developers, Skills work like any other LangChain tool.

alt text

Installation

Install from PyPI:

pip install langchain-skills-adapter

Create SkillTool

SkillTool accepts 2 arguments: directories (required) and description_template (optional).

Supported Directory Structures:

Scenario 1 - Direct skill directory:

skills/
└── pdf/
    └── SKILL.md

Usage: SkillTool(directories="skills/pdf")

Scenario 2 - Parent directory with multiple skills:

.copilot/skills/
├── pdf/
│   └── SKILL.md
├── pptx/
│   └── SKILL.md 
└── excel/
    └── SKILL.md

Usage: SkillTool(directories=".copilot/skills") # Discovers all three skills

Scenario 3 - Nested skill directories:

skills/
├── documents/
│   ├── pdf/
│   │   └── SKILL.md
│   └── word/
│       └── SKILL.md 
└── data/
    └── csv/
        └── SKILL.md

Usage: SkillTool(directories="skills") # Recursively discovers all nested skills

Scenario 4 - Multiple parent directories:

~/.agents/skills/
└── pdf/
    └── SKILL.md

./custom-skills/
└── excel/
    └── SKILL.md

Usage: SkillTool(directories=["~/.agents/skills", "./custom-skills"])

from langchain_skills import SkillTool

# Load skills from a directory
skill_tool = SkillTool(directories=".agent/skills/")

Example Usage

from langchain.agents import create_agent
from langchain_community.agent_toolkits import FileManagementToolkit
from langchain_community.tools import ShellTool
from langchain_skills import SkillTool

# create skill tool
skill_tool = SkillTool(directories=".agent/skills/")

# Create supporting tools to complement the skill
file_management_toolkit = FileManagementToolkit(root_dir='..').get_tools()
bash_tool = ShellTool()

# Combine all tools
tools = file_management_toolkit + [bash_tool, skill_tool]

agent = create_agent(model, tools)

It is highly recommended to provide FileManagementToolkit and ShellTool, which act as supporting tools in case your skill is not just a SKILL.md file. Even if the skill is a simple single SKILL.md file, it depends on what is actually written in that SKILL.md file. It depends on your use case.

Important:

Since this setup makes use of FileSystemTools and ShellTool, ensure proper security and safety measures. This is not the responsibility of this library.

Inspiration

This work is inspired by Spring AI's SkillTool implementation:
https://github.com/spring-ai-community/spring-ai-agent-utils/blob/main/spring-ai-agent-utils/src/main/java/org/springaicommunity/agent/tools/SkillsTool.java

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_adapter-0.1.2.tar.gz (481.3 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_adapter-0.1.2-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file langchain_skills_adapter-0.1.2.tar.gz.

File metadata

  • Download URL: langchain_skills_adapter-0.1.2.tar.gz
  • Upload date:
  • Size: 481.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for langchain_skills_adapter-0.1.2.tar.gz
Algorithm Hash digest
SHA256 108f4960a29636665cc58a26c09d689f5610cebd46ce918c31f4f3a96b86992a
MD5 b36217d9b0e48bac590676c4fccaa2df
BLAKE2b-256 444323abce2c2db64730785590db2b41c64215ddd8cd13ae78a2cd990df782a0

See more details on using hashes here.

File details

Details for the file langchain_skills_adapter-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_skills_adapter-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 83859b7c77634efff7ace6f3fdc2813599236d77b05d28210b3de13cc114b10b
MD5 fb908842598cb91a39d0078a757d4e10
BLAKE2b-256 623fabe299fef1a6122be7e0cac5fd790692f63048ff19dff4fea8c4c1d0d396

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