Während KI-Systeme sich von einfacher Frage-Antwort zu autonomer Aufgabenausführung entwickeln, wird das Verständnis von **Agents** und **Skills** essenziell. Dieses Kapitel erkundet, wie Prompts als fundamentale Bausteine für KI-Agents dienen und wie Skills Expertise in wiederverwendbare, umfassende Anweisungssets verpacken.

<div className="my-8 p-6 bg-muted/20 rounded-xl border">
  <div className="flex flex-col items-center gap-6">
    <div className="text-center">
      <div className="inline-flex items-center justify-center w-20 h-20 rounded-full bg-blue-100 dark:bg-blue-900/50 border-2 border-blue-300 dark:border-blue-700">
        <IconSettings className="w-10 h-10 text-blue-600 dark:text-blue-400" />
      </div>
      <p className="font-semibold mt-2 m-0!">Agent</p>
      <p className="text-xs text-muted-foreground m-0!">Autonomes KI-System</p>
    </div>
    <div className="flex items-center gap-2 text-muted-foreground text-sm">
      <span>angetrieben von</span>
      <span>↓</span>
    </div>
    <div className="flex flex-wrap justify-center gap-4">
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">Skill</p>
        <p className="text-xs text-muted-foreground m-0!">Wiederverwendbare Expertise</p>
      </div>
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">Skill</p>
        <p className="text-xs text-muted-foreground m-0!">Wiederverwendbare Expertise</p>
      </div>
      <div className="text-center">
        <div className="inline-flex items-center justify-center w-16 h-16 rounded-lg bg-purple-100 dark:bg-purple-900/50 border-2 border-purple-300 dark:border-purple-700">
          <IconStar className="w-8 h-8 text-purple-600 dark:text-purple-400" />
        </div>
        <p className="font-medium text-sm mt-2 m-0!">Skill</p>
        <p className="text-xs text-muted-foreground m-0!">Wiederverwendbare Expertise</p>
      </div>
    </div>
    <div className="flex items-center gap-2 text-muted-foreground text-sm">
      <span>zusammengesetzt aus</span>
      <span>↓</span>
    </div>
    <div className="flex flex-wrap justify-center gap-2">
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
      <div className="px-3 py-2 rounded bg-amber-100 dark:bg-amber-900/50 border border-amber-300 dark:border-amber-700 flex items-center gap-1">
        <IconClipboard className="w-3 h-3 text-amber-600 dark:text-amber-400" />
        <span className="text-xs font-medium">Prompt</span>
      </div>
    </div>
    <p className="text-xs text-muted-foreground text-center m-0! mt-2">Prompts sind Atome → Skills sind Moleküle → Agents sind vollständige Strukturen</p>
  </div>
</div>

## Was sind KI-Agents?

Ein **KI-Agent** ist ein KI-System, das autonom Aufgaben planen, ausführen und iterieren kann. Im Gegensatz zu einfachen Prompt-Antwort-Interaktionen können Agents:

- **Planen** - Komplexe Ziele in umsetzbare Schritte aufbrechen
- **Ausführen** - Tools nutzen und Aktionen in der realen Welt durchführen
- **Beobachten** - Feedback von ihren Aktionen verarbeiten
- **Anpassen** - Ihren Ansatz basierend auf Ergebnissen justieren
- **Persistieren** - Kontext und Gedächtnis über Interaktionen hinweg bewahren

<div className="my-6 flex items-center justify-center p-6 bg-muted/30 rounded-lg">
  <div className="relative">
    <div className="flex items-center gap-3">
      <div className="px-4 py-3 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-center text-sm">
        <p className="font-medium text-blue-700 dark:text-blue-300 m-0!">Ziel</p>
      </div>
      <div className="text-muted-foreground">→</div>
      <div className="flex flex-col items-center gap-2">
        <div className="flex items-center gap-2 px-4 py-3 bg-muted/50 border border-dashed rounded-lg">
          <div className="px-3 py-2 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded text-center text-sm">
            <p className="font-medium text-purple-700 dark:text-purple-300 m-0!">Planen</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded text-center text-sm">
            <p className="font-medium text-amber-700 dark:text-amber-300 m-0!">Ausführen</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-teal-100 dark:bg-teal-900/50 border border-teal-200 dark:border-teal-800 rounded text-center text-sm">
            <p className="font-medium text-teal-700 dark:text-teal-300 m-0!">Beobachten</p>
          </div>
          <div className="text-muted-foreground">→</div>
          <div className="px-3 py-2 bg-rose-100 dark:bg-rose-900/50 border border-rose-200 dark:border-rose-800 rounded text-center text-sm">
            <p className="font-medium text-rose-700 dark:text-rose-300 m-0!">Anpassen</p>
          </div>
        </div>
        <div className="text-xs text-muted-foreground flex items-center gap-1">
          <span>↺</span> Schleife bis fertig
        </div>
      </div>
      <div className="text-muted-foreground">→</div>
      <div className="px-4 py-3 bg-green-100 dark:bg-green-900/50 border border-green-200 dark:border-green-800 rounded-lg text-center text-sm">
        <p className="font-medium text-green-700 dark:text-green-300 m-0!">Fertig</p>
      </div>
    </div>
  </div>
</div>

## Prompts als Bausteine

Jeder Agent, egal wie anspruchsvoll, ist aus Prompts gebaut. So wie Atome sich zu Molekülen verbinden und Moleküle sich zu komplexen Strukturen verbinden, kombinieren sich Prompts, um intelligentes Agent-Verhalten zu erzeugen.

<div className="my-6 grid md:grid-cols-4 gap-3 text-center text-sm">
  <div className="border rounded-lg p-4 bg-blue-50/50 dark:bg-blue-950/20 border-blue-200 dark:border-blue-900">
    <p className="font-semibold text-blue-700 dark:text-blue-300 m-0!">System Prompts</p>
    <p className="text-xs text-blue-600 dark:text-blue-400 m-0! mt-1">Identität & Rolle</p>
  </div>
  <div className="border rounded-lg p-4 bg-purple-50/50 dark:bg-purple-950/20 border-purple-200 dark:border-purple-900">
    <p className="font-semibold text-purple-700 dark:text-purple-300 m-0!">Planungs-Prompts</p>
    <p className="text-xs text-purple-600 dark:text-purple-400 m-0! mt-1">Wie denken</p>
  </div>
  <div className="border rounded-lg p-4 bg-amber-50/50 dark:bg-amber-950/20 border-amber-200 dark:border-amber-900">
    <p className="font-semibold text-amber-700 dark:text-amber-300 m-0!">Tool-Prompts</p>
    <p className="text-xs text-amber-600 dark:text-amber-400 m-0! mt-1">Wie handeln</p>
  </div>
  <div className="border rounded-lg p-4 bg-rose-50/50 dark:bg-rose-950/20 border-rose-200 dark:border-rose-900">
    <p className="font-semibold text-rose-700 dark:text-rose-300 m-0!">Recovery-Prompts</p>
    <p className="text-xs text-rose-600 dark:text-rose-400 m-0! mt-1">Wie erholen</p>
  </div>
</div>

Diese Prompt-Typen stapeln sich zusammen, um vollständiges Agent-Verhalten zu bilden:

### System Prompts (Die Identität des Agents)

Der grundlegende Prompt, der festlegt, wer der Agent ist und wie er sich verhält:

```markdown
Du bist ein Code-Review-Assistent. Deine Rolle ist es:
- Code auf Bugs, Sicherheitsprobleme und Performance-Probleme zu analysieren
- Verbesserungen nach Best Practices vorzuschlagen
- Deine Begründung klar zu erklären
- Konstruktiv und lehrreich in Feedback zu sein

Du hast Zugriff auf Tools zum Lesen von Dateien, Durchsuchen von Code und Ausführen von Tests.
```

### Planungs-Prompts (Wie denken)

Anweisungen, die den Reasoning- und Planungsprozess des Agents leiten:

```markdown
Bevor du handelst, immer:
1. Verstehe die vollständige Anfrage
2. Zerlege sie in kleinere, verifizierbare Schritte
3. Identifiziere welche Tools du benötigst
4. Berücksichtige Edge Cases und potenzielle Probleme
5. Führe Schritt für Schritt aus und validiere dabei
```

### Tool-Nutzungs-Prompts (Wie handeln)

Anleitung, wann und wie verfügbare Tools zu nutzen sind:

```markdown
Wenn du eine Codebase verstehen musst:
- Nutze grep_search zum Finden spezifischer Muster
- Nutze read_file zum Untersuchen von Dateiinhalten
- Nutze list_dir zum Erkunden der Verzeichnisstruktur
- Verifiziere immer dein Verständnis bevor du Änderungen machst
```

### Recovery-Prompts (Wie mit Fehlern umgehen)

Anweisungen für wenn etwas schiefgeht:

```markdown
Wenn eine Aktion fehlschlägt:
1. Analysiere die Fehlermeldung sorgfältig
2. Erwäge alternative Ansätze
3. Frage nach Klärung wenn die Aufgabe mehrdeutig ist
4. Wiederhole niemals die gleiche fehlgeschlagene Aktion ohne Änderungen
```

<Callout type="info" title="Der Prompt-Stack">
Das Verhalten eines Agents entsteht aus Schichten von Prompts, die zusammenarbeiten. Der System-Prompt legt das Fundament, Planungs-Prompts leiten das Reasoning, Tool-Prompts ermöglichen Aktion und Recovery-Prompts behandeln Fehler. Zusammen erzeugen sie kohärentes, fähiges Verhalten.
</Callout>

## Was sind Skills?

Wenn Prompts die Atome sind, sind **Skills die Moleküle** – wiederverwendbare Bausteine, die Agents spezifische Fähigkeiten verleihen.

Ein **Skill** ist ein umfassendes, portables Paket von Anweisungen, das einem KI-Agent Expertise in einer spezifischen Domäne oder Aufgabe verleiht. Skills sind die wiederverwendbaren Blöcke von Agents: du baust sie einmal, und jeder Agent kann sie nutzen.

<Callout type="tip" title="Skills = Wiederverwendbare Agent-Blöcke">
Schreibe einmal einen Skill für Code-Review. Jetzt kann jeder Coding-Agent – ob für Python, JavaScript oder Rust – sofort ein Experten-Code-Reviewer werden, indem er diesen Skill lädt. Skills lassen dich Agent-Fähigkeiten wie LEGO-Blöcke bauen.
</Callout>

### Anatomie eines Skills

Ein gut designter Skill enthält typischerweise:

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">📄 SKILL.md (Erforderlich)</p>
    <p className="text-sm text-muted-foreground m-0!">Die Haupt-Anweisungsdatei. Enthält die Kern-Expertise, Richtlinien und Verhaltensweisen, die den Skill definieren.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">📚 Referenzdokumente</p>
    <p className="text-sm text-muted-foreground m-0!">Unterstützende Dokumentation, Beispiele und Kontext, die der Agent während der Arbeit referenzieren kann.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">🔧 Skripte & Tools</p>
    <p className="text-sm text-muted-foreground m-0!">Hilfs-Skripte, Vorlagen oder Tool-Konfigurationen, die die Funktionalität des Skills unterstützen.</p>
  </div>
  <div className="border rounded-lg p-4 bg-muted/30">
    <p className="font-semibold text-sm m-0! mb-2">⚙️ Konfiguration</p>
    <p className="text-sm text-muted-foreground m-0!">Einstellungen, Parameter und Anpassungsoptionen für die Adaption des Skills an verschiedene Kontexte.</p>
  </div>
</div>

### Beispiel: Code-Review-Skill

So könnte ein Code-Review-Skill aussehen:

<div className="my-6 border rounded-lg overflow-hidden bg-muted/20">
  <div className="px-3 py-2 bg-muted/50 border-b flex items-center gap-2">
    <span className="text-sm">📁</span>
    <span className="text-sm font-medium">code-review-skill/</span>
  </div>
  <div className="p-3 space-y-1 text-sm font-mono">
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span className="font-medium">SKILL.md</span>
      <span className="text-muted-foreground text-xs ml-auto">Kern-Review-Richtlinien</span>
    </div>
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span>security-checklist.md</span>
      <span className="text-muted-foreground text-xs ml-auto">Sicherheitsmuster</span>
    </div>
    <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
      <span>📄</span>
      <span>performance-tips.md</span>
      <span className="text-muted-foreground text-xs ml-auto">Optimierungsleitfaden</span>
    </div>
    <div className="mt-2 border-t pt-2">
      <div className="flex items-center gap-2 px-2 py-1">
        <span>📁</span>
        <span className="font-medium">language-specific/</span>
      </div>
      <div className="ml-6 space-y-1">
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>python.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Python Best Practices</span>
        </div>
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>javascript.md</span>
          <span className="text-muted-foreground text-xs ml-auto">JavaScript-Muster</span>
        </div>
        <div className="flex items-center gap-2 px-2 py-1 rounded hover:bg-muted/50">
          <span>📄</span>
          <span>rust.md</span>
          <span className="text-muted-foreground text-xs ml-auto">Rust-Richtlinien</span>
        </div>
      </div>
    </div>
  </div>
