rakit-agent/hermes
step 03

SKILL.md: ajarin dia cara ngerjain sesuatu

Skill itu dokumen "prosedur" yang cuma di-load pas relevan. Nol token sampai dipake. Semua skill tinggal di ~/.hermes/skills/, dan tiap skill otomatis jadi slash command.

Skill vs Memory (jangan ketuker)

SkillMemory
IsiProsedural: cara ngerjainFaktual: apa yang bener
Kapan di-loadOn demand, kalau relevanTiap sesi, otomatis
UkuranBoleh panjang (ratusan baris)Harus pendek (limit karakter)
Biaya tokenNol sampai dipakeKecil tapi konstan
Contoh"Cara deploy ke Fly.io""User suka dark mode, zona WIB"

Rule of thumb: kalau cocoknya di dokumen referensi → skill. Kalau cocoknya di sticky note → memory.

Liat & pake skill bawaan

bash
> /skills                   # di dalam chat
$ hermes skills list        # dari CLI
> /skills search docker

# pake: nama skill = slash command
> /plan Desain REST API buat app todo
> /github-pr-workflow Bikin PR buat refactor auth

Cara load-nya hemat token (progressive disclosure): skills_list() ~3k token di awal sesi → skill_view(nama) pas butuh → skill_view(nama, file) buat file referensi di dalamnya.

Install dari hub / URL

bash
$ hermes skills browse                               # skill resmi opsional
$ hermes skills install official/research/arxiv
$ hermes skills install https://example.com/SKILL.md --name my-skill
$ hermes skills inspect <nama>                        # liat isinya dulu sebelum install
$ hermes skills audit                                # scan keamanan skill yang kepasang

Skill dari internet = teks yang bakal masuk ke prompt agent lo. Itu vektor prompt-injection paling gampang. Selalu inspect dulu, dan jalanin audit. Install punya scan keamanan bawaan, tapi mata lo tetep lapisan terakhir.

Skill baru aktif di sesi berikutnya. Mau langsung? /reset, atau tambah --now pas install (bakal invalidasi prompt cache, token-nya naik sekali).

Bikin skill sendiri (5 menit)

  1. Bikin foldernya

    bash
    $ mkdir -p ~/.hermes/skills/konten/thread-x
  2. Tulis SKILL.md

    ~/.hermes/skills/konten/thread-x/SKILL.md
    ---
    name: thread-x
    description: Bikin thread X dari satu ide, 5-8 tweet, gaya santai, hook di tweet pertama
    version: 1.0.0
    metadata:
      hermes:
        tags: [konten, twitter, writing]
        category: konten
    ---
    
    # Thread X
    
    ## When to Use
    Pas user minta "bikin thread" / "jadiin thread" / "threadin ini".
    
    ## Procedure
    1. Tanya target audiens kalau belum jelas (1 pertanyaan aja).
    2. Tweet 1 = hook. Maks 2 baris. Gak boleh mulai pake "Thread 🧵".
    3. Tweet 2-6 = satu poin per tweet, < 280 karakter, ada contoh konkret.
    4. Tweet terakhir = rangkuman + CTA halus.
    5. Output: numbering "1/", "2/", dst. Gak usah hashtag.
    
    ## Pitfalls
    - Kalimat kepanjangan → pecah. Cek karakter per tweet.
    - Jangan nambahin fakta yang gak ada di sumber user.
    
    ## Verification
    Semua tweet < 280 karakter, hook gak klise, gak ada emoji spam.
  3. Tambah file pendukung (opsional)

    tree
    thread-x/
    ├── SKILL.md
    ├── references/
    │   └── contoh-hook.md     # dibaca agent kalau perlu
    ├── templates/
    │   └── thread.md
    └── scripts/
        └── hitung-karakter.sh   # bisa dieksekusi agent

    Referensiin di SKILL.md: Buat contoh hook, load: skill_view("thread-x", "references/contoh-hook.md")

  4. Tes

    bash
    $ hermes chat -q "/thread-x jadiin thread: kenapa gw pindah dari Notion ke Obsidian"

    Gak perlu registrasi. Taruh di folder, langsung hidup.

Skill yang butuh config (API key, dll)

Skill bisa minta config lewat frontmatter. Pas pertama di-load, Hermes nanya nilainya dan nyimpen ke config.yaml di skills.config.*.

SKILL.md (frontmatter)
metadata:
  hermes:
    config:
      - key: tenor.api_key
        description: "Tenor API key buat cari GIF"
        prompt: "Masukin Tenor API key"
        url: "https://developers.google.com/tenor/guides/quickstart"
bash
$ hermes skills config gif-search
$ hermes config get skills.config --json

Batasin skill per platform

Ini bagian dari boundaries juga: skill coding gak perlu ada di Telegram. Buka TUI-nya dan matiin per platform:

bash
$ hermes skills      # TUI interaktif: enable/disable per CLI, Telegram, Discord, ...

Biarin agent bikin skill sendiri

Abis nyelesaiin task ribet, Hermes sering nawarin "mau gw simpen jadi skill?". Bilang iya: skill buatan agent biasanya nangkep pitfalls yang bener-bener kejadian. Dia pake tool skill_manage. Kalau lo mau review dulu sebelum kesimpen, nyalain write-approval (liat halaman Memory).

Tips

  • Fokus. "Semua DevOps" = terlalu luas. "Deploy app Python ke Fly.io" = pas.
  • Pake kategori (subfolder): skills/konten/, skills/devops/.
  • Update kalau basi. Kena masalah yang gak ada di skill? Suruh Hermes update skill-nya.