Dropstone Docs

Keterampilan Agen

Tentukan perilaku yang dapat digunakan kembali melalui definisi SKILL.md

Keterampilan agen memungkinkan Dropstone menemukan instruksi yang dapat digunakan kembali dari repositori atau direktori home Anda. Keterampilan dimuat sesuai permintaan melalui alat skill bawaan: agen melihat keterampilan apa yang tersedia dan dapat memuat konten lengkap ketika salah satu cocok dengan tugas.


Tempatkan file

Buat satu folder per nama keterampilan dan letakkan SKILL.md di dalamnya. Dropstone mencari lokasi berikut:

  • Konfigurasi proyek: .dropstone/skills/<name>/SKILL.md
  • Konfigurasi global: ~/.config/dropstone/skills/<name>/SKILL.md
  • Kompatibel Claude proyek: .claude/skills/<name>/SKILL.md
  • Kompatibel Claude global: ~/.claude/skills/<name>/SKILL.md
  • Kompatibel agen proyek: .agents/skills/<name>/SKILL.md
  • Kompatibel agen global: ~/.agents/skills/<name>/SKILL.md

Pahami penemuan

Untuk jalur lokal proyek, Dropstone berjalan naik dari direktori kerja Anda saat ini hingga mencapai git worktree. Ini memuat skills/*/SKILL.md yang cocok di .dropstone/ dan SKILL.md yang cocok di .claude/skills/*/SKILL.md atau .agents/skills/*/SKILL.md di sepanjang jalan.

Definisi global juga dimuat dari ~/.config/dropstone/skills/*/SKILL.md, ~/.claude/skills/*/SKILL.md, dan ~/.agents/skills/*/SKILL.md.


Tulis frontmatter

Setiap SKILL.md harus dimulai dengan frontmatter YAML. Hanya bidang berikut yang dikenali:

  • name (wajib)
  • description (wajib)
  • license (opsional)
  • compatibility (opsional)
  • metadata (opsional, peta string-ke-string)

Bidang frontmatter yang tidak dikenal diabaikan.


Validasi nama

name harus:

  • Berisi 1–64 karakter
  • Berupa alfanumerik huruf kecil dengan pemisah tanda hubung tunggal
  • Tidak dimulai atau diakhiri dengan -
  • Tidak mengandung -- berturut-turut
  • Cocok dengan nama direktori yang berisi SKILL.md

Regex yang setara:

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

Ikuti aturan panjang

description harus 1-1024 karakter. Buatnya cukup spesifik agar agen dapat memilih dengan benar.


Gunakan contoh

Buat .dropstone/skills/git-release/SKILL.md seperti ini:

---
name: git-release
description: Buat rilis dan changelog yang konsisten
license: MIT
compatibility: dropstone
metadata:
  audience: maintainers
  workflow: github
---

## Apa yang saya lakukan

- Buat draf catatan rilis dari PR yang digabungkan
- Usulkan bump versi
- Berikan perintah `gh release create` yang dapat disalin

## Kapan menggunakan saya

Gunakan ini ketika Anda menyiapkan rilis yang diberi tag.
Ajukan pertanyaan klarifikasi jika skema versioning target tidak jelas.

Kenali deskripsi alat

Dropstone mencantumkan keterampilan yang tersedia dalam deskripsi alat skill. Setiap entri mencakup nama keterampilan dan deskripsi:

<available_skills>
  <skill>
    <name>git-release</name>
    <description>Buat rilis dan changelog yang konsisten</description>
  </skill>
</available_skills>

Agen memuat keterampilan dengan memanggil alat:

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

Konfigurasi izin

Kontrol keterampilan mana yang dapat diakses agen menggunakan izin berbasis pola di dropstone.json:

{
  "permission": {
    "skill": {
      "*": "allow",
      "pr-review": "allow",
      "internal-*": "deny",
      "experimental-*": "ask"
    }
  }
}
IzinPerilaku
allowKeterampilan dimuat segera
denyKeterampilan tersembunyi dari agen, akses ditolak
askPengguna diminta persetujuan sebelum memuat

Pola mendukung wildcard: internal-* cocok dengan internal-docs, internal-tools, dll.


Ganti per agen

Berikan agen spesifik izin berbeda dari default global.

Untuk agen kustom (di frontmatter agen):

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

Untuk agen bawaan (di dropstone.json):

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

Nonaktifkan alat skill

Nonaktifkan keterampilan sepenuhnya untuk agen yang tidak boleh menggunakannya:

Untuk agen kustom:

---
tools:
  skill: false
---

Untuk agen bawaan:

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

Ketika dinonaktifkan, bagian <available_skills> dihilangkan sepenuhnya.


Pemecahan masalah pemuatan

Jika keterampilan tidak muncul:

  1. Verifikasi SKILL.md dieja dengan semua huruf besar
  2. Periksa bahwa frontmatter mencakup name dan description
  3. Pastikan nama keterampilan unik di semua lokasi
  4. Periksa izin: keterampilan dengan deny tersembunyi dari agen
Ctrl+I