---
title: "Skills"
description: "Wiederverwendbare Code-Pakete, die deinen Assistenten neue Fähigkeiten geben — von API-Anbindung bis Datei-Generierung."
canonical_url: "https://meingpt.com/docs/platform/skills"
language: de
---

# Skills

## Worum es geht

Skills sind **wiederverwendbare Code-Pakete** (`.zip`-Dateien), die deinem Assistenten Fähigkeiten geben, die über reines Prompting oder Knowledge-Anbindung hinausgehen. Sie werden in der **Code-Sandbox** ausgeführt und können externe APIs aufrufen, Dateien generieren, Daten verarbeiten oder spezialisierte Logik anwenden.

Skills laufen ausschließlich im Kontext eines Assistenten und setzen die Code-Sandbox voraus. Im Assistenten-Editor sind sie eine eigenständige Sektion, direkt unter [Wissen](/docs/platform/assistants) — kein Teil der [Werkzeuge](/docs/platform/assistants)-Sektion, auch wenn beide zusammenspielen.

## Wann macht ein Skill Sinn?

Skills sind das richtige Werkzeug, wenn dein Assistent:

- **eine API aufrufen** soll, für die meinGPT keinen nativen Connector bietet (z. B. dein internes Vertragsmanagement-System)
- **eine Datei generieren** soll mit eurem Layout (Word-Vorlage, Excel-Bericht in eurem Format, PowerPoint-Deck mit Branding)
- **Daten verarbeiten** muss in einem Format, das das LLM nativ nicht handhabt (z. B. Binärdaten parsen, komplexe Tabellen-Transformationen)
- **deterministische Logik** braucht (Berechnungen, Validierung, Geschäftsregeln)

Wenn deine Anforderung mit einem System-Prompt + RAG-Datapool + nativen Tools (Verbindungen) gelöst ist — kein Skill nötig. Skills sind die nächste Eskalationsstufe für **eigene ausführbare Logik**.

Der Assistent bekommt im System-Kontext nur eine kompakte Liste der verfügbaren Skills (Name/ID), nicht deren vollständige Anleitung. Erst wenn er einen Skill für die aktuelle Aufgabe passend hält und ihn einbindet, liest er dessen SKILL.md und die enthaltenen Dateien.

## Skill vs Tool vs Connector — kurze Abgrenzung

| Werkzeug | Was es ist | Wann |
|---|---|---|
| **Native Tool / Connector** (Verbindungen) | Vorgefertigte Anbindung an Standard-Dienste (Slack, Outlook, Salesforce, ...) | Standard-Integrationen, schon im Marketplace verfügbar |
| **Skill** (`.zip`-Paket) | Eigener Code (Python oder JavaScript/TypeScript), der in der Sandbox läuft | Custom-Logik, proprietäre APIs, Datei-Generierung mit eurem Format |
| **Knowledge / Datapool** | RAG über statische Dokumente | Wenn der Assistent euer Wissen kennen soll, nicht ausführen |

Skills stehen nur zur Verfügung, wenn die Code-Sandbox für die Organisation aktiv ist (Standard: an). Fehlt der Skills-Bereich im Editor, prüfe bei einem Admin, ob die Sandbox für die Organisation deaktiviert wurde.

## So erstellst du einen Skill

Der Skills-Bereich liegt im Assistenten-Editor als eigene Karte, mit Button **Skill erstellen** oben rechts und einer Drag-&-Drop-Fläche darunter.

![Skills-Bereich im Assistenten-Editor](/images/skills/skills-editor-section-de.png)

Es gibt zwei Wege dorthin:

### Weg 1: Skill per Chat erstellen lassen

Klick auf **Skill erstellen** öffnet keinen speziellen Assistenten oder Wizard — es ist ein ganz normaler, neuer Chat mit deinem Assistenten, nur mit einer vorausgefüllten ersten Nachricht: *"Erstelle mir einen neuen Skill für diesen Assistenten."*

![Der Button "Skill erstellen" im Skills-Bereich](/images/skills/skills-create-chat-1-de.png)

**Nachricht abschicken**: Die vorausgefüllte Nachricht ist schon im Eingabefeld — einfach abschicken.

