Skip to main content

Pluggable skills for AI agents

Project description


SkillPacks

Pluggable skillsets for AI agents
Explore the docs »

View Demo · Report Bug · Request Feature

Skillpacks provide a means of fine tuning agents on tools, and the ability to hotswap learned skills at inference time.

Teach a model how to use a website | code base | API | database | application | ...   then swap in that learned layer the moment you need it.

Install

pip install skillpacks

Quick Start

Create an episode to record agent events

from skillpacks import Episode

episode = Episode(remote="https://foo.bar")

Take an action

from mllm import Router, RoleThread
from skillpacks import V1Action, V1EnvState
from agentdesk import Desktop

router = Router.from_env()
desktop = Desktop.local()

thread = RoleThread()
msg = f"""
I need to open Google to search, your available action are {desktop.json_schema()}
please return your selection as {V1Action.model_json_schema()}
"""
thread.post(role="user", msg=msg)

response = router.chat(thread, expect=V1Action)
v1action = response.parsed

action = desktop.find_action(name=v1action.name)
result = desktop.use(action, **v1action.parameters)

Record the action in the episode

event = episode.record(
    state=V1EnvState(),
    prompt=response.prompt,
    action=v1action,
    tool=desktop.ref(),
    result=result,
)

Mark actions as approved

# approve one
episode.approve_one(event.id)

# approve the event and all actions prior to it
episode.approve_prior(event.id)

# approve all
episode.approve_all()

Get all approved actions in an episode

episode = Episode.find(id="123")[0]
actions = episode.approved_actions()

Get all approved actions in a namespace

from skillpacks import ActionEvent

actions = ActionEvent.find(namespace="foo", approved=True)

Get all approved actions for a tool

actions = ActionEvent.find(tool=desktop.ref(), approved=True)

Tune a model on the actions (In progress)

from skillpacks.model import InternVLChat
from skillpacks.runtime import KubernetesRuntime

runtime = KubernetesRuntime()
model = InternVLChat(runtime=runtime)

result = model.train(actions=actions, follow=True, publish=True)

Integrations

Skillpacks is integrated with:

  • MLLM A prompt management, routing, and schema validation library for multimodal LLMs
  • Taskara A task management library for AI agents
  • Surfkit A platform for AI agents
  • Threadmem A thread management library for AI agents

Community

Come join us on Discord.

Backends

Thread and prompt storage can be backed by:

  • Sqlite
  • Postgresql

Sqlite will be used by default. To use postgres simply configure the env vars:

DB_TYPE=postgres
DB_NAME=skills
DB_HOST=localhost
DB_USER=postgres
DB_PASS=abc123

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

skillpacks-0.1.128.tar.gz (44.4 kB view details)

Uploaded Source

Built Distribution

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

skillpacks-0.1.128-py3-none-any.whl (57.2 kB view details)

Uploaded Python 3

File details

Details for the file skillpacks-0.1.128.tar.gz.

File metadata

  • Download URL: skillpacks-0.1.128.tar.gz
  • Upload date:
  • Size: 44.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.1 Darwin/24.3.0

File hashes

Hashes for skillpacks-0.1.128.tar.gz
Algorithm Hash digest
SHA256 80a54390002bf81337e60b089921f985125c374ba374bc73a2144fc1eca148ec
MD5 09f83548797e45fd01a6c2cd32e0a93e
BLAKE2b-256 c695f624b491d57f6ce633522be2172e8d616f24c8080f7ddd179700364decfe

See more details on using hashes here.

File details

Details for the file skillpacks-0.1.128-py3-none-any.whl.

File metadata

  • Download URL: skillpacks-0.1.128-py3-none-any.whl
  • Upload date:
  • Size: 57.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.1 Darwin/24.3.0

File hashes

Hashes for skillpacks-0.1.128-py3-none-any.whl
Algorithm Hash digest
SHA256 a0ce4e7cceacc53fd17e7b4136d064fb655e0e366e4520c5a49d0e76205d8ea1
MD5 9bb03cdaee6e9723cfabdab64abf5a62
BLAKE2b-256 d8c366cdeb7cca288f81e546fe304da361feb235a8ca30bd3b2ee890930dc232

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