Agent Skills-i anlamaq
Agent Skills-i anlamaq
Custom command bir prompt-dur: /name yazırsınız, Markdown faylındakı mətn model-ə gedir. Bu, təkrarlanan sorğular üçün yetərlidir, amma iki yerdə dayanır. Birincisi, command yalnız siz çağıranda işləyir; model özü "indi bu lazımdır" deyə bilmir. İkincisi, command tək fayldır; skript, şablon və ya referans sənədi ilə gələn mürəkkəb iş prosesini ona sığışdırmaq olmur. Agent Skills bu iki boşluğu doldurur: model-in özünün tapıb işlətdiyi, fayllar və skriptlərlə gələn, təkrar istifadə olunan bacarıq paketi.
Skill nədir
Skill bir qovluqdur. İçində SKILL.md faylı və istəyə görə köməkçi fayllar olur:
.claude/skills/release-notes/
├── SKILL.md
├── scripts/
│ └── collect_changes.sh
└── templates/
└── release.md
SKILL.md frontmatter və təlimatdan ibarətdir:
---
name: release-notes
description: Son tag-dən bəri olan commit-lərdən release note hazırlayır. Versiya buraxılışı, changelog və ya "nə dəyişib" sualı olanda istifadə et.
---
Release note hazırlamaq üçün:
1. `scripts/collect_changes.sh` skriptini işlət; o, son tag-dən bəri commit-ləri tip üzrə qruplaşdırır.
2. Nəticəni `templates/release.md` şablonuna yerləşdir.
3. Hər dəyişiklik üçün istifadəçi perspektivindən bir cümlə yaz; commit mesajını kopyalama.
4. Breaking change varsa, onu ayrıca bölmədə, miqrasiya addımı ilə yaz.
Skill-lər layihədə .claude/skills/, istifadəçi səviyyəsində ~/.claude/skills/ qovluğunda yaşayır; plugin-lər də öz skill-lərini gətirir. Session-da mövcud skill-ləri görmək və onları /release-notes kimi birbaşa çağırmaq olar.
Progressive disclosure: skill-in əsl ideyası
Skill-in context-ə təsiri onun ən vacib dizayn xüsusiyyətidir. Session başlayanda context-ə skill-in yalnız adı və təsviri düşür, tam SKILL.md yox. Model tapşırığa baxır, təsvirlər arasında uyğun olanı görür və yalnız o zaman skill-in tam məzmununu yükləyir. Skriptlər və şablonlar isə heç vaxt context-ə düşmür: skript işlədilir, çıxışı gəlir; şablon oxunanda oxunur.
Bu üç səviyyəli yükləmə, yəni təsvir həmişə, təlimat lazım olanda, köməkçi fayllar heç vaxt, birinci fəsildəki progressive disclosure prinsipinin ən təmiz nümunəsidir. Nəticədə layihədə onlarla skill saxlamaq olar: hər biri context-ə yalnız bir-iki sətir xərcləyir. Müqayisə üçün CLAUDE.md-yə yazılan eyni təlimat hər session-da tam yüklənir.
Buradan təsvirin əhəmiyyəti çıxır. Model skill-i təsvirə görə seçdiyi üçün təsvir subagent-lərdəki kimi "nə edir, nə vaxt" formatında olmalıdır. "Release note hazırlayır" az deyir; "versiya buraxılışı, changelog və ya 'nə dəyişib' sualı olanda" trigger-ləri adlandırır.
Command, skill və subagent
Üç mexanizm bir-birinə bənzəyir və səhv seçilir. Fərqləri cədvəl aydın göstərir:
| Xüsusiyyət | Custom command | Skill | Subagent |
|---|---|---|---|
| Yer | .claude/commands/name.md | .claude/skills/name/SKILL.md | .claude/agents/name.md |
| Kim çağırır | Siz, /name ilə | Model avtomatik, və ya siz /name ilə | Model avtomatik, və ya siz adı ilə |
| Context | Əsas session | Əsas session | Ayrı context window |
| Tərkib | Bir prompt | Təlimat + skriptlər + fayllar | System prompt + tool siyahısı |
| Nə üçün | Qısa, təkrarlanan sorğu | Çoxaddımlı, standart iş prosesi | İzolyasiya tələb edən araşdırma və ya iş |
Praktik seçim qaydası: işin nəticəsi əsas söhbətdə lazımdırsa və proses standartdırsa, skill. İşin prosesi context-i dolduracaqsa, subagent. Sadəcə "bu cümləni hər dəfə yazmaq istəmirəm"dirsə, command. Claude Code-un yeni versiyalarında command-lar skill-lərlə eyni mexanizmə birləşib: .claude/commands/ faylları hələ işləyir, amma yeni iş üçün skill formatı daha çox imkan verir.
Skill-in bir xüsusiyyəti də var: frontmatter-də skill-in ayrı context-də, yəni subagent kimi işləməsini istəmək olar. Bu halda skill-in təlimatı əsas session-ı yox, ayrı pəncərəni doldurur və yalnız nəticə qayıdır. Skill və subagent beləcə birləşir: skill prosesi, subagent izolyasiyanı verir.
Skriptlər: determinizm harada lazımdır
Skill-in skript daşıya bilməsi onu command-dan köklü fərqləndirir. Model hər dəfə git log command-ını özü qurmağa çalışsa, nəticə hər dəfə bir az fərqli olur: fərqli format, fərqli filtr, bəzən səhv flag. Skript isə hər dəfə eyni işi eyni şəkildə görür. Qayda belədir: mühakimə model-ə, mexanika skriptə. Commit-ləri toplamaq mexanikadır, hansının istifadəçi üçün vacib olduğunu seçmək mühakimədir.
Skriptlər skill-in təlimatında addım kimi çağırılır və model onları Bash ilə işlədir. Burada permission sistemi işləyir: skill-in skripti də icazə tələb edir, əgər qayda ilə əvvəlcədən icazə verilməyibsə. Skill-in frontmatter-ində icazə verilən tool-ları daraltmaq da mümkündür; məsələn yalnız oxuyan skill-ə Edit verməmək onun qəsdən sərhəd daxilində qalmasını təmin edir.
Skriptlərin ikinci faydası yoxlanıla bilməsidir. Prompt-un nə edəcəyini test etmək çətindir; skripti adi skript kimi test etmək olur. Skill-in etibarlı hissəsi nə qədər skriptdədirsə, nəticə o qədər sabitdir.
Skill dizaynı
Yaxşı skill-in bir neçə əlaməti var:
- Bir məqsəd. "Release note hazırla" skill-dir; "release prosesi" deyil. Böyük proses bir neçə skill-ə bölünür və bir-birini çağırır.
- Təsvir trigger-ləri adlandırır. İstifadəçinin hansı sözləri işlədəcəyi təsvirdə olmalıdır; model təsviri sorğu ilə tutuşdurur.
- Təlimat qısa, skript dəqiq. Uzun təlimat context-ə yüklənir; skriptlər yüklənmir. Mümkün olanı skriptə köçürün.
- Çıxış formatı müəyyəndir. Skill nə qaytarır: fayl, PR şərhi, terminal mətni? Qeyri-müəyyənlik hər çağırışda fərqli nəticə verir.
- Version control-dadır.
.claude/skills/repository-dədir; komanda eyni skill-i paylaşır və dəyişiklik review-dan keçir.
Tipik tətbiqlər: standart commit və push prosesi, test suite-in müəyyən hissəsini işlədib nəticəni xülasə etmək, miqrasiya faylı yaratmaq, sənədləşmə şablonunu doldurmaq, deploy öncəsi yoxlama siyahısını keçmək. Hamısının ortaq cəhəti təkrarlanan, standart, amma mühakimə tələb edən iş olmasıdır.
Komanda üçün skill kitabxanası
Skill-lər fərdi məhsuldarlıq alətindən komanda standartına çevriləndə bir neçə məsələ ortaya çıxır. Adlandırma: skill adları trigger kimi işlədiyi üçün komanda daxilində eyni iş üçün bir ad olmalıdır; deploy-check və pre-deploy eyni şeyi edirsə, model ikisindən birini təsadüfi seçir. Review: .claude/skills/ altındakı dəyişiklik kod dəyişikliyi kimi PR-dan keçməlidir, çünki skill agent-in davranışını, yəni dolayısı ilə kodu, dəyişir. Versiya: plugin formatı skill-lərə versiya verir və bütün komanda eyni versiyada işləyir; repository-dəki skill isə git tarixçəsi ilə izlənir.
Skill-in keyfiyyətini ölçmək də mümkündür: eyni sorğunu bir neçə dəfə işlədib nəticənin sabitliyini, skill-in düzgün sorğuda seçilib yanlış sorğuda seçilmədiyini yoxlamaq. Claude Code plugin-lər üçün belə yoxlamaları avtomatlaşdıran eval mexanizmi verir; sadə halda isə bir neçə nümunə sorğu və gözlənilən nəticədən ibarət siyahı kifayətdir. Skill-i "işlədi" deyə qəbul etmək əvəzinə onu ölçmək komanda kitabxanasının zibillənməsinin qarşısını alır.
Son qayda kiçik başlamaqdır. Komandanın gündəlik işində ən çox təkrarlanan üç proses, hər biri bir skill, hər skill bir məqsəd. Bu üçü sabit işləyəndə dördüncü əlavə olunur. Əlli skill-lik kitabxana yaxşı görünür, amma birinci fəsildəki ROI prinsipi burada da işləyir: istifadə olunmayan skill-in təsviri hər session-da context xərcləyir.
Skill-lərin ekosistemi
Skill-lər paylaşıla bilən vahiddir. Plugin (4-cü fəsil) skill-ləri command, subagent və hook-larla birlikdə paketləyir; marketplace-dən quraşdırılan plugin-in skill-ləri sizin yazdıqlarınızla yanaşı görünür. Anthropic-in özü sənəd formatları, məsələn .docx və .xlsx yaratmaq, kimi işlər üçün hazır skill-lər verir. Eyni skill formatı Claude Code-dan kənarda, API-də və Claude tətbiqlərində də işləyir; yəni bir dəfə yazılan bacarıq bir neçə mühitdə istifadə olunur.
Bu, skill-lərin Claude Code-un bəlkə də ən uzunömürlü genişlənmə mexanizmi olduğunu göstərir: command sintaksisi dəyişə bilər, amma "təsvir + təlimat + skriptlər" paketi platformadan asılı deyil.
Tapşırıqlar
- Layihənizdə tez-tez təkrarlanan bir prosesi, məsələn "dəyişiklikləri commit edib push etmək", skill-ə çevirin: mexanika skriptə, mühakimə təlimata. Skill-i beş dəfə işlədin və nəticənin sabitliyini command versiyası ilə müqayisə edin.
- Skill-in təsvirini üç fərqli variantda yazın: ümumi, trigger sözləri ilə, və "nə vaxt yox" bəndi ilə. Hər variantda modelin skill-i düzgün sorğuda seçib, yanlış sorğuda seçmədiyini yoxlayın.
- Mövcud bir custom command-ı skill-ə köçürün. Hansı hissələr skript oldu, hansılar təlimatda qaldı?
/contextilə ölçün: skill session-ın başlanğıc context-inə nə qədər əlavə etdi?