**Rückfragen beantworten**: Der Assistent ist angewiesen, dich zu interviewen, bevor er Code schreibt — typischerweise nach Zweck des Skills, benötigten externen APIs, Zugangsdaten und ob eine bestehende Datei (z. B. eine Word-Vorlage) als Grundlage dienen soll.

**Code wird generiert**: Der Assistent schreibt die Dateien des Skill-Pakets (mindestens eine `SKILL.md`, siehe [Aufbau eines Skill-Pakets](#aufbau-eines-skill-pakets)) und baut daraus ein `.zip`.

**Automatisch angehängt**: Das fertige Paket erscheint direkt in der Skills-Liste des Assistenten — kein manueller Upload-Schritt nötig.

![Rückfragen des Assistenten nach dem Absenden der vorausgefüllten Nachricht](/images/skills/skills-create-chat-2-de.png)

Enthält der Skill Zugangsdaten (API-Keys, Tokens), legt der Assistent dafür eine `secrets.json` mit Platzhalter-Werten an. Trag die echten Werte danach über den [Datei-Explorer](#bearbeiten-grenzen-und-was-noch-nicht-geht) ein — sie werden nicht im Chat abgefragt oder protokolliert.

### Weg 2: Fertiges `.zip` hochladen

Hast du (oder ein:e Kolleg:in) den Skill schon als Paket vorliegen, zieh die `.zip`-Datei direkt in die Drag-&-Drop-Fläche im Skills-Bereich, oder klick darauf, um sie über den Datei-Dialog auszuwählen.

![Fertiges .zip-Paket per Drag & Drop hochladen](/images/skills/skills-upload-dropzone-de.png)

- **Grenzen**: bis zu 20 Dateien gleichzeitig, praktisches Größenlimit **50 MB pro Datei**.
- **Bei Überschreitung**: Überschreitet eine `.zip`-Datei 50 MB, oder hat der Assistent bereits 20 Skill-Pakete, lehnt die Plattform den Upload mit einer Fehlermeldung ab — sie kürzt oder übernimmt ein zu großes Paket nicht teilweise.
- **Keine Struktur-Prüfung**: Die Plattform prüft die Datei nur auf technische Sicherheit (kein Zip-Bomb — also keine Datei, die beim Entpacken explodiert). Ob eine `SKILL.md` enthalten ist oder das Paket überhaupt sinnvoll aufgebaut ist, wird **nicht** validiert. Halte dich deshalb an die empfohlene Struktur unten, sonst kann der Assistent den Skill nicht sinnvoll nutzen.

### Aufbau eines Skill-Pakets

Ein Skill-Paket ist im Kern ein `.zip` mit einer `SKILL.md` als Anleitung für den Assistenten, plus dem eigentlichen Code. Empfohlene Struktur:

```
mein-skill/
├── SKILL.md
├── scripts/
│   ├── main.py
│   └── helpers.py
└── references/
    └── api-reference.md
```

**`SKILL.md`** beginnt mit einem YAML-Frontmatter-Block und ist danach frei formuliertes Markdown:

| Feld / Abschnitt | Zweck |
|---|---|
| `name` (Frontmatter) | Kurzer, sprechender Name (klein geschrieben, mit Bindestrichen) |
| `description` (Frontmatter) | Wann der Assistent diesen Skill einsetzen soll — das ist der Text, an dem sich das Modell orientiert |
| `license` (Frontmatter, optional) | Meist `Proprietary` oder `MIT` |
| Titel (H1) | Ein-Satz-Zusammenfassung |
| `## Rules` | Was der Assistent tun/lassen soll |
| `## Workflow` | Schritt-für-Schritt-Ablauf |
| `## Good fits` | Konkrete Anwendungsfälle, für die der Skill gedacht ist |
| `## Avoid by default` | Wofür der Skill **nicht** gedacht ist |

Wird die `SKILL.md` zu lang (Richtwert: 500 Zeilen), lagere Details in `references/` aus und verlinke sie aus der `SKILL.md`.

Die konkrete Sprache (Python oder JavaScript) wird **nicht** im Paket festgelegt, sondern automatisch erkannt, sobald der Assistent den Skill in einer Chat-Session einbindet — anhand von Datei-Markern wie `requirements.txt` (Python) oder `package.json` (JavaScript). Fehlt ein eindeutiger Marker, greift standardmäßig JavaScript. Nimm bei einem reinen Python-Skill also unbedingt eine `requirements.txt` ins Paket auf, auch wenn sie leer bleibt.

## Sicherheit & Sandbox

Skills laufen in der **isolierten Sandbox-Umgebung**:

- Kein direkter Zugriff aufs Host-System; der Skill-Code selbst (Python/JS zur Laufzeit) hat keinen Internet-Zugriff. Einzige Ausnahme: Enthält das Skill-Paket eine `package.json` oder `requirements.txt`, lädt die Sandbox die dort gelisteten Zusatz-Pakete beim Einbinden automatisch über einen internen Registry-Proxy nach — siehe [Grenzen](/docs/platform/code-sandbox#grenzen) für bekannte Einschränkungen dieser Installation.
- Sprache pro Skill wird beim Einbinden in die Session automatisch erkannt (Python oder JS)
- Zugangsdaten (API-Keys, Tokens) liegen als `secrets.json` innerhalb des Skill-Pakets und werden nicht an das Modell selbst ausgeliefert
- Ressourcen-Limits verhindern Endlos-Schleifen oder übermäßigen Speicher-Verbrauch

Die Sandbox-Architektur ist beschrieben unter [Code-Sandbox](/docs/platform/code-sandbox).

## Häufige Verwendungen im Mittelstand

| Use-Case | Skill-Inhalt |
|---|---|
| Angebote im Firmen-Layout generieren | Word-Vorlage + Python-Skript, das Daten aus dem Chat einsetzt |
| DATEV-Export aus Rechnungs-Daten | JS-Skript, das JSON-Daten in CSV-Format konvertiert |
| Anbindung ans interne CRM (kein Standard-Connector) | Python-API-Client, der mit eurem CRM spricht |
| Strukturierte PDF-Extraktion aus eigenem Layout | Python mit `pdfplumber` für vorgegebene Vertrags-Strukturen |
| Custom-Validierung (z. B. Steuer-Berechnungen) | JS mit eurer Berechnungslogik |

**Formatierungstreue ist keine Garantie.** Ein Skill füllt eine Word-Vorlage inhaltlich und übernimmt dabei die vorhandenen Styles der Vorlage – eine exakte Übereinstimmung mit Deinen Brand Guidelines (Schriftgrößen, Abstände, Farben, Kopf-/Fußzeilen) wird dabei nicht automatisch geprüft. Prüfe das generierte Dokument bei markenkritischen Vorlagen stichprobenartig, bevor Du es versendest, und schärfe bei Abweichungen die Anweisungen im Skill-Code nach.

## Bearbeiten, Grenzen und was (noch) nicht geht

Klick auf einen Skill in der Liste öffnet den Datei-Explorer: Dateibaum links (`SKILL.md` immer ganz oben), Code-Editor mit Syntax-Highlighting rechts. Du kannst Dateien einsehen, bearbeiten, löschen und die Änderungen zurück ins Paket speichern.

![Skill-Datei-Explorer](/images/skills/skills-file-explorer-de.png)

**Keine Versionshistorie**: Speichern überschreibt den bisherigen Stand des Pakets endgültig — es gibt aktuell keine Möglichkeit, zu einer früheren Fassung zurückzukehren. Sichere dir vor größeren Änderungen notfalls eine eigene Kopie außerhalb von meinGPT.

**Kein Teilen zwischen Assistenten**: Jeder Skill gehört genau einem Assistenten — es gibt weder einen Download-/Export-Button noch eine "an weiteren Assistenten anhängen"-Funktion. Soll derselbe Skill bei mehreren Assistenten laufen, lade die lokal aufbewahrte `.zip` bei jedem Assistenten einzeln hoch.

Bittest du den Assistenten im Chat, einen **bestehenden** Skill "zu verbessern" oder "zu erweitern", legt er dafür oft ein komplett neues Paket an, statt das vorhandene zu aktualisieren. Prüfe die Skills-Liste danach und entferne veraltete Duplikate manuell.

## Wo es weitergeht

- **[Editor → Werkzeuge](/docs/platform/assistants)** — die Werkzeuge-Sektion, mit der Skills zusammenspielen
- **[Code-Sandbox](/docs/platform/code-sandbox)** — wie die Ausführungs-Umgebung im Detail aussieht
- **[Assistenten-Übersicht](/docs/platform/assistants)** — der gesamte Assistenten-Workflow, in den Skills integriert sind
