A framework for modular, self-contained AI skills.
Project description
A Python framework for modular, self-contained skill management for machines.
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, GPT, and Llama.
A Skill in this framework provides everything an Agent needs to master a domain:
- Logic: Executable Python code.
- Cognition: System instructions and "cognitive maps".
- Governance: Constitution and safety boundaries.
- Interface: Standardized schemas for LLM tool calling.
Repository Structure
This repository is organized into a core framework, a registry of skills, and documentation.
Skillware/
├── skillware/ # Core Framework Package
│ └── core/
│ ├── base_skill.py # Abstract Base Class for skills
│ ├── loader.py # Universal Skill Loader & Model Adapter
│ └── env.py # Environment Management
├── skills/ # Skill Registry (Domain-driven)
│ └── finance/
│ └── wallet_screening/
│ ├── skill.py # Logic
│ ├── manifest.yaml # Metadata & Constitution
│ ├── instructions.md # Cognitive Map
│ ├── card.json # UI Presentation
│ ├── data/ # Integrated Knowledge Base
│ └── maintenance/ # Maintenance Tools
│ └── office/
│ └── pdf_form_filler/
│ ├── skill.py # Logic
│ ├── manifest.yaml # Metadata
│ ├── instructions.md # Cognitive Map
│ ├── utils.py # PDF Processing
│ └── card.json # UI Presentation
├── templates/ # New Skill Templates
│ └── python_skill/ # Standard Python Skill Template
├── examples/ # Reference Implementations
│ ├── gemini_wallet_check.py # Google Gemini Integration
│ ├── claude_wallet_check.py # Anthropic Claude Integration
│ ├── gemini_pdf_form_filler.py
│ └── claude_pdf_form_filler.py
├── docs/ # Comprehensive Documentation
│ ├── introduction.md # Philosophy & Design
│ ├── usage/ # Integration Guides
│ └── skills/ # Skill Reference Cards
└── COMPARISON.md # Comparison vs. Anthropic Skills / MCP
Quick Start
1. Installation
You can install Skillware directly from GitHub:
pip install git+https://github.com/arpahls/skillware.git
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
SkillLoadervalidatesmanifest.yamland 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
# The loader reads the code, manifest, and instructions automatically
skill_bundle = SkillLoader.load_skill("finance/wallet_screening")
# 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
- Core Logic & Philosophy: Details on how Skillware decouples Logic, Cognition, and Governance.
- Usage Guide: Gemini: Integration with Google's GenAI SDK.
- Usage Guide: Claude: Integration with Anthropic's SDK.
- Skill Library: Available capabilities.
Contributing
We are building the "App Store" for Agents and require professional, robust, and safe skills.
Please read CONTRIBUTING.md for guidelines on folder structure, manifest schemas, and safety constitutions.
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, 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:
- Email: skillware-os@arpacorp.net
- Issues: GitHub Issues
Built & Maintained by ARPA Hellenic Logical Systems & the Community
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file skillware-0.1.0.tar.gz.
File metadata
- Download URL: skillware-0.1.0.tar.gz
- Upload date:
- Size: 19.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96b81b93963173e945a49c8678c68a825bc631a2fbfb26af1c1c75e20849b088
|
|
| MD5 |
a11406da99a645de7f2a2f967ea1608b
|
|
| BLAKE2b-256 |
379567842dc620a3f5e14dc63f8569ac70ca8abd54a1d1821a681fb9993068fd
|
Provenance
The following attestation bundles were made for skillware-0.1.0.tar.gz:
Publisher:
publish.yml on ARPAHLS/skillware
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillware-0.1.0.tar.gz -
Subject digest:
96b81b93963173e945a49c8678c68a825bc631a2fbfb26af1c1c75e20849b088 - Sigstore transparency entry: 953548500
- Sigstore integration time:
-
Permalink:
ARPAHLS/skillware@3d30025f4b219f46ab50232ae8873010ce36e089 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ARPAHLS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3d30025f4b219f46ab50232ae8873010ce36e089 -
Trigger Event:
release
-
Statement type:
File details
Details for the file skillware-0.1.0-py3-none-any.whl.
File metadata
- Download URL: skillware-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
808b0ad9f4c2215dab92b6d9ac62363463195f05a63f29718f0f94b8403c784e
|
|
| MD5 |
aa5e7e925600eb9ffef0e8462394e745
|
|
| BLAKE2b-256 |
122d8f50611378bb9f21e72994ed19feac86eee86f01325cd492bff7df843927
|
Provenance
The following attestation bundles were made for skillware-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on ARPAHLS/skillware
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
skillware-0.1.0-py3-none-any.whl -
Subject digest:
808b0ad9f4c2215dab92b6d9ac62363463195f05a63f29718f0f94b8403c784e - Sigstore transparency entry: 953548503
- Sigstore integration time:
-
Permalink:
ARPAHLS/skillware@3d30025f4b219f46ab50232ae8873010ce36e089 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/ARPAHLS
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3d30025f4b219f46ab50232ae8873010ce36e089 -
Trigger Event:
release
-
Statement type: