Zum Inhalt

Custom Skills erstellen

Eigene Skills bauen für wiederkehrende Workflows.

Skill-Speicherorte

Personal Skills (global)

~/.claude/skills/
└── my-skill/
    └── SKILL.md

Verfügbar in allen Projekten.

Project Skills (lokal)

./project/
└── .claude/
    └── skills/
        └── project-skill/
            └── SKILL.md

Nur in diesem Projekt verfügbar, wird mit Git committed.

Schnellstart: Erster Skill

1. Ordner erstellen

mkdir -p ~/.claude/skills/morning-standup

2. SKILL.md schreiben

cat > ~/.claude/skills/morning-standup/SKILL.md << 'EOF'
---
name: standup
description: Generiert täglichen Standup-Report basierend auf Git-History
---

# Morning Standup Generator

## Gestern

Analysiere die Git-Commits von gestern:
!`git log --since="yesterday" --until="today" --oneline --author="$(git config user.email)"`

## Heute geplant

Basierend auf:
- Offene TODOs im Code: !`grep -r "TODO" src/ --include="*.ts" | head -10`
- Offene Issues: !`gh issue list --assignee @me --limit 5 2>/dev/null || echo "no gh cli"`

## Blocker

Frage den User nach aktuellen Blockern.

## Output

Formatiere als kurzen Standup-Text (max 3 Bullet Points pro Sektion).
EOF

3. Skill nutzen

/standup

Fortgeschrittene Patterns

Mit Templates

~/.claude/skills/api-endpoint/
├── SKILL.md
└── templates/
    ├── controller.ts.template
    ├── service.ts.template
    └── test.ts.template

In SKILL.md:

## Templates

Nutze diese Templates aus dem `templates/` Ordner:
- controller.ts.template für den Controller
- service.ts.template für die Business Logic
- test.ts.template für Tests

Passe die Platzhalter an:
- `{{RESOURCE_NAME}}` → Name der Resource
- `{{RESOURCE_PLURAL}}` → Plural-Form

Mit Tool-Beschränkungen

Für sichere Skills die nur lesen:

---
name: analyze
description: Analysiert Code ohne Änderungen
allowed-tools:
  - Read
  - Glob
  - Grep
  - Bash(cat *)
  - Bash(ls *)
  - Bash(find *)
---

Mit Agent-Typ

---
name: explore-codebase
description: Erkundet und dokumentiert Codebase
agent: Explore
---

Agent-Typen: - Explore - Lese-fokussiert, vorsichtig - Code - Schreib-fokussiert, produktiv

Mit Fork-Context

Für experimentelle Analysen:

---
name: what-if
description: Was-wäre-wenn Analyse ohne echte Änderungen
context: fork
---

Simuliere die Änderungen und zeige das Ergebnis,
aber führe sie nicht wirklich durch.

Skill-Debugging

Skill wird nicht geladen?

  1. Name prüfen - Muss in Frontmatter definiert sein
  2. Pfad prüfen - ~/.claude/skills/NAME/SKILL.md
  3. Syntax prüfen - YAML Frontmatter muss valide sein

Prüfen welche Skills geladen sind

/help

Zeigt alle verfügbaren Slash-Commands inkl. Skills.

Skill-Content debuggen

Show me the content of skill "my-skill"

Best Practices

DO ✅

---
name: pr-review
description: Führt PR-Review durch. Aktiviert bei 
  "review PR", "check PR", oder "PR prüfen".
allowed-tools:
  - Read
  - Glob
  - Grep
  - Bash(gh pr *)
  - Bash(git diff *)
---
  • Klarer, spezifischer Name
  • Beschreibung mit Trigger-Keywords
  • Tool-Beschränkung wo sinnvoll

DON'T ❌

---
name: x
description: Does stuff
---

Do the thing.
  • Zu kurzer Name
  • Nutzlose Beschreibung
  • Keine konkreten Instructions

Skill-Bibliothek

Hilfreiche Skill-Ideen:

Skill Zweck
changelog Generiert CHANGELOG aus Commits
docs Erstellt/aktualisiert Dokumentation
migration Erstellt DB-Migrations
test-gen Generiert Tests für Datei
refactor Strukturiertes Refactoring
security Security-Audit
performance Performance-Analyse
i18n Übersetzungs-Workflow

Skill-Sharing

Im Team teilen

Projekt-Skills in .claude/skills/ committen:

git add .claude/skills/
git commit -m "Add team skills"

Öffentlich teilen

Skills können als Gist oder Repo geteilt werden:

# Installieren
git clone https://github.com/user/claude-skills ~/.claude/skills-external
ln -s ~/.claude/skills-external/useful-skill ~/.claude/skills/useful-skill