/ الدليل / الملعب / data-engineering-skills
● مجتمع AltimateAI ⚡ فوري

data-engineering-skills

بواسطة AltimateAI · AltimateAI/data-engineering-skills

9 مهارات Claude Code لهندسة البيانات: 7 سير عمل dbt + 2 محسِّن استعلام Snowflake. معدل نجاح 53% في مهام dbt الحقيقية و84% في تحسين Snowflake.

مهارات للعمل اليومي في هندسة البيانات. تغطي مهارات dbt الإنشاء والتصحيح والاختبار والتوثيق والهجرة وإعادة الهيكلة والنماذج الزيادية. تجد مهارات Snowflake الاستعلامات المكلفة وتحسنها إما حسب النص أو حسب query_id. الفلسفة: 'اقرأ قبل أن تكتب. ابنِ بعد أن تكتب. تحقق من مخرجاتك.'

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

data-engineering-skill.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "data-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/AltimateAI/data-engineering-skills",
        "~/.claude/skills/data-engineering-skills"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "data-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/AltimateAI/data-engineering-skills",
        "~/.claude/skills/data-engineering-skills"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "data-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/AltimateAI/data-engineering-skills",
        "~/.claude/skills/data-engineering-skills"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "data-engineering-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/AltimateAI/data-engineering-skills",
        "~/.claude/skills/data-engineering-skills"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "data-engineering-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/AltimateAI/data-engineering-skills",
        "~/.claude/skills/data-engineering-skills"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "data-engineering-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/AltimateAI/data-engineering-skills",
          "~/.claude/skills/data-engineering-skills"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add data-engineering-skill -- git clone https://github.com/AltimateAI/data-engineering-skills ~/.claude/skills/data-engineering-skills

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: data-engineering-skills

تصحيح نموذج dbt فاشل دون هدر الوقت

👤 مهندسو البيانات الذين يواجهون تشغيل CI أحمر ⏱ ~20 min intermediate

متى تستخدمه: فشل dbt run للتو برسالة خطأ غامضة ولا تعرف ما إذا كانت المشكلة في schema أو lineage أو SQL.

المتطلبات الأساسية
  • مشروع dbt متاح — cd إلى مستودع dbt الخاص بك لكي يتمكن Claude من رؤية models/
  • المهارة مثبتة — git clone https://github.com/AltimateAI/data-engineering-skills ~/.claude/skills/data-engineering-skills
الخطوات
  1. أدخل Claude الخطأ + النموذج
    استخدم debugging-dbt-errors. إليك stderr والملف models/marts/fct_orders.sql. شخّص السبب الجذري — لا تخمن.✓ تم النسخ
    → Claude يقرأ المراجع الأعلى، ويشخص بالترتيب: schema → lineage → SQL
  2. طبق الإصلاح والتحقق
    طبق الإصلاح وشغّل dbt build --select fct_orders+. أريني عدد الصفوف قبل وبعد.✓ تم النسخ
    → تشغيل نظيف + التحقق من عدد الصفوف

النتيجة: CI أخضر بالإضافة إلى ملاحظة حول السبب الجذري حتى لا يتكرر.

المزالق
  • إصلاح عرض أسفل النهر بينما الخلل أعلى النهر — المهارة تفرض تشخيص upstream-first؛ لا تتخطَّ خطوة lineage
اجمعها مع: bigquery-server · github

ابحث عن أغلى استعلامات Snowflake لديك وأصلحها

👤 قادة البيانات الذين يواجهون فاتورة Snowflake المتزايدة ⏱ ~60 min intermediate

متى تستخدمه: أشار المالي إلى فاتورة Snowflake وتحتاج إلى تقليلها دون كسر لوحات المعلومات.

المتطلبات الأساسية
  • دور Snowflake مع وصول ACCOUNT_USAGE — عادةً ACCOUNTADMIN أو دور متخصص للتكلفة
الخطوات
  1. حدد أسوأ المخالفين
    استخدم finding-expensive-queries لإدراج أفضل 20 استعلام في آخر 30 يوم حسب تكلفة الائتمان. اجمع حسب التطبيق/المستخدم.✓ تم النسخ
    → جدول مرتب بالائتمانات والوقت والمستودع
  2. حسّن كل واحد من الأفضل
    بالنسبة للمخالف الأول، استخدم optimizing-query-by-id <query_id>. اقترح إعادة كتابة مع التوفير المقدر.✓ تم النسخ
    → SQL معاد الكتابة + خطة explain قبل/بعد
  3. تحقق والنشر
    شغّل إعادة الكتابة في مستودع اختبار — تأكد من نفس عدد الصفوف والشكل قبل المبادلة.✓ تم النسخ
    → مرشح مبادلة آمن

النتيجة: قائمة مرتبة أولويات للإصلاحات مع توفير $ قابل للقياس.

المزالق
  • تغيير عدد الصفوف بصمت في عمليات إعادة الكتابة — قارن دائماً قبل النشر — المهارة تفرض هذا
اجمعها مع: bigquery-server

