Araç İzinleri
Bir skill'in ya da oturumun hangi araçları onay sormadan kullanabileceğini belirleyen tanımdır.
Her adımda "bunu çalıştırayım mı" diye sormak akışı bölüyor; hiç sormamak ise tehlikeli.
Araç izinleri bu ikisinin arasını ayarlar: rutin ve geri dönüşü olan işler ön onaylı, geri dönüşü olmayan işler onaya bağlı.
Ayrım ilkesi: Ön onay yalnızca okuma ve doğrulama araçlarına verilir. Yazma, silme, gönderme ve yayınlama araçları onaya bağlı kalır.
Bu skill'in allowed-tools listesi bilinçli olarak şunları içermez: git commit, git push, dosya silme, deploy komutları. Sebep: skill'in kendi 6. kırmızı çizgisi onaysız yayın yapmamayı emrediyor; izin listesi bu kuralla çelişemez.
Güvenlik notu: Bir skill kendine geniş yetki verebilir. Depoya check-in edilmiş bir skill kurmadan önce allowed-tools satırını okumak kullanıcının hakkıdır — bu yüzden iyi bir skill bu listeyi kısa, okunabilir ve gerekçeli tutar.
Kapsam: Verilen izin kalıcı değildir; genellikle bir sonraki kullanıcı mesajında düşer. Kalıcı davranış isteniyorsa projenin kendi izin ayarları kullanılır — bu bilinçli bir tercih olmalıdır, skill'in dayattığı bir şey değil.
Desen kullanımı: İzinler komut deseniyle daraltılabilir; "tüm Bash" yerine yalnızca beklenen komut kalıbı verilir.
13 aşamalı bir akışta her doğrulama adımında izin sorulması, kullanıcıyı adımları atlamaya iter — yani atlanamaz olarak tasarlanan kapı pratikte atlanır. İzin listesi bu riski, yetki genişletmeden azaltır.
Bu skill'in listesi: okuma araçları, arama, kullanıcıya soru sorma, python3 *kontrol.py *, curl -sI *, find * -name *.
Listede olmayan ve bilerek dışarıda bırakılan: git commit, git push, rm, deploy komutları.
"İzin listesi güvenlik sağlar." Kolaylık sağlar; güvenliği sağlayan şey listeye ne konmadığıdır. "Ne kadar çok izin o kadar akıcı." Akıcılık kazancı, geri dönüşü olmayan bir hatanın maliyetini karşılamaz.