Sat Jun 27 2026 20:00:00 GMT-0400 (北美东部夏令时间)

Xử Lý Hàng Loạt Ảnh: Thay Đổi Kích Thước, Nén và Chuyển Đổi Thư Mục

Xử lý hàng loạt ảnh giúp thay đổi kích thước, nén, chuyển đổi và xóa nền cho toàn bộ thư mục cùng lúc. Tìm hiểu thứ tự thao tác, cài đặt và công cụ cần thiết để sử dụng.

Xử Lý Hàng Loạt Ảnh: Thay Đổi Kích Thước, Nén và Chuyển Đổi Thư Mục

آخر تحديث: June 28, 2026

تُعد مهارة Claude Code Skill مجلدًا يحتوي على ملف SKILL.md يقوم الوكيل بسحبه إلى السياق فقط عندما تتطابق مهمة معها. لقد أنشأت أول مهارة لي لوقف لصق قائمة التحقق من ترحيل قاعدة البيانات المكونة من 200 كلمة في كل جلسة. هذا الملف وحده يوفر لي تقريبًا ساعة أسبوعيًا.

إليك النسخة المختصرة، ثم التشريح العملي: ما هي المهارة (skill)، وكيفية كتابة الواجهة الأمامية (frontmatter) ومحتوى SKILL.md، وكيف يقرر النموذج استدعاء مهارة، ومتى تكون المهارة مبالغة مقارنةً بطلب بسيط (plain prompt). إذا كنت تستخدم بالفعل Claude Code، فيمكنك إطلاق أول مهارة لك في أقل من خمس دقائق.

إجابة سريعة: ما هي مهارة Claude Code Skill؟

المهارة هي قدرة قابلة لإعادة الاستخدام ويستدعيها النموذج، وتُخزن كملف SKILL.md (بالإضافة إلى نصوص برمجية داعمة اختيارية). على عكس موجه النظام (system prompt) الذي يتم تحميله دائمًا، يتم تحميل المهارة عند الطلب عندما يقرر النموذج أنها ذات صلة بطلبك. أنت تكتب اسمًا ووصفًا لـ متى يجب استخدامها، ومحتوى التعليمات. الوصف هو الحقل الأكثر أهمية على الإطلاق، لأنه ما يقرأه النموذج ليقرر ما إذا كان يجب تشغيل المهارة أم لا. تعيش المهارات محليًا في .claude/skills/ أو يتم إرسالها من سجل (registry)، بحيث يمكن لفريق مشاركة طريقة موحدة لإجراء الترحيلات، أو مراجعة التعليمات البرمجية، أو الإصدارات.

إذا كنت تريد سياقًا أوسع حول الـ CLI نفسه، راجع الدليل الشامل لـ Claude Code لعام 2026. أما لمعرفة كيف تختلف المهارات عن الوكلاء الفرعيين (sub-agents) النشطين دائمًا، فاقرأ كيف قمت بأتمتة سير عملي باستخدام وكلاء Claude Code الفرعيين.

ما هي المهارة بالفعل، ومما تتكون؟

المهارة عبارة عن دليل (directory). الحد الأدنى الذي تحتاجه هو ملف SKILL.md. اختياريًا، يمكن أن يضم نصوص برمجية أو قوالب أو مستندات مرجعية ترافقه مع المهارة. تصف وثائق وكلاء Anthropic المهارة بأنها مجموعة مُغلفة من التعليمات والموارد التي يمكن للنموذج تحميلها عند الحاجة إليها (docs.anthropic.com/en/docs/agents-and-tools/agent-skills).

أفكر في المهارة على أنها إجراء فرعي (subroutine) مُسمى ومُصنّف الإصدارات للنموذج. ثلاثة أشياء تجعلها مختلفة عن الطلب الطويل:

  1. إنها اختيارية (opt-in). يقوم النموذج بتحميلها فقط عندما تبدو المهمة متطابقة مع الوصف.
  2. إنها محددة النطاق (scoped). يمكنك إرفاق ملفات ونصوص برمجية لا معنى لها إلا لتلك القدرة المحددة.
  3. إنها قابلة للمشاركة (shareable). المجلد محمول عبر المشاريع وأعضاء الفريق.

الـ CLI نفسه مفتوح المصدر، ويتم توثيق اصطلاح المهارات بجانبه على GitHub (github.com/anthropics/claude-code)، وهو المكان الذي أتحقق فيه عندما تتغير السلوكيات بين الإصدارات.

كيف تقوم بتنظيم ملف SKILL.md؟

يتكون الملف من جزأين: الواجهة الأمامية بصيغة YAML ومحتوى Markdown. تخبر الواجهة الأمامية النموذج متى التشغيل؛ ويخبره المحتوى ماذا يفعل. إليك التشريح الذي أستخدمه.

