# Plugin System

> >

- **Type:** Skill
- **Install:** `agentstack add skill-ellmos-ai-skills-plugin-system`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ellmos-ai](https://agentstack.voostack.com/s/ellmos-ai)
- **Installs:** 0
- **Category:** [Databases](https://agentstack.voostack.com/c/databases)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ellmos-ai](https://github.com/ellmos-ai)
- **Source:** https://github.com/ellmos-ai/skills/tree/master/skills/dev/plugin-system
- **Website:** https://github.com/ellmos-ai/skills#readme

## Install

```sh
agentstack add skill-ellmos-ai-skills-plugin-system
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Plugin System

Fehlertolerantes Plugin-System fuer Python-CLI-Anwendungen.
Ein fehlerhaftes Plugin stoppt niemals den Rest der Anwendung.

## Kernfeatures

- **Auto-Discovery:** Findet Plugins automatisch in einem Verzeichnis
- **Validierung:** Prueft `name`, `version`, `execute()` auf jeder Plugin-Klasse
- **Fehlertoleranz:** Defekte Plugins werden geloggt aber nicht geladen
- **Zero Dependencies:** Nur Python-Standardbibliothek

## Dateien

```
scripts/
  plugin_system.py       Kern: PluginBase (ABC) + PluginManager
  cli_demo.py            Demo-CLI mit argparse
  test_plugin_system.py  16+ Unit-Tests
examples/
  hello.py               Hello-World Plugin
  calculator.py          Rechner-Plugin
  systeminfo.py          System-Info Plugin
```

## Schnellstart

### 1. Plugin erstellen

```python
from plugin_system import PluginBase

class MeinPlugin(PluginBase):
    name = "MeinPlugin"
    version = "1.0.0"

    def execute(self, *args, **kwargs):
        return {"status": "ok", "message": "Hallo!"}
```

### 2. PluginManager nutzen

```python
from plugin_system import PluginManager

manager = PluginManager(plugins_dir="./meine_plugins")
plugins = manager.discover_plugins()

# Alle Plugins auflisten
manager.list_plugins()

# Plugin ausfuehren
success, result = manager.execute_plugin("MeinPlugin", param="wert")
if success:
    print(result)
```

### 3. In eigene App integrieren

```python
class MeineApp:
    def __init__(self):
        self.plugins = PluginManager("./plugins")
        self.plugins.discover_plugins()

    def run_command(self, command, **params):
        success, result = self.plugins.execute_plugin(command, **params)
        return result if success else None
```

## Plugin-Interface

Jedes Plugin muss:

| Anforderung | Details |
|-------------|---------|
| `PluginBase` erben | `from plugin_system import PluginBase` |
| `name` setzen | Klassenattribut, nicht leer |
| `version` setzen | Klassenattribut, Semantic Versioning |
| `execute()` implementieren | Beliebige `*args, **kwargs` |

## Fehlertoleranz

| Fehlertyp | Verhalten |
|-----------|-----------|
| SyntaxError im Plugin | Plugin wird uebersprungen, Rest laedt |
| Fehlende Attribute | Plugin wird als `is_valid=False` markiert |
| Exception in `execute()` | Gibt `(False, error_message)` zurueck |
| Kein Plugin im Verzeichnis | Leere Liste, kein Crash |

## Changelog

### 1.0.0 (2026-03-12)
- Migration aus MODULAR_AGENTS/plugins in Skillbibliothek
- PluginBase ABC + PluginManager
- 3 Beispiel-Plugins (Hello, Calculator, SystemInfo)
- 16+ Unit-Tests
- CLI-Demo mit argparse

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ellmos-ai](https://github.com/ellmos-ai)
- **Source:** [ellmos-ai/skills](https://github.com/ellmos-ai/skills)
- **License:** MIT
- **Homepage:** https://github.com/ellmos-ai/skills#readme

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-ellmos-ai-skills-plugin-system
- Seller: https://agentstack.voostack.com/s/ellmos-ai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
