Skip to main content

A framework for modular, self-contained AI skills.

Project description

Skillware Logo

A Python framework for modular, self-contained skill management for machines.


License Python Version PyPI Version


Skillware is an open-source framework and registry for modular, actionable Agent capabilities. It treats Skills as installable content, decoupling capability from intelligence. Just as apt-get installs software and pip installs libraries, skillware installs know-how for AI agents.

"I know Kung Fu." - Neo

Mission

The AI ecosystem is fragmented. Developers often re-invent tool definitions, system prompts, and safety rules for every project. Skillware supplies a standard to package capabilities into self-contained units that work across Gemini, Claude, Ollama, GPT, and Llama.

A Skill in this framework provides everything an Agent needs to master a domain:

  1. Logic: Executable Python code.
  2. Cognition: System instructions and "cognitive maps".
  3. Governance: Constitution and safety boundaries.
  4. Interface: Standardized schemas for LLM tool calling.

Architecture

This repository is organized into a core framework, a registry of skills, and documentation.

Skillware/
├── docs/                       # Comprehensive Documentation & Usage Guides
├── examples/                   # Reference Implementations
│   └── basic_agent.py          # Example showing SkillLoader integration
├── skills/                     # Skill Registry
│   └── category/               # Domain boundaries (e.g., finance)
│       └── skill_name/         # The Skill bundle
│           ├── manifest.yaml   # Definition, schema, and constitution
│           ├── skill.py        # Executable Python logic
│           ├── instructions.md # Cognitive map for the LLM
│           └── test_skill.py   # Unit tests & schema validation
├── skillware/                  # Core Framework Package
│   └── core/
│       ├── base_skill.py       # Abstract Base Class for skills
│       ├── env.py              # Environment Management
│       └── loader.py           # Universal Skill Loader & Model Adapter
├── templates/                  # Boilerplate templates for new skills
│   └── python_skill/           # Standard template with required files
└── tests/                      # Automated test suite

Quick Start

1. Installation

You can install Skillware directly from PyPI:

pip install skillware

Or for development, clone the repository and install in editable mode:

git clone https://github.com/arpahls/skillware.git
cd skillware
pip install -e .

Note: Individual skills may have their own dependencies. The SkillLoader validates manifest.yaml and warns of missing packages (e.g., requests, pandas) upon loading a skill.

2. Configuration

Create a .env file with your API keys (e.g., Google Gemini API Key):

GOOGLE_API_KEY="your_key"

3. Usage Example (Gemini)

import google.generativeai as genai
from skillware.core.loader import SkillLoader
from skillware.core.env import load_env_file

# Load Environment
load_env_file()

# 1. Load the Skill from the Registry
# The loader reads the code, manifest, and instructions automatically
skill_bundle = SkillLoader.load_skill("category/skill_name")

# 2. Model & Chat Setup
model = genai.GenerativeModel(
    'gemini-2.5-flash',
    tools=[SkillLoader.to_gemini_tool(skill_bundle)], # The "Adapter"
    system_instruction=skill_bundle['instructions']   # The "Mind"
)
chat = model.start_chat(enable_automatic_function_calling=True)

# 3. Agent Loop
# The SDK handles the loop: model -> tool call -> execution -> result -> model reply.
response = chat.send_message("Screen wallet 0xd8dA... for risks.")
print(response.text)

Documentation

Contributing

We are building the "App Store" for Agents and require professional, robust, and safe skills.

We actively encourage both humans and autonomous agents to contribute to this repository!

  • Please read our Agent Code of Conduct which outlines our strict expectations for deterministic outputs, zero LLM code generation, and safety boundaries.
  • When submitting skills, our new Agent-Friendly Pull Request Template provides a checklist to ensure your logic aligns natively with loader.py and base_skill.py.
  • Please also review CONTRIBUTING.md for detailed guidelines on folder structure and schema definitions.

Comparison

Skillware differs from the Model Context Protocol (MCP) or Anthropic's Skills repository in the following ways:

  • Model Agnostic: Native adapters for Gemini, Claude, Ollama, and OpenAI.
  • Code-First: Skills are executable Python packages, not just server specs.
  • Runtime-Focused: Provides tools for the application, not just recipes for an IDE.

Read the full comparison here.

Contact

For questions, suggestions, or contributions, please open an issue or reach out to us:


ARPA Logo
Built & Maintained by ARPA Hellenic Logical Systems & the Community

Project details


Download files

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

Source Distribution

skillware-0.2.5.tar.gz (32.9 kB view details)

Uploaded Source

Built Distribution

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

skillware-0.2.5-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file skillware-0.2.5.tar.gz.

File metadata

  • Download URL: skillware-0.2.5.tar.gz
  • Upload date:
  • Size: 32.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skillware-0.2.5.tar.gz
Algorithm Hash digest
SHA256 00e0a542a7ee7dc9eed18efcf2b38600217e4d2f02cc3b8f9b755b56bc9d005e
MD5 0e7dceb0378b592e69075adeb57d1c60
BLAKE2b-256 469eb09320faaff21a4555975253cecebee3bc51f5e6262f01d2ee2e924cc4b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillware-0.2.5.tar.gz:

Publisher: publish.yml on ARPAHLS/skillware

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skillware-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: skillware-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skillware-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bc1a817314f292b0fb059d53ea07faf2ebf8a4b2e077b5065f6f6eb0809f1ebb
MD5 5c01828d701a5792d97914a5371f9fb4
BLAKE2b-256 82d58badff59c8c8b54141ec3e6510265c194a33888a7c04ecadd1e435081b40

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillware-0.2.5-py3-none-any.whl:

Publisher: publish.yml on ARPAHLS/skillware

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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