Eingebaute Slash-Befehle

BefehlZweck
/add-dirZusätzliche Arbeitsverzeichnisse hinzufügen
/agentsBenutzerdefinierte KI-Subagenten für spezialisierte Aufgaben verwalten
/bugFehler melden (sendet Unterhaltung an Anthropic)
/clearUnterhaltungsverlauf löschen
/compact [instructions]Unterhaltung komprimieren mit optionalen Fokus-Anweisungen
/configKonfiguration anzeigen/ändern
/costToken-Nutzungsstatistiken anzeigen (siehe Kostenverfolgungsleitfaden für abonnementspezifische Details)
/doctorÜberprüft die Gesundheit Ihrer Claude Code-Installation
/helpNutzungshilfe erhalten
/initProjekt mit CLAUDE.md-Leitfaden initialisieren
/loginAnthropic-Konten wechseln
/logoutVon Ihrem Anthropic-Konto abmelden
/mcpMCP-Serververbindungen und OAuth-Authentifizierung verwalten
/memoryCLAUDE.md-Speicherdateien bearbeiten
/modelKI-Modell auswählen oder ändern
/permissionsBerechtigungen anzeigen oder aktualisieren
/pr_commentsPull-Request-Kommentare anzeigen
/reviewCode-Review anfordern
/statusKonto- und Systemstatus anzeigen
/terminal-setupShift+Enter-Tastenbindung für Zeilenumbrüche installieren (nur iTerm2 und VSCode)
/vimVim-Modus für abwechselnde Einfüge- und Befehlsmodi aktivieren

Benutzerdefinierte Slash-Befehle

Benutzerdefinierte Slash-Befehle ermöglichen es Ihnen, häufig verwendete Prompts als Markdown-Dateien zu definieren, die Claude Code ausführen kann. Befehle sind nach Geltungsbereich (projektspezifisch oder persönlich) organisiert und unterstützen Namensräume durch Verzeichnisstrukturen.

Syntax

/<befehlsname> [argumente]

Parameter

ParameterBeschreibung
<befehlsname>Name abgeleitet vom Markdown-Dateinamen (ohne .md-Erweiterung)
[argumente]Optionale Argumente, die an den Befehl übergeben werden

Befehlstypen

Projektbefehle

Befehle, die in Ihrem Repository gespeichert und mit Ihrem Team geteilt werden. Wenn sie in /help aufgelistet werden, zeigen diese Befehle “(project)” nach ihrer Beschreibung.

Ort: .claude/commands/

Im folgenden Beispiel erstellen wir den /optimize-Befehl:

# Einen Projektbefehl erstellen
mkdir -p .claude/commands
echo "Analysiere diesen Code auf Leistungsprobleme und schlage Optimierungen vor:" > .claude/commands/optimize.md

Persönliche Befehle

Befehle, die in allen Ihren Projekten verfügbar sind. Wenn sie in /help aufgelistet werden, zeigen diese Befehle “(user)” nach ihrer Beschreibung.

Ort: ~/.claude/commands/

Im folgenden Beispiel erstellen wir den /security-review-Befehl:

# Einen persönlichen Befehl erstellen
mkdir -p ~/.claude/commands
echo "Überprüfe diesen Code auf Sicherheitslücken:" > ~/.claude/commands/security-review.md

Funktionen

Namensräume

Organisieren Sie Befehle in Unterverzeichnissen. Die Unterverzeichnisse werden zur Organisation verwendet und erscheinen in der Befehlsbeschreibung, aber sie beeinflussen nicht den Befehlsnamen selbst. Die Beschreibung zeigt, ob der Befehl aus dem Projektverzeichnis (.claude/commands) oder dem Benutzerebenenverzeichnis (~/.claude/commands) stammt, zusammen mit dem Unterverzeichnisnamen.

Konflikte zwischen Benutzer- und Projektebenen-Befehlen werden nicht unterstützt. Ansonsten können mehrere Befehle mit demselben Basis-Dateinamen koexistieren.

Zum Beispiel erstellt eine Datei unter .claude/commands/frontend/component.md den Befehl /component mit einer Beschreibung, die “(project:frontend)” zeigt. Währenddessen erstellt eine Datei unter ~/.claude/commands/component.md den Befehl /component mit einer Beschreibung, die “(user)” zeigt.

Argumente

Übergeben Sie dynamische Werte an Befehle mit Argument-Platzhaltern:

Alle Argumente mit $ARGUMENTS

Der $ARGUMENTS-Platzhalter erfasst alle an den Befehl übergebenen Argumente:

# Befehlsdefinition
echo 'Behebe Problem #$ARGUMENTS gemäß unseren Codierungsstandards' > .claude/commands/fix-issue.md

# Verwendung
> /fix-issue 123 high-priority
# $ARGUMENTS wird zu: "123 high-priority"
Einzelne Argumente mit $1, $2, usw.

Greifen Sie auf spezifische Argumente einzeln zu, indem Sie Positionsparameter verwenden (ähnlich wie Shell-Skripte):

# Befehlsdefinition  
echo 'Überprüfe PR #$1 mit Priorität $2 und weise zu $3 zu' > .claude/commands/review-pr.md

# Verwendung
> /review-pr 456 high alice
# $1 wird zu "456", $2 wird zu "high", $3 wird zu "alice"

Verwenden Sie Positionsargumente, wenn Sie:

  • Auf Argumente einzeln in verschiedenen Teilen Ihres Befehls zugreifen müssen
  • Standardwerte für fehlende Argumente bereitstellen möchten
  • Strukturiertere Befehle mit spezifischen Parameterrollen erstellen möchten

Bash-Befehlsausführung

Führen Sie Bash-Befehle aus, bevor der Slash-Befehl läuft, indem Sie das !-Präfix verwenden. Die Ausgabe wird in den Befehlskontext einbezogen. Sie müssen allowed-tools mit dem Bash-Tool einschließen, aber Sie können die spezifischen Bash-Befehle auswählen, die erlaubt werden sollen.

Zum Beispiel:

---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
description: Einen Git-Commit erstellen
---

## Kontext

- Aktueller Git-Status: !`git status`
- Aktueller Git-Diff (staged und unstaged Änderungen): !`git diff HEAD`
- Aktueller Branch: !`git branch --show-current`
- Letzte Commits: !`git log --oneline -10`

## Ihre Aufgabe

Basierend auf den obigen Änderungen, erstellen Sie einen einzelnen Git-Commit.

Dateireferenzen

Schließen Sie Dateiinhalte in Befehle ein, indem Sie das @-Präfix verwenden, um Dateien und Verzeichnisse zu referenzieren.

Zum Beispiel:

# Eine spezifische Datei referenzieren

Überprüfen Sie die Implementierung in @src/utils/helpers.js

# Mehrere Dateien referenzieren

Vergleichen Sie @src/old-version.js mit @src/new-version.js

Denkmodus

Slash-Befehle können erweiterte Denkprozesse auslösen, indem sie erweiterte Denkschlüsselwörter einschließen.

Frontmatter

Befehlsdateien unterstützen Frontmatter, nützlich für die Angabe von Metadaten über den Befehl:

FrontmatterZweckStandard
allowed-toolsListe der Tools, die der Befehl verwenden kannErbt von der Unterhaltung
argument-hintDie für den Slash-Befehl erwarteten Argumente. Beispiel: argument-hint: add [tagId] | remove [tagId] | list. Dieser Hinweis wird dem Benutzer beim automatischen Vervollständigen des Slash-Befehls angezeigt.Keine
descriptionKurze Beschreibung des BefehlsVerwendet die erste Zeile aus dem Prompt
modelSpezifische Modellzeichenkette (siehe Modellübersicht)Erbt von der Unterhaltung

Zum Beispiel:

---
allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*)
argument-hint: [nachricht]
description: Einen Git-Commit erstellen
model: claude-3-5-haiku-20241022
---

Erstelle einen Git-Commit mit Nachricht: $ARGUMENTS

Beispiel mit Positionsargumenten:

---
argument-hint: [pr-nummer] [priorität] [zugewiesener]
description: Pull-Request überprüfen
---

Überprüfe PR #$1 mit Priorität $2 und weise zu $3 zu.
Fokussiere auf Sicherheit, Leistung und Code-Stil.

MCP-Slash-Befehle

MCP-Server können Prompts als Slash-Befehle bereitstellen, die in Claude Code verfügbar werden. Diese Befehle werden dynamisch von verbundenen MCP-Servern entdeckt.

Befehlsformat

MCP-Befehle folgen dem Muster:

/mcp__<server-name>__<prompt-name> [argumente]

Funktionen

Dynamische Entdeckung

MCP-Befehle sind automatisch verfügbar, wenn:

  • Ein MCP-Server verbunden und aktiv ist
  • Der Server Prompts über das MCP-Protokoll bereitstellt
  • Die Prompts während der Verbindung erfolgreich abgerufen werden

Argumente

MCP-Prompts können vom Server definierte Argumente akzeptieren:

# Ohne Argumente
> /mcp__github__list_prs

# Mit Argumenten
> /mcp__github__pr_review 456
> /mcp__jira__create_issue "Bug-Titel" high

Namenskonventionen

  • Server- und Prompt-Namen werden normalisiert
  • Leerzeichen und Sonderzeichen werden zu Unterstrichen
  • Namen werden für Konsistenz kleingeschrieben

MCP-Verbindungen verwalten

Verwenden Sie den /mcp-Befehl, um:

  • Alle konfigurierten MCP-Server anzuzeigen
  • Verbindungsstatus zu überprüfen
  • Mit OAuth-fähigen Servern zu authentifizieren
  • Authentifizierungstoken zu löschen
  • Verfügbare Tools und Prompts von jedem Server anzuzeigen

MCP-Berechtigungen und Wildcards

Bei der Konfiguration von Berechtigungen für MCP-Tools beachten Sie, dass Wildcards nicht unterstützt werden:

  • Korrekt: mcp__github (genehmigt ALLE Tools vom Github-Server)
  • Korrekt: mcp__github__get_issue (genehmigt spezifisches Tool)
  • Falsch: mcp__github__* (Wildcards nicht unterstützt)

Um alle Tools von einem MCP-Server zu genehmigen, verwenden Sie nur den Servernamen: mcp__servername. Um nur spezifische Tools zu genehmigen, listen Sie jedes Tool einzeln auf.

Siehe auch