A personal assistant built with LangChain and LangGraph that uses the AgentSkills.io specification for dynamic skill loading.
This agent follows the AgentSkills.io specification:
- Discovery: At startup, the agent loads only the
nameanddescriptionfrom each skill'sSKILL.md - Activation: When a user's message matches a skill's description, the full instructions are loaded
- Execution: The agent follows the skill's instructions to help the user
skillbased_agent/
├── main.py # Entry point
├── agent/
│ ├── core.py # LangGraph agent
│ ├── skill_loader.py # AgentSkills.io compatible loader
│ └── state.py # Agent state
├── skills/ # AgentSkills.io format skills
│ ├── chat/
│ │ └── SKILL.md
│ ├── todo/
│ │ └── SKILL.md
│ ├── profile/
│ │ └── SKILL.md
│ └── math/
│ └── SKILL.md
├── data/ # Persistent storage
├── requirements.txt
└── .env
# Install dependencies
pip install -r requirements.txt
# Add your Groq API key
echo "GROQ_API_KEY=your_key_here" > .env
# Run the assistant
python main.py| Skill | Description |
|---|---|
| chat | General conversation, greetings, time queries |
| todo | Task and reminder management |
| profile | Remember user information |
| math | Calculations and conversions |
Create a new folder in skills/ with a SKILL.md file:
---
name: my-skill
description: What this skill does and when to use it.
---
# My Skill
## When to use
Describe when this skill should be activated.
## Instructions
Step-by-step instructions for the agent.MIT