هاجر كمية من الإجراءات المخزنة إلى نماذج dbt

👤 الفريق الذي ينتقل من SQL القديم إلى dbt ⏱ ~90 min advanced

متى تستخدمه: ورثت مستودعاً من CTEs متداخلة وتريدها كنماذج dbt موثقة واختبرت.

الخطوات
  1. وجّه المهارة نحو SQL المصدر
    استخدم migrating-sql-to-dbt. إليك proc_monthly_revenue.sql. حولها إلى نماذج dbt مع refs والتوثيق واختبارات على الأقل 2 لكل نموذج.✓ تم النسخ
    → ملف واحد أو أكثر من ملفات .sql، و schema.yml مع الوثائق والاختبارات
  2. بنّ والتحقق
    dbt بنّ النماذج الجديدة وقارن عدد الصفوف مع الإخراج القديم.✓ تم النسخ
    → عدد الصفوف متطابق ضمن التسامح

النتيجة: تعيش منطق القديم كنماذج dbt قابلة للاختبار.

المزالق
  • الآثار الجانبية الخفية في الإجراء (UPDATEs) — المهارة تحدد الآثار الجانبية — افصل عنها، لا تحول بعمى
اجمعها مع: github

حول نموذج إعادة تحديث بطيء إلى متزايد

👤 مهندسو البيانات مع تشغيلات dbt طويلة الأجل ⏱ ~45 min advanced

متى تستخدمه: نموذج يومي نما بحجم كبير جداً لإعادة تحديث كاملة.

الخطوات
  1. حلّل النموذج
    استخدم developing-incremental-models على models/events.sql. اختر استراتيجية (merge / insert_overwrite / delete+insert) وبرر الاختيار.✓ تم النسخ
    → استراتيجية + unique_key + partition / cluster مفاتيح موصى بها
  2. طبق وملأ للخلف
    طبق الإعدادات الزيادية؛ حدد خطة ملء آمنة للخلف.✓ تم النسخ
    → نموذج + خطوات الملء للخلف

النتيجة: تشغيلات يومية تنتهي في دقائق، وليس ساعات.

المزالق
  • unique_key يحصل على نسخ مكررة من البيانات المتأخرة — استخدم merge واختبره

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

data-engineering-skill + bigquery-server

طبق نفس نمط optimize-by-id على استعلامات BigQuery المكلفة

كيّف finding-expensive-queries لـ BigQuery INFORMATION_SCHEMA.JOBS وأدرج أفضل 20.✓ تم النسخ
data-engineering-skill + github

افتح PR لكل نموذج مهاجر حتى يكون كل منها قابل للمراجعة

لكل نموذج مهاجر، افتح GitHub PR مع dbt test output مرفق.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
creating-dbt-models model spec نموذج جديد 0
debugging-dbt-errors error log, model فشل تشغيل CI أو محلي 0
testing-dbt-models model نموذج غير مختبر 0
documenting-dbt-models model نموذج غير موثق 0
migrating-sql-to-dbt legacy SQL هجرة قديمة 0
refactoring-dbt-models model نموذج صعب القراءة 0
developing-incremental-models full-refresh model وقت التشغيل طويل جداً 0
finding-expensive-queries lookback window بحث عن التكلفة ACCOUNT_USAGE query
optimizing-query-text SQL text تعرف SQL وليس المعرّف 0
optimizing-query-by-id query_id لديك المعرّف من الواجهة 1 explain

التكلفة والحدود

تكلفة التشغيل

حصة API
استعلامات Snowflake تكلف ائتمانات مثل أي شيء آخر — قراءات ACCOUNT_USAGE رخيصة
الرموز لكل استدعاء
5–15k لكل تفعيل مهارة dbt
التكلفة المالية
مهارة مجانية
نصيحة
شغّل finding-expensive-queries مرة واحدة أسبوعياً وليس في كل جلسة

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: dbt: قراءة + كتابة على مشروعك Snowflake: ACCOUNT_USAGE لمهارات التكلفة
تخزين بيانات الاعتماد: dbt profiles.yml / Snowflake key-pair في env؛ المهارة لا تخزن الأسرار
نقل البيانات الخارجي: لا شيء من المهارة مباشرة
لا تمنح أبدًا: SYSADMIN للجلسة Claude إلا إذا كان ضروري جداً

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

dbt compile ينجح، run فشل مع column not found

lineage قديم — dbt deps + dbt clean + dbt build --select model+

finding-expensive-queries لا يعود بأي شيء

ACCOUNT_USAGE به تأخير ~45 دقيقة؛ أيضاً تأكد من أن الدور لديه SNOWFLAKE.ACCOUNT_USAGE

تحقق: SHOW GRANTS TO ROLE <role>

البدائل

data-engineering-skills مقابل البدائل

البديلمتى تستخدمهاالمقايضة
dbt Cloud IDEتفضل واجهة مدارة بدلاً من الطرفيةلا Claude في الحلقة
محسّنات استعلام SQL (Select.dev، إلخ)تريد خطط استعلام بصريةأداة منفصلة، سياق منفصل

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills