Özet
OpenClaw'un gücü, yetenekler (skills) aracılığıyla genişletilebilirliğinde yatmaktadır. ClawHub üzerinden erişilebilen 700'den fazla topluluk tarafından oluşturulmuş yetenek ve SKILL.md dosyalarını veya TypeScript'i kullanarak özel yetenekler oluşturma yeteneği sayesinde OpenClaw asistanınızı hemen hemen her görev için özel bir araca dönüştürebilirsiniz. Bu kılavuz, mevcut yetenekleri yüklemekten kendi yeteneklerinizi oluşturup yayınlamaya kadar her şeyi kapsamaktadır.
Giriş
OpenClaw kutudan çıktığı haliyle güçlü yetenekler sunsa da, gerçek potansiyeli yetenekler (skills) aracılığıyla ortaya çıkmaktadır. İster özel kodlama yardımı, ister DevOps otomasyonu, araştırma araçları veya sektöre özel işlevsellik ihtiyacınız olsun, bunun için muhtemelen bir yetenek mevcuttur—ve eğer yoksa, bir tane oluşturabilirsiniz.
ClawHub üzerinden erişilebilen 700'den fazla topluluk tarafından oluşturulmuş yetenek ve özel yetenekler oluşturma yeteneği sayesinde OpenClaw, ihtiyacınız olan her türlü yapay zeka asistanına dönüşür.
Bu kapsamlı kılavuzda şunları ele alacağız:
- ClawHub'dan yetenekler nasıl bulunur ve yüklenir
- Yeteneklerinizi yönetme ve düzenleme
- Sıfırdan özel yetenekler oluşturma
- Yeteneklerinizi topluluk için yayınlama
- Güvenlik en iyi uygulamaları
OpenClaw Yeteneklerini Anlamak
Yetenekler Nelerdir?
Yetenekler, OpenClaw'a belirli yetenekler ekleyen modüler uzantılardır. Onları, yapay zeka asistanınıza yeni yetenekler kazandıran eklentiler olarak düşünebilirsiniz—belirli e-posta türleri göndermekten belirli API'lerle etkileşime geçmeye kadar.
Yetenek Türleri
1. Doğal Dil Yetenekleri (SKILL.md)
En basit hali—YAML frontmatter ile Markdown olarak yazılır. Bunlar, belirli koşullar karşılandığında OpenClaw'un izlediği operasyonel çalışma kitaplarını tanımlar.
2. TypeScript Yetenekleri
API'lere erişebilen, karmaşık mantık yürütebilen ve harici hizmetlerle derinlemesine entegre olabilen TypeScript ile oluşturulmuş tam özellikli yeteneklerdir.
3. CLI Tabanlı Yetenekler
Komut satırı araçlarını saran yeteneklerdir ve OpenClaw'un sisteminizde bulunan herhangi bir aracı kullanmasına olanak tanır.
Yetenekler Nasıl Çalışır?
Yetenekler ihtiyaç duyulduğunda dinamik olarak yüklenir (tam zamanında yükleme), bu da bellek kullanımını yönetilebilir kılar. Bir kullanıcı isteği bir yeteneğin tetikleyicileriyle eşleştiğinde, OpenClaw yeteneğin tanımlı eylemlerini yürütür.
Yetenek Kategorileri
ClawHub birçok kategoride yeteneklere ev sahipliği yapmaktadır:
- Kodlama Aracıları ve IDE'ler (133+ yetenek)
- DevOps ve Bulut (212+ yetenek)
- Arama ve Araştırma (253+ yetenek)
- Yapay Zeka ve Büyük Dil Modelleri (LLM'ler) (287+ yetenek)
- Verimlilik (150+ yetenek)
- Veri ve Analiz (100+ yetenek)
- Ve daha fazlası...

ClawHub'dan Yetenek Yükleme
Yetenekleri Bulma
clawhub.ai adresindeki ClawHub pazarını keşfedin veya doğrudan OpenClaw üzerinden arama yapın:
# Yetenekleri ara
openclaw skills search "github"
# Popüler yetenekleri listele
openclaw skills popular
# Bir kategoriye göz at
openclaw skills browse devops
Bir Yetenek Yükleme
İstediğiniz bir yeteneği bulduğunuzda, yüklemesi basittir:
# Belirli bir yeteneği yükle
openclaw skills install github-actions
# Belirli bir sürümle yükle
openclaw skills install github-actions@1.2.0
# Belirli bir yayıncıdan yükle
openclaw skills install @username/skill-name
Tüm Önerilen Yetenekleri Yükleme
# Popüler başlangıç yeteneklerini yükle
openclaw skills install-recommended
Kurulumu Doğrulama
# Yüklü tüm yetenekleri listele
openclaw skills list
# Yetenek detaylarını kontrol et
openclaw skills info github-actions
Yüklü Yeteneklerinizi Yönetme
Yetenekleri Etkinleştirme ve Devre Dışı Bırakma
# Bir yeteneği devre dışı bırak (yüklü kalır ancak kullanılmaz)
openclaw skills disable github-actions
# Devre dışı bırakılmış bir yeteneği etkinleştir
openclaw skills enable github-actions
Yetenekleri Güncelleme
# Belirli bir yeteneği güncelle
openclaw skills update github-actions
# Tüm yetenekleri güncelle
openclaw skills update-all
Yetenekleri Kaldırma
# Bir yeteneği kaldır
openclaw skills uninstall github-actions
Yetenek Yapılandırması
Birçok yetenek özel yapılandırmayı destekler:
# Bir yeteneği yapılandır
openclaw skills config github-actions --set token=your-github-token
Veya yeteneğin yapılandırma dosyasını doğrudan düzenleyin:
# ~/.openclaw/skills/github-actions/config.yaml
token: your-github-token
default-branch: main
auto-merge: false
Özel Yetenekler Oluşturma
Ne Zaman Özel Yetenekler Oluşturmalısınız?
Aşağıdaki durumlarda özel bir yetenek oluşturun:
- Mevcut yetenekler tarafından karşılanmayan belirli API entegrasyonları
- Özel otomasyon iş akışları
- Sektöre özel işlevsellik
- Kurumsal dahili araçlar
Yetenek Yapısı
Temel bir yetenek şunlardan oluşur:
my-custom-skill/
├── SKILL.md # Yetenek tanımı (doğal dil yetenekleri için)
├── config.yaml # Yapılandırma şeması
└── icon.svg # Yetenek simgesi (isteğe bağlı)
TypeScript yetenekleri için:
my-typescript-skill/
├── src/
│ └── index.ts # Ana yetenek kodu
├── package.json
├── tsconfig.json
├── config.schema.json
└── skill.yaml # Yetenek manifesti
SKILL.md Yetenekleri Oluşturma
Temel SKILL.md Yapısı
İşte minimal bir SKILL.md dosyası:
---
name: weather-alert
description: Get weather alerts for your location
triggers:
- "weather"
- "weather alert"
- "forecast"
requires:
- location
actions:
- name: get_weather
api: https://api.weather.com/v3
params:
location: "{location}"
---
# Hava Durumu Uyarısı Yeteneği
Bu yetenek, konumunuz için hava durumu uyarıları ve tahminleri sağlar.
## Yapılandırma
Konumunuzu yetenek yapılandırmasında ayarlayın:
- city: Şehir adınız
- units: metrik veya emperyal
Tam Örnek: E-posta Özet Yeteneği
---
name: daily-email-summary
description: Receive a daily summary of your important emails
triggers:
- "email summary"
- "daily emails"
- "summarize my emails"
requires:
- email_access
- api_key
actions:
- name: fetch_emails
method: gmail.users.messages.list
params:
q: "is:unread"
maxResults: 10
- name: summarize
model: gpt-4
prompt: "Summarize these emails in bullet points"
---
# Günlük E-posta Özeti Yeteneği
Otomatik günlük özetlerle gelen kutunuzdan haberdar olun.
## Özellikler
- Gmail'den okunmamış e-postaları getirir
- Önemli noktaları özetlemek için yapay zeka kullanır
- Özeti tercih ettiğiniz kanala gönderir
## Kurulum
1. OpenClaw ayarlarınızda Gmail API erişimini yapılandırın
2. Tercih ettiğiniz özet saatini ayarlayın
3. Teslimat kanalınızı seçin (Telegram, Discord vb.)
## Kullanım Örneği
Siz: E-posta özetimi gönder
OpenClaw: İşte okunmamış 8 e-postanızın özeti:
- John'dan 3. Çeyrek planlaması hakkında toplantı isteği
- Amazon'dan sipariş onayı
- TechCrunch'tan bülten...
### Gelişmiş Tetikleyiciler
Daha gelişmiş tetikleyiciler kullanın:
```markdown
---
name: smart-reminder
triggers:
# Tam ifadeler
- "bana {action} yapmamı hatırlat"
# Desenler
- "{duration} içinde bana hatırlat"
# Bağlamsal
context:
- channel: work
patterns: ["toplantı", "son teslim tarihi", "proje"]
---
# Akıllı Hatırlatıcı Yeteneği
Tüm hatırlatıcı isteklerini akıllı ayrıştırma ile yönetir.
TypeScript Yetenekleri Oluşturma
Daha karmaşık entegrasyonlar için TypeScript yetenekleri tam kontrol sağlar.
Geliştirme Ortamınızı Kurma
# Yeni bir yetenek projesi oluştur
openclaw skills create my-awesome-skill
# Yetenek dizinine git
cd my-awesome-skill
# Bağımlılıkları yükle
npm install
# Geliştirme sunucusunu başlat
npm run dev
TypeScript Yeteneği Yapısı
// src/index.ts
import { Skill, SkillContext, SkillResult } from '@openclaw/skill-sdk';
export default class MyAwesomeSkill implements Skill {
name = 'my-awesome-skill';
description = 'Harika bir şey yapan bir yetenek';
// Yetenek yüklendiğinde çağrılır
async onLoad(context: SkillContext): Promise<void> {
console.log('Yetenek yüklendi!');
}
// Yetenek bir tetikleyiciyle eşleştiğinde çağrılır
async execute(context: SkillContext): Promise<SkillResult> {
const { userMessage, config } = context;
// Yetenek mantığınız burada
const result = await this.doSomethingAwesome(userMessage.content);
return {
message: result,
actions: []
};
}
private async doSomethingAwesome(input: string): Promise<string> {
// Yetenek mantığınızı uygulayın
return `Şunu söyledin: ${input}`;
}
}
Yetenek Manifesti (skill.yaml)
name: my-awesome-skill
version: 1.0.0
description: Harika bir şey yapan bir yetenek
author:
name: Adınız
email: siz@example.com
triggers:
- pattern: "harika bir şey yap"
type: exact
config:
apiKey:
type: string
required: true
description: Servis için API anahtarı
permissions:
- network
- filesystem
runtime: nodejs18
Yapılandırma Şeması (config.schema.json)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"apiKey": {
"type": "string",
"description": "Servis için API anahtarı"
},
"enabled": {
"type": "boolean",
"default": true
}
},
"required": ["apiKey"]
}
Oluşturma ve Test Etme
# Yeteneği oluştur
npm run build
# Testleri çalıştır
npm test
# Dağıtım için paketle
npm run package
Örnek: GitHub Entegrasyon Yeteneği
İşte API entegrasyonunu gösteren daha eksiksiz bir örnek:
import { Skill, SkillContext, SkillResult } from '@openclaw/skill-sdk';
import axios from 'axios';
export default class GitHubSkill implements Skill {
name = 'github';
description = 'GitHub depolarıyla etkileşim kurar';
async execute(context: SkillContext): Promise<SkillResult> {
const { userMessage, config } = context;
const message = userMessage.content.toLowerCase();
if (message.includes('list repos')) {
return this.listRepositories(config);
} else if (message.includes('create issue')) {
return this.createIssue(context);
}
return {
message: 'Depoları listelemeye, sorun oluşturmaya ve daha fazlasına yardımcı olabilirim.',
actions: []
};
}
private async listRepositories(config: any): Promise<SkillResult> {
const response = await axios.get('https://api.github.com/user/repos', {
headers: {
Authorization: `token ${config.githubToken}`
}
});
const repos = response.data.slice(0, 5).map((r: any) => r.name).join('\n');
return {
message: `Yakın zamandaki depolarınız:\n${repos}`,
actions: []
};
}
private async createIssue(context: SkillContext): Promise<SkillResult> {
// Kullanıcı mesajından sorun detaylarını çıkar
return {
message: 'Bir sorun oluşturmak için daha fazla detaya ihtiyacım var. Lütfen depoyu, başlığı ve açıklamayı belirtin.',
actions: [
{
type: 'request_input',
fields: ['repo', 'title', 'description']
}
]
};
}
}
Yetenekleri ClawHub'a Yayınlama
Yeteneklerinizi Yayınlamak İçin Hazırlama
- Kapsamlı bir şekilde test edin: Yeteneğinizin çeşitli senaryolarda çalıştığından emin olun
- Belgelendirme ekleyin: Örneklerle açık SKILL.md
- Uygun izinleri ayarlayın: Yalnızca gerekli erişimi isteyin
- Bir simge ekleyin: Basit bir SVG simgesi oluşturun
- Sürümleme: Semantik sürümleme kullanın (1.0.0, 1.1.0 vb.)
Yayınlama Süreci
# ClawHub'a giriş yap
openclaw skills login
# Yeteneğinizin hazır olup olmadığını kontrol et
openclaw skills validate
# Yeteneğinizi yayınla
openclaw skills publish
Yayınlama Gereksinimleri
- Geçerli yetenek manifesti (skill.yaml)
- Gerekli: ad, sürüm, açıklama, yazar
- En az bir tetikleyici tanımlanmış olmalı
- virusTotal taraması (otomatik olarak gerçekleştirilir)
- Kimlik doğrulama
Sürüm Yönetimi
# Sürümü yükselt
openclaw skills version patch # 1.0.0 -> 1.0.1
openclaw skills version minor # 1.0.0 -> 1.1.0
openclaw skills version major # 1.0.0 -> 2.0.0
# Yeni sürümü yayınla
openclaw skills publish
Güvenlik İçin En İyi Uygulamalar
Üçüncü Taraf Yetenekleri Yükleme
Önemli Güvenlik Notu: 2026 yılının başlarında yaşanan ClawHavoc olayı, ClawHub'da kötü amaçlı yetenekleri ortaya çıkardı. Her zaman şu önlemleri uygulayın:
- Yayıncıları doğrulayın: Yalnızca güvenilir, doğrulanmış yayıncılardan yetenekler yükleyin
- İzinleri gözden geçirin: Yeteneğin hangi izinleri istediğini kontrol edin
- Kodu denetleyin: TypeScript yetenekleri için kaynak kodunu inceleyin
- İzole başlayın: Yetenekleri önce ayrı bir ortamda test edin
# Yüklemeden önce yetenek izinlerini kontrol et
openclaw skills inspect github-actions
Güvenli Yetenekler Oluşturma
Kendi yeteneklerinizi oluştururken:
# Her zaman minimum gerekli izinleri belirtin
permissions:
- network # Sadece gerekiyorsa
- filesystem # Sadece gerekiyorsa
# Gizli bilgileri asla sabit kodlamayın
# KÖTÜ:
const apiKey = "sk-1234567890";
# İYİ:
const apiKey = process.env.API_KEY;
Önerilen Güvenlik Yapılandırması
# ~/.openclaw/security.yaml
skill_security:
require_virustotal: true
require_verified_publisher: false # Üretim için true olarak ayarla
audit_permissions: true
sandbox_mode: true
Gelişmiş Yetenek Geliştirme
Yetenek Bağımlılıkları
Yetenekler diğer yeteneklere bağımlı olabilir:
# skill.yaml
dependencies:
- name: github
version: ">=1.0.0"
- name: slack
version: ">=2.0.0"
Olay Tabanlı Yetenekler
OpenClaw olaylarına tepki verin:
export default class EventSkill implements Skill {
async onMessage(context: SkillContext): Promise<SkillResult> {
// Her mesajda çağrılır
}
async onTimer(context: SkillContext): Promise<SkillResult> {
// Belirlenen programa göre çağrılır
}
async onStartup(context: SkillContext): Promise<void> {
// OpenClaw başladığında çağrılır
}
async onShutdown(context: SkillContext): Promise<void> {
// OpenClaw durduğunda çağrılır
}
}
Yeteneklerle Birlikte MCP Kullanma
Yetenekleri MCP sunucularıyla birleştirin:
# skill.yaml
mcpServers:
- name: filesystem
command: npx @modelcontextprotocol/server-filesystem ./data
- name: github
command: npx @modelcontextprotocol/server-github
Sorun Giderme
Yetenek Yüklenmiyor
# Yetenek durumunu kontrol et
openclaw skills status my-skill
# Yetenek günlüklerini görüntüle
openclaw logs --skill my-skill
Yaygın nedenler:
- Eksik bağımlılıklar
- Geçersiz yapılandırma
- İzin sorunları
Tetikleyici Eşleşmiyor
# Tetikleyici eşleşmesini test et
openclaw skills test-trigger "tetikleyici cümleniz"
Performans Sorunları
# Yetenek kaynak kullanımını kontrol et
openclaw skills monitor
# Kaynak yoğun yetenekleri geçici olarak devre dışı bırak
openclaw skills disable heavy-skill
Sonuç
OpenClaw'un yetenek sistemi, onu basit bir yapay zeka asistanından güçlü, genişletilebilir bir platforma dönüştürür. İster ClawHub'dan topluluk tarafından oluşturulmuş yetenekleri yükleyin, ister kendi özel çözümlerinizi oluşturun, olasılıklar neredeyse sınırsızdır.
OpenClaw ekosistemi her yeni yetenekle daha da güçleniyor. Bugün oluşturmaya başlayın!

