Skill Management CLI
Meta-Skill zur Verwaltung von oh-my-claudecode-Skills über CLI-ähnliche Befehle.
Unterbefehle
/skill list
Zeige alle verfügbaren Skills, organisiert nach Bereich.
Verhalten:
- Scanne gebündelte Built-in-Skills im Plugin-Verzeichnis
skills/(schreibgeschützt) - Scanne Benutzer-Skills unter
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/ - Scanne Projekt-Skills unter
.omc/skills/ - Analysiere YAML-Frontmatter für Metadaten
- Anzeige in organisierter Tabellenformat:
BUILT-IN-SKILLS (mit oh-my-claudecode gebündelt):
| Name | Beschreibung | Bereich |
|-------------------|---------------------------------|------------|
| visual-verdict | Strukturierte visuelle QA-Urteile | built-in |
| ralph | Persistenzschleife | built-in |
BENUTZER-SKILLS (~/.claude/skills/omc-learned/):
| Name | Trigger | Qualität | Nutzung | Bereich |
|-------------------|-------------------|----------|---------|---------|
| error-handler | fix, error | 95% | 42 | user |
| api-builder | api, endpoint | 88% | 23 | user |
PROJEKT-SKILLS (.omc/skills/):
| Name | Trigger | Qualität | Nutzung | Bereich |
|-------------------|-------------------|----------|---------|-----------|
| test-runner | test, run | 92% | 15 | project |
Fallback: Wenn Qualitäts-/Nutzungsstatistiken nicht verfügbar sind, zeige „N/A“
Hinweis zu Built-in-Skills: Built-in-Skills sind mit oh-my-claudecode gebündelt und können eingesehen/gelesen, aber nicht über /skill remove oder /skill edit entfernt oder bearbeitet werden.
/skill add [name]
Interaktiver Assistent zum Erstellen eines neuen Skills.
Verhalten:
- Nach Skill-Namen fragen (falls nicht im Befehl angegeben)
- Validierung: Kleinbuchstaben, nur Bindestriche, keine Leerzeichen
- Nach Beschreibung fragen
- Klarer, prägnanter Einzeiler
- Nach Triggern fragen (kommagetrennte Schlüsselwörter)
- Beispiel: „error, fix, debug“
- Nach Argument-Hinweis fragen (optional)
- Beispiel: „ [options]“
- Nach Bereich fragen:
user→${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.mdproject→.omc/skills/<name>/SKILL.md
- Skill-Datei erstellen mit Vorlage:
---
name: <name>
description: <description>
triggers:
- <trigger1>
- <trigger2>
argument-hint: "<args>"
---
# <Name> Skill
## Zweck
[Beschreibe, was dieser Skill tut]
## Wann aktivieren
[Beschreibe Trigger und Bedingungen]
## Arbeitsablauf
1. [Schritt 1]
2. [Schritt 2]
3. [Schritt 3]
## Beispiele
/oh-my-claudecode: beispiel-arg
## Hinweise
[Zusätzlicher Kontext, Randfälle, Fallstricke]
- Erfolg melden mit Dateipfad
- Vorschlagen: „Bearbeiten mit
/skill edit <name>zum Anpassen des Inhalts“
Beispiel:
Benutzer: /skill add custom-logger
Assistent: Erstelle neuen Skill 'custom-logger'...
Beschreibung: Erweiterte Protokollierung mit strukturierter Ausgabe
Trigger (kommagetrennt): log, logger, logging
Argument-Hinweis (optional): <level> [message]
Bereich (user/project): user
✓ Skill erstellt unter ~/.claude/skills/omc-learned/custom-logger/SKILL.md
→ Bearbeiten mit: /skill edit custom-logger
/skill remove
Entferne einen Skill anhand des Namens.
Verhalten:
- Nach Skill suchen in beiden Bereichen:
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/SKILL.md.omc/skills/<name>/SKILL.md
- Wenn gefunden:
- Skill-Informationen anzeigen (Name, Beschreibung, Bereich)
- Nach Bestätigung fragen: „''-Skill aus löschen? (ja/nein)“
- Wenn bestätigt:
- Komplettes Skill-Verzeichnis löschen (z. B.
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/<name>/) - Melden: „✓ Skill '' aus entfernt“
- Komplettes Skill-Verzeichnis löschen (z. B.
- Wenn nicht gefunden:
- Melden: „✗ Skill '' nicht im Benutzer- oder Projektbereich gefunden“
Sicherheit: Niemals ohne explizite Benutzerbestätigung löschen.
Beispiel:
Benutzer: /skill remove old-logger
Assistent: Skill 'old-logger' im Benutzerbereich gefunden:
Beschreibung: Legacy-Protokollierungshilfsprogramm
Bereich: user (~/.claude/skills/omc-learned/)
Skill 'old-logger' löschen? (ja/nein)
Benutzer: ja
Assistent: ✓ Skill 'old-logger' aus dem Benutzerbereich entfernt
/skill edit
Bearbeite einen vorhandenen Skill interaktiv.
Verhalten:
- Skill finden anhand des Namens (beide Bereiche durchsuchen)
- Aktuellen Inhalt lesen über Read-Tool
- Aktuelle Werte anzeigen:
Aktueller Skill 'custom-logger': - Beschreibung: Erweiterte Protokollierung mit strukturierter Ausgabe - Trigger: log, logger, logging - Argument-Hinweis: <level> [message] - Bereich: user - Fragen, was geändert werden soll:
description- Beschreibung aktualisierentriggers- Trigger-Schlüsselwörter aktualisierenargument-hint- Argument-Hinweis aktualisierencontent- Vollständigen Markdown-Inhalt bearbeitenrename- Skill umbenennen (Datei verschieben)cancel- Ohne Änderungen beenden
- Für ausgewähltes Feld:
- Aktuellen Wert anzeigen
- Nach neuem Wert fragen
- YAML-Frontmatter oder Inhalt aktualisieren
- Zurück in Datei schreiben
- Erfolg melden mit Zusammenfassung der Änderungen
Beispiel:
Benutzer: /skill edit custom-logger
Assistent: Aktueller Skill 'custom-logger':
- Beschreibung: Erweiterte Protokollierung mit strukturierter Ausgabe
- Trigger: log, logger, logging
- Argument-Hinweis: <level> [message]
Was möchtest du bearbeiten? (description/triggers/argument-hint/content/rename/cancel)
Benutzer: triggers
Assistent: Aktuelle Trigger: log, logger, logging
Neue Trigger (kommagetrennt): log, logger, logging, trace
✓ Trigger für 'custom-logger' aktualisiert
/skill search
Durchsuche Skills nach Inhalt, Triggern, Name oder Beschreibung.
Verhalten:
- Alle Skills scannen in beiden Bereichen
- Query abgleichen (Groß-/Kleinschreibung beachten) gegen:
- Skill-Name
- Beschreibung
- Trigger
- Vollständigen Markdown-Inhalt
- Treffer anzeigen mit Kontext:
3 Skills gefunden, die auf „typescript error“ passen:
1. typescript-fixer (user)
Beschreibung: Behebe häufige TypeScript-Fehler
Treffer: „typescript error handling patterns“
2. error-handler (user)
Beschreibung: Generische Fehlerbehandlungshilfsprogramme
Treffer: „Unterstützt TypeScript- und JavaScript-Fehler“
3. lint-fix (project)
Beschreibung: Korrigiere Linting-Fehler automatisch
Treffer: „TypeScript ESLint-Fehlerbehebung“
Rangfolge: Priorisiere Treffer in Name/Trigger vor Treffern im Inhalt.
Beispiel:
Benutzer: /skill search api endpoint
Assistent: 2 Skills gefunden, die auf „api endpoint“ passen:
1. api-builder (user)
Beschreibung: REST-API-Endpunkte generieren
Trigger: api, endpoint, rest
2. backend-scaffold (project)
Beschreibung: Backend-Dienste gerüsten
Treffer: „Erstellt API-Endpunkt-Boilerplate“
/skill info
Zeige detaillierte Informationen zu einem Skill.
Verhalten:
- Skill finden anhand des Namens (beide Bereiche durchsuchen)
- YAML-Frontmatter und Inhalt analysieren
- Vollständige Details anzeigen:
Skill: custom-logger
Bereich: user (~/.claude/skills/omc-learned/custom-logger/)
Beschreibung: Erweiterte Protokollierung mit strukturierter Ausgabe
Trigger: log, logger, logging
Argument-Hinweis: <level> [message]
Qualität: 95% (falls verfügbar)
Nutzungszähler: 42 Mal (falls verfügbar)
Dateipfad: /home/user/.claude/skills/omc-learned/custom-logger/SKILL.md
--- VOLLSTÄNDIGER INHALT ---
[gesamter Markdown-Inhalt]
Wenn nicht gefunden: Fehler melden mit Vorschlag zur Verwendung von /skill search
Beispiel:
Benutzer: /skill info custom-logger
Assistent: Skill: custom-logger
Bereich: user
Beschreibung: Erweiterte Protokollierung mit strukturierter Ausgabe
Trigger: log, logger, logging
Datei: ~/.claude/skills/omc-learned/custom-logger/SKILL.md
--- INHALT ---
# Custom Logger Skill
## Zweck
Erweiterte Protokollierung mit strukturierter JSON-Ausgabe...
[restlicher Inhalt]
/skill sync
Synchronisiere Skills zwischen Benutzer- und Projektbereich.
Verhalten:
- Beide Bereiche scannen:
- Benutzer-Skills:
${CLAUDE_CONFIG_DIR:-~/.claude}/skills/omc-learned/ - Projekt-Skills:
.omc/skills/
- Benutzer-Skills:
- Vergleichen und kategorisieren:
- Nur-Benutzer-Skills (nicht im Projekt)
- Nur-Projekt-Skills (nicht beim Benutzer)
- Gemeinsame Skills (in beiden)
- Synchronisationsmöglichkeiten anzeigen:
SYNC-BERICHT:
Nur-Benutzer-Skills (5):
- error-handler
- api-builder
- custom-logger
- test-generator
- deploy-helper
Nur-Projekt-Skills (2):
- test-runner
- backend-scaffold
Gemeinsame Skills (3):
- frontend-ui-ux
- git-master
- planner
Optionen:
[1] Benutzerskill ins Projekt kopieren
[2] Projektskill zum Benutzer kopieren
[3] Unterschiede anzeigen
[4] Abbrechen
- Benutzerauswahl verarbeiten:
- Option 1: Skill(s) zum Kopieren ins Projekt auswählen
- Option 2: Skill(s) zum Kopieren zum Benutzer auswählen
- Option 3: Side-by-Side-Diff für gemeinsame Skills anzeigen
- Option 4: Beenden
Sicherheit: Niemals ohne Bestätigung überschreiben.
Beispiel:
Benutzer: /skill sync
Assistent: 5 Nur-Benutzer-Skills und 2 Nur-Projekt-Skills gefunden.
'error-handler' vom Benutzer ins Projekt kopieren? (ja/nein/überspringen)
Benutzer: ja
Assistent: ✓ 'error-handler' nach .omc/skills/ kopiert
'api-builder' vom Benutzer ins Projekt kopieren? (ja/nein/überspringen)
Benutzer: überspringen
...
/skill setup
Interaktiver Assistent zum Einrichten und Verwalten lokaler Skills (ehemals local-skills-setup).
Verhalten:
Schritt 1: Verzeichnisprüfung und -einrichtung
Zunächst prüfen, ob Skill-Verzeichnisse existieren, und diese bei Bedarf erstellen:
# Benutzer-Skill-Verzeichnis prüfen und erstellen
USER_SKILLS_DIR="${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned"
if [ -d "$USER_SKILLS_DIR" ]; then
echo "Benutzer-Skill-Verzeichnis existiert: $USER_SKILLS_DIR"
else
mkdir -p "$USER_SKILLS_DIR"
echo "Benutzer-Skill-Verzeichnis erstellt: $USER_SKILLS_DIR"
fi
# Projekt-Skill-Verzeichnis prüfen und erstellen
PROJECT_SKILLS_DIR=".omc/skills"
if [ -d "$PROJECT_SKILLS_DIR" ]; then
echo "Projekt-Skill-Verzeichnis existiert: $PROJECT_SKILLS_DIR"
else
mkdir -p "$PROJECT_SKILLS_DIR"
echo "Projekt-Skill-Verzeichnis erstellt: $PROJECT_SKILLS_DIR"
fi
Schritt 2: Skill-Scan und Inventar
Beide Verzeichnisse scannen und ein umfassendes Inventar anzeigen:
# Benutzer-Skills scannen
echo "=== BENUTZER-SKILLS (~/.claude/skills/omc-learned/) ==="
if [ -d "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" ]; then
USER_COUNT=$(find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" 2>/dev/null | wc -l)
echo "Skills insgesamt: $USER_COUNT"
if [ $USER_COUNT -gt 0 ]; then
echo ""
echo "Gefundene Skills:"
find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/skills/omc-learned" -name "*.md" -type f -exec sh -c '
FILE="$1"
NAME=$(grep -m1 "^name:" "$FILE" 2>/dev/null | sed "s/name: //")
DESC=$(grep -m1 "^description:" "$FILE" 2>/dev/null | sed "s/description: //")
MODIFIED=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
echo " - $NAME"
[ -n "$DESC" ] && echo " Beschreibung: $DESC"
echo " Geändert: $MODIFIED"
echo ""
' sh {} \;
fi
else
echo "Verzeichnis nicht gefunden"
fi
echo ""
echo "=== PROJEKT-SKILLS (.omc/skills/) ==="
if [ -d ".omc/skills" ]; then
PROJECT_COUNT=$(find ".omc/skills" -name "*.md" 2>/dev/null | wc -l)
echo "Skills insgesamt: $PROJECT_COUNT"
if [ $PROJECT_COUNT -gt 0 ]; then
echo ""
echo "Gefundene Skills:"
find ".omc/skills" -name "*.md" -type f -exec sh -c '
FILE="$1"
NAME=$(grep -m1 "^name:" "$FILE" 2>/dev/null | sed "s/name: //")
DESC=$(grep -m1 "^description:" "$FILE" 2>/dev/null | sed "s/description: //")
MODIFIED=$(stat -c "%y" "$FILE" 2>/dev/null || stat -f "%Sm" "$FILE" 2>/dev/null)
echo " - $NAME"
[ -n "$DESC" ] && echo " Beschreibung: $DESC"
echo " Geändert: $MODIFIED"
echo ""
' sh {} \;
fi
else
echo "Verzeichnis nicht gefunden"
fi
# Zusammenfassung
TOTAL=$((USER_COUNT + PROJECT_COUNT))
echo "=== ZUSAMMENFASSUNG ==="
echo "Skills insgesamt über alle Verzeichnisse: $TOTAL"
Schritt 3: Menü für Schnellaktionen
Nach dem Scannen mit dem AskUserQuestion-Tool diese Optionen anbieten:
Frage: „Was möchtest du mit deinen lokalen Skills tun?“
Optionen:
- Neuen Skill hinzufügen - Skill-Erstellungsassistent starten (
/skill addaufrufen) - Alle Skills mit Details auflisten - Umfassendes Skill-Inventar anzeigen (
/skill listaufrufen) - Konversation auf Muster scannen - Aktuelle Konversation auf skill-würdige Muster analysieren
- Skill importieren - Skill von URL oder durch Einfügen von Inhalt importieren
- Fertig - Assistent beenden
Option 3: Konversation auf Muster scannen
Analysiere den aktuellen Konversationskontext, um potenzielle skill-würdige Muster zu identifizieren. Achte auf:
- Aktuelle Debugging-Sitzungen mit nicht offensichtlichen Lösungen
- Knifflige Bugs, die eine Untersuchung erforderten
- Codebasis-spezifische Workarounds, die entdeckt wurden
- Fehlermuster, deren Behebung Zeit in Anspruch nahm
Ergebnisse melden und fragen, ob der Benutzer daraus Skills extrahieren möchte (/skillify aufrufen; /learner ist aus Kompatibilitätsgründen veraltet).
Option 4: Skill importieren
Benutzer bitten, entweder bereitzustellen:
- URL: Skill von einer URL herunterladen (z. B. GitHub Gist)
- Inhalt einfügen: Skill-Markdown-Inhalt direkt einfügen
Dann nach Bereich fragen:
- Benutzerebene (~/.claude/skills/omc-learned/) - Verfügbar in allen Projekten
- Projektebene (.omc/skills/) - Nur für dieses Projekt
Skill-Format validieren und am gewählten Ort speichern.
/skill scan
Schnellbefehl zum Scannen beider Skill-Verzeichnisse (Teilmenge von /skill setup).
Verhalten:
Den Scan aus Schritt 2 von /skill setup ohne den interaktiven Assistenten ausführen.
Skill-Vorlagen
Beim Erstellen von Skills über /skill add oder /skill setup schnelle Vorlagen für häufige Skill-Typen anbieten:
Fehlerlösungsvorlage
---
id: error-[eindeutige-id]
name: [Fehlername]
description: Lösung für [spezifischer Fehler in spezifischem Kontext]
source: konversation
triggers: ["Fehlermeldungsfragment", "Dateipfad", "Symptom"]
quality: hoch
---
# [Fehlername]
## Die Erkenntnis
Was ist die zugrunde liegende Ursache dieses Fehlers? Welches Prinzip hast du entdeckt?
## Warum das wichtig ist
Was geht schief, wenn du das nicht weißt? Welches Symptom hat hierher geführt?
## Erkennungsmuster
Woran erkennst du, dass dies zutrifft? Was sind die Anzeichen?
- Fehlermeldung: „[exakte Fehlermeldung]“
- Datei: [spezifischer Dateipfad]
- Kontext: [wann tritt dies auf]
## Die Lösung
...