Sie haben einen Subagent geschrieben, und er fragt ständig nach Dingen, die Sie Claude vor zehn Minuten erklärt haben. Oder Sie haben einen Skill geschrieben, und er feuert nie. Beides ist derselbe Fehler: der Griff zum falschen von drei Dingen, die auf der Festplatte gleich aussehen und sich zur Laufzeit völlig unterschiedlich verhalten. Hier ist die echte Trennlinie, eine Tabelle für die Auswahl und zwei Dateien zum Kopieren.
Die wichtigsten Erkenntnisse
- Ein Skill sind Anweisungen, die Claude lädt, sobald es die Aufgabe erkennt. Er läuft in Ihrer Unterhaltung und verändert, wie die Arbeit erledigt wird.
- Ein Subagent ist ein separates Claude mit eigenem Kontextfenster und eigener Tool-Freigabeliste. Er verändert, wo die Arbeit passiert und was zurückkommt.
- MCP ist keines von beidem: eine Verbindung zu einem externen System, die verändert, was Claude erreichen kann.
- Ein Skill verändert das Wie, ein Subagent das Wo. Die meisten schlechten Setups wählen die falsche Achse. Beide lassen sich auch kombinieren: Ein Subagent kann benannte Skills vorladen, und ein Skill kann in einem geforkten Subagent laufen.
- Beide sind statischer Text. Die Fakten, auf die sie sich stützen, sind es nicht, und genau dort verrotten Setups still und leise.
---
Was ein Claude Skill wirklich ist
Ein Skill ist ein Ordner mit einer SKILL.md darin. Das Frontmatter sagt, wofür er da ist; der Rumpf ist der Anweisungssatz, dem Claude folgt, sobald der Skill im Spiel ist. Persönliche Skills liegen unter ~/.claude/skills/<name>/SKILL.md und begleiten Sie über Projekte hinweg. Projekt-Skills liegen unter .claude/skills/<name>/SKILL.md und erreichen Ihr Team, sobald es das Repo zieht.
Der Mechanismus, den man verstanden haben sollte, ist Progressive Disclosure. Zum Sitzungsstart liest Claude die Beschreibungen Ihrer Skills, nicht deren Rumpf. Der Rumpf bleibt auf der Festplatte und kostet nichts, bis Claude entscheidet, dass eine Anfrage passt. Deshalb ist ein 400-zeiliges Referenzdokument ein sinnvoller Skill und ein 400-Zeilen-Block in CLAUDE.md nicht.
Es bedeutet auch: die Beschreibung ist der Auslöser. Wenn Ihr Skill nie feuert, ist fast immer die Beschreibung der Fehler. Schreiben Sie sie als "was das hier tut und wann man es nutzt", mit den Formulierungen, die ein echter Mensch tippen würde, und stellen Sie den Anwendungsfall nach vorne: Claude Code kürzt die kombinierte Beschreibung in der Skill-Liste bei 1.536 Zeichen.
Ein Stück Aufräumarbeit beendet eine alte Verwirrung: Slash Commands und Skills sind verschmolzen. .claude/commands/deploy.md und .claude/skills/deploy/SKILL.md geben Ihnen beide /deploy; die Skill-Form fügt lediglich einen Ordner für Begleitdateien hinzu. Die vollständige Anatomie finden Sie in unserem Durchgang zu Claude Code Skills.
Was ein Subagent wirklich ist
Ein Subagent ist eine Markdown-Datei unter .claude/agents/<name>.md (Projekt) oder ~/.claude/agents/<name>.md (persönlich). Das Frontmatter konfiguriert ihn; der Rumpf ist sein System-Prompt.
Was ihn zum Subagent macht und nicht zum Skill, ist das Kontextfenster. Wenn Claude delegiert, startet es bei null: eigener System-Prompt, eine Task-Nachricht, die die Arbeit beschreibt, Ihre CLAUDE.md-Hierarchie und der aktuelle Git-Status. Es bekommt nicht die Unterhaltung, die Sie bis dahin geführt haben.
Das ist die häufigste Überraschung, deshalb ganz direkt: ein Subagent erbt Ihre Unterhaltung nicht. Nicht die Dateien, die Claude bereits gelesen hat, nicht die Entscheidung, die Sie vor drei Nachrichten getroffen haben. Wenn es wichtig ist, gehört es in den Delegations-Prompt, in den System-Prompt des Agents oder in CLAUDE.md.
Die Isolation ist ein Nachteil, wenn Sie Kontinuität wollten, und der ganze Sinn, wenn Sie Unabhängigkeit wollten. Ein Subagent, der Code prüft, den er nicht selbst geschrieben hat, hängt nicht am gewählten Ansatz, und seine eigene Tool-Freigabeliste bedeutet: tools: Read, Grep, Glob garantiert, dass er nichts bearbeiten kann.
Wo MCP hineinpasst, und warum es ständig mit hineingerät
MCP taucht hier auf, weil Menschen alle drei in derselben Woche kennenlernen und sie in dieselbe Schublade legen. Sie gehören in verschiedene Schubladen.
MCP ist ein offenes Protokoll, um Claude mit einem externen System zu verbinden: einem Issue-Tracker, einer Datenbank, einem Design-Tool, Ihrem eigenen Service. Es gibt Claude Reichweite. Es gibt Claude kein Urteilsvermögen darüber, wie diese Reichweite zu nutzen ist, und genau dafür ist ein Skill da.
Die saubere Aufteilung:
- Skill: Weiß Claude, wie wir das hier machen?
- Subagent: Sollte diese Arbeit woanders passieren und als Zusammenfassung zurückkommen?
- MCP-Server: Kommt Claude überhaupt an die Sache heran?
Verbinden Sie einen MCP-Server mit Ihrem Issue-Tracker, und Claude kann Tickets lesen. Schreiben Sie einen Skill, und Claude weiß, dass Ihr Team Akzeptanzkriterien in die Beschreibung schreibt, nie in die Kommentare, und dass ein Ticket ohne sie zurückgeht. Verschiedene Probleme, und das eine zu lösen löst nicht das andere. Tiefer gehen wir auf die Verbindungsebene in Claude über MCP mit Ihrem Gedächtnis verbinden ein.
Hier stehen sie nebeneinander.
| Skill | Subagent | MCP-Server | |
|---|---|---|---|
| Was es ist | Anweisungen, die Claude lädt, sobald es die Aufgabe erkennt | Ein separates Claude mit eigenem Kontextfenster | Eine Verbindung zu einem externen System |
| Wo es liegt | .claude/skills/<name>/SKILL.md | .claude/agents/<name>.md | .mcp.json im Projekt-Root oder ~/.claude.json |
| Was es verändert | Wie die Arbeit erledigt wird | Wo die Arbeit passiert und was zurückkommt | Was Claude erreichen kann |
| Was es auslöst | Claude trifft die description, oder Sie tippen /name | Claude delegiert, oder Sie benennen den Agent | Ein Tool-Aufruf, sobald der Server verbunden ist |
| Kontextkosten | Nur die Beschreibung, bis er feuert | Ein zweites volles Kontextfenster | Seine Tool-Definitionen, ab Sitzungsstart |
| Sieht Ihre Unterhaltung | Ja, er läuft darin | Nein | Nicht zutreffend, es ist eine Leitung, kein Leser |
---
Skill, Subagent oder MCP-Server: eine Entscheidungstabelle
Gehen Sie von der Aufgabe aus, nicht vom Feature.
| Die Aufgabe, die Sie tatsächlich haben | Greifen Sie zu | Warum |
|---|---|---|
| "Commit-Nachrichten immer auf unsere Art schreiben" | Skill | Eine Prozedur, die innerhalb der laufenden Arbeit gebraucht wird. Günstig, bis sie feuert |
| "Prüfe diese Änderung, als hättest du sie nicht gerade selbst geschrieben" | Subagent | Das unbeschriebene Blatt ist der Wert. Ein Skill kann Ihnen keines geben |
| "Lies unseren Issue-Tracker" | MCP-Server | Hat nichts mit Anweisungen zu tun. Claude erreicht das System überhaupt nicht |
| "Finde in 400 Dateien jede Stelle, an der wir Auth behandeln" | Subagent | Lesen in großem Volumen. Halten Sie den Lärm aus Ihrem Hauptstrang |
| "Diagramme in unserer Markenpalette formatieren" | Skill | Prozedur plus Referenzmaterial, das nur lädt, wenn Diagramme aufkommen |
| "Drei unabhängige Reviews gleichzeitig laufen lassen" | Subagents, parallel | Getrennte Kontexte sind genau der Punkt |
| "Die Read-Replica abfragen, ohne Schreibzugriff" | MCP-Server plus ein eingeschränkter Subagent | MCP ist die Verbindung, die tools-Freigabeliste des Agents ist die Sicherheitsleitplanke |
| "Eine lange Prozedur, die den Hauptstrang flutet" | Skill mit context: fork | Führt den Skill in einem Subagent aus und gibt nur das Ergebnis zurück |
Aus dieser Tabelle folgen zwei Fehlermodi. Der erste ist eine lange Agent-Datei, die in Wahrheit nur eine Prozedur ist: Sie zahlen jedes Mal einen Kaltstart und verlieren Ihre Unterhaltung, ohne Gegenwert. Der zweite ist eine geräuschvolle Aufgabe, die in einem Skill steckenbleibt und Ihren Hauptkontext mit Datei-Dumps flutet, die niemand liest.