</div>

Die `SKILL.md`-Datei definiert den Gesamtansatz:

```markdown
---
name: code-review
description: Umfassendes Code-Review mit Sicherheits-, Performance- und Stil-Analyse
---

# Code-Review-Skill

Du bist ein Experten-Code-Reviewer. Beim Review von Code:

## Prozess
1. **Kontext verstehen** - Was macht dieser Code? Welches Problem löst er?
2. **Korrektheit prüfen** - Funktioniert es? Gibt es Logikfehler?
3. **Sicherheits-Scan** - Referenziere security-checklist.md für häufige Schwachstellen
4. **Performance-Review** - Prüfe performance-tips.md für Optimierungsmöglichkeiten
5. **Stil & Wartbarkeit** - Ist der Code lesbar und wartbar?

## Output-Format
Liefere Feedback in Kategorien:
- 🔴 **Kritisch** - Muss vor Merge behoben werden
- 🟡 **Empfohlen** - Empfohlene Verbesserungen
- 🟢 **Nice to have** - Optionale Verbesserungen

Erkläre immer *warum* etwas ein Problem ist, nicht nur *was* falsch ist.
```

## Skills vs. Einfache Prompts

<div className="my-6 grid md:grid-cols-2 gap-4">
  <div className="border rounded-lg bg-muted/30">
    <p className="text-sm font-semibold px-4 pt-3 m-0!">Einfacher Prompt</p>
    <div className="text-sm p-4 pt-2 space-y-2">
      <p className="m-0!">Einzelne Anweisung</p>
      <p className="m-0!">Einmalige Nutzung</p>
      <p className="m-0!">Begrenzter Kontext</p>
      <p className="m-0!">Generischer Ansatz</p>
      <p className="m-0!">Keine unterstützenden Materialien</p>
    </div>
  </div>
  <div className="border rounded-lg bg-primary/5 border-primary/20">
    <p className="text-sm font-semibold px-4 pt-3 m-0!">Skill</p>
    <div className="text-sm p-4 pt-2 space-y-2">
      <p className="m-0!">Umfassendes Anweisungsset</p>
      <p className="m-0!">Wiederverwendbar über Projekte</p>
      <p className="m-0!">Reicher Kontext mit Referenzen</p>
      <p className="m-0!">Domänenspezifische Expertise</p>
      <p className="m-0!">Unterstützende Docs, Skripte, Configs</p>
    </div>
  </div>
</div>

## Effektive Skills bauen

### 1. Die Expertise klar definieren

Beginne mit einer klaren Beschreibung, was der Skill ermöglicht:

```markdown
---
name: api-design
description: RESTful APIs nach Branchen-Best-Practices designen, 
  einschließlich Versionierung, Fehlerbehandlung und Dokumentationsstandards
---
```

### 2. Wissen hierarchisch strukturieren

Organisiere Informationen von allgemein zu spezifisch:

```markdown
# API-Design-Skill

## Kernprinzipien
- Ressourcen sollten Nomen sein, nicht Verben
- HTTP-Methoden semantisch nutzen
- APIs von Tag eins an versionieren

## Detaillierte Richtlinien
[Spezifischere Regeln...]

## Referenzmaterialien
- Siehe `rest-conventions.md` für Namenskonventionen
- Siehe `error-codes.md` für Standard-Fehlerantworten
```

### 3. Konkrete Beispiele einschließen

Abstrakte Regeln werden mit Beispielen klar:

```markdown
## Endpoint-Benennung

✅ Gut:
- GET /users/{id}
- POST /orders
- DELETE /products/{id}/reviews/{reviewId}

❌ Vermeiden:
- GET /getUser
- POST /createNewOrder
- DELETE /removeProductReview
```

### 4. Entscheidungs-Frameworks liefern

Hilf dem Agent, in mehrdeutigen Situationen Entscheidungen zu treffen:

```markdown
## Wann Paginierung nutzen

Paginierung nutzen wenn:
- Sammlung könnte 100 Items überschreiten
- Antwortgröße Performance beeinflusst
- Client braucht vielleicht nicht alle Items

Volle Antwort nutzen wenn:
- Sammlung ist immer klein (<20 Items)
- Client braucht typischerweise alles
- Echtzeit-Konsistenz ist kritisch
```

### 5. Recovery-Muster hinzufügen

