Zum Hauptinhalt springen

Was sind Skills?

Skills sind SKILL.md-Dateien, die du in deine Repositories commitest und mit denen du Devin beibringst, wie deine Anwendung end-to-end getestet werden soll — also wie Services gestartet werden, die App lokal ausgeführt wird, Änderungen im Browser überprüft werden und validiert wird, dass alles funktioniert, bevor ein Pull Request (PR) eröffnet wird. Sie folgen dem offenen Agent Skills Standard, sodass dieselben Skill-Dateien in mehreren KI-Coding-Tools funktionieren. Lege Skill-Dateien in deinem Repository unter .agents/skills/<skill-name>/SKILL.md ab. Devin findet sie automatisch in all deinen verbundenen Repositories. Die vollständige Referenz zum Dateiformat findest du in der Agent Skills Spezifikation.

Warum Skills wichtig sind

Ohne Skills muss Devin in jeder Session von Grund auf neu herausfinden, wie er deine App ausführen und testen kann. Mit Skills weiß Devin ganz genau, wie er:
  • deine lokale Entwicklungsumgebung startet — welche Services laufen müssen, welche Ports zu verwenden sind, wie Testdaten eingespielt werden
  • Änderungen im Browser überprüft — welche Seiten geprüft werden sollen, wie „korrekt“ aussieht, welche Fehler gemeldet werden müssen
  • die richtigen Test-Suites ausführt — welche Befehle auszuführen sind, wie eine erfolgreiche Ausgabe aussieht

Devin schlägt Skills automatisch vor

Devin kann automatisch Skills für dich vorschlagen. Nachdem Devin deine Anwendung getestet oder während einer Session etwas Neues über dein Setup gelernt hat, schlägt es vor, einen Skill zu erstellen oder zu aktualisieren, um dieses Wissen festzuhalten. Du siehst einen Vorschlag in deiner Session-Timeline mit:
  • Einer Zusammenfassung dessen, was gelernt wurde (z. B. „how to start the backend with Docker“)
  • Dem vorgeschlagenen Inhalt der Datei SKILL.md
  • Einem „Create PR“-Button, um den Skill in deinem Repo zu committen
Im Laufe der Zeit baut Devin in deinem Repo eine Bibliothek von Skills auf, die beschreiben, wie deine Anwendung ausgeführt und getestet wird.

Kurzes Beispiel

Ein Skill, der Devin vorgibt, wie eine Next.js-App getestet werden soll:
---
name: test-before-pr
description: Run the local dev server and verify pages before opening any PR that touches frontend code.
---

## Setup

1. Install dependencies: `npm install`
2. Start the database: `docker-compose up -d postgres`
3. Run migrations: `npx prisma migrate dev`
4. Start the dev server: `npm run dev`
5. Wait for "Ready on http://localhost:3000"

## Verify

1. Read the git diff to identify which pages changed
2. Open each affected page in the browser
3. Check for: console errors, layout issues, broken links
4. Screenshot each page at desktop (1280px) and mobile (375px) widths

## Before Opening the PR

1. Run `npm run lint` and fix any issues
2. Run `npm test` and confirm all tests pass
3. Include screenshots in the PR description

Skill Discovery

Devin entdeckt Skills aus zwei Quellen, die zu Beginn jeder Session zusammengeführt werden:
  1. Indizierte Repos — Das Backend von Devin indiziert SKILL.md-Dateien in allen Repositories, die mit deiner Organisation verbunden sind. Diese stehen sofort beim Start einer Session zur Verfügung, noch bevor Repos geklont werden.
  2. Geklonte Repos — Sobald Repositories auf die Maschine der Session geklont werden, durchsucht Devin sie nach SKILL.md-Dateien auf dem Datenträger. Beim Scannen des Datenträgers gefundene Skills aktualisieren oder überschreiben passende indizierte Skills aus demselben Repo, sodass Devin immer die neueste Version auf dem jeweils bearbeiteten Branch verwendet.
Wenn ein Repo-Klon während einer laufenden Session fertiggestellt wird, scannt Devin dieses Repo automatisch erneut, damit neu hinzugefügte oder geänderte Skills ohne Neustart übernommen werden.

Unterstützte Speicherorte für Skill-Dateien

Devin sucht nach SKILL.md-Dateien in allen folgenden Verzeichnissen:
  • .agents/skills/<skill-name>/SKILL.md (empfohlen)
  • .github/skills/<skill-name>/SKILL.md
  • .claude/skills/<skill-name>/SKILL.md
  • .cursor/skills/<skill-name>/SKILL.md
  • .codex/skills/<skill-name>/SKILL.md
  • .cognition/skills/<skill-name>/SKILL.md
Alle sechs Pfade werden in jedem Repository durchsucht.

Was Devin aus einer Skill-Datei lädt