Zwei Dateien zum Kopieren
Ein echter Skill. Kurzes Frontmatter, ein Rumpf mit klarer Meinung zum Output:
---
name: pr-description
description: Writes a pull request description in our house format. Use when the user asks for a PR description or a PR body, or says they are opening a PR.
---
## The diff
!`git diff origin/main...HEAD`
## Instructions
Write the description in exactly these three sections:
1. **What changed.** Two or three bullets in plain English. No file paths.
2. **Why.** One sentence, tied to the ticket if there is one.
3. **How to test.** The exact commands a reviewer runs.
Never add a "Summary of changes" heading. Never list every file touched.
Die Zeile ` !git diff origin/main...HEAD ` läuft, bevor Claude den Skill sieht, sodass die Anweisungen mit dem bereits eingefügten echten Diff ankommen.
Ein echter Subagent. Beachten Sie die auf Lesen beschränkte Tool-Liste und die Anweisung, sich wie ein Fremder zu verhalten:
---
name: api-reviewer
description: Reviews API changes for breaking contracts and missing validation. Use after any change under src/api/.
tools: Read, Grep, Glob
model: sonnet
---
You are reviewing an API change with no knowledge of the conversation that produced it. Do not assume the author was right.
Check, in this order:
1. Does any response field change shape or disappear? That is a breaking change. Say so first.
2. Is every new input validated at the boundary, not deep inside a handler?
3. Does the change match the error format already used elsewhere in this codebase?
Return at most five findings, each with a file path and a line number.
If you find nothing, say so in one line and stop.
Nehmen Sie dieselbe Aufgabe, "sicherstellen, dass API-Änderungen geprüft werden", und beobachten Sie, wie sich die beiden unterschiedlich verhalten. Als Skill läuft sie in Ihrem aktuellen Strang, schnell und günstig, aber der Prüfer ist dasselbe Claude, das gerade den Code geschrieben hat und immer noch seine Gründe dafür mit sich trägt, ihn für in Ordnung zu halten. Als Subagent kostet sie einen Kaltstart und mehr Tokens und kauft Ihnen einen Leser ohne eigenes Interesse am Ergebnis und ohne Möglichkeit, das Gefundene still und leise selbst zu reparieren.
Sie können beides auch kombinieren: Das skills:-Feld eines Subagents lädt benannte Skills in seinen frischen Kontext vor, sodass ein isolierter Prüfer Ihre Hauskonventionen bekommt, ohne dass Sie sie hineinkopieren.
Woher Skills kommen und wie Sie zwischen ihnen wählen
Drei Quellen, in aufsteigender Reihenfolge des Aufwands: die, die mit Claude Code mitgeliefert werden, die, die Sie installieren, und die, die Sie schreiben.
Schreiben Sie eigene, wenn die Prozedur spezifisch für Ihre Codebasis oder Ihren Hausstil ist, denn das kann niemand sonst. Installieren Sie für das generische Handwerk: Review-Checklisten und die Schreib-, Design- und Recherche-Prozeduren, die überall gleich sind.
Wenn Sie zwischen installierbaren Skills wählen, beurteilen Sie sie an drei Dingen. Ist die Beschreibung als Auslöser geschrieben oder als Marketing? Ist der Rumpf eine echte Prozedur mit Schritten und Einschränkungen oder eine vage Absichtserklärung? Und hat jemand sie laufen lassen und den Output damit verglichen, sie nicht laufen zu lassen? Den letzten Teil veröffentlicht fast niemand, was ihn zur schnellsten Methode macht, einen getesteten Skill zu erkennen. Wenn Sie einen Ausgangspunkt wollen: Wir veröffentlichen ein Verzeichnis mit 114 Claude Skills, das sich als Claude Code Plugin Marketplace mit /plugin marketplace add mkhalid1/locul-skills installieren lässt; fünf tragen gemessene Vorher-Nachher-Ergebnisse, sechs weitere wurden getestet und gestrichen, neunzehn wurden zurückgezogen, und die Testmethode ist daneben veröffentlicht.
Was auch immer Sie installieren: Misten Sie aus. Vierzig Skills, die Sie nie feuern, sind vierzig Beschreibungen, die in jeder Sitzung um Claudes Aufmerksamkeit konkurrieren.
---
Was nach sechs Monaten bricht
Hier ist der Teil, den Vergleiche auslassen, weil er am ersten Tag nicht auftaucht.
Ein Skill ist eine Textdatei. Ein Subagent ist eine Textdatei. Beide kodieren eine Prozedur, und Prozeduren sind einigermaßen stabil. Nicht stabil ist alles, worauf die Prozedur sich stützt: welches Modell Sie standardisiert haben, wie Ihre Preise heute tatsächlich aussehen, das Feature, das Sie entfernt haben und auf das die Checkliste weiterhin prüft, die Konvention, die Sie im Februar geändert und nie aufgeschrieben haben.
Nichts davon schlägt laut fehl. Der Skill feuert weiterhin. Der Subagent liefert weiterhin seine fünf Funde. Sie schließen nur aus den Fakten des letzten Quartals, voller Überzeugung, in Ihrer Stimme.
Ein Skill, der auf den Fakten des letzten Quartals perfekt feuert, liegt trotzdem falsch. Er scheitert nur leise.
Es gibt zwei ehrliche Lösungen, und Sie wollen beide. Die erste ist Disziplin: Halten Sie Fakten aus Ihren Skills und Agents heraus. Ein Skill sollte sagen, wie Sie eine API prüfen, nicht wie hoch Ihre aktuellen Rate Limits sind. In dem Moment, in dem eine konkrete Zahl in einer SKILL.md landet, haben Sie sich verpflichtet, sie für immer von Hand zu pflegen, und das werden Sie nicht tun. Den Audit dazu gehen wir in ein KI-Setup aktuell halten durch.
Die zweite ist ein Ort für diese Fakten, der sich ohne Ihr Zutun aktualisiert. Genau dafür wurde Locul gebaut: eine local-first Desktop-App für macOS und Windows, die aus dem, was Sie ohnehin produzieren, ein zweites Gehirn baut, aus Ihren Markdown-Notizen, PDFs, Diktaten, Notion-Seiten und Ihrem LinkedIn-Profil, es aktuell hält, während sich diese Quellen ändern, und es Claude über MCP bereitstellt. Ändert sich ein Fakt, wird die alte Memory als überholt markiert und die neue übernimmt, sodass Ihre Skills kurz und prozedural bleiben, während die Fakten darunter richtig bleiben. Diese Arbeitsteilung ist auch der sauberste Weg, über Skills versus Memory nachzudenken, und sie sitzt in der größeren Frage, wie Sie Ihrer KI ein Gedächtnis geben, das hält.
FAQ
Was ist der Unterschied zwischen Anthropic Skills und Agent Skills?
Zwei Namen für eine Sache. "Agent Skills" ist der offene Standard, veröffentlicht auf agentskills.io, der das SKILL.md-Format definiert; die Produkte von Anthropic nennen sie Skills. Ein Skill, den Sie für Claude Code schreiben, ist ein einfacher SKILL.md-Ordner, den auch andere Tools lesen können, die den Standard umsetzen. Claude Code legt zusätzliches Frontmatter darüber, etwa Aufrufsteuerung und geforkte Ausführung; diese Extras reisen nicht mit.
Was ist der Unterschied zwischen Claude und einem Claude Agent?
Claude ist das Modell, mit dem Sie sprechen. Ein Claude Agent ist eine konfigurierte Instanz davon: eine benannte Datei mit eigenem System-Prompt, eigener Tool-Freigabeliste und frischem Kontextfenster, an die die Hauptunterhaltung Arbeit delegiert. In Claude Code sind das Subagents, unter .claude/agents/. Darunter liegt dasselbe Modell, sofern Sie nicht mit dem model-Feld ein anderes setzen. Was sich ändert, sind das Setup und das unbeschriebene Blatt, nicht die Intelligenz.
Liest Claude Agent Skills?
Ja, aber selektiv. Zum Sitzungsstart liest Claude nur Name und Beschreibung jedes verfügbaren Skills, nicht den Rumpf. Den Rumpf lädt es, wenn es die Anfrage als passend beurteilt, weshalb die Beschreibung darüber entscheidet, ob Ihr Skill je läuft. Subagents sind davon getrennt: Sie erben die Skills nicht, die die Hauptunterhaltung geladen hat. Um einem Subagent einen Skill zu geben, benennen Sie ihn im skills:-Frontmatter-Feld dieses Agents.
Ist Claude oder ChatGPT besser für Agents?
Für die meisten ist das eine Werkzeugfrage, keine Modellfrage. Wenn Ihre Arbeit in einem Terminal und einem Repository lebt, ist Claude Code auf einer Achse schwer zu schlagen: Skills und Subagents sind einfache Dateien in Ihrem Projekt, wie Code geprüft und versioniert, sodass ein Teamkollege Ihr Setup bekommt, indem er den Branch zieht. Wenn Ihre Arbeit im Browser und in Dokumenten stattfindet, wird der Abstand kleiner, testen Sie also beides an Ihren eigenen Aufgaben. So oder so ist der Fehlermodus identisch: Beide geben Ihnen statische Anweisungsdateien, die im selben Tempo veralten.
Kann man einen Skill und einen Subagent zusammen nutzen?
Ja, in beide Richtungen, und dort landen die meisten guten Setups. Ein Subagent kann Skills vorladen, indem er sie in seinem skills:-Frontmatter auflistet, was einem isolierten Arbeiter Ihre Hauskonventionen gibt, ohne sie in jeden Prompt zu kopieren. Umgekehrt kann ein Skill context: fork tragen, was ihn in einem geforkten Subagent ausführt und nur das Ergebnis an Ihren Hauptstrang zurückgibt.
Wohin als Nächstes
Die Entscheidung ist einfacher, als die Begriffe vermuten lassen. Fragen Sie, ob Sie eine Prozedur, einen Reinraum oder eine Verbindung brauchen, und wählen Sie dann das eine, das die Frage beantwortet. Halten Sie Beschreibungen kurz, halten Sie konkrete Fakten aus Ihren Anweisungsdateien heraus, und misten Sie aus, was Sie nie feuern.
Wenn Sie genau daran immer wieder scheitern: Locul ist kostenlos zum Starten, mit 500 aktiven Memories, lokaler KI, ohne Kreditkarte, für macOS und Windows. Laden Sie es herunter und richten Sie Claude auf ein Gehirn, das sich selbst aktuell hält, statt auf einen Ordner voller Dateien, die Sie daran denken müssen zu bearbeiten.