Marktplatz-Veröffentlichungs-Workflow
Diese Skill dokumentiert, wie Skills und Agents im dotnet-skills Claude Code Marktplatz veröffentlicht werden.
Repository-Struktur
dotnet-skills/
├── .claude-plugin/
│ ├── marketplace.json # Marktplatzkatalog
│ └── plugin.json # Plugin-Metadaten + Skill/Agent-Registry
├── .github/workflows/
│ └── release.yml # Release-Automatisierung
├── skills/
│ ├── akka/ # Akka.NET Skills
│ │ ├── best-practices/SKILL.md
│ │ ├── testing-patterns/SKILL.md
│ │ └── ...
│ ├── aspire/ # .NET Aspire Skills
│ ├── csharp/ # C#-Sprach-Skills
│ ├── testing/ # Test-Framework-Skills
│ └── meta/ # Meta-Skills
├── agents/
│ └── *.md # Agent-Definitionen
└── scripts/
└── validate-marketplace.sh
Hinzufügen eines neuen Skills
Schritt 1: Kategorie wählen
Skills sind nach Domänen organisiert:
| Kategorie | Zweck |
|---|---|
akka/ | Akka.NET-Actor-Patterns, Testen, Clustering |
aspire/ | .NET Aspire-Orchestrierung, Testen, Konfiguration |
csharp/ | C#-Sprachfeatures, Codierungsstandards |
testing/ | Test-Frameworks (xUnit, Playwright, Testcontainers) |
meta/ | Meta-Skills über diesen Marktplatz |
Erstelle einen neuen Kategorieordner, falls keiner passt.
Schritt 2: Skill-Ordner erstellen
Erstelle einen Ordner mit SKILL.md darin:
skills/<kategorie>/<skill-name>/SKILL.md
Beispiel: skills/akka/cluster-sharding/SKILL.md
Schritt 3: SKILL.md schreiben
---
name: my-new-skill
description: Kurze Beschreibung, was dieser Skill tut und wann er verwendet werden soll.
---
# Mein neuer Skill
## Wann dieser Skill verwendet werden soll
Verwende diesen Skill, wenn:
- [Spezifische Szenarien auflisten]
---
## Inhalt
[Umfassender Leitfaden mit Beispielen, Patterns und Anti-Patterns]
Anforderungen:
namemuss kleingeschrieben sein und Bindestriche verwenden (z. B.cluster-sharding)descriptionsollte 1-2 Sätze umfassen und erklären, wann Claude diesen Skill verwenden soll- Der Inhalt sollte 10-40 KB umfassen und das Thema umfassend abdecken
- Konkrete Codebeispiele mit modernen C#-Patterns einfügen
Schritt 4: In plugin.json registrieren
Füge den Skill-Pfad in .claude-plugin/plugin.json im skills-Array hinzu:
{
"skills": [
"./skills/akka/best-practices",
"./skills/akka/cluster-sharding" // Neuen Skill hier hinzufügen
]
}
Schritt 5: Validieren
Führe das Validierungsskript aus:
./scripts/validate-marketplace.sh
Schritt 6: Zusammen committen
git add skills/akka/cluster-sharding/ .claude-plugin/plugin.json
git commit -m "Füge Skill für Akka.NET Cluster-Sharding-Patterns hinzu"
Hinzufügen eines neuen Agents
Schritt 1: Agent-Datei erstellen
Erstelle eine Markdown-Datei in /agents/:
---
name: my-agent-name
description: Experte in [Domäne]. Spezialisiert auf [spezifische Bereiche]. Verwende für [Szenarien].
model: sonnet
color: blue
---
Du bist ein [Domänen]-Spezialist mit tiefer Expertise in [Bereichen].
**Referenzmaterialien:**
- [Offizielle Dokumentation und Ressourcen]
**Kernkompetenzbereiche:**
[Liste der Kompetenzbereiche]
**Diagnostischer Ansatz:**
[Wie der Agent Probleme analysiert]
Anforderungen:
namemuss kleingeschrieben sein und Bindestriche verwendenmodelmuss einer der folgenden sein:haiku,sonnet,opuscolorist optional (wird für die UI-Anzeige verwendet)
Schritt 2: In plugin.json registrieren
Füge zum agents-Array hinzu:
{
"agents": [
"./agents/akka-net-specialist",
"./agents/my-agent-name" // Neuen Agent hier hinzufügen
]
}
Schritt 3: Zusammen committen
git add agents/my-agent-name.md .claude-plugin/plugin.json
git commit -m "Füge Agent my-agent-name für [Domänen]-Expertise hinzu"
Veröffentlichen eines Releases
Versionierung
Aktualisiere die Version in .claude-plugin/plugin.json:
{
"version": "1.1.0"
}
Verwende semantische Versionierung (MAJOR.MINOR.PATCH):
- MAJOR: Bahnbrechende Änderungen (umbenannte/entfernte Skills)
- MINOR: Neue Skills oder Agents hinzugefügt
- PATCH: Korrekturen oder Verbesserungen an bestehenden Inhalten
Release-Prozess
-
Version in plugin.json aktualisieren
-
Validieren
./scripts/validate-marketplace.sh -
Versionierungs-Commit erstellen
git add .claude-plugin/plugin.json git commit -m "Erhöhe Version auf 1.1.0" -
Tag erstellen und pushen
git tag v1.1.0 git push origin master --tags -
GitHub Actions wird automatisch:
- Die Marktplatz-Struktur validieren
- Ein GitHub-Release mit automatisch generierten Notizen erstellen
Benutzerinstallation
Benutzer installieren das gesamte Plugin (alle Skills und Agents):
# Marktplatz hinzufügen (einmalig)
/plugin marketplace add Aaronontheweb/dotnet-skills
# Plugin installieren (holt alles)
/plugin install dotnet-skills
# Auf die neueste Version aktualisieren
/plugin marketplace update
Validierungs-Checkliste
Vor dem Committen:
- SKILL.md hat gültiges YAML-Frontmatter mit
nameunddescription - Skill-Ordner befindet sich in der passenden Kategorie
- Pfad zum
plugin.json-Skills-Array hinzugefügt - Für Agents:
modelist angegeben (haiku/sonnet/opus) -
./scripts/validate-marketplace.shläuft erfolgreich durch
Fehlerbehebung
Skill erscheint nach Installation nicht
- Überprüfe, ob der Pfad in plugin.json der Ordnerstruktur entspricht
- Stelle sicher, dass SKILL.md im Ordner existiert
- Versuche eine Neuinstallation:
/plugin uninstall dotnet-skills && /plugin install dotnet-skills
Validierungsfehler
- Stelle sicher, dass JSON gültig ist:
jq . .claude-plugin/plugin.json - Überprüfe auf nachstehende Kommas in Arrays
- Verifiziere, dass alle referenzierten Ordner SKILL.md enthalten
Release wurde nicht erstellt
- Stelle sicher, dass der Tag dem Semver-Format folgt (
v1.0.0) - Überprüfe die GitHub Actions-Logs auf Fehler
- Verifiziere, dass die plugin.json-Version mit dem Tag übereinstimmt