Skip to content

Dateistruktur ​

Übersicht ​

Die Dateistruktur von OpenSkills ist in drei Kategorien unterteilt: Skill-Installationsverzeichnis, Skill-Verzeichnisstruktur und AGENTS.md-Synchronisationsdatei. Das Verständnis dieser Strukturen hilft Ihnen dabei, Skills besser zu verwalten und zu nutzen.

Skill-Installationsverzeichnis ​

OpenSkills unterstützt 4 Skill-Installationsorte, die nach Priorität von hoch nach niedrig sortiert sind:

PrioritätSpeicherortBeschreibungWann verwenden
1./.agent/skills/Projektlokal (Universal-Modus)Multi-Agent-Umgebung, vermeidet Konflikte mit Claude Code
2~/.agent/skills/Global (Universal-Modus)Multi-Agent-Umgebung + globale Installation
3./.claude/skills/Projektlokal (Standard)Standardinstallation, projektspezifische Skills
4~/.claude/skills/GlobalSkills, die von allen Projekten gemeinsam genutzt werden

Empfehlungen zur Auswahl:

  • Ein-Agent-Umgebung: Verwenden Sie das Standard-.claude/skills/
  • Multi-Agent-Umgebung: Verwenden Sie .agent/skills/ (--universal-Flag)
  • Projektübergreifende Skills: Verwenden Sie die globale Installation (--global-Flag)

Skill-Verzeichnisstruktur ​

Jeder Skill ist ein eigenständiges Verzeichnis, das die erforderlichen Dateien und optionale Ressourcen enthält:

skill-name/
├── SKILL.md              # Erforderlich: Hauptdatei des Skills
├── .openskills.json      # Erforderlich: Installationsmetadaten (automatisch generiert)
├── references/           # Optional: Referenzdokumentation
│   └── api-docs.md
├── scripts/             # Optional: Ausführbare Skripte
│   └── helper.py
└── assets/              # Optional: Vorlagen und Ausgabedateien
    └── template.json

Dateibeschreibungen ​

SKILL.md (erforderlich) ​

Die Hauptdatei des Skills, die YAML-Frontmatter und Skill-Anweisungen enthält:

yaml
---
name: my-skill
description: Skill-Beschreibung
---

## Skill-Titel

Skill-Anweisungsinhalte...

Wichtige Punkte:

  • Der Dateiname muss SKILL.md lauten (Großschreibung)
  • Das YAML-Frontmatter muss name und description enthalten
  • Der Inhalt verwendet den Imperativ (imperative form)

.openskills.json (erforderlich, automatisch generiert) ​

Von OpenSkills automatisch erstellte Metadatendatei, die die Installationsquelle aufzeichnet:

json
{
  "source": "anthropics/skills",
  "sourceType": "github",
  "repoUrl": "https://github.com/anthropics/skills.git",
  "subpath": "pdf",
  "installedAt": "2026-01-24T12:00:00.000Z"
}

Verwendung:

  • Unterstützt Skill-Updates (openskills update)
  • Zeichnet den Installationszeitstempel auf
  • Verfolgt die Skill-Quelle

Quellposition:

  • src/utils/skill-metadata.ts:29-36 - Metadaten schreiben
  • src/utils/skill-metadata.ts:17-27 - Metadaten lesen

references/ (optional) ​

Speichert Referenzdokumentation und API-Spezifikationen:

references/
├── skill-format.md      # Skill-Format-Spezifikation
├── api-docs.md         # API-Dokumentation
└── best-practices.md   # Bewährte Praktiken

Verwendungsszenarien:

  • Detaillierte technische Dokumentation (um SKILL.md übersichtlich zu halten)
  • API-Referenzhandbücher
  • Beispielcode und Vorlagen

scripts/ (optional) ​

Speichert ausführbare Skripte:

scripts/
├── extract_text.py      # Python-Skript
├── deploy.sh          # Shell-Skript
└── build.js          # Node.js-Skript

Verwendungsszenarien:

  • Automatisierungsskripte, die bei der Skill-Ausführung ausgeführt werden müssen
  • Datenverarbeitung und Konvertierungstools
  • Deployment- und Build-Skripte

assets/ (optional) ​

Speichert Vorlagen und Ausgabedateien:

assets/
├── template.json      # JSON-Vorlage
├── config.yaml       # Konfigurationsdatei
└── output.md        # Beispielausgabe

Verwendungsszenarien:

  • Vorlagen für Inhalte, die vom Skill generiert werden
  • Beispiele für Konfigurationsdateien
  • Beispiele für erwartete Ausgaben

AGENTS.md-Struktur ​

Die vom Befehl openskills sync generierte AGENTS.md-Datei enthält eine Beschreibung des Skill-Systems und eine Liste der verfügbaren Skills:

Vollständiges Format ​

markdown
<skills_system priority="1">

## Available Skills

<!-- SKILLS_TABLE_START -->
<usage>
When users ask you to perform tasks, check if any of the available skills below can help complete the task more effectively.

How to use skills:
- Invoke: `npx openskills read <skill-name>` (run in your shell)
- The skill content will load with detailed instructions
- Base directory provided in output for resolving bundled resources

Usage notes:
- Only use skills listed in <available_skills> below
- Do not invoke a skill that is already loaded in your context
</usage>

<available_skills>

<skill>
<name>pdf</name>
<description>Comprehensive PDF manipulation toolkit for extracting text and tables...</description>
<location>project</location>
</skill>

</available_skills>
<!-- SKILLS_TABLE_END -->

