انتقل إلى المحتوى الرئيسي

مهارات Cursor، الأوامر، والقواعد: ما الفرق؟

لدى Cursor ثلاث ميزات متداخلة لكن متميزة تحيّر الكثير من المستخدمين: المهارات، الأوامر، والقواعد. سألت سلسلة المنتدى التي ضمت 11 رداً نفس السؤال بطرق مختلفة -- "أي منها أستخدم لأي شيء؟" يرسم هذا الدليل حدوداً واضحة بينها ويُظهر لك متى تستخدم كل منها.

التعريفات

لنبدأ بما تكونه كل ميزة فعلاً.

ما هي القواعد؟

تُخبر القواعد ذكاء Cursor الاصطناعي كيف يتصرف عند توليد أو تعديل الكود. تحدد معايير البرمجة، الاتفاقيات، القيود، والتفضيلات.

القواعد تعريفية -- تُعلن ما يجب أن يكون صحيحاً، ويتبع الذكاء الاصطناعي ذلك.

مثال على قاعدة
Always use TypeScript strict mode.
Prefer named exports over default exports.
Use functional components with hooks, not class components.

تُطبّق القواعد تلقائياً على كل تفاعل ذكاء اصطناعي في المشروع حيث تُكوّن. لا تستدعيها يدوياً.

أين تعيش القواعد:

  • القواعد العامة: Settings > General > Rules for AI
  • قواعد المشروع: ملف .cursorrules في جذر المشروع
  • القواعد المحددة النطاق: ملفات .mdc في مجلد .cursor/rules/

ما هي الأوامر؟

الأوامر موجهات مُعرفة مسبقاً تستدعيها يدوياً لتنفيذ إجراءات محددة. إنها اختصارات للمهام الشائعة.

الأوامر أمرية -- تُطلقها لفعل شيء محدد الآن.

مثال على استدعاء أمر
You type: "/explain"
Result: AI explains the selected code

You type:
"/fix"
Result: AI fixes errors in the selected code

الأوامر إجراءات صريحة من المستخدم. الذكاء الاصطناعي لا يستخدمها إلا إذا أخبرته بذلك.

أين تعيش الأوامر:

  • الأوامر المدمجة: /explain، /fix، /doc، /test، إلخ
  • الأوامر المخصصة: مُعرفة من المستخدم في الإعدادات

ما هي المهارات؟

المهارات قدرات سياقية يمكن لذكاء Cursor الاصطناعي الاستعانة بها عند الحاجة. تمثل معرفة مجال أو قدرات متخصصة يمكن للذكاء الاصطناعي تطبيقها على طلباتك.

المهارات تكيّفية -- يقرر الذكاء الاصطناعي متى يستخدمها بناءً على موجهك.

مثال على مهارة قيد العمل
User: "Set up a Next.js project with TypeScript, Tailwind, and Prisma"

The AI uses its "Next.js project scaffolding" skill to:
- Run the correct initialization commands
- Configure Tailwind properly
- Set up Prisma with the right schema location
- Configure TypeScript paths

لا تستدعي المهارات صراحة. يتعرف الذكاء الاصطناعي على متى تنطبق مهارة ويستخدمها تلقائياً.

من أين تأتي المهارات:

  • مدمجة في تدريب ذكاء Cursor الاصطناعي
  • تُتعلم من قاعدة كودك مع الوقت
  • تُضاف عبر خوادم MCP (Model Context Protocol)

مقارنة جنباً إلى جنب

الجانبالقواعدالأوامرالمهارات
الغرضتحديد معايير السلوكتنفيذ إجراءات محددةتطبيق معرفة مجال
متى تُطبّقتلقائياً، دائماًعند الاستدعاء اليدويعندما يكتشف الذكاء الاصطناعي الصلة
التحكم المستخدماضبط مرة، تطبق دائماًتُطلق عند الطلبضمني، الذكاء الاصطناعي يقرر
التنسيقنص / JSON / .mdcأوامر slash (/fix)قدرة ذكاء اصطناعي داخلية
النطاقعام أو خاص بالمشروععالمييعتمد على السياق
مثال"Use semicolons"/explain selection"Knows how to scaffold React apps"

متى تستخدم كل منها

استخدم القواعد عندما

تريد تغيير كيفية كتابة الذكاء الاصطناعي للكود باستمرار عبر مشروعك.

