The Skillstore protocol is an idea for a simple standardized way of providing and discovering downloadable "skills" (markdown instructions) that teach LLMs how to interact with a site. This allows LLMs to dynamically learn new capabilities without requiring manual skill installation. This repo provides an example Skill and a sample server that shows the endpoints needed.
The skills can also provide other options as well such as providing contact info and possibly directing the LLM how to navigate a website that doesn't have an API. There's lot to discover about this idea.
This idea is in active development and needs a lot more thinking. Simple use cases work though and I believe the idea is sound.
Right now the examples I've tested are only downloading a SKILL.md file. The next step is going to be working on providing a Skill package that includes code such as a simple API client with auth. Coming soon!
- User tells their agent "Book me a yoga class at my gym this Monday. Their website is https://example.com. Permanently download the skill for next time."
- They can also specify not to download the skill and it should still work for this prompt.
- Agent (with skillstore skill) calls
https://example.com/skillstoreand retrieves a list of available skills. - Agent discovers the 'book-appointment' skill. This skill tells the agent to download the
class-scheduleskill if needed. - Agent discovers a
class-scheduleskill and uses it to find the schedule. - Agent uses the new skill to submit the class booking.
- Success!
On the user side, just download and install the skillstore-skill.
On the server side, you just have to provide a /skillstore endpoint which returns json with a list of skills availble. You also need to have endpoints for each skill. Until more documentation is available, see below and the sample server.
uv run uvicorn skillstore.main:app --reloadGET /skillstore- List available skillsGET /skillstore/skill/{skill_id}- Download a specific skill
# Install dependencies
uv sync --dev
# Run tests
uv run pytest
# Lint
uv run ruff check .MIT
This was developed by Matt Grommes. See more of my fine web products at https://grommesmade.com and https://mattorama.net.
Thanks for checking out this idea and I hope it's useful!