</skills_system>

Komponentenbeschreibung ​

KomponenteBeschreibung
<skills_system>XML-Tag, markiert den Skill-System-Abschnitt
<usage>Anweisungen zur Skill-Nutzung (weist die AI an, wie Skills aufgerufen werden)
<available_skills>Liste der verfügbaren Skills (ein <skill>-Tag pro Skill)
<skill>Informationen zu einem einzelnen Skill (name, description, location)
<!-- SKILLS_TABLE_START -->Startmarke (für die Positionierung bei der Synchronisation)
<!-- SKILLS_TABLE_END -->Endmarke (für die Positionierung bei der Synchronisation)

location-Feld:

  • project - Projektlokale Skills (.claude/skills/ oder .agent/skills/)
  • global - Globale Skills (~/.claude/skills/ oder ~/.agent/skills/)

Verzeichnissuchpriorität ​

OpenSkills durchsucht beim Suchen von Skills die Verzeichnisse in folgender Priorität:

typescript
// Quellposition: src/utils/dirs.ts:18-25
[
  join(process.cwd(), '.agent/skills'),   // 1. Projekt Universal
  join(homedir(), '.agent/skills'),        // 2. Global Universal
  join(process.cwd(), '.claude/skills'),  // 3. Projekt Claude
  join(homedir(), '.claude/skills'),       // 4. Global Claude
]

Regeln:

  • Die Suche wird sofort gestoppt, sobald der erste passende Skill gefunden wurde
  • Projektlokale Skills haben Vorrang vor globalen Skills
  • Universal-Modus hat Vorrang vor Standardmodus

Quellposition: src/utils/skills.ts:30-64 - Implementierung der Suche nach allen Skills

Beispiel: Vollständige Projektstruktur ​

Eine typische Projektstruktur unter Verwendung von OpenSkills:

my-project/
├── AGENTS.md                    # Synchronisierte Skill-Liste
├── .claude/                     # Claude Code-Konfiguration
│   └── skills/                  # Skill-Installationsverzeichnis
│       ├── pdf/
│       │   ├── SKILL.md
│       │   ├── .openskills.json
│       │   ├── references/
│       │   ├── scripts/
│       │   └── assets/
│       └── git-workflow/
│           ├── SKILL.md
│           └── .openskills.json
├── .agent/                      # Universal-Modus-Verzeichnis (optional)
│   └── skills/
│       └── my-custom-skill/
│           ├── SKILL.md
│           └── .openskills.json
├── src/                         # Projekt-Quellcode
├── package.json
└── README.md

Bewährte Praktiken ​

1. Verzeichnisauswahl ​

SzenarioEmpfohlenes VerzeichnisBefehl
Projektspezifische Skills.claude/skills/openskills install repo
Multi-Agent-Gemeinsam genutzt.agent/skills/openskills install repo --universal
Projektübergreifende Nutzung~/.claude/skills/openskills install repo --global

2. Skill-Organisation ​

  • Einzel-Skill-Repository: SKILL.md im Stammverzeichnis
  • Mehrere-Skill-Repository: Unterverzeichnisse enthalten jeweils SKILL.md
  • Symbolische Links: Verwenden Sie während der Entwicklung Symlinks zum lokalen Repository (siehe Symbolische Link-Unterstützung)

3. AGENTS.md-Versionskontrolle ​

  • Empfohlen zu committen: Fügen Sie AGENTS.md der Versionskontrolle hinzu
  • CI-Synchronisation: Führen Sie openskills sync -y in CI/CD aus (siehe CI/CD-Integration)
  • Teamzusammenarbeit: Teammitglieder führen openskills sync synchron aus, um Konsistenz zu gewährleisten

Zusammenfassung ​

Die Dateistruktur von OpenSkills ist einfach und klar gestaltet:

  • 4 Installationsverzeichnisse: Unterstützt projektlokale, globale und Universal-Modus
  • Skill-Verzeichnis: Erforderliche SKILL.md + automatisch generiertes .openskills.json + optionale resources/scripts/assets
  • AGENTS.md: Synchronisierte Skill-Liste, die dem Claude Code-Format entspricht

Das Verständnis dieser Strukturen hilft Ihnen, Skills effizienter zu verwalten und zu nutzen.

Vorschau auf die nächste Lektion ​

In der nächsten Lektion lernen wir das Glossar.

Sie werden lernen:

  • Schlüsselbegriffe in OpenSkills und KI-Skill-Systemen
  • Genaue Definitionen professioneller Konzepte
  • Die Bedeutung häufiger Abkürzungen

Anhang: Quellcode-Referenz ​

Klicken, um Quellcodepositionen anzuzeigen

Aktualisiert am: 2026-01-24

FunktionDateipfadZeilennummer
Verzeichnispfad-Toolssrc/utils/dirs.ts1-25
Skill-Suchesrc/utils/skills.ts30-84
Metadatenverwaltungsrc/utils/skill-metadata.ts1-36

Wichtige Funktionen:

  • getSkillsDir(projectLocal, universal) - Ruft den Pfad zum Skill-Verzeichnis ab
  • getSearchDirs() - Ruft die 4 Suchverzeichnisse ab (nach Priorität)
  • findAllSkills() - Findet alle installierten Skills
  • findSkill(skillName) - Findet den angegebenen Skill
  • readSkillMetadata(skillDir) - Liest Skill-Metadaten
  • writeSkillMetadata(skillDir, metadata) - Schreibt Skill-Metadaten