Wenn eine Skill entdeckt wird, liest Devin das YAML-Frontmatter (den ----Block oben) ein und extrahiert:
FieldPurpose
nameIdentifiziert die Skill. Fällt, falls ausgelassen, auf den Namen des übergeordneten Verzeichnisses zurück.
descriptionKurze Zusammenfassung, die in der Skill-Liste angezeigt wird, damit Devin (und Sie) wissen, was die Skill macht.
allowed-toolsBeschränkt, welche Tools Devin verwenden kann, solange die Skill aktiv ist.
Devin unterstützt außerdem diese zusätzlichen Frontmatter-Felder über die Standardspezifikation hinaus:
FieldPurpose
argument-hintHinweistext, der zusammen mit dem Skill-Namen angezeigt wird und die erwarteten Argumente beschreibt.
triggersSteuert, wer die Skill aufrufen kann — standardmäßig ["user", "model"]. Setzen Sie den Wert auf ["user"], um zu verhindern, dass Devin sie automatisch aktiviert.
Alles nach dem Frontmatter ist der Skill-Body — die Schritt-für-Schritt-Anweisungen, denen Devin folgen soll, wenn die Skill aufgerufen wird. Siehe die Agent Skills specification für eine vollständige Referenz des Dateiformats. Zusätzlich zur Standardspezifikation unterstützt Devin zwei Arten dynamischer Inhalte im Skill-Body, die zur Aufrufzeit verarbeitet werden:
  • $ARGUMENTS — wird durch den vollständigen Argument-String ersetzt, der beim Aufruf der Skill übergeben wird (z. B. über @skills:deploy staging prod). Sie können auch einzelne Argumente per Index abrufen: $ARGUMENTS[0] oder $0 für das erste, $ARGUMENTS[1] oder $1 für das zweite usw. Argumente werden anhand von Leerzeichen getrennt.
  • !`command` — der Befehl wird im Repository-Stammverzeichnis ausgeführt und durch sein stdout ersetzt, sodass Skills dynamische Werte wie Branchnamen oder Portnummern einbinden können.
Ein Deploy-Skill könnte Argumente zum Beispiel so verwenden:
---
name: deploy
description: Deploy the app to a target environment.
argument-hint: <environment>
---

1. Check out the `$ARGUMENTS` branch
2. Run `./scripts/deploy.sh $0`
3. Verify the deployment at `https://$0.example.com`
Das Aufrufen mit @skills:deploy staging würde staging an die Stelle von $ARGUMENTS und $0 setzen.

Wie Devin Skills verwendet

Zu Beginn jeder Session sieht Devin eine Liste aller verfügbaren Skills (Name + Beschreibung). Wenn ein Skill aufgerufen wird, liest Devin die vollständige Datei SKILL.md und fügt deren Inhalt als Systemanweisung in seinen aktuellen Kontext ein. Das bedeutet, dass Devin die Schritte des Skills für den Rest der Aufgabe aktiv befolgt — es ist nicht nur eine Referenz, sondern steuert Devins Verhalten direkt. Devin kann Skills auf verschiedene Arten verwenden:

Automatischer Aufruf

Wenn Devin feststellt, dass ein Skill für die aktuelle Aufgabe relevant ist, wird er automatisch ausgeführt. Wenn du Devin zum Beispiel bittest, einen Bug im Frontend-Code zu beheben und es gibt einen test-before-pr-Skill, aktiviert Devin ihn, bevor der Pull Request (PR) eröffnet wird. Setze triggers: ["user"] im Frontmatter, um das automatische Ausführen für Skills zu verhindern, die du nur manuell auslösen möchtest.

Erwähne einen Skill in deinem Prompt

Du kannst Devin anweisen, einen bestimmten Skill zu verwenden, indem du @skills:skill-name in deine Nachricht einfügst:
Fix the login bug on the /auth page @skills:test-before-pr
Sie können auch Argumente übergeben:
@skills:deploy staging
Im Skill-Body werden die Argumente überall dort eingesetzt, wo $ARGUMENTS, $ARGUMENTS[0], $1 usw. vorkommen.

Nur eine aktive Fähigkeit gleichzeitig

Devin kann immer nur eine Fähigkeit gleichzeitig aktiv haben. Das Aufrufen einer neuen Fähigkeit ersetzt die vorherige. Wenn eine Fähigkeit aktiv ist, wird Devin dazu angeleitet, die Schritte dieser Fähigkeit der Reihe nach auszuführen und jeden Schritt abzuschließen, bevor er fortfährt.

Suchen und Auflisten

Devin kann während einer Sitzung nach Skills anhand von Stichwort oder Verzeichnis suchen, wenn der passende Skill benötigt wird. Sie können Devin auch auffordern, die verfügbaren Skills aufzulisten oder sie neu zu laden, nachdem Sie Änderungen an einer Skill-Datei gepusht haben.

Einschränkungen

  • Globale / organisationsweite Skills — Aktuell befinden sich Skills innerhalb von Repositories. Für organisationsweite Skills kann als Workaround ein dediziertes „skills“-Repository erstellt werden. Wir arbeiten an nativer Unterstützung für organisationsweite Skills, die für alle Repositories gelten.
  • Kombinieren mehrerer Skills — Derzeit kann immer nur ein Skill gleichzeitig aktiv sein. Wir arbeiten an Unterstützung für das Verketten und Kombinieren von Workflows.

Mehr erfahren

  • Agent Skills specification — der offene Standard für das SKILL.md-Dateiformat, Frontmatter-Felder und die Verzeichnisstruktur
  • Knowledge — für kontextbezogene Tipps und Fakten (keine Schritt-für-Schritt-Anleitungen)
  • Playbooks — für wiederverwendbare Prompt-Vorlagen, die Sessions zugeordnet sind