Dropstone Docs

Agent-Fähigkeiten

Definieren Sie wiederverwendbares Verhalten über SKILL.md-Definitionen

Agent-Fähigkeiten ermöglichen es Dropstone, wiederverwendbare Anweisungen aus Ihrem Repository oder Home-Verzeichnis zu entdecken. Fähigkeiten werden bei Bedarf über das integrierte skill-Tool geladen: Agenten sehen, welche Fähigkeiten verfügbar sind, und können den vollständigen Inhalt laden, wenn eine zum Task passt.


Dateien platzieren

Erstellen Sie einen Ordner pro Fähigkeitsnamen und legen Sie eine SKILL.md darin ab. Dropstone durchsucht diese Orte:

  • Projekt-Konfiguration: .dropstone/skills/<name>/SKILL.md
  • Globale Konfiguration: ~/.config/dropstone/skills/<name>/SKILL.md
  • Projekt Claude-kompatibel: .claude/skills/<name>/SKILL.md
  • Global Claude-kompatibel: ~/.claude/skills/<name>/SKILL.md
  • Projekt Agent-kompatibel: .agents/skills/<name>/SKILL.md
  • Global Agent-kompatibel: ~/.agents/skills/<name>/SKILL.md

Entdeckung verstehen

Bei projektlokalen Pfaden durchsucht Dropstone das Verzeichnis von Ihrem aktuellen Arbeitsverzeichnis bis zum Git-Worktree. Es lädt alle passenden skills/*/SKILL.md in .dropstone/ und alle passenden .claude/skills/*/SKILL.md oder .agents/skills/*/SKILL.md auf dem Weg.

Globale Definitionen werden auch aus ~/.config/dropstone/skills/*/SKILL.md, ~/.claude/skills/*/SKILL.md und ~/.agents/skills/*/SKILL.md geladen.


Frontmatter schreiben

Jede SKILL.md muss mit YAML-Frontmatter beginnen. Nur diese Felder werden erkannt:

  • name (erforderlich)
  • description (erforderlich)
  • license (optional)
  • compatibility (optional)
  • metadata (optional, String-zu-String-Map)

Unbekannte Frontmatter-Felder werden ignoriert.


Namen validieren

name muss:

  • 1–64 Zeichen lang sein
  • Kleinbuchstaben, Ziffern und einzelne Bindestriche enthalten
  • Nicht mit - beginnen oder enden
  • Keine aufeinanderfolgenden -- enthalten
  • Mit dem Verzeichnisnamen übereinstimmen, der SKILL.md enthält

Äquivalenter Regex:

^[a-z0-9]+(-[a-z0-9]+)*$

Längenvorgaben befolgen

description muss 1–1024 Zeichen lang sein. Halten Sie sie spezifisch genug, damit der Agent die richtige Wahl treffen kann.


Ein Beispiel verwenden

Erstellen Sie .dropstone/skills/git-release/SKILL.md wie folgt:

---
name: git-release
description: Erstellen Sie konsistente Releases und Changelogs
license: MIT
compatibility: dropstone
metadata:
  audience: maintainers
  workflow: github
---

## Was ich tue

- Entwurf von Release-Notizen aus zusammengeführten PRs
- Vorschlag eines Versions-Bumps
- Bereitstellung eines kopierbaren `gh release create`-Befehls

## Wann Sie mich verwenden

Verwenden Sie mich, wenn Sie ein gekennzeichnetes Release vorbereiten.
Stellen Sie Klärungsfragen, wenn das Ziel-Versionierungsschema unklar ist.

Tool-Beschreibung erkennen

Dropstone listet verfügbare Fähigkeiten in der skill-Tool-Beschreibung auf. Jeder Eintrag enthält den Fähigkeitsnamen und die Beschreibung:

<available_skills>
  <skill>
    <name>git-release</name>
    <description>Erstellen Sie konsistente Releases und Changelogs</description>
  </skill>
</available_skills>

Der Agent lädt eine Fähigkeit durch Aufrufen des Tools:

skill({ name: "git-release" })

Berechtigungen konfigurieren

Steuern Sie, auf welche Fähigkeiten Agenten zugreifen können, indem Sie musterbasierte Berechtigungen in dropstone.json verwenden:

{
  "permission": {
    "skill": {
      "*": "allow",
      "pr-review": "allow",
      "internal-*": "deny",
      "experimental-*": "ask"
    }
  }
}
BerechtigungVerhalten
allowFähigkeit wird sofort geladen
denyFähigkeit ist für Agent verborgen, Zugriff abgelehnt
askBenutzer wird vor dem Laden zur Genehmigung aufgefordert

Muster unterstützen Platzhalter: internal-* passt zu internal-docs, internal-tools usw.


Pro Agent überschreiben

Geben Sie bestimmten Agenten andere Berechtigungen als die globalen Standardwerte.

Für benutzerdefinierte Agenten (im Agent-Frontmatter):

---
permission:
  skill:
    "documents-*": "allow"
---

Für integrierte Agenten (in dropstone.json):

{
  "agent": {
    "plan": {
      "permission": {
        "skill": {
          "internal-*": "allow"
        }
      }
    }
  }
}

Skill-Tool deaktivieren

Deaktivieren Sie Fähigkeiten vollständig für Agenten, die sie nicht verwenden sollten:

Für benutzerdefinierte Agenten:

---
tools:
  skill: false
---

Für integrierte Agenten:

{
  "agent": {
    "plan": {
      "tools": {
        "skill": false
      }
    }
  }
}

Wenn deaktiviert, wird der <available_skills>-Abschnitt vollständig weggelassen.


Laden beheben

Wenn eine Fähigkeit nicht angezeigt wird:

  1. Überprüfen Sie, dass SKILL.md in Großbuchstaben geschrieben ist
  2. Überprüfen Sie, dass das Frontmatter name und description enthält
  3. Stellen Sie sicher, dass Fähigkeitsnamen an allen Orten eindeutig sind
  4. Überprüfen Sie Berechtigungen: Fähigkeiten mit deny sind für Agenten verborgen
Strg+I