How to load Skillware skills and connect them to language models. Each guide covers one provider adapter in SkillLoader.
SkillLoader.load_skill() accepts an absolute path to a skill directory, or a registry id such as compliance/tos_evaluator. When the id is not already a path on disk, the loader searches configured skill roots in resolution order.
Default (no config file):
- Roots listed in
SKILLWARE_SKILL_PATH(OS path separator between multiple roots) - A
skills/directory in the current working directory or its parents - Bundled skills installed with the
skillwarepackage (for example undersite-packages/skills/)
With config: copy .skillware.yaml.example to .skillware.yaml (or use global ~/.config/skillware/config.yaml) to persist project and external paths. Use the interactive menu (4 / paths) or edit YAML manually. Default order is project → external → bundled; the bundled registry is always included and remains the fallback when you have no local skills/ tree (typical after pip install skillware only). See CLI — config and skillware config show.
For pip-installed apps, bundled maintainer skills are the default; add private skills under ./skills/<category>/<name>/, config paths.external, or SKILLWARE_SKILL_PATH.
By default, SkillLoader.load_skill() validates manifest requirements before loading skill.py: unpinned deps must be importable; pinned specifiers (for example web3>=6.0.0) must match the installed version. See Install extras — Loader behavior.
Security: Loading a skill executes its
skill.pyin your process — there is no sandbox, and the first matching id in the search order wins (a local skill can shadow a bundled one). Only load skills you trust, and see the skill trust model before loading external skills.
To list locally available skills, inspect path resolution, show config, check load readiness, or run bundle tests from the terminal, see the CLI reference (skillware list, skillware paths, skillware config show, skillware doctor, skillware test).
| Provider | Adapter | Guide | Agent API key (typical) |
|---|---|---|---|
| Google Gemini | to_gemini_tool() |
gemini.md | GOOGLE_API_KEY (install skillware[gemini] for google-genai) |
| Anthropic Claude | to_claude_tool() |
claude.md | ANTHROPIC_API_KEY |
| OpenAI (ChatGPT) | to_openai_tool() |
openai.md | OPENAI_API_KEY |
| OpenAI-compatible hosts | to_openai_tool() |
openai_compatible.md | Host-specific key |
| DeepSeek | to_deepseek_tool() |
deepseek.md | DEEPSEEK_API_KEY |
| Ollama (prompt mode) | to_ollama_prompt() |
ollama.md | (local; no cloud key) |
| CLI | skillware list, skillware paths, skillware config show, skillware doctor, skillware test, skillware examples |
cli.md | pytest in [dev] for test |
| Install extras | Category, skill, SDK, and meta pip install targets |
install_extras.md | See guide for [all], [agents], per-skill extras |
Skill-specific Usage Examples (sample prompts and execute payloads) live on each skill catalog page.
Shared patterns (load bundle, run execute, return tool results):
agent_loops.md. After load_skill, prefer bundle["class"]() to instantiate the skill; explicit bundle["module"].ClassName() also works. Runnable script inventory:
examples/README.md.
Contributors adding Usage Examples to skill catalog pages: skill_usage_template.md.
Skills that call external APIs during execution: API keys for skills.