حالات استخدام قواعد جيدة:

  • فرض أسلوب برمجة (tabs مقابل spaces، اتفاقيات التسمية)
  • تحديد تفضيلات المكدس التقني (React مقابل Vue، Prisma مقابل Drizzle)
  • تحديد قيود معمارية (لا استيرادات دائرية، هيكل مجلد محدد)
  • تحديد أسلوب الرد ("be concise"، "always add comments")
مثال على .cursorrules
{
"techStack": ["Next.js 14", "TypeScript", "Tailwind CSS"],
"rules": [
"Use server components by default",
"Add 'use client' only when interactivity is needed",
"All API routes go in app/api/",
"Use Prisma for all database operations"
]
}
تلميح

القواعد هي "دستور" مشروعك. اكتبها مرة وتوجه كل تفاعل ذكاء اصطناعي.

استخدم الأوامر عندما

تريد تنفيذ إجراء محدد الآن على كود محدد أو السياق الحالي.

حالات استخدام أوامر جيدة:

  • شرح كود غير مألوف (/explain)
  • إصلاح خطأ محدد (/fix)
  • توليد توثيق (/doc)
  • كتابة اختبارات لدالة (/test)
  • إعادة بناء كتلة محددة (/refactor)
سير عمل الأمر
1. حدد الدالة التي تريد توثيقها
2. اكتب /doc في الدردشة
3. يولد الذكاء الاصطناعي تعليقات JSDoc لتلك الدالة

مرجع الأوامر المدمجة:

الأمرما يفعلهمتى تستخدمه
/explainيشرح الكود المحددقراءة كود غير مألوف
/fixيُصلح أخطاء في الكود المحددعند وجود خلل أو خطأ
/docيولد توثيقاًإضافة JSDoc/docstrings
/testيولد اختبارات وحدةكتابة تغطية اختبارية
/refactorيقترح إعادة بناءتحسين هيكل الكود
/commitيولد رسالة commitقبل إجراء تغييرات
معلومات

يمكن دمج الأوامر. يمكنك تحديد كود، كتابة /doc، ثم المتابعة بـ /test لتوليد التوثيق والاختبارات لنفس الدالة.

استخدم المهارات عندما

المهارات ليست شيئاً تستخدمه مباشرة -- بل شيء يستفيد منه الذكاء الاصطناعي. لكن يمكنك تمكين أو تكوين المهارات عبر خوادم MCP والسياق المشروع.

تكوينات مهارات جيدة:

  • إضافة خادم MCP للوعي بمخطط قاعدة البيانات
  • تمكين قدرة البحث في الويب
  • الاتصال بـ APIs التوثيق
  • إعداد معرفة خاصة بالمستودع
تكوين خادم MCP (تعزيز المهارات)
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
},
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"]
}
}
}

عند توصيل هذه الخوادم MCP، يكتسب الذكاء الاصطناعي "مهارة" الاستعلام عن قاعدة بياناتك أو مشاكل GitHub مباشرة.

دمجها: مثال عملي

تأتي القوة الحقيقية من استخدام الثلاثة معاً. إليك كيف يبدو سير عمل حقيقي:

السيناريو: إضافة نقطة نهاية API جديدة

الإعداد (القواعد):

يحتوي ملف .cursorrules الخاص بك على:

Tech stack: Next.js 14 App Router, TypeScript, Prisma, Zod
API conventions:
- All routes in app/api/[resource]/route.ts
- Use Zod for input validation
- Return consistent error format: { error: string, code: string }
- Use Prisma transactions for multi-table operations

التنفيذ (الأوامر):

تحدد ملف route موجود وتكتب:

/test

يولد الذكاء الاصطناعي اختبارات لل route الموجود بناءً على قواعدك.

ثم تكتب:

Create a new POST endpoint for /api/orders that accepts 
{ items: Array<{ productId: string, quantity: number }>,
customerEmail: string } and creates an order with
order items in a transaction.

مساعدة الذكاء الاصطناعي (المهارات):

يقوم الذكاء الاصطناعي تلقائياً بـ:

  1. تطبيق القواعد -- يضع الملف في app/api/orders/route.ts، يستخدم تحقق Zod، يلف في معاملة Prisma
  2. يستخدم مهارته لاتفاقيات توجيه Next.js App Router
  3. يستخدم مهارته لصيغة معاملة Prisma
  4. يولد الكود مع اتباع جميع القيود
كود مولد يتبع القواعد والمهارات
import { NextRequest, NextResponse } from 'next/server';
import { z } from 'zod';
import { prisma } from '@/lib/db';

