Implementing Skills functionality for your agents
npx skills add https://github.com/maxvaega/skillkit --skill json-parserCLI를 사용하여 이 스킬을 설치하고 작업 공간에서 SKILL.md 워크플로 사용을 시작하세요.
Enables Anthropic's Agent Skills functionality to any python agent, unleashing LLM-powered agents to autonomously discover and utilize packaged expertise in a token-efficient way. skillkit is compatible with existings skills (SKILL.md), so you can browse and use any skill available on the web
Agent Skills are modular capability packages that work like "onboarding guides" for AI. Each skill is a folder containing a SKILL.md file (with YAML metadata + Markdown instructions) plus optional supporting files like scripts, templates, and documentation. The Agent autonomously discovers and loads skills based on task relevance using a progressive disclosure model—first reading just the name/description metadata, then the full SKILL.md if needed, and finally any referenced files only when required.
- Transform AI from assistant to operational team member — Skills let you encode your organization's procedural knowledge, workflows, and domain expertise into reusable capabilities that Claude can invoke autonomously. Instead of repeatedly prompting Claude with the same context, you create persistent "muscle memory" that integrates AI into real business processes, making it a specialized professional rather than a generic chatbot.
- Combine AI reasoning with deterministic code execution — Skills can bundle Python, Shell, JavaScript, Ruby, and Perl scripts alongside natural language instructions, letting AI use traditional programming for tasks where LLMs are wasteful or unreliable (like sorting lists, filling PDF forms, or data transformations). This hybrid approach delivers the reliability of code with the flexibility of AI reasoning, ensuring consistent, auditable results for mission-critical operations.
- Achieve scalable efficiency through progressive disclosure — Unlike traditional prompting where everything loads into context, skills use a three-tier discovery system (metadata → full instructions → supplementary files) that keeps Claude's context window lean. This architecture allows unlimited expertise to be available without token bloat, dramatically reducing running costs while supporting dozens of skills simultaneously.
The web is full of great skills! here are some repositories you can check out:
pip install skillkit
pip install skillkit[langchain]
pip install skillkit[all]
pip install skillkit[dev]
Create a directory structure:
.claude/skills/code-reviewer/SKILL.md
SKILL.md format:
---
name: code-reviewer
description: Review code for best practices and potential issues
allowed-tools: Read, Grep
---
# Code Reviewer Skill
You are a code reviewer. Analyze the provided code for:
- Best practices violations
- Potential bugs
- Security vulnerabilities
## Insert additional instructions here
Learn more: See SKILL.md Format for full specification.
from skillkit import SkillManager
# Create manager (defaults to ./.claude/skills/)
manager = SkillManager()
# Discover skills
manager.discover()
# List available skills
for skill in manager.list_skills():
print(f"{skill.name}: {skill.description}")
# Invoke a skill
result = manager.invoke_skill("code-reviewer", "Review function calculate_total()")
print(result)
Advanced patterns: Multi-source discovery, async usage, error handling - see Core Features.
from skillkit import SkillManager
from skillkit.integrations.langchain import create_langchain_tools
from langchain.agents import create_agent
from langchain_openai import ChatOpenAI
from langchain.messages import HumanMessage
# Discover skills
manager = SkillManager()
manager.discover()
# Convert to LangChain tools
tools = create_langchain_tools(manager)
# Create agent
llm = ChatOpenAI(model="gpt-5.1")
prompt = "You are a helpful assistant. use the available skills tools to answer the user queries."
agent = create_agent(
llm,
tools,
system_prompt=prompt
)
# Use agent
query="What does a code reviewer do?"
messages = [HumanMessage(content=query)]
result = agent.invoke({"messages": messages})
Learn more: Async integration, script tools, advanced patterns - see LangChain Integration Guide.
Skills are defined in SKILL.md files with YAML frontmatter:
---
name: git-helper
description: Generate git commit messages and workflow guidance
allowed-tools: Bash, Read
---
# Git Helper Skill
Content placeholder...
Supports $ARGUMENTS...
Required fields: name, description
Optional fields: allowed-tools, version
Argument substitution: Use $ARGUMENTS placeholder (or $$ARGUMENTS for literal)
Full specification: See SKILL.md Format Reference for detailed rules and examples.
Skills can include executable scripts (Python, Shell, JavaScript, Ruby, Perl) for deterministic operations, combining AI reasoning with code execution.
from skillkit import SkillManager
manager = SkillManager()
manager.discover()
# Execute a script from a skill
result = manager.execute_skill_script(
skill_name="pdf-extractor",
script_name="extract",
arguments={"file": "document.pdf", "pages": "all"},
timeout=30
)
if result.success:
print(result.stdout)
else:
print(f"Error: {result.stderr}")
Key Features:
Full guide: See Script Execution for directory structure, parameter normalization, error handling, and examples.
Skill not found:
YAML parsing errors:
--- delimitersArguments not substituted:
$ARGUMENTS placeholder (case-sensitive)$arguments, $ARGUMENTMore help: See Debugging Tips and Performance Tips for detailed troubleshooting.
See examples/ directory:
basic_usage.py - Standalone usage (sync and async patterns)async_usage.py - Async usage with FastAPI integrationlangchain_agent.py - LangChain agent integration (sync and async)multi_source.py - Multi-source discovery and conflict resolutionfile_references.py - Secure file path resolutionskills/ - Example skills and pluginscaching_demo.py - Cache performance demonstrationadiscover(), ainvoke_skill())ainvoke)docs/ folder with basic documentationMIT License - see LICENSE file for details.
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or creating new example skills, your help is appreciated.
git checkout -b feature/amazing-feature)pytest)ruff check, mypy --strict)For comprehensive contribution guidelines, including:
Please see CONTRIBUTING.md for detailed information.