Skip to content

Fehlerbehebung: Häufige OpenSkills-Probleme lösen

Was Sie nach diesem Tutorial können

  • Schnell häufige OpenSkills-Probleme diagnostizieren und beheben
  • Die Gründe hinter Fehlermeldungen verstehen
  • Techniken zur Fehlerbehebung bei Git-Clone, Berechtigungen, Dateiformaten usw. beherrschen
  • Wissen, wann eine Neuinstallation eines Skills erforderlich ist

Ihre aktuelle Situation

Sie sind auf Fehler gestoßen, während Sie OpenSkills verwendet, und wissen nicht, was zu tun ist:

Error: No SKILL.md files found in repository

Oder Git-Clone schlägt fehl, Berechtigungsfehler, falsches Dateiformat... Diese Probleme können alle dazu führen, dass Skills nicht normal funktionieren.

Wann Sie dieses Tutorial lesen sollten

Wenn Sie auf die folgenden Situationen stoßen:

  • Installationsfehler: Fehler bei der Installation von GitHub oder einem lokalen Pfad
  • Lesefehler: openskills read zeigt an, dass der Skill nicht gefunden wurde
  • Synchronisationsfehler: openskills sync zeigt an, dass kein Skill vorhanden ist oder ein Dateiformatfehler aufgetreten ist
  • Update-Fehler: openskills update überspringt bestimmte Skills
  • Berechtigungsfehler: Zeigt an, dass der Pfadzugriff eingeschränkt ist oder ein Sicherheitsfehler aufgetreten ist

Kernkonzept

OpenSkills-Fehler lassen sich hauptsächlich in 4 Kategorien einteilen:

FehlertypHäufige UrsachenLösungsansatz
Git-bezogenNetzwerkprobleme, SSH-Konfiguration, Repository existiert nichtNetzwerk prüfen, Git-Anmeldeinformationen konfigurieren, Repository-Adresse validieren
DateibezogenSKILL.md fehlt, Formatfehler, PfadfehlerDateiexistenz prüfen, YAML-Format validieren
BerechtigungsbezogenVerzeichnisberechtigungen, Pfad-Traversal, symbolische LinksVerzeichnisberechtigungen prüfen, Installationspfad validieren
Metadaten-bezogenMetadatenverlust beim Update, QuellpfadänderungenSkill neu installieren, um Metadaten wiederherzustellen

Fehlerbehebungstipps:

  1. Fehlermeldung lesen: Die rote Ausgabe enthält normalerweise den spezifischen Grund
  2. Gelbe Hinweise beachten: Dies sind normalerweise Warnungen und Vorschläge, wie z.B. Tip: For private repos...
  3. Verzeichnisstruktur prüfen: Mit openskills list installierte Skills anzeigen
  4. Quellcode-Position anzeigen: Fehlermeldungen listen die Suchpfade auf (4 Verzeichnisse)

Installationsfehler

Problem 1: Git-Clone schlägt fehl

Fehlermeldung:

Failed to clone repository
fatal: repository '...' not found
Tip: For private repos, ensure git SSH keys or credentials are configured

Mögliche Ursachen:

UrsacheSzenario
Repository existiert nichtFalsch geschriebener owner/repo
Privates RepositorySSH-Key oder Git-Anmeldeinformationen nicht konfiguriert
NetzwerkproblemKein Zugriff auf GitHub möglich

Lösungsmethoden:

  1. Repository-Adresse validieren:

    bash
    # Repository-URL im Browser aufrufen
    https://github.com/owner/repo
  2. Git-Konfiguration prüfen (privates Repository):

    bash
    # SSH-Konfiguration prüfen
    ssh -T [email protected]
    
    # Git-Anmeldeinformationen konfigurieren
    git config --global credential.helper store
  3. Clone testen:

    bash
    git clone https://github.com/owner/repo.git

Sie sollten sehen:

  • Repository erfolgreich in das lokale Verzeichnis geklont

Problem 2: SKILL.md nicht gefunden

Fehlermeldung:

Error: No SKILL.md files found in repository
Error: No valid SKILL.md files found

Mögliche Ursachen:

UrsacheBeschreibung
Repository hat kein SKILL.mdRepository ist kein Skill-Repository
SKILL.md hat kein FrontmatterYAML-Metadaten fehlen
SKILL.md FormatfehlerYAML-Syntaxfehler

