Yapay zekâ teknolojilerinin küresel çapta hızla geliştiği bir dönemde, Çin merkezli yenilikçi şirketler de bu...
OpenClaw Tools ve Skills: Kendi Araçlarınızı Oluşturun
OpenClaw, yapay zeka asistanlarınız için özel araçlar (tools) ve beceriler (skills) oluşturmanıza olanak tanıyan güçlü bir platformdur. Bu kapsamlı rehberde, kendi araçlarınızı nasıl geliştireceğinizi adım adım öğreneceksiniz.
🔧 Bölüm 1: Tools Nedir?
Tools, OpenClaw asistanının kullanabileceği harici fonksiyonlardır. API çağrıları yapabilir, dosya işleyebilir veya dış sistemlerle entegrasyon sağlayabilirler.
Tool Tanımı
Bir tool, aşağıdaki bileşenlerden oluşur:
- name: Tool’un benzersiz adı
- description: Tool’un ne yaptığını açıklayan metin
- parameters: Giriş parametrelerinin JSON Schema tanımı
- execute: Asıl işlevi gerçekleştiren fonksiyon
Basic Tool Örneği
// tools/hello-tool.js
module.exports = {
name: 'hello',
description: 'Kullanıcıya selam verir',
parameters: {
type: 'object',
properties: {
name: {
type: 'string',
description: 'Selam verilecek kişinin adı'
}
},
required: ['name']
},
execute: async (params) => {
return {
message: `Merhaba, ${params.name}!`
};
}
};
API Çağıran Tool Örneği
// tools/weather-tool.js
const https = require('https');
module.exports = {
name: 'getWeather',
description: 'Bir şehrin hava durumunu getirir',
parameters: {
type: 'object',
properties: {
city: {
type: 'string',
description: 'Şehir adı'
}
},
required: ['city']
},
execute: async (params) => {
// API çağrısı yap
const data = await fetchWeatherData(params.city);
return data;
}
};
🎯 Bölüm 2: Skills Nedir?
Skills, daha karmaşık işlevleri paket halinde sunan yapılandırılmış becerilerdir. Bir skill, birden fazla tool içerebilir ve OpenClaw’ın yeteneklerini genişletir.
Skill Dosya Yapısı
Bir skill klasörü şu yapıdadır:
my-custom-skill/
├── SKILL.md # Skill dokümantasyonu (zorunlu)
├── skill.json # Meta bilgiler (opsiyonel)
├── scripts/ # JavaScript kodları
│ ├── action.js # Ana işlev
│ └── helper.js # Yardımcı fonksiyonlar
├── assets/ # Görsel, vb. dosyalar
│ └── icon.png
└── package.json # NPM bağımlılıkları
SKILL.md Formatı
SKILL.md, skill’in belkemiğidir ve şu bölümleri içermelidir:
# my-custom-skill
Kısa açıklama: Bu skill ne yapar?
## Açıklama
Detaylı açıklama...
## Kullanım
@asistan my-skill komutu
## Parametreler
- param1: Açıklama
- param2: Açıklama
## Örnekler
Örnek kullanımlar...
## Notlar
Önemli notlar...
📦 Bölüm 3: ClawHub ile Skill Yönetimi
ClawHub, OpenClaw skills için merkezi depodur. Skill oluşturup paylaşabilir veya başkalarının skill’lerini kullanabilirsiniz.
ClawHub Komutları
# Skill listele
clawhub list
# Skill ara
clawhub search weather
# Skill yükle
clawhub install weather
# Skill güncelle
clawhub update weather
# Skill yayınla
clawhub publish
# Skill kaldır
clawhub uninstall weather
ClawHub’a Skill Yayınlama
1. Skill klasörünü hazırlayın
2. package.json dosyası ekleyin
3. clawhub login ile giriş yapın
4. clawhub publish komutunu çalıştırın
🚀 Bölüm 4: Pratik Örnekler
Örnek 1: Hava Durumu Skill’i
# weather/SKILL.md
Hava durumu bilgisi çeker.
## Kullanım
@asistan hava durumu istanbul
## Parametreler
- city: Şehir adı (zorunlu)
## Örnekler
hava durumu ankara
weather london
Örnek 2: WordPress Publisher Skill
Otomatik haber yayınlama skill’i ile URL’den içerik çekip WordPress’e gönderin.
# wordpress-publisher/SKILL.md
URL'den içerik çekip WordPress'e ekler.
## Kullanım
@asistan https://example.com/article yayınla
## Parametreler
- url: Makale URL'si
- status: publish (varsayılan) veya draft
Örnek 3: Custom API Integration
Kendi API’nizi entegre edin:
// scripts/my-api.js
module.exports = {
name: 'callMyAPI',
description: 'Benzeri API çağrısı yapar',
execute: async (params) => {
const response = await fetch('https://api.example.com/data', {
headers: { 'Authorization': 'Bearer ' + process.env.MY_API_KEY }
});
return await response.json();
}
};
⚙️ Bölüm 5: Yapılandırma
Skills, openclaw.json dosyasından yapılandırılır:
{
"skills": {
"enabled": ["weather", "wordpress-publisher", "my-skill"],
"config": {
"weather": {
"apiKey": "your-api-key",
"defaultCity": "Istanbul"
}
}
}
}
🔌 Bölüm 6: MCP Integration
Model Context Protocol (MCP), OpenClaw ile harici servisleri bağlar. mcporter CLI ile yönetilir.
# MCP server ekle
mcporter add my-mcp-server
# MCP server'ı listele
mcporter list
# MCP server'ı test et
mcporter call my-mcp-server tool-name
🎓 Bölüm 7: İleri Seviye Konular
Context Engines
OpenClaw 2026.3.7 ile özelleştirilebilir context motorları geldi. Kendi context stratejinizi geliştirebilirsiniz.
SecretRef
API anahtarlarınızı güvenli şekilde saklayın:
{
"secrets": {
"myApiKey": "secretref:credentials/api-key"
}
}
ACP Bindings
Agent Communication Protocol ile farklı servisler arası iletişim kurun.
💡 Bölüm 8: İpuçları ve En İyi Pratikler
- Modülerlik: Skills’i küçük ve odaklı tutun
- Dokümantasyon: SKILL.md’e net talimatlar yazın
- Hata Yönetimi: Error handling ekleyin
- Test: Skill’lerinizi test edin
- Paylaşım: ClawHub’da yayınlayarak paylaşın
- Güvenlik: SecretRef kullanın, API anahtarlarını kod içine gömmeyin
🔍 Bölüm 9: Troubleshooting
Skill Yüklenmiyor
openclaw doctor komutunu çalıştırın ve hata mesajlarını kontrol edin.
Tool Çalışmıyor
Parameters tanımını ve execute fonksiyonunu kontrol edin.
API Hataları
API anahtarınızın geçerli olduğunu ve rate limitleri kontrol edin.