Skip to main content

Skill Store SDK

Python client for the Universal Skill Kit (USK) Skill Store API.

Zero external dependencies — uses Python stdlib only.

Install

pip install aiskillstore

Or copy the skillstore_sdk/ directory into your project.

Quick Start

from skillstore_sdk import SkillStore

store = SkillStore()  # defaults to https://aiskillstore.io

# Search for skills
results = store.search(capability="web_search", min_trust="community")
for skill in results:
    print(skill.name, skill.trust_level, skill.capabilities)

# Get full schema before installing
schema = store.schema(results[0].skill_id)
print(schema.call_example())      # {'query': 'Search query string'}
print(schema.permissions)         # {'network': True, 'filesystem': False, ...}
print(schema.interface)           # {'type': 'cli', 'call_pattern': 'stdin_stdout', ...}

# Download for your platform
path = store.download(results[0].skill_id, platform="OpenClaw", target_dir="./skills/")
print(f"Downloaded to {path}")

# One-liner: search + download
path = store.find_and_download("web_search", platform="ClaudeCode", target_dir="./skills/")

Authentication

Read operations (search, schema, download) require no authentication.

Upload requires an API key obtained from your Skill Store account:

store = SkillStore(api_key="sk_your_key_here")
# or via env var:
# export SKILLSTORE_API_KEY=sk_your_key_here

result = store.upload("./my-skill-1.0.0.skill")
print(result["vetting_report"]["status"])

Configuration

Parameter Env var Default
base_url SKILLSTORE_URL https://aiskillstore.io
api_key SKILLSTORE_API_KEY (none)
timeout — 30 seconds
store = SkillStore(
    base_url="https://aiskillstore.io",
    api_key="sk_...",
    timeout=60,
)

API Reference

store.info() → dict

Returns service metadata including USK spec version and supported platforms.

store.search(...) → SearchResult

Search for skills by capability, keyword, platform, or trust level.

results = store.search(
    capability="translation",   # semantic capability tag
    q="korean",                 # keyword search
    platform="OpenClaw",        # filter by platform
    usk_v3=True,                # only auto-convertible skills
    trust="verified",           # exact trust level
    min_trust="community",      # minimum trust level
    limit=10,                   # max results (default 20, max 50)
)
# SearchResult is iterable
for skill in results:
    print(skill)  # <Skill my-skill v1.0.0 | verified [USK v3] ⚡>

store.schema(skill_id) → SkillSchema

Fetch the full USK schema for a skill. Use this to evaluate a skill before installing.

s = store.schema("abc123")
s.call_example()           # minimal valid input dict
s.interface                # {'type': 'cli', 'entry_point': 'main.py', ...}
s.input_schema             # JSON Schema dict
s.output_schema            # JSON Schema dict
s.permissions              # {'network': bool, 'filesystem': bool, ...}
s.platform_compatibility   # ['OpenClaw', 'ClaudeCode', 'CustomAgent']

store.download(skill_id, platform, target_dir, filename) → str

Download a skill package. Returns the absolute path to the saved file.

Supported platforms: "OpenClaw" | "ClaudeCode" | "CustomAgent" | "original"

store.upload(skill_file_path) → dict

Upload a .skill package. Requires api_key.

Returns {"status": ..., "skill_name": ..., "version_number": ..., "vetting_report": {...}}.

store.find_and_download(capability, platform, target_dir, trust) → str | None

Convenience: search by capability and download the top result. Returns None if no match.

Trust Levels

Level Meaning
verified Admin-approved, manually reviewed
community Auto-scan passed, community-trusted
sandbox Unchecked — use with caution

Supported Platforms

Platform Package Type
OpenClaw openclaw_wrapper.py + openclaw_manifest.json
ClaudeCode Markdown slash command + runner.py
CustomAgent HTTP adapter (/invoke) + openapi.json
original Original uploaded package

USK v3 skills with can_auto_convert: true are automatically available for all platforms.

Agent Usage Pattern

Agents typically follow this discovery-evaluate-install flow:

from skillstore_sdk import SkillStore

store = SkillStore(base_url="https://aiskillstore.io")

# 1. Discover
results = store.search(capability="web_search", min_trust="community", usk_v3=True)
if not results:
    raise RuntimeError("No web_search skill available")

# 2. Evaluate — check permissions before installing
top = results[0]
schema = store.schema(top.skill_id)
if schema.permissions.get("filesystem"):
    raise RuntimeError("Skill requests filesystem access — not allowed")

# 3. Install
path = store.download(top.skill_id, platform="OpenClaw", target_dir="./skills/")
print(f"Installed: {path}")

Metadata

Release files for aiskillstore 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiskillstore 1.0.0
File Size Uploaded
aiskillstore-1.0.0.tar.gz 3.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aiskillstore 1.0.0
File Interpreter ABI Platform
aiskillstore-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.8 kB

Release files / aiskillstore-1.0.0.tar.gz

Download URL aiskillstore-1.0.0.tar.gz
Size 3.6 kB
Tags Source
SHA-256 checksum
How to use checksums
159d564aaa467cc573699cb3b64b2eb8e12a90393daea0c60c71a2f33a2e2297
BLAKE2b-256 checksum
How to use checksums
de06d43cb4c228258bfc6f74af622ae05991ad90217a10bd97fa187cc94aeba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / aiskillstore-1.0.0-py3-none-any.whl

Download URL aiskillstore-1.0.0-py3-none-any.whl
Size 3.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
787a2eaceba5ceed90a81b370cf81555b5df22253da5c8a809bd36b7a26831ca
BLAKE2b-256 checksum
How to use checksums
53c605dc09ac20621fa7f927377abd9e66ce35e8794ded541a2ebd8756e37fc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page