beast-agent 1.8.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +130 -128
- package/bin/beast-agent.js +137 -137
- package/package.json +1 -1
- package/scripts/fix-electron.js +138 -138
- package/scripts/release.js +137 -131
- package/scripts/swap-electron.js +40 -40
- package/src/agent/agentdefs.js +122 -122
- package/src/agent/bots.js +580 -580
- package/src/agent/bus.js +389 -389
- package/src/agent/computeruse.js +200 -200
- package/src/agent/config.js +284 -284
- package/src/agent/discord.js +332 -332
- package/src/agent/engine.js +85 -11
- package/src/agent/kb.js +123 -123
- package/src/agent/llm.js +430 -430
- package/src/agent/logger.js +90 -90
- package/src/agent/mcp.js +427 -0
- package/src/agent/mem0.js +605 -605
- package/src/agent/memory.js +427 -427
- package/src/agent/mqueue.js +124 -124
- package/src/agent/pdf.js +20 -20
- package/src/agent/research.js +133 -133
- package/src/agent/scripts/news.py +113 -113
- package/src/agent/scripts/stealthsearch.py +30 -30
- package/src/agent/scripts/websearch.py +225 -225
- package/src/agent/searxng.js +325 -325
- package/src/agent/seeds/brainstorming/SKILL.md +90 -90
- package/src/agent/seeds/dispatching-parallel-agents/SKILL.md +120 -120
- package/src/agent/seeds/executing-plans/SKILL.md +60 -60
- package/src/agent/seeds/subagent-driven-development/SKILL.md +167 -167
- package/src/agent/seeds/systematic-debugging/SKILL.md +131 -131
- package/src/agent/seeds/test-driven-development/SKILL.md +152 -152
- package/src/agent/seeds/verification-before-completion/SKILL.md +63 -63
- package/src/agent/seeds/writing-plans/SKILL.md +162 -162
- package/src/agent/seeds/writing-skills/SKILL.md +229 -229
- package/src/agent/skills.js +652 -651
- package/src/agent/store.js +378 -378
- package/src/agent/telegram.js +155 -155
- package/src/agent/tokens.js +39 -39
- package/src/agent/usage.js +125 -125
- package/src/agent/watchers.js +312 -312
- package/src/agent/watext.js +80 -80
- package/src/agent/whatsapp.js +555 -555
- package/src/cron.js +255 -255
- package/src/main.js +385 -6
- package/src/preload.js +13 -0
- package/src/renderer/browserPreload.js +73 -73
- package/src/renderer/i18n.js +38 -0
- package/src/renderer/index.html +448 -407
- package/src/renderer/renderer.js +897 -42
- package/src/renderer/style.css +275 -11
|
@@ -1,229 +1,229 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: writing-skills
|
|
3
|
-
description: Yeni skill oluştururken, mevcut skill düzenlerken veya deploy öncesi doğrularken kullan — %APPDATA%\beast\skills altına SKILL.md yazılacak/herhangi bir edit olacaksa.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Skill Yazma
|
|
7
|
-
|
|
8
|
-
## Genel Bakış
|
|
9
|
-
|
|
10
|
-
**Skill yazmak, süreç dokümantasyonuna uygulanan TDD'dir.**
|
|
11
|
-
|
|
12
|
-
Test senaryoları yaz (paralel ajanla baskı senaryosu), fail izle (baseline
|
|
13
|
-
davranış), skill'i yaz (doküman), geçiş izle (ajan artık uyuyor), refactor
|
|
14
|
-
(loophole kapat).
|
|
15
|
-
|
|
16
|
-
**Çekirdek ilke:** Skill'siz ajanın fail ettiğini izlemediysen, skill'in
|
|
17
|
-
doğru şeyi öğrettiğini bilmezsin.
|
|
18
|
-
|
|
19
|
-
**ZORUNLU TEMEL:** test-driven-development skill'ini anlıyor olmalısın —
|
|
20
|
-
o RED-GREEN-REFACTOR'ü tanımlar, bu skill onu dokümana uyarlar.
|
|
21
|
-
|
|
22
|
-
## Skill Nedir?
|
|
23
|
-
|
|
24
|
-
**Skill:** Kanıtlanmış teknik, desen veya araç için referans rehber.
|
|
25
|
-
**Skill'dir:** Yeniden kullanılabilir teknik/pattern/araç/rehber.
|
|
26
|
-
**Skill değildir:** Bir problemi bir kez nasıl çözdüğüne dair hikâye.
|
|
27
|
-
|
|
28
|
-
## Ne Zaman Skill Yaratılır
|
|
29
|
-
|
|
30
|
-
**Yarat:**
|
|
31
|
-
- Teknik sana sezgisel gelmediyse
|
|
32
|
-
- Projeler arası tekrar referans edeceksen
|
|
33
|
-
- Desen genelse (proje-özel değilse)
|
|
34
|
-
|
|
35
|
-
**Yaratma:**
|
|
36
|
-
- Tek seferlik çözümler için
|
|
37
|
-
- Başka yerde iyi dokümante edilmiş standart pratikler için
|
|
38
|
-
- Proje-özel konvansiyonlar (onlar AGENTS.md'ye/proje talimatına)
|
|
39
|
-
- Regex/validasyonla zorlanabilir mekanik kısıtlar (otomatikleştir —
|
|
40
|
-
dokümanı yargı gerektiren kararlara sakla)
|
|
41
|
-
|
|
42
|
-
## Beast'te Skill Yapısı
|
|
43
|
-
|
|
44
|
-
Yer: `%APPDATA%\beast\skills\<slug>\SKILL.md` (write_file ile yaz; slug
|
|
45
|
-
küçük-harf-tire). Isim+açıklama HER SOHBETE system prompta girer — gövde
|
|
46
|
-
sadece ilgiliyken read_file ile okunur.
|
|
47
|
-
|
|
48
|
-
```markdown
|
|
49
|
-
---
|
|
50
|
-
name: skill-adi
|
|
51
|
-
description: [TETİKLEYİCİ — ne zaman okunmalı; aşağıya bak]
|
|
52
|
-
version: 1.0.0
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
# Skill Adı
|
|
56
|
-
|
|
57
|
-
## Genel Bakış
|
|
58
|
-
Bu ne? Çekirdek ilke 1-2 cümle.
|
|
59
|
-
|
|
60
|
-
## Ne Zaman
|
|
61
|
-
Belirtiler ve kullanım durumları; ne zaman KULLANILMAZ
|
|
62
|
-
|
|
63
|
-
## Çekirdek Desen
|
|
64
|
-
Önce/sonra karşılaştırması veya adımlar
|
|
65
|
-
|
|
66
|
-
## Hızlı Referans
|
|
67
|
-
Sık işlemler için tablo
|
|
68
|
-
|
|
69
|
-
## Yaygın Hatalar
|
|
70
|
-
Ne yanlış gider + fix
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**Frontmatter kuralları:**
|
|
74
|
-
- `name`: harf, rakam, tire (özel karakter yok)
|
|
75
|
-
- `description`: üçüncü şahıs, SADECE ne zaman kullanılacağını anlatır
|
|
76
|
-
|
|
77
|
-
## Skill Keşif Optimizasyonu (SDO)
|
|
78
|
-
|
|
79
|
-
**description = NE ZAMAN, ne YAPDIĞI değil.**
|
|
80
|
-
|
|
81
|
-
Test şunu gösterdi: description workflow'u özetlerse ajan TÜM skill'i
|
|
82
|
-
okumadan description'daki kısayolu uygular. Gövde, ajanın atladığı
|
|
83
|
-
dokümana döner.
|
|
84
|
-
|
|
85
|
-
```yaml
|
|
86
|
-
# ❌ KÖTÜ: workflow özetler — ajan gövdeyi okumadan bunu takip eder
|
|
87
|
-
description: Plan yürütürken kullan — görev başına alt-ajan devreder, aralarında inceleme yapar
|
|
88
|
-
|
|
89
|
-
# ✅ İYİ: sadece tetikleyici koşullar
|
|
90
|
-
description: Bağımsız görevlere bölünmüş implementasyon planı yürütülürken kullan
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
- Somut tetikleyiciler, belirtiler ve durumlar yaz
|
|
94
|
-
- Sorunu tarif et (race condition, tutarsız davranış), dile özgü belirtiyi değil
|
|
95
|
-
- Arama kelimeleri kullan: hata mesajları, belirtiler ("flaky", "takılıyor"),
|
|
96
|
-
araç adları
|
|
97
|
-
- Üçüncü şahıs yaz (system prompta enjekte edilir)
|
|
98
|
-
|
|
99
|
-
## Demir Kanun (TDD ile aynı)
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
FAILING TEST OLMADAN SKILL YOK
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
Bu YENİ skill'ler VE mevcut skill EDİTLERİ için geçerli. Test etmeden
|
|
106
|
-
skill yazdıysan: sil, baştan başla. "Basit ekleme" istisnası yok.
|
|
107
|
-
|
|
108
|
-
## RED-GREEN-REFACTOR (skill için)
|
|
109
|
-
|
|
110
|
-
### RED: Başarısız Test (Baseline)
|
|
111
|
-
|
|
112
|
-
Skill'siz ajanla baskı senaryosu çalıştır (run_background ile taze ajan —
|
|
113
|
-
sistem promptu skill'in yaşayacağı gerçek bağlam, kullanıcı mesajı hataya
|
|
114
|
-
çekecek görev olsun). Birebir belgele:
|
|
115
|
-
- Hangi seçimleri yaptı?
|
|
116
|
-
- Hangi bahaneleri kullandı (verbatim)?
|
|
117
|
-
- Hangi baskılar ihlale yol açtı?
|
|
118
|
-
|
|
119
|
-
### GREEN: Minimal Skill Yaz
|
|
120
|
-
|
|
121
|
-
Baseline'da belgelenen SPESİFİK bahaneleri karşılayan skill yaz. Hayali
|
|
122
|
-
durumlar için ekstra içerik EKLEME. Aynı senaryoyu skill ile tekrar koştur —
|
|
123
|
-
ajan artık uymalı.
|
|
124
|
-
|
|
125
|
-
### REFACTOR: Loophole Kapat
|
|
126
|
-
|
|
127
|
-
Ajan YENİ bahane buldu? Açık karşı-argüman ekle. Bulletproof olana kadar
|
|
128
|
-
tekrar test et.
|
|
129
|
-
|
|
130
|
-
**Mikro-test:** tam senaryo pahalıysa önce kelimelik test — tek taze örnek +
|
|
131
|
-
rehberli vs kontrolsüz (rehbersiz) karşılaştırma, 5+ tekrar, her eşleşmeyi
|
|
132
|
-
elle oku. Kontrol grupta hata YOKSA yazılacak rehber de yok — dur.
|
|
133
|
-
|
|
134
|
-
## Uyum Sağlamayı Ezberle (Disiplin Skill'leri)
|
|
135
|
-
|
|
136
|
-
Kural bilen ajan baskı altında atlarsa:
|
|
137
|
-
|
|
138
|
-
**Her loophole'u açıkça kapat** — kuralı söylemek yetmez, workaround'ları
|
|
139
|
-
tek tek yasakla:
|
|
140
|
-
|
|
141
|
-
```markdown
|
|
142
|
-
Testten önce kod yazdıysan: SİL. Baştan başla.
|
|
143
|
-
|
|
144
|
-
**İstisna yok:**
|
|
145
|
-
- "Referans olarak" tutma
|
|
146
|
-
- Testleri yazarken uyarlama
|
|
147
|
-
- Silmek silmektir
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
**"Ruh vs harf" argümanını baştan kes:**
|
|
151
|
-
|
|
152
|
-
```markdown
|
|
153
|
-
**Kuralın harfini ihlal etmek, kuralın ruhunu ihlal etmektir.**
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
**Bahane tablosu kur** — baseline testten çıkan HER bahane:
|
|
157
|
-
|
|
158
|
-
```markdown
|
|
159
|
-
| Bahane | Gerçek |
|
|
160
|
-
|---|---|
|
|
161
|
-
| "Test etmek için çok basit" | Basit kod da kırılır. Test 30 saniye. |
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
**Kırmızı bayrak listesi** — ajanın kendini kontrolü kolay olsun:
|
|
165
|
-
|
|
166
|
-
```markdown
|
|
167
|
-
## Kırmızı Bayraklar — DUR
|
|
168
|
-
- "Sadece bu sefer" bahanesi
|
|
169
|
-
- "Elle test ettim zaten"
|
|
170
|
-
|
|
171
|
-
**Hepsi: kodu sil, TDD ile baştan başla.**
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
## Kalıbı Hatanın Türüne Eşle
|
|
175
|
-
|
|
176
|
-
| Baseline hatası | Doğru kalıp | Yanlış kalıp |
|
|
177
|
-
|---|---|---|
|
|
178
|
-
| Baskı altında kuralı atlıyor | Yasak + bahane tablosu + kırmızı bayraklar | Yumuşak yönlendirme ("tercih et", "düşün") |
|
|
179
|
-
| Uyuyor ama çıktı yanlış biçimde | Pozitif reçete: çıktı NE — parçaları ve sırasıyla | Yasak listesi |
|
|
180
|
-
| Zaten ürettiği şeyden eleman eksitiyor | Şablon REQUIRED alanı | Şablon yanına prose hatırlatma |
|
|
181
|
-
| Davranış koşula bağlı olmalı | Gözlenebilir koşullu ("brief varsa ona atıf yap") | Koşulsuz kural + istisna cümleleri |
|
|
182
|
-
|
|
183
|
-
Yasaklar, şekillendirme sorunlarında TERS TEPER — "X yapma" pazarlığa
|
|
184
|
-
açık kalır; reçete pazarlık bırakmaz: çıktı ya söylenen kalıptadır ya değil.
|
|
185
|
-
|
|
186
|
-
**Seçtiğin kalıp için:** nüans cümlesi YOK ("X yapma, önemliyse hariç"
|
|
187
|
-
pazarlığı yeniden açar).
|
|
188
|
-
|
|
189
|
-
## Token Verimliliği (Kritik)
|
|
190
|
-
|
|
191
|
-
Skill gövdesi okunduğunda bağlama girer:
|
|
192
|
-
|
|
193
|
-
- Sık yüklenen skill'ler: <200 kelime hedef
|
|
194
|
-
- Diğerleri: <500 kelime (yine de öz ol)
|
|
195
|
-
- Detayları araç yardımına bırak; cross-referans kullan ("ZORUNLU:
|
|
196
|
-
test-driven-development skill'ini kullan" — içerik tekrarı yok)
|
|
197
|
-
- Tek mükemmel örnek, çok vasat örnekten iyi
|
|
198
|
-
- Yeniden kullanılabilir ağır referans (100+ satır) ayrı dosyaya
|
|
199
|
-
(`SKILL.md` yanına `referans.md`), inline ilkeler/prensipler kalır
|
|
200
|
-
|
|
201
|
-
## Anti-Desenler
|
|
202
|
-
|
|
203
|
-
- ❌ **Hikâye anlatımı:** "2025-10-03 oturumunda empty projectDir yüzünden..."
|
|
204
|
-
— çok spesifik, yeniden kullanılamaz
|
|
205
|
-
- ❌ **Çok-dil sulandırma:** example-js.js + example-py.py + example-go.go
|
|
206
|
-
- ❌ **Anlamsız etiketler:** helper1, step3, pattern4
|
|
207
|
-
|
|
208
|
-
## Test Türüne Göre
|
|
209
|
-
|
|
210
|
-
| Skill türü | Test yöntemi | Başarı kriteri |
|
|
211
|
-
|---|---|---|
|
|
212
|
-
| Disiplin (kural dayatır: TDD, verification) | Baskı senaryosu: zaman+sunk cost+baskı birleşik; bahaneleri yakala | Maksimum baskıda kurala uyar |
|
|
213
|
-
| Teknik (nasıl-yapılır) | Uygulama + varyasyon + eksik bilgi senaryoları | Tekniği yeni senaryoya doğru uygular |
|
|
214
|
-
| Desen (zihinsel model) | Tanıma + uygulama + karşı-örnek | Ne zaman uygulanacağını doğru bulur |
|
|
215
|
-
| Referans (API/komut dokümanı) | Erişim + uygulama + boşluk testi | Doğru bilgiyi bulur ve uygular |
|
|
216
|
-
|
|
217
|
-
## Deploy Etmeden ÖNCE
|
|
218
|
-
|
|
219
|
-
Her skill için (toplu üretimde her biri AYRI test edilmeden sonrakine geçme):
|
|
220
|
-
|
|
221
|
-
- [ ] Baseline (skill'siz) davranış birebir belgelendi
|
|
222
|
-
- [ ] description "ne zaman" tarzında, workflow özetlemiyor
|
|
223
|
-
- [ ] name kurallara uygun, dosya `%APPDATA%\beast\skills\<slug>\SKILL.md`
|
|
224
|
-
- [ ] Skill ile senaryo artık geçiyor
|
|
225
|
-
- [ ] Yeni bahaneler bulunduysa karşıları eklendi, tekrar test edildi
|
|
226
|
-
- [ ] Bahane tablosu + kırmızı bayraklar var (disiplin skill'i ise)
|
|
227
|
-
- [ ] `/skills` listesinde görünüyor, okunabilirlik kontrol edildi
|
|
228
|
-
|
|
229
|
-
Deploy edilmemiş skill = deploy edilmemiş kod. Test et, sonra konuşlandır.
|
|
1
|
+
---
|
|
2
|
+
name: writing-skills
|
|
3
|
+
description: Yeni skill oluştururken, mevcut skill düzenlerken veya deploy öncesi doğrularken kullan — %APPDATA%\beast\skills altına SKILL.md yazılacak/herhangi bir edit olacaksa.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Skill Yazma
|
|
7
|
+
|
|
8
|
+
## Genel Bakış
|
|
9
|
+
|
|
10
|
+
**Skill yazmak, süreç dokümantasyonuna uygulanan TDD'dir.**
|
|
11
|
+
|
|
12
|
+
Test senaryoları yaz (paralel ajanla baskı senaryosu), fail izle (baseline
|
|
13
|
+
davranış), skill'i yaz (doküman), geçiş izle (ajan artık uyuyor), refactor
|
|
14
|
+
(loophole kapat).
|
|
15
|
+
|
|
16
|
+
**Çekirdek ilke:** Skill'siz ajanın fail ettiğini izlemediysen, skill'in
|
|
17
|
+
doğru şeyi öğrettiğini bilmezsin.
|
|
18
|
+
|
|
19
|
+
**ZORUNLU TEMEL:** test-driven-development skill'ini anlıyor olmalısın —
|
|
20
|
+
o RED-GREEN-REFACTOR'ü tanımlar, bu skill onu dokümana uyarlar.
|
|
21
|
+
|
|
22
|
+
## Skill Nedir?
|
|
23
|
+
|
|
24
|
+
**Skill:** Kanıtlanmış teknik, desen veya araç için referans rehber.
|
|
25
|
+
**Skill'dir:** Yeniden kullanılabilir teknik/pattern/araç/rehber.
|
|
26
|
+
**Skill değildir:** Bir problemi bir kez nasıl çözdüğüne dair hikâye.
|
|
27
|
+
|
|
28
|
+
## Ne Zaman Skill Yaratılır
|
|
29
|
+
|
|
30
|
+
**Yarat:**
|
|
31
|
+
- Teknik sana sezgisel gelmediyse
|
|
32
|
+
- Projeler arası tekrar referans edeceksen
|
|
33
|
+
- Desen genelse (proje-özel değilse)
|
|
34
|
+
|
|
35
|
+
**Yaratma:**
|
|
36
|
+
- Tek seferlik çözümler için
|
|
37
|
+
- Başka yerde iyi dokümante edilmiş standart pratikler için
|
|
38
|
+
- Proje-özel konvansiyonlar (onlar AGENTS.md'ye/proje talimatına)
|
|
39
|
+
- Regex/validasyonla zorlanabilir mekanik kısıtlar (otomatikleştir —
|
|
40
|
+
dokümanı yargı gerektiren kararlara sakla)
|
|
41
|
+
|
|
42
|
+
## Beast'te Skill Yapısı
|
|
43
|
+
|
|
44
|
+
Yer: `%APPDATA%\beast\skills\<slug>\SKILL.md` (write_file ile yaz; slug
|
|
45
|
+
küçük-harf-tire). Isim+açıklama HER SOHBETE system prompta girer — gövde
|
|
46
|
+
sadece ilgiliyken read_file ile okunur.
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
---
|
|
50
|
+
name: skill-adi
|
|
51
|
+
description: [TETİKLEYİCİ — ne zaman okunmalı; aşağıya bak]
|
|
52
|
+
version: 1.0.0
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
# Skill Adı
|
|
56
|
+
|
|
57
|
+
## Genel Bakış
|
|
58
|
+
Bu ne? Çekirdek ilke 1-2 cümle.
|
|
59
|
+
|
|
60
|
+
## Ne Zaman
|
|
61
|
+
Belirtiler ve kullanım durumları; ne zaman KULLANILMAZ
|
|
62
|
+
|
|
63
|
+
## Çekirdek Desen
|
|
64
|
+
Önce/sonra karşılaştırması veya adımlar
|
|
65
|
+
|
|
66
|
+
## Hızlı Referans
|
|
67
|
+
Sık işlemler için tablo
|
|
68
|
+
|
|
69
|
+
## Yaygın Hatalar
|
|
70
|
+
Ne yanlış gider + fix
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Frontmatter kuralları:**
|
|
74
|
+
- `name`: harf, rakam, tire (özel karakter yok)
|
|
75
|
+
- `description`: üçüncü şahıs, SADECE ne zaman kullanılacağını anlatır
|
|
76
|
+
|
|
77
|
+
## Skill Keşif Optimizasyonu (SDO)
|
|
78
|
+
|
|
79
|
+
**description = NE ZAMAN, ne YAPDIĞI değil.**
|
|
80
|
+
|
|
81
|
+
Test şunu gösterdi: description workflow'u özetlerse ajan TÜM skill'i
|
|
82
|
+
okumadan description'daki kısayolu uygular. Gövde, ajanın atladığı
|
|
83
|
+
dokümana döner.
|
|
84
|
+
|
|
85
|
+
```yaml
|
|
86
|
+
# ❌ KÖTÜ: workflow özetler — ajan gövdeyi okumadan bunu takip eder
|
|
87
|
+
description: Plan yürütürken kullan — görev başına alt-ajan devreder, aralarında inceleme yapar
|
|
88
|
+
|
|
89
|
+
# ✅ İYİ: sadece tetikleyici koşullar
|
|
90
|
+
description: Bağımsız görevlere bölünmüş implementasyon planı yürütülürken kullan
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
- Somut tetikleyiciler, belirtiler ve durumlar yaz
|
|
94
|
+
- Sorunu tarif et (race condition, tutarsız davranış), dile özgü belirtiyi değil
|
|
95
|
+
- Arama kelimeleri kullan: hata mesajları, belirtiler ("flaky", "takılıyor"),
|
|
96
|
+
araç adları
|
|
97
|
+
- Üçüncü şahıs yaz (system prompta enjekte edilir)
|
|
98
|
+
|
|
99
|
+
## Demir Kanun (TDD ile aynı)
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
FAILING TEST OLMADAN SKILL YOK
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Bu YENİ skill'ler VE mevcut skill EDİTLERİ için geçerli. Test etmeden
|
|
106
|
+
skill yazdıysan: sil, baştan başla. "Basit ekleme" istisnası yok.
|
|
107
|
+
|
|
108
|
+
## RED-GREEN-REFACTOR (skill için)
|
|
109
|
+
|
|
110
|
+
### RED: Başarısız Test (Baseline)
|
|
111
|
+
|
|
112
|
+
Skill'siz ajanla baskı senaryosu çalıştır (run_background ile taze ajan —
|
|
113
|
+
sistem promptu skill'in yaşayacağı gerçek bağlam, kullanıcı mesajı hataya
|
|
114
|
+
çekecek görev olsun). Birebir belgele:
|
|
115
|
+
- Hangi seçimleri yaptı?
|
|
116
|
+
- Hangi bahaneleri kullandı (verbatim)?
|
|
117
|
+
- Hangi baskılar ihlale yol açtı?
|
|
118
|
+
|
|
119
|
+
### GREEN: Minimal Skill Yaz
|
|
120
|
+
|
|
121
|
+
Baseline'da belgelenen SPESİFİK bahaneleri karşılayan skill yaz. Hayali
|
|
122
|
+
durumlar için ekstra içerik EKLEME. Aynı senaryoyu skill ile tekrar koştur —
|
|
123
|
+
ajan artık uymalı.
|
|
124
|
+
|
|
125
|
+
### REFACTOR: Loophole Kapat
|
|
126
|
+
|
|
127
|
+
Ajan YENİ bahane buldu? Açık karşı-argüman ekle. Bulletproof olana kadar
|
|
128
|
+
tekrar test et.
|
|
129
|
+
|
|
130
|
+
**Mikro-test:** tam senaryo pahalıysa önce kelimelik test — tek taze örnek +
|
|
131
|
+
rehberli vs kontrolsüz (rehbersiz) karşılaştırma, 5+ tekrar, her eşleşmeyi
|
|
132
|
+
elle oku. Kontrol grupta hata YOKSA yazılacak rehber de yok — dur.
|
|
133
|
+
|
|
134
|
+
## Uyum Sağlamayı Ezberle (Disiplin Skill'leri)
|
|
135
|
+
|
|
136
|
+
Kural bilen ajan baskı altında atlarsa:
|
|
137
|
+
|
|
138
|
+
**Her loophole'u açıkça kapat** — kuralı söylemek yetmez, workaround'ları
|
|
139
|
+
tek tek yasakla:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
Testten önce kod yazdıysan: SİL. Baştan başla.
|
|
143
|
+
|
|
144
|
+
**İstisna yok:**
|
|
145
|
+
- "Referans olarak" tutma
|
|
146
|
+
- Testleri yazarken uyarlama
|
|
147
|
+
- Silmek silmektir
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**"Ruh vs harf" argümanını baştan kes:**
|
|
151
|
+
|
|
152
|
+
```markdown
|
|
153
|
+
**Kuralın harfini ihlal etmek, kuralın ruhunu ihlal etmektir.**
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Bahane tablosu kur** — baseline testten çıkan HER bahane:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
| Bahane | Gerçek |
|
|
160
|
+
|---|---|
|
|
161
|
+
| "Test etmek için çok basit" | Basit kod da kırılır. Test 30 saniye. |
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**Kırmızı bayrak listesi** — ajanın kendini kontrolü kolay olsun:
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
## Kırmızı Bayraklar — DUR
|
|
168
|
+
- "Sadece bu sefer" bahanesi
|
|
169
|
+
- "Elle test ettim zaten"
|
|
170
|
+
|
|
171
|
+
**Hepsi: kodu sil, TDD ile baştan başla.**
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
## Kalıbı Hatanın Türüne Eşle
|
|
175
|
+
|
|
176
|
+
| Baseline hatası | Doğru kalıp | Yanlış kalıp |
|
|
177
|
+
|---|---|---|
|
|
178
|
+
| Baskı altında kuralı atlıyor | Yasak + bahane tablosu + kırmızı bayraklar | Yumuşak yönlendirme ("tercih et", "düşün") |
|
|
179
|
+
| Uyuyor ama çıktı yanlış biçimde | Pozitif reçete: çıktı NE — parçaları ve sırasıyla | Yasak listesi |
|
|
180
|
+
| Zaten ürettiği şeyden eleman eksitiyor | Şablon REQUIRED alanı | Şablon yanına prose hatırlatma |
|
|
181
|
+
| Davranış koşula bağlı olmalı | Gözlenebilir koşullu ("brief varsa ona atıf yap") | Koşulsuz kural + istisna cümleleri |
|
|
182
|
+
|
|
183
|
+
Yasaklar, şekillendirme sorunlarında TERS TEPER — "X yapma" pazarlığa
|
|
184
|
+
açık kalır; reçete pazarlık bırakmaz: çıktı ya söylenen kalıptadır ya değil.
|
|
185
|
+
|
|
186
|
+
**Seçtiğin kalıp için:** nüans cümlesi YOK ("X yapma, önemliyse hariç"
|
|
187
|
+
pazarlığı yeniden açar).
|
|
188
|
+
|
|
189
|
+
## Token Verimliliği (Kritik)
|
|
190
|
+
|
|
191
|
+
Skill gövdesi okunduğunda bağlama girer:
|
|
192
|
+
|
|
193
|
+
- Sık yüklenen skill'ler: <200 kelime hedef
|
|
194
|
+
- Diğerleri: <500 kelime (yine de öz ol)
|
|
195
|
+
- Detayları araç yardımına bırak; cross-referans kullan ("ZORUNLU:
|
|
196
|
+
test-driven-development skill'ini kullan" — içerik tekrarı yok)
|
|
197
|
+
- Tek mükemmel örnek, çok vasat örnekten iyi
|
|
198
|
+
- Yeniden kullanılabilir ağır referans (100+ satır) ayrı dosyaya
|
|
199
|
+
(`SKILL.md` yanına `referans.md`), inline ilkeler/prensipler kalır
|
|
200
|
+
|
|
201
|
+
## Anti-Desenler
|
|
202
|
+
|
|
203
|
+
- ❌ **Hikâye anlatımı:** "2025-10-03 oturumunda empty projectDir yüzünden..."
|
|
204
|
+
— çok spesifik, yeniden kullanılamaz
|
|
205
|
+
- ❌ **Çok-dil sulandırma:** example-js.js + example-py.py + example-go.go
|
|
206
|
+
- ❌ **Anlamsız etiketler:** helper1, step3, pattern4
|
|
207
|
+
|
|
208
|
+
## Test Türüne Göre
|
|
209
|
+
|
|
210
|
+
| Skill türü | Test yöntemi | Başarı kriteri |
|
|
211
|
+
|---|---|---|
|
|
212
|
+
| Disiplin (kural dayatır: TDD, verification) | Baskı senaryosu: zaman+sunk cost+baskı birleşik; bahaneleri yakala | Maksimum baskıda kurala uyar |
|
|
213
|
+
| Teknik (nasıl-yapılır) | Uygulama + varyasyon + eksik bilgi senaryoları | Tekniği yeni senaryoya doğru uygular |
|
|
214
|
+
| Desen (zihinsel model) | Tanıma + uygulama + karşı-örnek | Ne zaman uygulanacağını doğru bulur |
|
|
215
|
+
| Referans (API/komut dokümanı) | Erişim + uygulama + boşluk testi | Doğru bilgiyi bulur ve uygular |
|
|
216
|
+
|
|
217
|
+
## Deploy Etmeden ÖNCE
|
|
218
|
+
|
|
219
|
+
Her skill için (toplu üretimde her biri AYRI test edilmeden sonrakine geçme):
|
|
220
|
+
|
|
221
|
+
- [ ] Baseline (skill'siz) davranış birebir belgelendi
|
|
222
|
+
- [ ] description "ne zaman" tarzında, workflow özetlemiyor
|
|
223
|
+
- [ ] name kurallara uygun, dosya `%APPDATA%\beast\skills\<slug>\SKILL.md`
|
|
224
|
+
- [ ] Skill ile senaryo artık geçiyor
|
|
225
|
+
- [ ] Yeni bahaneler bulunduysa karşıları eklendi, tekrar test edildi
|
|
226
|
+
- [ ] Bahane tablosu + kırmızı bayraklar var (disiplin skill'i ise)
|
|
227
|
+
- [ ] `/skills` listesinde görünüyor, okunabilirlik kontrol edildi
|
|
228
|
+
|
|
229
|
+
Deploy edilmemiş skill = deploy edilmemiş kod. Test et, sonra konuşlandır.
|