---
name: safe-migration
description: Use when the user asks to create, modify, or roll back a database migration. Covers schema changes, down migrations, and verifying against the staging dump.
---

المحتوى هو Markdown عادي. أحافظ على ثلاثة أقسام: هدف في سطر واحد، وإجراء مُرقّم، وبوابة صريحة لـ "التوقف والتأكيد". يجب أن يتطابق name مع اسم المجلد. ويجب كتابة description للنموذج، وليس للإنسان، بحيث يبدو وكأنه شرط تشغيل (trigger condition).

لقد اختبرت هذا مباشرة. باستخدام وصف غامض مثل "يساعد في قواعد البيانات"، كانت المهارة تعمل على أسئلة SQL غير ذات صلة. بعد أن أعدت كتابته ليصبح "Use when the user asks to create, modify, or roll back a database migration" (استخدم عندما يطلب المستخدم إنشاء أو تعديل أو التراجع عن ترحيل قاعدة بيانات)، تحول دقة الاستدعاء من حوالي 60 بالمائة إلى موثوق. الوصف هو الذي يقوم بالتوجيه، لذا اقضِ وقتك في التحرير هناك.

لقطة مقربة لرمز برمجي على شاشة مراقبة أثناء التطوير

متى يجب تحويل شيء ما إلى مهارة؟

هذا هو السؤال الذي أتلقاه أكثر من غيره. قاعدتي: إذا قمت بلصق نفس كتلة التعليمات ثلاث مرات في غضون أسبوعين، وكانت أطول من فقرة، فإنها تصبح مهارة. أدناه هي مصفوفة القرار التي أستخدمها بالفعل.

المؤشر أنشئ مهارة احتفظ به كطلب (prompt)
تم استخدامه 3 مرات أو أكثر مؤخرًا نعم لا
يحتاج إلى نصوص برمجية أو قوالب مرفقة نعم لا
تمت مشاركته عبر فريق نعم لا
لمرة واحدة، وأقل من فقرة لا نعم
تافه، خطوة واحدة لا نعم
يتغير في كل مرة لا نعم

المحور الثاني هو التكلفة. تضيف كل مهارة محملة رموزًا (tokens) إلى السياق، لذا فإن كتلة تعليمات كبيرة وذات صلة دائمًا هي الأفضل كذاكرة على مستوى المشروع أو أمر مخصص بدلاً من أن تكون مهارة. تتألق المهارات في الخبرة المرتبطة بالشرط (conditionally relevant).

حالة ملموسة حيث كتبت مهارة: تتطلب عملية الإصدار لدينا تحديث سجل التغييرات، وزيادة ثلاث ملفات إصدار، ووضع علامة (tagging)، ونشر ملخص على Slack. لقد كتبتها مرة واحدة كمهارة، والآن أقول "cut a release" ويقوم النموذج بتشغيل قائمة التحقق بالكامل بالترتيب. حالة ملموسة حيث لم أفعل ذلك: إعادة هيكلة لمرة واحدة لملف التكوين (config file). ظل هذا طلبًا عاديًا.

كيف يعمل نمط المهارات المستدعاة من قبل النموذج؟

النمط الذي يجعل المهارات تبدو سحرية هو أنك لا تستدعيها. أنت تصف الوظيفة، ويقرأ النموذج أوصاف المهارات المتاحة ويسحب المطابقة. هذا موثق في وثائق Claude Code الرسمية (docs.anthropic.com/en/docs/claude-code).

يبدو التدفق كالتالي:

  1. تكتب طلبًا بلغة طبيعية.
  2. يرى النموذج name و description لكل مهارة مُثبّتة.
  3. يقوم بتسجيل مدى الصلة (relevance) بطلبك.
  4. يدخل محتوى المهارة الفائزة (والملفات المُجمعة) إلى السياق.
  5. ينفذ النموذج التعليمات.

النتيجة العملية: يجب عليك كتابة description كما لو كنت تكتب إدخالًا لمحرك بحث للنموذج. ابدأ بالفعل ونطاق المشغل (trigger scope). قارن بين هذين الوصفين:

  • ضعيف: "مهارة للتعامل مع أشياء git."
  • قوي: "Use when the user asks to squash, rebase, or split commits on the current branch. Produces an interactive plan before running any rewrite." (استخدم عندما يطلب المستخدم دمج أو إعادة أساس أو تقسيم الالتزامات على الفرع الحالي. ينتج خطة تفاعلية قبل تشغيل أي إعادة كتابة.)

القوي يذكر أفعال المشغل وحاجز الأمان. هذا ما يجعل الاستدعاء موثوقًا. إذا كنت تقوم بتوصيل المهارات مع الأدوات، فإن دليل تكامل Claude Code MCP يغطي كيف تتناسب خوادم الأدوات الخارجية بجانب حزم المهارات. أما بالنسبة للبروتوكول الأساسي الذي يربطها، فراجع MCP وسياق النموذج.

