Skills Protocol

A minimal protocol for connecting LLM agents to Skills (instructions + code) and Blobs (large data) via a Skills Runtime with sandboxed code execution.

Overview

The Skills Protocol is a JSON-RPC 2.0 over HTTP specification that provides a standardized way for LLM agents to discover, inspect, and execute skills. Instead of exposing each skill as a native LLM tool, the protocol provides a small set of meta-tools that let agents work with an extensible skill ecosystem.

Key features

Unified Interface

8 LLM tools to discover, inspect, and execute any skill

Sandboxed Execution

Safe, isolated code execution with configurable permissions

Blob Storage

Efficient handling of large data without token overhead

Extensible Skills

Action skills with code or instruction-only skills

Getting started

The Skills Protocol exposes 8 core tools to LLM agents:

  1. list_skills — enumerate available skills
  2. describe_skill — retrieve skill manifest and documentation
  3. read_skill_file — read any file in a skill's directory
  4. execute_skill — run a skill's entrypoint
  5. run_code — execute LLM-written code with mounted skills
  6. create_blob — store large content
  7. read_blob — retrieve blob previews
  8. load_skills_protocol_guide — bootstrap instruction tool

Guides

Quickstart

Get started with the Skills Protocol in minutes.

Read more

Core Concepts

Understand Skills, Blobs, Runs, and the Skills Runtime.

Read more

LLM Tools

Explore the 8 core tools for skill discovery and execution.

Read more

Implementation Guide

Learn how to build a Skills Runtime from scratch.

Read more

Resources

Discovery Methods

Learn how to discover and inspect skills using list_skills, describe_skill, and read_skill_file.

Execution Methods

Understand how to execute skills and run custom code in sandboxed environments.

Skill Structure

Learn about skill layout, manifests, and how to create action and instruction skills.

Sandbox Model

Understand the sandbox execution model, resource mounting, and security constraints.

Was this page helpful?