مهارات الوكيل
تتيح مهارات الوكيل لـ SlopCode اكتشاف تعليمات قابلة لإعادة الاستخدام من مستودعك أو من دليل المنزل.
تُحمَّل المهارات عند الطلب عبر أداة skill المدمجة — يرى الوكلاء المهارات المتاحة ويمكنهم تحميل المحتوى الكامل عند الحاجة.
وضع الملفات
أنشئ مجلداً واحداً لكل اسم مهارة وضع بداخله ملف SKILL.md.
يبحث SlopCode في هذه المواقع:
- إعدادات المشروع:
.slopcode/skills/<name>/SKILL.md - إعدادات عامة:
~/.config/slopcode/skills/<name>/SKILL.md - مشروع متوافق مع Claude:
.claude/skills/<name>/SKILL.md - عام متوافق مع Claude:
~/.claude/skills/<name>/SKILL.md - مشروع متوافق مع الوكلاء:
.agents/skills/<name>/SKILL.md - عام متوافق مع الوكلاء:
~/.agents/skills/<name>/SKILL.md
فهم الاكتشاف
بالنسبة لمسارات المشروع المحلية، يتدرج SlopCode صعوداً من دليل العمل الحالي حتى يصل إلى git worktree.
ويحمّل أي ملفات مطابقة لـ skills/*/SKILL.md داخل .slopcode/ وأي ملفات مطابقة لـ .claude/skills/*/SKILL.md أو .agents/skills/*/SKILL.md على طول الطريق.
كما تُحمَّل التعريفات العامة أيضاً من ~/.config/slopcode/skills/*/SKILL.md و ~/.claude/skills/*/SKILL.md و ~/.agents/skills/*/SKILL.md.
كتابة بيانات frontmatter
يجب أن يبدأ كل ملف SKILL.md بـ frontmatter بتنسيق YAML.
لا يتم التعرف إلا على الحقول التالية:
name(مطلوب)description(مطلوب)license(اختياري)compatibility(اختياري)metadata(اختياري، خريطة من سلسلة إلى سلسلة)
يتم تجاهل أي حقول frontmatter غير معروفة.
التحقق من الأسماء
يجب أن يكون name:
- بطول 1–64 حرفاً
- أحرفاً وأرقاماً بحروف صغيرة مع فواصل شرطة مفردة
- لا يبدأ ولا ينتهي بـ
- - لا يحتوي على
--متتالية - يطابق اسم الدليل الذي يحتوي على
SKILL.md
التعبير النمطي المكافئ:
^[a-z0-9]+(-[a-z0-9]+)*$اتباع قواعد الطول
يجب أن يكون description بطول 1-1024 حرفاً.
اجعله محدداً بما يكفي كي يختار الوكيل بشكل صحيح.
استخدم مثالاً
أنشئ .slopcode/skills/git-release/SKILL.md بهذا الشكل:
---name: git-releasedescription: Create consistent releases and changelogslicense: MITcompatibility: slopcodemetadata: audience: maintainers workflow: github---
## What I do
- Draft release notes from merged PRs- Propose a version bump- Provide a copy-pasteable `gh release create` command
## When to use me
Use this when you are preparing a tagged release.Ask clarifying questions if the target versioning scheme is unclear.التعرّف على وصف الأداة
يعرض SlopCode المهارات المتاحة في وصف أداة skill.
يتضمن كل إدخال اسم المهارة ووصفها:
<available_skills> <skill> <name>git-release</name> <description>Create consistent releases and changelogs</description> </skill></available_skills>يقوم الوكيل بتحميل مهارة عبر استدعاء الأداة:
skill({ name: "git-release" })تهيئة الصلاحيات
تحكم في المهارات التي يمكن للوكلاء الوصول إليها باستخدام صلاحيات مبنية على أنماط داخل slopcode.json:
{ "permission": { "skill": { "*": "allow", "pr-review": "allow", "internal-*": "deny", "experimental-*": "ask" } }}| الصلاحية | السلوك |
|---|---|
allow | تُحمَّل المهارة فوراً |
deny | تُخفى المهارة عن الوكيل ويُرفض الوصول |
ask | يُطلب من المستخدم الموافقة قبل التحميل |
تدعم الأنماط أحرف البدل: يطابق internal-* كلاً من internal-docs و internal-tools وغير ذلك.
تجاوز الإعدادات لكل وكيل
امنح وكلاء محددين صلاحيات مختلفة عن الإعدادات الافتراضية العامة.
للوكلاء المخصصين (في frontmatter الخاص بالوكيل):
---permission: skill: "documents-*": "allow"---للوكلاء المدمجين (في slopcode.json):
{ "agent": { "plan": { "permission": { "skill": { "internal-*": "allow" } } } }}تعطيل أداة skill
عطّل المهارات بالكامل للوكلاء الذين لا ينبغي أن يستخدموها:
للوكلاء المخصصين:
---tools: skill: false---للوكلاء المدمجين:
{ "agent": { "plan": { "tools": { "skill": false } } }}عند تعطيلها، يتم حذف قسم <available_skills> بالكامل.
استكشاف أخطاء التحميل
إذا لم تظهر مهارة:
- تحقّق من أن
SKILL.mdمكتوب بأحرف كبيرة بالكامل - تحقّق من أن
frontmatterتتضمنnameوdescription - تأكد من أن أسماء المهارات فريدة عبر جميع المواقع
- تحقّق من الصلاحيات — المهارات ذات
denyتكون مخفية عن الوكلاء