
أداة دون اتصال بالإنترنت وتركز على الأمان لمزامنة وإدارة مهارات الوكلاء
افحص مهارات وكلاء الذكاء الاصطناعي بحثًا عن حقن الأوامر قبل تثبيتها
```
╔════════════════════════════════════════════════════════╗
║ ███████╗██╗ ██╗██╗ ██╗██╗ ████████╗ ██████╗ ║
║ ██╔════╝██║ ██╔╝██║ ██║██║ ╚══██╔══╝██╔═══██╗ ║
║ ███████╗█████╔╝ ██║ ██║██║ ██║ ██║ ██║ ║
║ ╚════██║██╔═██╗ ██║ ██║██║ ██║ ██║ ██║ ║
║ ███████║██║ ██╗╚██████╔╝███████╗██║ ╚██████╔╝ ║
║ ╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ║
╠════════════════════════════════════════════════════════╣
║ CROSS-PLATFORM AI SKILLS MANAGEMENT ║
╚════════════════════════════════════════════════════════╝

## ما هو Skulto؟
Skulto هي أداة CLI متعددة المنصات لإدارة مهارات مساعدي البرمجة بالذكاء الاصطناعي عبر 33 منصة. توفر:
1. **تثبيت متعدد المنصات** - ثبّت المهارات إلى Claude Code وCursor وWindsurf وCopilot وCodex وCline وRoo Code وGemini CLI وKiro CLI و25+ منصة أخرى
2. **إدارة المستودعات** - أضف مستودعات المهارات وقم بمزامنتها وإزالتها
3. **بحث نصي كامل** - بحث مدعوم بـ SQLite FTS5 عبر جميع المهارات المفهرسة
4. **فحص أمني** - كشف حقن الأوامر (prompt injection) وأنماط الأكواد الخطيرة
5. **كشف المنصات** - يكتشف تلقائيًا أدوات الذكاء الاصطناعي المثبتة على نظامك
6. **واجهة TUI تفاعلية** - واجهة طرفية مدعومة بـ Bubble Tea مع مجموعات قابلة للطي وتحديد متعدد وتنقل بلوحة المفاتيح
7. **تثبيت عبر الرابط** - ثبّت مباشرة من مستودعات GitHub عبر `skulto install owner/repo`
## الميزات

- **دعم 33 منصة** - Claude Code وCursor وWindsurf وGitHub Copilot وOpenAI Codex وOpenCode وCline وRoo Code وGemini CLI وKiro CLI وAmp وContinue وGoose وJunie وQwen Code وTrae والمزيد
- **كشف المنصات** - يكتشف أدوات الذكاء الاصطناعي المثبتة ويعرضها في منتقيات المنصات
- **يعمل دون اتصال أولاً** - يعمل دون إنترنت بعد المزامنة الأولية
- **بحث سريع** - بحث نصي كامل مدعوم بـ FTS5 مع ترتيب BM25 (زمن استجابة ~50ms)
- **مزامنة عبر Git** - استنساخ وسحب المستودعات لتحديثات موثوقة
- **ماسح أمني** - يكشف حقن الأوامر في البيانات الوصفية (frontmatter) والمراجع والبرامج النصية والأنماط الخطيرة مع مستويات تهديد
- **تثبيت ذكي لعدة مهارات** - ثبّت مهارات متعددة من رابط مستودع مع حل تعارضات لكل مهارة (تخطي المثبتة بالفعل، إضافة مواقع جديدة، أو تخطي الكل)
- **اختيار النطاق** - ثبّت المهارات عالميًا (`~/`) أو لكل مشروع (`./`) مع تحكم منفصل لكل منصة
- **مجموعات منصات قابلة للطي** - المنصات المكتشفة/المفضلة في الأعلى، وكل المنصات الأخرى في مجموعة مطوية عبر جميع المنتقيات
- **تذكر موقع التثبيت** - اختر تذكر اختياراتك للمنصة والنطاق للتثبيتات المستقبلية
- **المفضلة** - احفظ المهارات المفضلة التي تبقى عبر عمليات إعادة تعيين قاعدة البيانات
- **المُشاهَد مؤخرًا** - يتتبع ويعرض المهارات التي شاهدتها مؤخرًا
- **خادم MCP** - خادم Model Context Protocol لتكامل أدوات الذكاء الاصطناعي (بحث وتثبيت وإدارة المهارات برمجيًا)
- **القياس عن بُعد** - إحصائيات استخدام مجهولة (يمكن إيقافها عبر متغير بيئة في الإعدادات)
### المنصات المدعومة
يكتشف Skulto المهارات ويثبتها في 33 أداة برمجة بالذكاء الاصطناعي:
| | | | |
|---|---|---|---|
| Claude Code | Cursor | Windsurf | GitHub Copilot |
| OpenAI Codex | OpenCode | Cline | Roo Code |
| Gemini CLI | Kiro CLI | Amp | Continue |
| Goose | Junie | Kilo Code | Trae |
| Qwen Code | Kimi Code CLI | CodeBuddy | Command Code |
| Crush | Droid | Kode | MCPJam |
| Mux | OpenHands | Pi | Qoder |
| Zencoder | Neovate | Pochi | Antigravity |
| Moltbot | | | |
## التثبيت
### Homebrew```bash
brew install asteroid-belt/tap/skulto
للتحديث:```bash brew upgrade asteroid-belt/tap/skulto
### حزم لينكس
توفر إصدارات GitHub تنزيلات بصيغتي `.deb` و`.rpm` لكل من `amd64` و`arm64`. اختر صيغة الحزمة المناسبة لتوزيعتك واستبدل الإصدار أدناه بوسم إصدار:```bash
VERSION=vX.Y.Z
ARCH=amd64 # or arm64
# Debian/Ubuntu
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto_${VERSION#v}_linux_${ARCH}.deb"
# Fedora/RHEL/openSUSE
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/skulto-${VERSION#v}-1.$([ "$ARCH" = amd64 ] && echo x86_64 || echo aarch64).rpm"
# Download the release checksums, then verify the downloaded asset.
curl -LO "https://github.com/asteroid-belt/skulto/releases/download/${VERSION}/checksums.txt"
sha256sum -c checksums.txt --ignore-missing
ثبّت الملف المحلي باستخدام مدير الحزم الخاص بتوزيعتك:```bash sudo apt install ./skulto_.deb sudo dnf install ./skulto-.rpm sudo zypper install ./skulto-*.rpm
كل حزمة تثبّت `skulto` و`skulto-mcp` في `/usr/bin/skulto` و
`/usr/bin/skulto-mcp`. لا يتطلب Skulto نظام Git في وقت التشغيل. هذه
تنزيلات من إصدارات GitHub، وليست مستودع حزم مُهيأ.
### من المصدر```bash
# Clone the repository
git clone https://github.com/asteroid-belt/skulto.git
cd skulto
# Install dependencies
make deps
# Build (outputs to ./build/)
make build-all
# Run
./build/skulto
GITHUB_TOKEN للحدود الأعلى لمعدل واجهة برمجة التطبيقاتskulto
skulto install asteroid-belt/skills
عند أول تشغيل، يرشدك Skulto خلال عملية الإعداد:
1. **اختيار المنصة** - تظهر الأدوات الذكية المكتشفة في الأعلى؛ اختر أي منها لمزامنة المهارات إليها
2. **اختيار المهارات** - مهارات بداية منسقة من حزام الكويكبات (superplan، superbuild، teach، agentsmd-generator، والمزيد)
3. **محدد الموقع** - اختر النطاق العام أو نطاق المشروع لكل منصة، مع تعبئة اختياراتك السابقة مسبقًا
## إدارة المهارات للفرق
يعمل Skulto مثل مدير حزم لمهارات وكلاء الذكاء الاصطناعي. استخدم `skulto.json` لتحديد المهارات التي يحتاجها مشروعك، ثم `skulto sync` لتثبيتها — بحيث يحصل كل مطور وبيئة تكامل مستمر على نفس إعداد المهارات.
### سير العمل```bash
# 1. Install skills into your project
skulto install superplan
skulto install teach
# 2. Save project skills to a manifest
skulto save
# 3. Commit skulto.json to your repo
git add skulto.json
git commit -m "add skulto skill manifest"
# 4. Teammates (or CI) sync from the manifest
skulto sync
skulto.jsonيُتيح ملف البيان تتبّع المهارات التي يعتمد عليها مشروعك ومصدرها:```json { "version": 1, "skills": { "superplan": "asteroid-belt/skills", "teach": "asteroid-belt/skills", "resume-ats-optimizer": "paramchoudhary/resumeskills" } }
كل إدخال يربط اسم مهارة بمستودعها المصدر (`owner/repo`). عندما يشغّل أحد أعضاء الفريق `skulto sync`، يقوم Skulto باستنساخ أي مستودعات مفقودة، ويحلّ المهارات، ويُثبّتها على المنصات المحددة.
### `skulto save`
يلتقط تثبيتاتك الحالية ضمن نطاق المشروع في `skulto.json`:```bash
$ skulto save
SAVED to skulto.json
teach asteroid-belt/skills
superplan asteroid-belt/skills
2 skill(s) saved
فقط عمليات التثبيت على نطاق المشروع يتم حفظها — التثبيتات العامة شخصية ولا تتم مشاركتها عبر ملف البيان.
skulto syncيقرأ ملف skulto.json ويقوم بتثبيت أي مهارات مفقودة:```bash
$ skulto sync
SYNCING from skulto.json (2 skills) ──────────────────────────────────────────────── Done! Installed: 2, Skipped: 0
عند المزامنة، يقوم Skulto بما يلي:
1. يضيف أي مستودعات مصدر غير موجودة بالفعل في قاعدة البيانات المحلية
2. يحل كل مهارة حسب المعرّف (slug)
3. يطلب اختيار المنصة والنطاق (أو يستخدم الافتراضيات المكتشفة مع `-y`)
4. يتخطى المهارات المثبتة بالفعل في المواقع المحددة
### `skulto check`
يعرض جميع المهارات المثبتة وأماكن تثبيتها:```bash
$ skulto check
SKILL INSTALLED LOCATIONS
─────────────────────────────────────────────────────────────
superplan claude (global), codex (global + project)
teach claude (global + project)
2 skill(s) installed
تقوم كل من skulto save و skulto check تلقائيًا باكتشاف المهارات الموجودة على القرص (كروابط رمزية في مجلدات المنصة الخاصة بمشروعك) ولكنها مفقودة من قاعدة البيانات. يحدث هذا بعد عمليات الترحيل، أو إعادة تعيين قاعدة البيانات، أو عندما يقوم زميل بتثبيت مهارات خارج Skulto.```bash
$ skulto check
RECONCILED 2 project skill(s) brainstorming claude modern-python codex
SKILL INSTALLED LOCATIONS ───────────────────────────────────────────────────────────── brainstorming claude (project) modern-python codex (project)
2 skill(s) installed
المجلدات العادية في مشروعك (المهارات الملتزمة مباشرة في المستودع) تُترك كما هي — لا تحتاج إلى إدارة Skulto.
## الاستخدام
### وضع TUI (الافتراضي)```bash
skulto

اختصارات لوحة المفاتيح:
| المفتاح | الإجراء |
|---|---|
/ | فتح البحث |
j / k | التنقل لأسفل / لأعلى |
h / l | التنقل لليسار / لليمين (بين الأعمدة) |
↑ / ↓ | التنقل في النتائج |
Enter | تحديد / تأكيد |
Space | تبديل التحديد (في أدوات الاختيار) |
f | تبديل المفضلة / الإشارة المرجعية |
i | تثبيت / إدارة مواقع المهارات |
c | نسخ محتوى المهارة إلى الحافظة |
p | سحب / مزامنة المستودعات |
Esc | رجوع / إلغاء |
q | خروج |
تعرض الصفحة الرئيسية ثلاثة أعمدة:
عند تحديد مهارة، سترى:
c لنسخ محتوى المهارة بالكاملعند تثبيت مهارة، تختار مكان تثبيتها:
~/.claude/skills/ (على مستوى المستخدم) أو ./.claude/skills/ (خاص بالمشروع)a الكل، n لا شيء، g عام فقط، p مشروع فقطاضغط i على مهارة مثبتة لإدارة مواقعها:

يوفر Skulto أوامر فرعية لسطر الأوامر للبرمجة النصية والأتمتة:
| الأمر | الغرض |
|---|---|
skulto | تشغيل واجهة TUI التفاعلية |
skulto install <slug or repo> | تثبيت المهارات بواسطة slug أو من رابط مستودع |
skulto uninstall <slug> | إلغاء تثبيت مهارة من المنصات المحددة |
skulto save | حفظ التثبيتات على نطاق المشروع في skulto.json |
skulto sync | تثبيت جميع المهارات من ملف skulto.json |
skulto check | سرد جميع المهارات المثبتة ومواقعها |
skulto add <repo> | إضافة مستودع مهارات ومزامنة مهاراته |
skulto list | سرد جميع مستودعات المصدر المكونة |
skulto pull | سحب/مزامنة جميع المستودعات وتسوية المهارات المثبتة |
skulto remove [repo] | إزالة مستودع (اختيار تفاعلي إذا لم يتم تحديد مستودع) |
skulto scan | فحص المهارات بحثًا عن تهديدات أمنية |
skulto update | سحب + فحص مع تقرير بالتغييرات |
skulto info <slug> | عرض معلومات مفصلة حول مهارة |
skulto favorites add <slug> | إضافة مهارة إلى المفضلة |
skulto favorites remove <slug> | إزالة مهارة من المفضلة |
skulto favorites list | سرد جميع المهارات المفضلة |
skulto feedback | فتح صفحة الملاحظات/تقرير الأخطاء |
skulto installتثبيت المهارات بواسطة slug أو مباشرة من مستودع GitHub:
```bash
skulto install superplan
skulto install asteroid-belt/skills
skulto install https://github.com/asteroid-belt/skills
skulto install asteroid-belt/skills -y
عند التثبيت من عنوان مستودع:
1. يقوم Skulto بمزامنة المستودع ويعرض جميع المهارات المتاحة
2. حدد المهارات التي تريد تثبيتها عبر قائمة اختيار تفاعلية
3. اختر المنصات المستهدفة باستخدام منتقي منصات قابل للطي (المنصات المكتشفة في الأعلى)
4. **تخطي ذكي** للمهارات المثبتة بالفعل: يُطلب منك إدخال `y` (إضافة المواقع)، أو `N` (تخطي، الافتراضي)، أو `s` (تخطي جميع المتبقية)
5. يعرض الملخص النهائي عدد المهارات المثبتة والمتخطاة والفاشلة
#### `skulto add <repo>`
إضافة مستودع مهارات إلى Skulto:
```bash
# Short format
skulto add asteroid-belt/skills
# Full URL
skulto add https://github.com/asteroid-belt/skills
# Skip initial sync
skulto add asteroid-belt/skills --no-sync
skulto pullمزامنة جميع المستودعات المسجّلة:
```bash
skulto pull
هذا يستنسخ/يحدّث جميع المستودعات ويوازن حالة المهارات المثبّتة مع نظام الملفات.
#### `skulto remove`
إزالة مستودع وجميع مهاراته:```bash
# Interactive selection
skulto remove
# Specify repository
skulto remove asteroid-belt/skills
# Skip confirmation
skulto remove asteroid-belt/skills --force
skulto scanفحص المهارات بحثًا عن التهديدات الأمنية:
```bash
skulto scan --all
skulto scan --skill teach
skulto scan --source asteroid-belt/skills
skulto scan --pending
يُبلّغ مستويات التهديد: حرجة، عالية، متوسطة، منخفضة
#### `skulto update`
سحب وفحص مدمجان مع إعداد التقارير:
```bash
# Update and scan new/updated skills
skulto update
# Update and scan ALL skills
skulto update --scan-all
skulto favoritesإدارة مهاراتك المفضلة. تبقى المفضلة محفوظة عبر عمليات إعادة تعيين قاعدة البيانات ويتم تخزينها بشكل منفصل في ~/.agents/skulto/favorites.json.```bash
skulto favorites add docker-expert
skulto favorites remove docker-expert
skulto favorites list
يمكنك أيضًا تبديل المفضلة في واجهة TUI بالضغط على `f` في أي عرض تفاصيل مهارة.
### خادم MCP (`skulto-mcp`)
يتضمن Skulto خادم MCP (بروتوكول سياق النموذج) الذي يعرض المهارات لـ Claude Code والعملاء الآخرين المتوافقين مع MCP. وهذا يمكّن المساعدين الذكيين من البحث والتصفح وتثبيت وإدارة المهارات والمستودعات برمجيًا.


أضف إلى إعدادات Claude Code الخاصة بك (`.claude.json`):```json
{
"mcpServers": {
"skulto": {
"command": "/opt/homebrew/bin/skulto-mcp",
"type": "stdio"
}
}
}
| الأداة | الوصف |
|---|---|
skulto_search | البحث عن المهارات باستخدام البحث النصي الكامل مع ترتيب BM25 |
skulto_get_skill | الحصول على معلومات تفصيلية حول مهارة بما في ذلك المحتوى الكامل والوسوم |
skulto_list_skills | عرض جميع المهارات مع الترقيم |
skulto_browse_tags | عرض الوسوم المتاحة حسب الفئة (اللغة، الإطار، الأداة، المفهوم، المجال) |
skulto_get_stats | الحصول على إحصائيات قاعدة البيانات (إجمالي المهارات، الوسوم، المصادر) |
skulto_get_recent | الحصول على المهارات التي تم عرضها مؤخرًا |
skulto_install | تثبيت مهارة على أي منصة مدعومة (33 منصة، نطاق عام أو خاص بالمشروع) |
skulto_uninstall | إلغاء تثبيت مهارة من منصات محددة |
skulto_favorite | إضافة أو إزالة مهارة من المفضلة |
skulto_get_favorites | الحصول على المهارات المفضلة |
skulto_check | عرض جميع المهارات المثبتة ومواقع تثبيتها |
skulto_add | إضافة مستودع مهارات ومزامنة مهاراته |
يكشف خادم MCP أيضًا عن موارد للوصول المباشر إلى المهارات:
| URI المورد | الوصف |
|---|---|
skulto://skill/{slug} | محتوى Markdown الكامل لمهارة |
skulto://skill/{slug}/metadata | بيانات وصفية JSON تشمل الوسوم والمصدر والإحصائيات |
يخزن Skulto البيانات في ~/.agents/skulto/، متعايشًا مع أدوات الوكلاء الأخرى ضمن مساحة ~/.agents/ المشتركة:
| المسار | الغرض |
|---|---|
~/.agents/skulto/skulto.db | قاعدة بيانات SQLite |
~/.agents/skulto/skulto.log | ملف السجل |
~/.agents/skulto/repositories/ | مستودعات git المستنسخة |
~/.agents/skulto/skills/ | دليل المهارات المحلية للمستخدم |
~/.agents/skulto/favorites.json | المهارات المفضلة (تبقى عبر عمليات إعادة تعيين قاعدة البيانات) |
هل تقوم بالترقية من إصدار سابق؟ إذا كان لديك دليل
~/.skulto/موجود، يقوم Skulto تلقائيًا بترحيله إلى~/.agents/skulto/عند أول تشغيل — بما في ذلك سجلات قاعدة البيانات وروابط المهارات المثبتة. لا حاجة لخطوات يدوية.
make build # Production build make dev # Development build with race detector
make test # Run all tests with coverage make test-race # Run with race detector
make lint # Run golangci-lint make format # Format code
make clean # Remove build artifacts
## البنية```
skulto/
├── cmd/skulto/ # Main CLI entry point
├── cmd/skulto-mcp/ # MCP server binary
├── internal/
│ ├── cli/ # Cobra CLI commands (add, install, pull, etc.)
│ │ └── prompts/ # Interactive CLI prompts (platform selector)
│ ├── config/ # Configuration (env vars only)
│ ├── db/ # GORM + SQLite + FTS5 database layer
│ ├── detect/ # AI tool detection on system
│ ├── embedding/ # Embedding provider abstraction
│ ├── favorites/ # File-based favorites persistence
│ ├── installer/ # Skill installation via symlinks (33 platforms)
│ ├── llm/ # LLM provider abstraction
│ ├── log/ # Structured logging
│ ├── mcp/ # MCP server implementation
│ ├── migration/ # Database migrations
│ ├── models/ # Data structures (Skill, Tag, Source, etc.)
│ ├── scraper/ # GitHub scraping (git clone based)
│ ├── search/ # Search service
│ ├── security/ # Security scanner for skills
│ ├── telemetry/ # PostHog analytics (opt-in)
│ ├── testutil/ # Test utilities
│ ├── tui/ # Bubble Tea TUI
│ │ ├── components/ # Reusable UI components (dialogs, selectors)
│ │ └── views/ # Screen views (home, search, detail, onboarding, manage)
│ └── vector/ # Vector store
├── pkg/version/ # Version info (set via ldflags)
└── scripts/ # Build and release scripts
يتم إعداد Skulto بالكامل عبر متغيرات البيئة (لا يوجد ملف إعداد):
| المتغير | الغرض |
|---|---|
GITHUB_TOKEN | حدود أعلى لواجهة برمجة تطبيقات GitHub (اختياري) |
OPENAI_API_KEY | التضمينات للبحث الدلالي (اختياري) |
SKULTO_TELEMETRY_TRACKING_ENABLED | اضبطه على false لتعطيل التتبع |
يجمع Skulto إحصائيات استخدام مجهولة (تكرار الأوامر، معدلات الأخطاء) لتحسين الأداة. القياس عن بُعد مفعّل افتراضيًا.
لإلغاء الاشتراك:```bash export SKULTO_TELEMETRY_TRACKING_ENABLED=false
لا يتم جمع أي بيانات شخصية أو عناوين IP. اطلع على المزيد في [events](https://github.com/asteroid-belt/skulto/blob/main/internal/telemetry/events.go).
## التوثيق
- [نظرة عامة](https://github.com/asteroid-belt/skulto/blob/main/docs/overview.md) - هوية المشروع والميزات الرئيسية
- [البنية المعمارية](https://github.com/asteroid-belt/skulto/blob/main/docs/architecture.md) - تصميم النظام والمكونات وتدفق البيانات
- [البدء](https://github.com/asteroid-belt/skulto/blob/main/docs/getting-started.md) - المتطلبات الأساسية والتثبيت وأول تشغيل
- [التطوير](https://github.com/asteroid-belt/skulto/blob/main/docs/development.md) - سير عمل المساهمة والاختبار وCI/CD
- [سجلات القرارات المعمارية](https://github.com/asteroid-belt/skulto/blob/main/docs/adr/README.md) - القرارات التقنية الرئيسية ومبرراتها
- [المصطلحات](https://github.com/asteroid-belt/skulto/blob/main/docs/glossary.md) - المصطلحات الخاصة بالمجال
## المساهمة
المساهمات مرحب بها! يرجى قراءة [CONTRIBUTING.md](https://github.com/asteroid-belt/skulto/blob/main/CONTRIBUTING.md) أولاً.
## الترخيص
رخصة MIT - راجع [LICENSE](https://github.com/asteroid-belt/skulto/blob/main/LICENSE) للحصول على التفاصيل.
---
صُنع بـ ❤️ بواسطة [Asteroid Belt](https://github.com/asteroid-belt)