تخطَّ إلى المحتوى

المساهمة بإضافة Plugin

يشرح هذا الدليل كيفية إنشاء إضافة (Plugin) جديدة وإضافتها إلى سوق f5-sales-demo.

تقع كل إضافة في دليلها الخاص ضمن plugins/ وتتبع الهيكل التالي:

  • Directoryplugins/
    • Directoryexample-plugin/
      • Directory.claude-plugin/
        • plugin.json
      • Directoryskills/
        • Directoryexample-skill/
          • SKILL.md
          • Directoryreferences/
            • reference-data.md
      • Directorycommands/
        • example-command.md
      • Directoryagents/
        • example-agent.md
      • README.md
  1. إنشاء دليل الإضافة

    Terminal window
    mkdir -p plugins/example-plugin/.claude-plugin
    mkdir -p plugins/example-plugin/skills
    mkdir -p plugins/example-plugin/commands
  2. كتابة plugin.json

    أنشئ plugins/example-plugin/.claude-plugin/plugin.json:

    {
    "name": "example-plugin",
    "description": "What this plugin does",
    "version": "1.0.0",
    "author": {
    "name": "f5-sales-demo"
    },
    "homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin",
    "keywords": ["relevant", "keywords"],
    "license": "Apache-2.0",
    "repository": "https://github.com/f5-sales-demo/marketplace"
    }
  3. إضافة المهارات (Skills)

    أنشئ plugins/example-plugin/skills/example-skill/SKILL.md مع بيانات أولية (frontmatter):

    ---
    name: example-skill
    description: One-line description of what this skill does
    ---
    Detailed instructions for Claude when this skill activates.

    ضع أي بيانات مرجعية في دليل فرعي references/ بجانب SKILL.md.

  4. إضافة الأوامر (Commands)

    أنشئ plugins/example-plugin/commands/example-command.md:

    ---
    description: What this command does
    argument_hint: "[optional-args]"
    allowed_tools:
    - Read
    - Glob
    - Grep
    ---
    Instructions for Claude when the user invokes this command.
  5. إضافة الإضافة إلى marketplace.json

    أضف إدخالاً إلى مصفوفة plugins في .claude-plugin/marketplace.json:

    {
    "name": "example-plugin",
    "description": "What this plugin does",
    "version": "1.0.0",
    "author": { "name": "f5-sales-demo" },
    "source": "./plugins/example-plugin",
    "category": "productivity",
    "homepage": "https://github.com/f5-sales-demo/marketplace/tree/main/plugins/example-plugin",
    "license": "Apache-2.0",
    "keywords": ["relevant", "keywords"],
    "tags": ["searchable", "tags"],
    "repository": "https://github.com/f5-sales-demo/marketplace"
    }
  6. الاختبار محلياً

    اختبر إضافتك دون نشرها عن طريق توجيه Claude Code إلى الدليل المحلي:

    Terminal window
    claude --plugin-dir ./plugins/example-plugin

    تحقق من أن المهارات تُفعَّل في السياق الصحيح وأن الأوامر تنتج المخرجات المتوقعة.

  1. أنشئ issue على GitHub يصف الإضافة الجديدة
  2. أنشئ فرعاً (feature branch) من main
  3. أضف دليل إضافتك وحدّث marketplace.json
  4. أضف صفحة توثيق على المسار docs/plugins/example-plugin.mdx
  5. افتح طلب سحب (PR) مرتبطاً بالـ issue مع Closes #N
  6. أصلح أي أخطاء في CI وادمج التغييرات بعد اجتياز الفحوصات
  • أبقِ المهارات مركّزة — يجب أن تؤدي كل مهارة مهمة واحدة بشكل جيد
  • استخدم ملفات المرجعية — ضع مجموعات البيانات الكبيرة والمخططات وجداول البحث في references/ بدلاً من تضمينها مباشرةً في SKILL.md
  • حدّد النطاق بذكاء — تحقق من التغييرات غير الملتزم بها لتضييق نطاق العمل عند الإمكان
  • رتّب المخرجات حسب الخطورة — استخدم مستويات ERROR وWARNING وINFO حتى يتمكن المستخدمون من تحديد أولويات الإصلاحات
  • اكتب ملف README — أدرج أمثلة استخدام ووصفاً لما تفعله كل مهارة وأمر