const orderSchema = z.object({
items: z.array(z.object({
productId: z.string().uuid(),
quantity: z.number().int().positive()
})).min(1),
customerEmail: z.string().email()
});

export async function POST(request: NextRequest) {
try {
const body = await request.json();
const validated = orderSchema.parse(body);

const order = await prisma.$transaction(async (tx) => {
const newOrder = await tx.order.create({
data: {
customerEmail: validated.customerEmail,
status: 'PENDING'
}
});

await tx.orderItem.createMany({
data: validated.items.map(item => ({
orderId: newOrder.id,
productId: item.productId,
quantity: item.quantity
}))
});

return newOrder;
});

return NextResponse.json(order, { status: 201 });
} catch (error) {
if (error instanceof z.ZodError) {
return NextResponse.json(
{ error: 'Invalid input', code: 'VALIDATION_ERROR' },
{ status: 400 }
);
}

return NextResponse.json(
{ error: 'Internal server error', code: 'INTERNAL_ERROR' },
{ status: 500 }
);
}
}

لاحظ كيف يتبع الكود كل قاعدة حددتها، دون الحاجة لتكرارها في الموجه. هذه هي قوة دمج الثلاث آليات.

الالتباسات الشائعة والتوضيحات

"هل يمكنني تحويل القواعد إلى أوامر؟"

ليس مباشرة. القواعد قيود سلبية؛ الأوامر إجراءات نشطة. ومع ذلك، يمكنك كتابة أوامر مخصصة تشير إلى قواعدك:

فكرة أمر مخصص
"/lint" -- أمر مخصص يطلب من الذكاء الاصطناعي التحقق 
مما إذا كان الكود المحدد يتبع جميع قواعد المشروع

"هل تتجاوز المهارات القواعد؟"

لا. القواعد دائماً تأتي أولاً. إذا اقترحت مهارة مقاربة تنتهك قاعدة، يجب أن يتبع الذكاء الاصطناعي القاعدة. إذا رأيت الذكاء الاصطناعي يتجاهل القواعد، قد تكون قواعدك غامضة أو متعارضة.

"أي منها يجب إعداده أولاً؟"

  1. القواعد أولاً -- حدد اتفاقيات مشروعك
  2. الأوامر ثانياً -- تعلم المدمجة، أضف مخصصة حسب الحاجة
  3. المهارات أخيراً -- أضف خوادم MCP أو سياقاً بمجرد معرفة الثغرات

"هل يمكنني استخدام عدة منها في آن واحد؟"

بالتأكيد. في الواقع، يجب أن تفعل ذلك. القواعد تضع الأساس، الأوامر تُطلق الإجراءات، والمهارات تملأ فجوات المعرفة. صُممت للعمل معاً.

الأوامر المخصصة: الذهاب أبعد

يمكنك تعريف أوامر مخصصة في إعدادات Cursor لسير عمل خاص بمشروعك.

أوامر مخصصة في الإعدادات
{
"cursor.customCommands": [
{
"name": "api-check",
"description": "Check if API route follows project conventions",
"prompt": "Review this API route file and check: 1) Is it in the correct location? 2) Does it use Zod validation? 3) Does it use Prisma transactions for multi-table ops? 4) Does it return the standard error format? List any violations."
},
{
"name": "add-logging",
"description": "Add structured logging to a function",
"prompt": "Add structured logging to this function using the project's logger from @/lib/logger. Log entry parameters, exit results, and any errors caught."
}
]
}

استخدمها بكتابة /api-check أو /add-logging في الدردشة.

الملخص

الميزةفكّر فيها كـإجراؤكإجراء الذكاء الاصطناعي
القواعددستور المشروعاكتبها مرةيتبع تلقائياً
الأوامرأدوات قوةاستدعِ عند الحاجةينفذ مهمة محددة
المهاراتخبرة مجالاضبط/عزّزيطبق عند الصلة

أبسط نموذج ذهني:

  • القواعد = "Always do it this way"
  • الأوامر = "Do this specific thing now"
  • المهارات = "I know how to do this kind of thing"

أعدد قواعدك أولاً ليعرف الذكاء الاصطناعي معاييرك. تعلم الأوامر المدمجة لتسريع المهام الشائعة. أضف مهارات عبر خوادم MCP عندما تحتاج الذكاء الاصطناعي لفهم الأنظمة الخارجية. عند استخدامها معاً، تجعل Cursor أقوى بكثير من أي ميزة منفردة.