🏗️ SILO Framework
S.I.L.O (Secure. Isolated. Lightweight. Offloaded.) helps developers bring their ideas to life by conquering the complexity of AI tool execution. It provides a trusted tool ecosystem for AI Agents—ensuring tools are invoked safely, reliably, and with zero configuration headache.
📖 Read the Documentation (or browse docs/index.md) for a trusted starting point on writing skills, security, and deploying as an MCP server.
🔥 Why SILO?
Most "AI Skills" today are just unstructured text prompts telling an agent to "be smart" and write code on the fly to solve a problem. This works for simple tasks, but falls apart when you need reliable, repeatable, and secure integrations.
The Problem
- Token Leaks: Passing API keys in prompts or CLI arguments is a massive security risk.
- Dependency Hell: Each skill needs its own
.venv,requirements.txt, and setup. - LLM Hallucinations: Agents struggle with unstructured text or unclear argument types.
- Complexity: Writing a full MCP server or a robust CLI wrapper takes too much boilerplate.
The SILO Solution
SILO is built on four core pillars:
- 🔒 Secure: Tokens or keys never reach the LLM context. In SILO, secrets live in your OS Keychain or Env, keeping them invisible to the model and the logs.
- 📦 Isolated: Each skill is a self-contained module. With
uv(PEP 723) support, a single file can manage its own dependencies without polluting your global environment. - 🪶 Lightweight: Skill instructions (SKILL.md) are minimalist and focused. A skill should solve one clearly defined task with maximum clarity.
- ⚡ Offloaded: Perform as much work as possible procedurally (in Python) rather than through the LLM. This saves tokens, reduces cognitive load on the agent, and ensures predictable, accurate results.
🚀 The SILO Workflow: How it Works
SILO transforms the development of AI tools into a streamlined 4-step process.
1. Scaffolding
Start with a single command to generate a compliant skill template.
silo init github-skill --secrets GITHUB_TOKEN
This creates a folder named github-skill with a PEP 723 compliant skill.py, ensuring uv can run it with all necessary dependencies (including silo-framework itself) in a temporary, isolated environment.
2. Development (The Code)
Define your commands using standard Python functions and Pydantic models. SILO handles the rest—argument parsing, JSON serialization, and error handling.
from silo import Skill, require_secret, AgentResponse
from pydantic import BaseModel
app = Skill("github")
class Issue(BaseModel):
title: str
body: str
@app.tool()
def create_issue(repo: str, detail: Issue):
"""Creates a new issue in a repository."""
# This NEVER leaks to the LLM.
# It fetches from Keychain, Env, or prompts via browser.
token = require_secret("GITHUB_TOKEN")
# Procedural logic (Offloaded from LLM)
return AgentResponse(
llm_text=f"Successfully created issue '{detail.title}' in {repo}",
raw_data={"status": "created", "repo": repo, "issue_id": 123}
)
if __name__ == "__main__":
app.run()
3. Verification (silo test)
Agents don't have a terminal (TTY). They don't have a display. They need clean, predictable output.
silo test github_skill.py create_issue --repo "user/repo" --detail '{"title": "Bug", "body": "Fixed"}'
silo test runs your skill in a simulated "headless agent" environment, verifying that:
- The manifest generates correctly.
- Authentication fallbacks trigger properly.
- Output is valid JSON/Markdown.
4. Deployment & MCP Export
Want to use this skill in Claude Desktop? You don't need to rewrite a single line. Just change one method call:
if __name__ == "__main__":
# app.run() <-- Standard CLI
app.run_mcp() <-- Instant MCP tool server!
🛠️ Advanced Features
🔐 Headless-Friendly Auth
When a skill needs a secret but there is no terminal (standard for agents), SILO:
- Checks
os.environ. - Checks the OS Keychain (macOS, Windows, Linux).
- If missing and a display is detected, it opens a local browser tab with a secure dark-mode form for the user to input the token. The token is saved to the keychain and aldrig passed to the agent.
🩺 Environment Doctor
Not sure if your system is ready for S.I.L.O?
silo doctor
Checks for Python version, uv presence, Keychain accessibility, and critical dependencies.
📜 License
MIT © Timur Pitsunov
Metadata
Release files for silo-framework 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| silo_framework-0.1.1.tar.gz | 221.0 kB | With provenance | Details for silo_framework-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| silo_framework-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for silo_framework-0.1.1-py3-none-any.whl |
Total release size: 253.8 kB
Release files / silo_framework-0.1.1.tar.gz
| Download URL | silo_framework-0.1.1.tar.gz |
|---|---|
| Size | 221.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da3056ed74f99f67c921e1f3d16f5a0c7d0a2c714a6d43238b4ddee09b71ded1
|
|
BLAKE2b-256 checksum How to use checksums |
a351750c278f892c9a744f2c4c979be5860c999a899a250c773a5794dd5ad31b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 17, 2026.
Transparency logRelease files / silo_framework-0.1.1-py3-none-any.whl
| Download URL | silo_framework-0.1.1-py3-none-any.whl |
|---|---|
| Size | 32.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
799da2d88e129c46c9414535ba17cbd3e25f485427bc06c853bae00781b52bbc
|
|
BLAKE2b-256 checksum How to use checksums |
5a1e7714b63c0038e9223c085621107a110e02f08a75a9cdae8d3aba86201c9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 17, 2026.
Transparency logSecurity for silo-framework 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for silo_framework-0.1.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 17, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.