Antizipiere was schiefgehen kann:

```markdown
## Häufige Probleme

**Problem**: Client braucht Felder, die nicht in Standard-Antwort sind
**Lösung**: Feld-Auswahl implementieren: GET /users?fields=id,name,email

**Problem**: Breaking Changes nötig
**Lösung**: Neue Version erstellen, alte mit Zeitplan deprecaten
```

## Skills komponieren

Agents werden mächtig, wenn mehrere Skills zusammenarbeiten. Bedenke, wie Skills sich ergänzen können:

<div className="my-6 flex flex-wrap items-center justify-center gap-4 p-6 bg-muted/30 rounded-lg">
  <div className="px-4 py-2 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-sm font-medium text-blue-700 dark:text-blue-300">
    Code Review
  </div>
  <div className="text-xl">+</div>
  <div className="px-4 py-2 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded-lg text-sm font-medium text-purple-700 dark:text-purple-300">
    Security Audit
  </div>
  <div className="text-xl">+</div>
  <div className="px-4 py-2 bg-green-100 dark:bg-green-900/50 border border-green-200 dark:border-green-800 rounded-lg text-sm font-medium text-green-700 dark:text-green-300">
    Dokumentation
  </div>
  <div className="text-xl">=</div>
  <div className="px-4 py-2 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded-lg text-sm font-medium text-amber-700 dark:text-amber-300">
    Kompletter Code-Qualitäts-Agent
  </div>
</div>

Beim Komponieren von Skills stelle sicher, dass sie nicht konfligieren. Skills sollten sein:

- **Modular** - Jeder Skill behandelt eine Domäne gut
- **Kompatibel** - Skills sollten keine widersprüchlichen Anweisungen geben
- **Priorisiert** - Wenn Skills sich überlappen, definiere welcher Vorrang hat

## Skills teilen und entdecken

