بناء أول Skill خاص بك - دليل عملي
بناء أول Skill خاص بك - دليل عملي
Skills هي ما يجعل OpenClaw قوياً. تعلم كيف تبني skill مخصص لاحتياجاتك!
ما هو Skill؟ 🤔
Skill = قدرة إضافية تضيفها لـ OpenClaw.
أمثلة:
- البحث في الإنترنت
- إرسال emails
- التحكم بالمتصفح
- نشر على Twitter
- قراءة قواعد البيانات
هيكل Skill أساسي
كل skill يحتوي:
my-skill/
├── SKILL.md # التوثيق (إلزامي)
├── package.json # معلومات Skill
├── bin/ # سكريبتات قابلة للتنفيذ
│ └── my-tool
└── README.md # شرح للمستخدمين
مثال عملي: Skill "المفكرة" 📝
سنبني skill بسيط لحفظ ملاحظات.
الخطوة 1: إنشاء المجلد
mkdir my-notebook-skill
cd my-notebook-skill
الخطوة 2: إنشاء package.json
npm init -y
عدّل package.json:
{
"name": "@arabclaw/skill-notebook",
"version": "1.0.0",
"description": "Skill لحفظ وقراءة ملاحظات",
"bin": {
"notebook": "./bin/notebook"
},
"keywords": ["openclaw", "skill", "notes", "arabic"],
"author": "Your Name",
"license": "MIT"
}
الخطوة 3: إنشاء السكريبت
أنشئ bin/notebook:
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const NOTES_FILE = path.join(process.env.HOME, '.openclaw', 'notes.json');
// تحميل الملاحظات
function loadNotes() {
if (!fs.existsSync(NOTES_FILE)) {
return [];
}
return JSON.parse(fs.readFileSync(NOTES_FILE, 'utf8'));
}
// حفظ الملاحظات
function saveNotes(notes) {
const dir = path.dirname(NOTES_FILE);
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
fs.writeFileSync(NOTES_FILE, JSON.stringify(notes, null, 2));
}
// الأوامر
const command = process.argv[2];
const args = process.argv.slice(3);
switch (command) {
case 'add':
const noteText = args.join(' ');
const notes = loadNotes();
notes.push({
id: Date.now(),
text: noteText,
date: new Date().toISOString()
});
saveNotes(notes);
console.log('✅ تم حفظ الملاحظة');
break;
case 'list':
const allNotes = loadNotes();
if (allNotes.length === 0) {
console.log('لا توجد ملاحظات');
} else {
allNotes.forEach((note, i) => {
console.log(`${i + 1}. ${note.text}`);
console.log(` 📅 ${new Date(note.date).toLocaleDateString('ar')}`);
});
}
break;
case 'delete':
const id = parseInt(args[0]) - 1;
let allNotesDelete = loadNotes();
if (id >= 0 && id < allNotesDelete.length) {
allNotesDelete.splice(id, 1);
saveNotes(allNotesDelete);
console.log('✅ تم حذف الملاحظة');
} else {
console.log('❌ رقم ملاحظة غير صحيح');
}
break;
default:
console.log(`
استخدام:
notebook add <نص الملاحظة> # إضافة ملاحظة
notebook list # عرض كل الملاحظات
notebook delete <رقم> # حذف ملاحظة
`);
}
اجعله قابلاً للتنفيذ:
chmod +x bin/notebook
الخطوة 4: إنشاء SKILL.md
# Skill: Notebook
حفظ وإدارة ملاحظات سريعة.
## Commands
### إضافة ملاحظة
\`\`\`bash
notebook add "اشتري حليب"
\`\`\`
### عرض الملاحظات
\`\`\`bash
notebook list
\`\`\`
### حذف ملاحظة
\`\`\`bash
notebook delete 1
\`\`\`
## Usage with OpenClaw
يمكن لـ OpenClaw استخدام هذا Skill عندما تطلب:
- "احفظ ملاحظة: ..."
- "ما هي ملاحظاتي؟"
- "احذف الملاحظة الأولى"
OpenClaw سيتعرف تلقائياً على الأمر المناسب.
الخطوة 5: التثبيت المحلي
npm link
الآن يمكنك استخدام الأمر:
notebook add "أول ملاحظة!"
notebook list
الخطوة 6: الاختبار مع OpenClaw
افتح OpenClaw:
openclaw
جرب:
أنت: احفظ ملاحظة: اتصل بأحمد غداً
OpenClaw: [يشغل notebook add ...]
✅ تم حفظ الملاحظة
أنت: ما هي ملاحظاتي؟
OpenClaw: [يشغل notebook list]
لديك ملاحظة واحدة:
1. اتصل بأحمد غداً
📅 7 فبراير 2026
تحسينات متقدمة 🚀
1. إضافة Tags
عدّل السكريبت لدعم tags:
// إضافة مع tags
case 'add':
const text = args.join(' ');
const tags = text.match(/#\w+/g) || [];
notes.push({
id: Date.now(),
text: text,
tags: tags,
date: new Date().toISOString()
});
saveNotes(notes);
break;
// بحث حسب tag
case 'search':
const tag = args[0];
const filtered = loadNotes().filter(n =>
n.tags.includes(tag)
);
// عرض النتائج...
break;
استخدام:
notebook add "اشتري حليب #تسوق"
notebook search "#تسوق"
2. أولويات (Priority)
notes.push({
id: Date.now(),
text: noteText,
priority: args.includes('--urgent') ? 'high' : 'normal',
date: new Date().toISOString()
});
استخدام:
notebook add "اتصل بالطبيب --urgent"
3. تذكيرات (Reminders)
دمج مع cron:
case 'remind':
const reminderText = args.slice(0, -1).join(' ');
const when = args[args.length - 1]; // "tomorrow", "3pm", etc.
// إضافة cron job عبر OpenClaw API
// (يتطلب integration مع cron tool)
break;
نشر Skill 📦
على npm
npm login
npm publish --access public
على ClawdHub
# ثبّت ClawdHub CLI
npm install -g clawdhub
# login
clawdhub login
# نشر
clawdhub publish
أمثلة Skills للإلهام
Skill بسيط: Fortune (حظك اليوم)
#!/usr/bin/env node
const fortunes = [
"اليوم يوم رائع للبدايات الجديدة! 🌟",
"انتبه لصحتك اليوم 💪",
"فرصة عمل قد تأتيك قريباً 💼",
"وقت رائع للتعلم 📚"
];
const random = fortunes[Math.floor(Math.random() * fortunes.length)];
console.log(random);
Skill متوسط: Weather بسيط
#!/usr/bin/env node
const https = require('https');
const city = process.argv[2] || 'Cairo';
https.get(`https://wttr.in/${city}?format=j1`, (res) => {
let data = '';
res.on('data', chunk => data += chunk);
res.on('end', () => {
const weather = JSON.parse(data);
const current = weather.current_condition[0];
console.log(`🌡️ ${current.temp_C}°C`);
console.log(`☁️ ${current.weatherDesc[0].value}`);
});
});
Skill متقدم: Database Query
#!/usr/bin/env node
const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('mydata.db');
const query = process.argv.slice(2).join(' ');
db.all(query, [], (err, rows) => {
if (err) {
console.error('❌ خطأ:', err.message);
return;
}
console.table(rows);
});
نصائح لـ Skills ناجحة 💡
1. اجعله بسيطاً
Skill جيد = شيء واحد يفعله بشكل ممتاز.
2. وثّق جيداً
SKILL.md يجب أن يشرح:
- ماذا يفعل Skill
- كيفية استخدامه
- أمثلة واضحة
3. عالج الأخطاء
try {
// code...
} catch (error) {
console.error('❌ خطأ:', error.message);
process.exit(1);
}
4. دعم العربية
// استخدم UTF-8
process.stdout.write('\ufeff'); // BOM للعربية
// رسائل بالعربية
console.log('✅ تم بنجاح');
console.log('❌ فشل');
5. اختبر كثيراً
# اختبار يدوي
notebook add "test"
notebook list
notebook delete 1
# اختبار مع OpenClaw
openclaw chat "احفظ ملاحظة: اختبار"
الخلاصة
بناء Skill لـ OpenClaw سهل:
- ✅ أنشئ مجلد +
package.json - ✅ اكتب سكريبت في
bin/ - ✅ وثّق في
SKILL.md - ✅ ثبّت محلياً (
npm link) - ✅ اختبر مع OpenClaw
- ✅ انشر على npm/ClawdHub
الآن دورك! ما هو Skill الذي ستبنيه؟
أفكار Skills:
- مدير كلمات سر
- tracker عادات يومية
- مترجم سريع
- تحليل ملفات CSV
- integration مع API معين
شارك skill الخاص بك على ClawdHub ليستفيد المجتمع! 🚀
جاهز لتجربة OpenClaw؟
ابدأ الآن مع دليل التثبيت الكامل بالعربية وابنِ أول وكيل ذكاء اصطناعي خاص بك.
دليل التثبيتمقالات ذات صلة
حل المشاكل الشائعة في أوبن كلاو: دليل استكشاف الأخطاء وإصلاحها
تعرّف على حلول عملية لأكثر المشاكل شيوعاً في أوبن كلاو. دليل استكشاف أخطاء شامل يساعدك على حل المشاكل التقنية وتحسين الأداء بسرعة.
اقرأ المزيدتمكين المرأة العربية التقنية: كيف يفتح أوبن كلاو أبواباً جديدة للريادة
اكتشفي كيف يمكّن أوبن كلاو (OpenClaw) المرأة العربية التقنية من بناء حلول ذكية وريادية دون الحاجة لخبرة برمجية عميقة، وفتح آفاق جديدة في المجالات التقنية.
اقرأ المزيدأوبن كلاو مقابل Mistral AI: مقارنة النماذج الأوروبية للسوق العربي
مقارنة شاملة بين أوبن كلاو (OpenClaw) و Mistral AI لمستخدمي المنطقة العربية، تكتشف الفروقات الأساسية والقدرات المتفردة لكل منصة أوروبية رائدة.
اقرأ المزيد