كمبيوتر محمول يعرض محرر رمز أثناء تطوير البرامج

كيف تقوم بتشغيل وتصحيح أخطاء المهارة؟

التشغيل (Triggering) آلي في الغالب، ولكن لدي ثلاث تقنيات متعمدة للتحكم وتصحيح الأخطاء.

  • كن صريحًا. قول "use the safe-migration skill" يجبر النموذج على استخدامها. مفيد عندما يكون الوصف غامضًا.
  • سرد المهارات المُثبّتة. اطلب من النموذج سرد المهارات المتاحة وأوصافها. بهذه الطريقة أتأكد من تسجيل مهارة جديدة.
  • فحص التتبع (trace). عندما تفشل المهارة في التشغيل، يكون السبب دائمًا تقريبًا هو الوصف، وليس موقع الملف. أعيد كتابة الجملة الأولى لتبدأ بـ "Use when..." وأضيف الأفعال المحددة. هذا يحل المشكلة تسع مرات من أصل عشرة.

إليك قائمة التحقق لتصحيح الأخطاء التي أقوم بها، بالترتيب:

العرض السبب المحتمل الإصلاح
لا يتم تشغيل المهارة أبدًا الوصف غامض جدًا أضف أفعال المشغل (trigger verbs)
يتم تشغيل المهارة بشكل متكرر جدًا الوصف واسع جدًا ضيِّق عبارة النطاق (scope clause)
تجاهل محتوى المهارة المحتوى طويل أو غير واضح اختصر إلى خطوات مرقمة
اختيار مهارة خاطئة تداخل مهارتين وضوح الأوصاف (disambiguate descriptions)
عدم العثور على الملفات تخطيط مجلد خاطئ مطابقة name للمجلد

المهارة مقابل الوكيل الفرعي مقابل الأمر الشرطي (Slash command)

تتداخل هذه الثلاثة، ويخلط الناس بينها باستمرار. أحافظ عليها منفصلة بتقسيم بسيط.

  • المهارة (Skill): تعليمات يستدعيها النموذج بالإضافة إلى ملفات اختيارية. الأفضل للخبرة المشروطة.
  • الوكيل الفرعي (Sub-agent): مثيل Claude Code منفصل يقوم بعمل معزول. الأفضل للمهام المتوازية وطويلة الأمد. مقالتي حول أتمتة الوكلاء الفرعيين تتعمق في هذا الموضوع.
  • الأمر الشرطي (Slash command): اختصار تكتبه عمداً. الأفضل للأشياء التي تريدها دائمًا عند الطلب.

المهارة هي الوحيدة من الثلاثة التي يختارها النموذج لك. هذه هي قوتها الخارقة ومخاطرتها: المهارة ذات الوصف الخاطئ تهدر السياق بصمت.

كيف تشارك المهارات وتستخدم سجل (registry)؟

المهارة مجرد مجلد، لذا فإن المشاركة تافهة من حيث المبدأ. أقوم بإسقاط المجلد تحت .claude/skills/ في المستودع وأقوم بتثبيته (commit). يحصل أعضاء الفريق عليه عند الاستنساخ (clone). للمشاركة عبر الفرق، تحافظ المجتمعات على السجلات وتوجه الأدوات الرسمية إلى مواقع شائعة.

إعدادي العملي:

  1. الاحتفاظ بالمهارات الخاصة بالمشروع في المستودع، ومتحكم بها في الإصدارات (version-controlled).
  2. الاحتفاظ بالمهارات الشخصية في مستودع dotfiles وربطها برمز رمزي (symlinked) إلى .claude/skills/.
  3. تثبيت إصدارات المهارة عند المشاركة خارجيًا، لأن تغيير الوصف يمكن أن يغير السلوك بصمت.

التحذير الصادق بشأن المشاركة: تقوم المهارة بتشفير افتراضات حول مكدسك التكنولوجي (stack). قد تنتج مهارة ترحيل كُتبت لـ Drizzle ناتجًا خاطئًا بثقة في مشروع Prisma إذا لم يضمن الوصف النطاق. قم دائمًا بتحديد الإطار (framework) وحواجز الأمان في الوصف، وأضف خطوة "التوقف والتأكيد" قبل أي إجراءات تدميرية. تعلمت هذا بالطريقة الصعبة عندما قامت مهارة مشتركة بإجراء إعادة كتابة تدميرية على الفرع الخاطئ، لذا تعامل مع كل مهارة مشتركة على أنها غير موثوق بها حتى يثبت وصفها خلاف ذلك.

رمز HTML و CSS على شاشة مراقبة حاسوب، يسلط الضوء على تطوير الويب والبرمجة

حقوق صور الغلاف (Image credits)

استخدم الأدوات المجانية أثناء متابعة الدليل.