Skills sind am wertvollsten, wenn sie geteilt werden. Plattformen wie [prompts.chat](https://prompts.chat/skills) erlauben dir:

- **Entdecken** - Community-erstellte Skills für häufige Aufgaben
- **Herunterladen** - Skills direkt in deine Projekte
- **Teilen** - Deine eigene Expertise als wiederverwendbare Skills
- **Iterieren** - Skills basierend auf realem Einsatz

<Callout type="tip" title="Mit Community-Skills beginnen">
Bevor du einen Skill von Grund auf baust, prüfe ob jemand dein Problem bereits gelöst hat. Community-Skills sind kampferprobt und oft besser als bei Null zu starten.
</Callout>

## Das Agent-Skill-Ökosystem

Die Beziehung zwischen Agents und Skills schafft ein mächtiges Ökosystem:

<div className="my-6 p-6 bg-muted/30 rounded-lg border">
  <div className="text-center mb-4">
    <span className="text-sm font-semibold text-muted-foreground">KI-Agent</span>
  </div>
  <div className="flex flex-wrap justify-center gap-3 mb-4">
    <div className="px-4 py-3 bg-blue-100 dark:bg-blue-900/50 border border-blue-200 dark:border-blue-800 rounded-lg text-center">
      <p className="font-medium text-blue-700 dark:text-blue-300 text-sm m-0!">Code Review</p>
      <p className="text-xs text-blue-600 dark:text-blue-400 m-0!">Skill 1</p>
    </div>
    <div className="px-4 py-3 bg-purple-100 dark:bg-purple-900/50 border border-purple-200 dark:border-purple-800 rounded-lg text-center">
      <p className="font-medium text-purple-700 dark:text-purple-300 text-sm m-0!">API-Design</p>
      <p className="text-xs text-purple-600 dark:text-purple-400 m-0!">Skill 2</p>
    </div>
    <div className="px-4 py-3 bg-teal-100 dark:bg-teal-900/50 border border-teal-200 dark:border-teal-800 rounded-lg text-center">
      <p className="font-medium text-teal-700 dark:text-teal-300 text-sm m-0!">Test-Schreiben</p>
      <p className="text-xs text-teal-600 dark:text-teal-400 m-0!">Skill 3</p>
    </div>
  </div>
  <div className="flex justify-center mb-3">
    <div className="text-muted-foreground">↓</div>
  </div>
  <div className="flex justify-center">
    <div className="px-6 py-4 bg-amber-100 dark:bg-amber-900/50 border border-amber-200 dark:border-amber-800 rounded-lg text-center">
      <p className="font-semibold text-amber-700 dark:text-amber-300 text-sm m-0!">Kern-Prompts</p>
      <p className="text-xs text-amber-600 dark:text-amber-400 m-0!">Planung • Tools • Recovery • Gedächtnis</p>
    </div>
  </div>
</div>

Der Agent liefert das Ausführungs-Framework – Planung, Tool-Nutzung und Gedächtnis – während Skills Domänen-Expertise liefern. Diese Trennung bedeutet:

- **Skills sind portabel** - Der gleiche Skill funktioniert mit verschiedenen Agents
- **Agents sind erweiterbar** - Füge neue Fähigkeiten hinzu, indem du Skills hinzufügst
- **Expertise ist teilbar** - Domänen-Experten können Skills beitragen ohne volle Agents zu bauen

## Best Practices

### Für das Bauen von Skills

1. **Spezifisch beginnen, dann generalisieren** - Baue zuerst einen Skill für deinen exakten Anwendungsfall, dann abstrahiere
2. **Fehlerfälle einschließen** - Dokumentiere was der Skill nicht kann und wie damit umzugehen ist
3. **Skills versionieren** - Verfolge Änderungen, damit Agents auf stabile Versionen vertrauen können
4. **Mit echten Aufgaben testen** - Validiere Skills gegen tatsächliche Arbeit, nicht nur Theorie

### Für die Nutzung von Skills mit Agents

1. **Den Skill zuerst lesen** - Verstehe was ein Skill macht bevor du ihn einsetzt
2. **Durchdacht anpassen** - Überschreibe Skill-Defaults nur wenn nötig
3. **Performance überwachen** - Verfolge wie gut Skills in deinem Kontext performen
4. **Verbesserungen beitragen** - Wenn du einen Skill verbesserst, erwäge zurückzuteilen

<Callout type="info" title="Die Zukunft ist komponierbar">
Während KI-Agents fähiger werden, wird die Fähigkeit, Skills zu komponieren, zu teilen und anzupassen, eine Kernkompetenz werden. Die Prompt Engineers von morgen werden nicht nur Prompts schreiben – sie werden Skill-Ökosysteme architektieren, die KI-Agents wirklich zu Experten in spezifischen Domänen machen.
</Callout>

<Quiz 
  question="Was ist der Hauptunterschied zwischen einem einfachen Prompt und einem Skill?"
  options={[
    "Skills sind länger als Prompts",
    "Skills sind wiederverwendbare, Multi-Datei-Pakete, die Agents Domänen-Expertise verleihen",
    "Skills funktionieren nur mit spezifischen KI-Modellen",
    "Skills brauchen keine Prompts"
  ]}
  correctIndex={1}
  explanation="Skills sind umfassende, portable Pakete, die mehrere Prompts, Referenzdokumente, Skripte und Konfiguration kombinieren. Sie sind wiederverwendbare Bausteine, die jedem Agent hinzugefügt werden können, um ihm spezifische Fähigkeiten zu verleihen."
/>

<Quiz 
  question="Was ist die Agent-Schleife?"
  options={[
    "Eine Debugging-Technik für KI-Fehler",
    "Planen → Ausführen → Beobachten → Anpassen, wiederholt bis das Ziel erreicht ist",
    "Eine Methode, mehrere Prompts zu verketten",
    "Eine Methode zum Trainieren neuer KI-Modelle"
  ]}
  correctIndex={1}
  explanation="KI-Agents arbeiten in einer kontinuierlichen Schleife: sie planen, wie sie eine Aufgabe angehen, führen Aktionen aus, beobachten die Ergebnisse und passen ihren Ansatz basierend auf Feedback an – wiederholend bis das Ziel erreicht ist."
/>

<Quiz 
  question="Warum werden Skills als 'wiederverwendbare Blöcke von Agents' beschrieben?"
  options={[
    "Weil sie nur einmal verwendet werden können",
    "Weil sie in einer Block-Programmiersprache geschrieben sind",
    "Weil jeder Agent einen Skill laden kann, um diese Fähigkeit sofort zu gewinnen",
    "Weil Skills den Bedarf an Agents ersetzen"
  ]}
  correctIndex={2}
  explanation="Skills sind portable Expertise-Pakete. Schreibe einmal einen Code-Review-Skill, und jeder Coding-Agent kann ein Experten-Code-Reviewer werden, indem er diesen Skill lädt – wie LEGO-Blöcke, die in jede Struktur einrasten."
/>
