Skill Builder — Gerüst & Generierung
Prozess
Schritt 1: Eingaben sammeln
Bestimmen, woraus wir bauen:
- Plan-Dokument: Ausgabe von
/skill-forge plan(bevorzugt) - Beschreibung: Natürlichsprachliche Beschreibung des Skills
- Vorhandener Skill: Pfad zu einem Skill, der als Grundlage dient
Wenn kein Plan existiert, eine kurze Planungsrunde durchführen (3 Schlüsselfragen stellen):
- Was macht der Skill? (1-2 Sätze)
- Welche Befehle soll er haben? (Liste)
- Benötigt er Skripte oder externe Tools? (ja/nein)
Schritt 2: Frontmatter generieren
Der kritischste Schritt. Das Beschreibungsfeld bestimmt die Aktivierung.
Rahmen für Beschreibungen:
[Fähigkeitsaussage] + [Detaillierte Fähigkeiten] + [Auslösephrasen]
Regeln:
- Unter 1024 Zeichen insgesamt
- Keine XML-Winkelklammern (< >)
- 5-10 Auslösephrasen enthalten, die Benutzer sagen würden
- Dateitypen erwähnen, falls relevant
- Negative Auslöser hinzufügen, falls Risiko von Überaktivierung besteht
Die vollständige Anleitung befindet sich in references/description-guide.md.
Schritt 3: Haupt-SKILL.md schreiben
Den Hauptteil nach folgender Vorlage strukturieren:
# [Skill-Name] -- [Untertitel]
[1-2 Satz Übersicht]
## Kurzreferenz
| Befehl | Funktion |
|---------|-------------|
| /name cmd1 | Beschreibung |
| /name cmd2 | Beschreibung |
## Orchestrierungslogik
[Wie Befehle zu Sub-Skills weitergeleitet werden]
[Entscheidungsbäume für bedingte Weiterleitung]
## [Domänenspezifischer Abschnitt]
[Kernregeln, Schwellenwerte, Qualitätstore]
## Referenzdateien
[Liste der On-Demand-Referenzdateien]
## Sub-Skills
[Liste der Sub-Skills mit einzeiligen Beschreibungen]
Kritische SKILL.md-Regeln:
- Unter 500 Zeilen
- Unter 5000 Tokens
- Handlungsanweisungen (nicht vage)
- Fehlerbehandlung enthalten
- Referenzen verlinken, nicht einbetten
Schritt 4: Sub-Skills generieren (Tier 3-4)
Für jeden Sub-Skill eine SKILL.md mit folgendem Inhalt generieren:
---
name: parent-child
description: >
[Was es tut]. Verwenden, wenn der Benutzer sagt: "[Auslöser 1]", "[Auslöser 2]",
"[Auslöser 3]" oder "[Auslöser 4]".
---
Richtlinien für Sub-Skill-Inhalte:
- Eigenständige Anweisungen für EINEN Workflow
- Andere Sub-Skills namentlich referenzieren (deren Inhalt nicht einbetten)
- Gemeinsam genutzte Dateien im
references/-Verzeichnis des übergeordneten Skills referenzieren - Explizite Eingabe-/Ausgabedefinitionen enthalten
Schritt 5: Skripte generieren (Tier 2-4)
Für jedes Skript:
#!/usr/bin/env python3
"""
Zweck: [Was dieses Skript tut]
Eingabe: [Erwartetes Eingabeformat]
Ausgabe: [Erwartetes Ausgabeformat]
Verwendung: python scripts/skript_name.py [Argumente]
"""
import argparse
import json
import sys
from typing import Any
def main(args: argparse.Namespace) -> dict[str, Any]:
"""Hauptausführungsfunktion."""
# Eingaben validieren
# Arbeit erledigen
# Strukturierte Ausgabe zurückgeben
pass
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="[Skriptbeschreibung]")
parser.add_argument("input", help="[Eingabebeschreibung]")
parser.add_argument("--output", "-o", help="Ausgabedateipfad")
args = parser.parse_args()
try:
result = main(args)
print(json.dumps(result, indent=2))
except Exception as e:
print(json.dumps({"error": str(e)}), file=sys.stderr)
sys.exit(1)
Skriptregeln:
- Ein Skript, eine Verantwortung
- CLI-Schnittstelle mit argparse
- Strukturierte JSON-Ausgabe
- Klare Fehlermeldungen
- Nach Möglichkeit keine Abhängigkeiten außerhalb der Standardbibliothek
Schritt 6: Referenzdateien generieren
Für jede Referenzdatei:
- Fokussierung auf EIN Thema
- Unter 200 Zeilen
- Konkrete Beispiele enthalten
- Tabellen für Schwellenwerte und Spezifikationen verwenden
- In der übergeordneten SKILL.md mit "Bei Bedarf laden" markieren
Schritt 7: Agent-Definitionen generieren (Tier 4)
Agent-Dateien verwenden YAML-Frontmatter (anders als Skills):
---
name: [skill-name]-[rolle]
description: >
[Was dieser Agent analysiert].
<example>Benutzer sagt: "[Auslöser]"</example>
model: inherit
color: blue
tools:
- Read
- Grep
- Glob
---
Du bist ein [Rollen]-Spezialist.
## Deine Rolle
[Was dieser Agent tut]
## Prozess
1. [Schritte...]
## Ausgabeformat
Strukturiertes Markdown mit Ergebnissen und Empfehlungen zurückgeben.
Wesentliche Unterschiede zu Skills: Agent-name ist 3-50 Zeichen lang, Beschreibungen KÖNNEN <example>-Blöcke verwenden, agent-spezifische Felder umfassen tools, color, permissionMode, maxTurns, memory. Der Hauptteil wird zum System-Prompt (zweite Person).
Schritt 8: Installationsskript generieren
install.sh erstellen, das Dateien nach ~/.claude/skills/ und ~/.claude/agents/ kopiert.
Schritt 9: Validieren
python scripts/validate_skill.py <pfad> auf dem generierten Skill ausführen.
Alle Qualitätstore aus der Haupt-SKILL.md überprüfen.
Schritt 10: Zusammenfassung ausgeben
Dem Benutzer Folgendes präsentieren:
- Generierte Dateibaumstruktur
- Schlüsseldateien und ihre Zwecke
- Installationsanweisungen
- Vorgeschlagene Testabfragen (3, die auslösen sollten, 3, die NICHT auslösen sollten)
- Nächste Schritte (testen, iterieren, veröffentlichen)
Gerüst-Befehl
Für schnelles Gerüstbauen folgenden Befehl verwenden:
python scripts/init_skill.py <skill-name> --tier <1-4> --path <ausgabe-pfad>
Dies erstellt die vollständige Verzeichnisstruktur mit Platzhalterinhalten.