Lösungsmethoden:

  1. Repository-Struktur prüfen:

    bash
    # Repository-Root anzeigen
    ls -la
    
    # Nach SKILL.md suchen
    find . -name "SKILL.md"
  2. SKILL.md-Format validieren:

    markdown
    ---
    name: Skill-Name
    description: Skill-Beschreibung
    ---
    
    Skill-Inhalt...

    Erforderlich:

    • YAML-Frontmatter am Anfang mit ----Trennzeichen
    • Enthält name- und description-Felder
  3. Offizielles Beispiel ansehen:

    bash
    git clone https://github.com/anthropics/skills.git
    cd skills
    ls -la

Sie sollten sehen:

  • Repository enthält eine oder mehrere SKILL.md-Dateien
  • Jede SKILL.md hat ein YAML-Frontmatter am Anfang

Problem 3: Pfad existiert nicht oder ist kein Verzeichnis

Fehlermeldung:

Error: Path does not exist: /path/to/skill
Error: Path must be a directory

Mögliche Ursachen:

UrsacheBeschreibung
Pfad falsch geschriebenFalscher Pfad eingegeben
Pfad zeigt auf DateiSollte Verzeichnis sein, nicht Datei
Pfad nicht erweitert~ muss erweitert werden

Lösungsmethoden:

  1. Pfadexistenz validieren:

    bash
    # Pfad prüfen
    ls -la /path/to/skill
    
    # Prüfen, ob es ein Verzeichnis ist
    file /path/to/skill
  2. Absoluten Pfad verwenden:

    bash
    # Absoluten Pfad ermitteln
    realpath /path/to/skill
    
    # Bei Installation absoluten Pfad verwenden
    openskills install /absolute/path/to/skill
  3. Relativen Pfad verwenden:

    bash
    # Im Projektverzeichnis
    openskills install ./skills/my-skill

Sie sollten sehen:

  • Pfad existiert und ist ein Verzeichnis
  • Verzeichnis enthält eine SKILL.md-Datei

Problem 4: SKILL.md ungültig

Fehlermeldung:

Error: Invalid SKILL.md (missing YAML frontmatter)

Mögliche Ursachen:

UrsacheBeschreibung
Erforderliche Felder fehlenMuss name und description enthalten
YAML-SyntaxfehlerFormatierungsprobleme mit Doppelpunkten, Anführungszeichen

Lösungsmethoden:

  1. YAML-Frontmatter prüfen:

    markdown
    ---              ← Start-Trennzeichen
    name: my-skill   ← Erforderlich
    description: Skill-Beschreibung  ← Erforderlich
    ---              ← End-Trennzeichen
  2. Online-YAML-Validierungswerkzeug verwenden:

    • YAML Lint oder ähnliches Tool besuchen, um Syntax zu validieren
  3. Offizielles Beispiel referenzieren:

    bash
    openskills install anthropics/skills
    cat .claude/skills/*/SKILL.md | head -20

Sie sollten sehen:

  • SKILL.md hat korrektes YAML-Frontmatter am Anfang
  • Enthält name- und description-Felder

Problem 5: Pfad-Traversal-Sicherheitsfehler

Fehlermeldung:

Security error: Installation path outside target directory

Mögliche Ursachen:

UrsacheBeschreibung
Skill-Name enthält ..Versucht, auf Pfad außerhalb des Zielverzeichnisses zuzugreifen
Symbolischer Link zeigt nach außenSymlink zeigt außerhalb des Zielverzeichnisses
Bösartiger SkillSkill versucht, Sicherheitsbeschränkungen zu umgehen

Lösungsmethoden:

  1. Skill-Namen prüfen:

    • Sicherstellen, dass der Skill-Name keine .., / oder anderen Sonderzeichen enthält
  2. Symbolische Links prüfen:

    bash
    # Symbolische Links im Skill-Verzeichnis anzeigen
    find .claude/skills/skill-name -type l
    
    # Ziel des symbolischen Links anzeigen
    ls -la .claude/skills/skill-name
  3. Sichere Skills verwenden:

    • Nur aus vertrauenswürdigen Quellen installieren
    • Skill-Code vor der Installation überprüfen

Sie sollten sehen:

  • Skill-Name enthält nur Buchstaben, Zahlen, Bindestriche
  • Keine nach außen zeigenden symbolischen Links

Lesefehler

Problem 6: Skill nicht gefunden

Fehlermeldung:

Error: Skill(s) not found: my-skill

Searched:
  .agent/skills/ (project universal)
  ~/.agent/skills/ (global universal)
  .claude/skills/ (project)
  ~/.claude/skills/ (global)

Install skills: npx openskills install owner/repo

Mögliche Ursachen:

UrsacheBeschreibung
Skill nicht installiertDer Skill ist in keinem Verzeichnis installiert
Falsch geschriebener Skill-NameName stimmt nicht überein
Installation an anderem OrtSkill in einem nicht standardmäßigen Verzeichnis installiert

Lösungsmethoden:

  1. Installierte Skills anzeigen:

    bash
    openskills list
  2. Skill-Namen prüfen:

    • Mit openskills list Ausgabe vergleichen
    • Sicherstellen, dass der Name exakt übereinstimmt (Groß-/Kleinschreibung beachten)
  3. Fehlenden Skill installieren:

    bash
    openskills install owner/repo
  4. Alle Verzeichnisse durchsuchen:

    bash
    # 4 Skill-Verzeichnisse prüfen
    ls -la .agent/skills/
    ls -la ~/.agent/skills/
    ls -la .claude/skills/
    ls -la ~/.claude/skills/

Sie sollten sehen:

  • openskills list zeigt den Ziel-Skill an
  • Skill existiert in einem der 4 Verzeichnisse

Problem 7: Kein Skill-Name angegeben

Fehlermeldung:

Error: No skill names provided

Mögliche Ursachen:

UrsacheBeschreibung
Parameter vergessenKein Parameter nach openskills read
Leerer StringLeerer String übergeben

Lösungsmethoden:

  1. Skill-Namen angeben:

    bash
    # Einzelner Skill
    openskills read my-skill
    
    # Mehrere Skills (durch Komma getrennt)
    openskills read skill1,skill2,skill3
  2. Verfügbare Skills zuerst anzeigen:

    bash
    openskills list

Sie sollten sehen:

  • Skill-Inhalt erfolgreich in die Standardausgabe gelesen

Synchronisationsfehler

Problem 8: Ausgabedatei ist keine Markdown-Datei

Fehlermeldung:

Error: Output file must be a markdown file (.md)

Mögliche Ursachen:

UrsacheBeschreibung
Ausgabedatei ist keine .mdFormat wie .txt, .json angegeben
--output Parameter falschPfad endet nicht mit .md

Lösungsmethoden:

  1. .md-Datei verwenden:

    bash
    # Korrekt
    openskills sync -o AGENTS.md
    openskills sync -o custom.md
    
    # Falsch
    openskills sync -o AGENTS.txt
    openskills sync -o AGENTS
  2. Benutzerdefinierten Ausgabepfad verwenden:

    bash
    # In Unterverzeichnis ausgeben
    openskills sync -o .ruler/AGENTS.md
    openskills sync -o docs/agents.md

Sie sollten sehen:

  • .md-Datei erfolgreich generiert
  • Datei enthält Skill-XML-Abschnitte

Problem 9: Keine Skills installiert

Fehlermeldung:

No skills installed. Install skills first:
  npx openskills install anthropics/skills --project

Mögliche Ursachen:

UrsacheBeschreibung
Noch nie Skills installiertErstmalige OpenSkills-Verwendung
Skill-Verzeichnis gelöschtSkill-Dateien manuell gelöscht

Lösungsmethoden:

  1. Skills installieren:

    bash
    # Offizielle Skills installieren
    openskills install anthropics/skills
    
    # Aus anderem Repository installieren
    openskills install owner/repo
  2. Installation verifizieren:

    bash
    openskills list

Sie sollten sehen:

  • openskills list zeigt mindestens einen Skill an
  • Synchronisation erfolgreich

Update-Fehler

Problem 10: Keine Quell-Metadaten

Fehlermeldung:

Skipped: my-skill (no source metadata; re-install once to enable updates)

Mögliche Ursachen:

UrsacheBeschreibung
Mit alter Version installiertSkill vor der Metadaten-Funktion installiert
Manuell kopiertSkill-Verzeichnis direkt kopiert, nicht über OpenSkills installiert
Metadaten-Datei beschädigt.openskills.json beschädigt oder verloren

Lösungsmethoden:

  1. Skill neu installieren:

    bash
    # Alten Skill löschen
    openskills remove my-skill
    
    # Neu installieren
    openskills install owner/repo
  2. Metadaten-Datei prüfen:

    bash
    # Skill-Metadaten anzeigen
    cat .claude/skills/my-skill/.openskills.json
  3. Skill behalten, aber Metadaten hinzufügen:

    • .openskills.json manuell erstellen (nicht empfohlen)
    • Neuinstallation ist einfacher und zuverlässiger

Sie sollten sehen:

  • Update erfolgreich, keine Überspring-Warnungen

Problem 11: Lokale Quelle fehlt

Fehlermeldung:

Skipped: my-skill (local source missing)

Mögliche Ursachen:

UrsacheBeschreibung
Lokaler Pfad verschobenQuellverzeichnis hat Position geändert
Lokaler Pfad gelöschtQuellverzeichnis existiert nicht mehr
Pfad nicht erweitert~ verwendet, aber Metadaten speichern erweiterten Pfad

Lösungsmethoden:

  1. Lokalen Pfad in Metadaten prüfen:

    bash
    cat .claude/skills/my-skill/.openskills.json
  2. Quellverzeichnis wiederherstellen oder Metadaten aktualisieren:

    bash
    # Wenn sich das Quellverzeichnis verschoben hat
    openskills remove my-skill
    openskills install /new/path/to/skill
    
    # Oder Metadaten manuell bearbeiten (nicht empfohlen)
    vi .claude/skills/my-skill/.openskills.json

Sie sollten sehen:

  • Lokaler Quellpfad existiert und enthält SKILL.md

Problem 12: SKILL.md nicht im Repository gefunden

Fehlermeldung:

SKILL.md missing for my-skill
Skipped: my-skill (SKILL.md not found in repo at subpath)

Mögliche Ursachen:

UrsacheBeschreibung
Repository-Struktur geändertSkill-Unterpfad oder Name geändert
Skill gelöschtSkill nicht mehr im Repository enthalten
Unterpfad falschIn Metadaten aufgezeichneter Unterpfad inkorrekt

Lösungsmethoden:

  1. Repository-Struktur ansehen:

    bash
    # Repository klonen und ansehen
    git clone https://github.com/owner/repo.git
    cd repo
    ls -la
    find . -name "SKILL.md"
  2. Skill neu installieren:

    bash
    openskills remove my-skill
    openskills install owner/repo/subpath
  3. Repository-Update-Verlauf prüfen:

    • Commit-Verlauf des Repositories auf GitHub ansehen
    • Nach Datensätzen von Skill-Verschiebungen oder -Löschungen suchen

Sie sollten sehen:

  • Update erfolgreich
  • SKILL.md existiert im aufgezeichneten Unterpfad

Berechtigungsprobleme

Problem 13: Verzeichnisberechtigungen eingeschränkt

Symptome:

OperationSymptom
Installation schlägt fehlBerechtigungsfehler angezeigt
Löschung schlägt fehlKann Datei nicht löschen angezeigt
Lesen schlägt fehlDateizugriff eingeschränkt angezeigt

Mögliche Ursachen:

UrsacheBeschreibung
Unzureichende VerzeichnisberechtigungenBenutzer hat keine Schreibberechtigung
Unzureichende DateiberechtigungenDatei ist schreibgeschützt
SystemschutzmacOS SIP, Windows UAC-Einschränkungen

Lösungsmethoden:

  1. Verzeichnisberechtigungen prüfen:

    bash
    # Berechtigungen anzeigen
    ls -la .claude/skills/
    
    # Berechtigungen ändern (vorsichtig verwenden)
    chmod -R 755 .claude/skills/
  2. Sudo verwenden (nicht empfohlen):

    bash
    # Letzter Ausweg
    sudo openskills install owner/repo
  3. Systemsicherheit prüfen:

    bash
    # macOS: SIP-Status prüfen
    csrutil status
    
    # Zum Deaktivieren von SIP (Wiederherstellungsmodus erforderlich)
    # Nicht empfohlen, nur bei Bedarf verwenden

Sie sollten sehen:

  • Normales Lesen/Schreiben von Verzeichnissen und Dateien

Symptome:

SymptomBeschreibung
Skill wird beim Auflisten übersprungenopenskills list zeigt den Skill nicht an
Lesen schlägt fehlZeigt an, dass Datei nicht existiert
Update schlägt fehlQuellpfad ungültig

Mögliche Ursachen:

UrsacheBeschreibung
Zielverzeichnis gelöschtSymbolischer Link zeigt auf nicht existierenden Pfad
Symbolischer Link beschädigtLink-Datei selbst beschädigt
Geräteübergreifender LinkEinige Systeme unterstützen keine geräteübergreifenden symbolischen Links

Lösungsmethoden:

  1. Symbolische Links prüfen:

    bash
    # Alle symbolischen Links finden
    find .claude/skills -type l
    
    # Link-Ziel anzeigen
    ls -la .claude/skills/my-skill
    
    # Link testen
    readlink .claude/skills/my-skill
  2. Beschädigte symbolische Links löschen:

    bash
    openskills remove my-skill
  3. Neu installieren:

    bash
    openskills install owner/repo

Sie sollten sehen:

  • Keine beschädigten symbolischen Links
  • Skill wird normal angezeigt und gelesen

Stolperfallen-Warnung

Häufige Fehleroperationen

❌ Nicht tun:

  • Skill-Verzeichnis direkt kopieren → Führt zu fehlenden Metadaten, Update schlägt fehl
  • .openskills.json manuell bearbeiten → Einfaches Zerstören des Formats, Update schlägt fehl
  • sudo zum Installieren von Skills verwenden → Erstellt root-eigene Dateien, nachfolgende Operationen erfordern möglicherweise sudo
  • .openskills.json löschen → Führt dazu, dass der Skill beim Update übersprungen wird

✅ Tun:

  • Installation über openskills install → Metadaten werden automatisch erstellt
  • Löschung über openskills remove → Dateien werden korrekt bereinigt
  • Update über openskills update → Automatische Aktualisierung aus der Quelle
  • Überprüfung über openskills list → Skill-Status bestätigen

Fehlerbehebungstipps

  1. Einfach anfangen: Führen Sie zuerst openskills list aus, um den Status zu bestätigen
  2. Vollständige Fehlermeldung lesen: Gelbe Hinweise enthalten normalerweise Lösungsvorschläge
  3. Verzeichnisstruktur prüfen: Mit ls -la Dateien und Berechtigungen anzeigen
  4. Quellcode-Position validieren: Fehlermeldungen listen 4 Suchverzeichnisse auf
  5. -y zum Überspringen von Interaktionen verwenden: In CI/CD oder Skripten -y-Flag verwenden

Zusammenfassung dieser Lektion

In dieser Lektion haben Sie gelernt, häufige OpenSkills-Probleme zu beheben und zu reparieren:

ProblemtypWichtige Lösungsmethode
Git-Clone schlägt fehlNetzwerk prüfen, Anmeldeinformationen konfigurieren, Repository-Adresse validieren
SKILL.md nicht gefundenRepository-Struktur prüfen, YAML-Format validieren
LesefehlerSkill-Status mit openskills list prüfen
Update schlägt fehlSkill neu installieren, um Metadaten wiederherzustellen
BerechtigungsproblemVerzeichnisberechtigungen prüfen, sudo vermeiden

Merken Sie sich:

  • Fehlermeldungen enthalten normalerweise klare Hinweise
  • Neuinstallation ist die einfachste Methode, um Metadatenprobleme zu lösen
  • Nur aus vertrauenswürdigen Quellen installieren

Nächste Schritte


Anhang: Quellcode-Referenz

Klicken Sie, um Quellcode-Position anzuzeigen

Aktualisiert: 2026-01-24

FunktionDateipfadZeilennummer
Git-Clone-Fehlerbehandlungsrc/commands/install.ts162-168
Pfad-existiert-nicht-Fehlersrc/commands/install.ts205-207
Kein-Verzeichnis-Fehlersrc/commands/install.ts210-213
SKILL.md ungültigsrc/commands/install.ts241-243
Pfad-Traversal-Sicherheitsfehlersrc/commands/install.ts256-259
SKILL.md nicht gefundensrc/commands/install.ts378-380
Kein Skill-Name angegebensrc/commands/read.ts10-12
Skill nicht gefundensrc/commands/read.ts26-34
Ausgabedatei ist keine Markdown-Dateisrc/commands/sync.ts23-25
Keine Skills installiertsrc/commands/sync.ts40-43
Keine Quell-Metadaten übersprungensrc/commands/update.ts57-61
Lokale Quelle fehltsrc/commands/update.ts66-71
SKILL.md nicht im Repository gefundensrc/commands/update.ts102-107

Wichtige Funktionen:

  • hasValidFrontmatter(content): Validiert, ob SKILL.md gültiges YAML-Frontmatter hat
  • isPathInside(targetPath, targetDir): Validiert, ob Pfad innerhalb des Zielverzeichnisses ist (Sicherheitsprüfung)
  • findSkill(name): Sucht Skill mit Priorität in 4 Verzeichnissen
  • readSkillMetadata(path): Liest Installationsquellen-Metadaten des Skills

Wichtige Konstanten:

  • Suchverzeichnis-Reihenfolge (src/utils/skills.ts):
    1. .agent/skills/ (Projekt universal)
    2. ~/.agent/skills/ (Global universal)
    3. .claude/skills/ (Projekt)
    4. ~/.claude/skills/ (Global)