● مجتمع
AltimateAI
⚡ فوري
data-engineering-skills
بواسطة AltimateAI · AltimateAI/data-engineering-skills
9 مهارات Claude Code لهندسة البيانات: 7 سير عمل dbt + 2 محسِّن استعلام Snowflake. معدل نجاح 53% في مهام dbt الحقيقية و84% في تحسين Snowflake.
مهارات للعمل اليومي في هندسة البيانات. تغطي مهارات dbt الإنشاء والتصحيح والاختبار والتوثيق والهجرة وإعادة الهيكلة والنماذج الزيادية. تجد مهارات Snowflake الاستعلامات المكلفة وتحسنها إما حسب النص أو حسب query_id. الفلسفة: 'اقرأ قبل أن تكتب. ابنِ بعد أن تكتب. تحقق من مخرجاتك.'
لماذا تستخدمه
الميزات الأساسية
- 7 مهارات dbt — الإنشاء والتصحيح والاختبار والتوثيق والهجرة وإعادة الهيكلة والزيادية
- مهارتا Snowflake — البحث عن الاستعلامات المكلفة وتحسينها حسب النص أو المعرّف
- تتفعل المهارات تلقائياً بناءً على سياق المهمة
- معايرة: معدل نجاح 53% في dbt الحقيقي، ومعدل نجاح 84% في تحسين Snowflake
- تتضمن خطوات تتبع التبعيات والتحقق من المخرجات
عرض مباشر
كيف يبدو في الممارسة
data-engineering-skill.replay
▶ جاهز
حالات الاستخدام
استخدامات عملية: data-engineering-skills
متى تستخدمه: فشل dbt run للتو برسالة خطأ غامضة ولا تعرف ما إذا كانت المشكلة في schema أو lineage أو SQL.
الخطوات
-
أدخل Claude الخطأ + النموذج
استخدم debugging-dbt-errors. إليك stderr والملف models/marts/fct_orders.sql. شخّص السبب الجذري — لا تخمن.✓ تم النسخ
→ Claude يقرأ المراجع الأعلى، ويشخص بالترتيب: schema → lineage → SQL
-
طبق الإصلاح والتحقق
طبق الإصلاح وشغّل dbt build --select fct_orders+. أريني عدد الصفوف قبل وبعد.✓ تم النسخ
→ تشغيل نظيف + التحقق من عدد الصفوف
النتيجة: CI أخضر بالإضافة إلى ملاحظة حول السبب الجذري حتى لا يتكرر.
المزالق
- إصلاح عرض أسفل النهر بينما الخلل أعلى النهر — المهارة تفرض تشخيص upstream-first؛ لا تتخطَّ خطوة lineage
متى تستخدمه: أشار المالي إلى فاتورة Snowflake وتحتاج إلى تقليلها دون كسر لوحات المعلومات.
المتطلبات الأساسية
- دور Snowflake مع وصول ACCOUNT_USAGE — عادةً ACCOUNTADMIN أو دور متخصص للتكلفة
الخطوات
-
حدد أسوأ المخالفين
استخدم finding-expensive-queries لإدراج أفضل 20 استعلام في آخر 30 يوم حسب تكلفة الائتمان. اجمع حسب التطبيق/المستخدم.✓ تم النسخ
→ جدول مرتب بالائتمانات والوقت والمستودع
-
حسّن كل واحد من الأفضل
بالنسبة للمخالف الأول، استخدم optimizing-query-by-id <query_id>. اقترح إعادة كتابة مع التوفير المقدر.✓ تم النسخ
→ SQL معاد الكتابة + خطة explain قبل/بعد
-
تحقق والنشر
شغّل إعادة الكتابة في مستودع اختبار — تأكد من نفس عدد الصفوف والشكل قبل المبادلة.✓ تم النسخ
→ مرشح مبادلة آمن
النتيجة: قائمة مرتبة أولويات للإصلاحات مع توفير $ قابل للقياس.
المزالق
- تغيير عدد الصفوف بصمت في عمليات إعادة الكتابة — قارن دائماً قبل النشر — المهارة تفرض هذا
متى تستخدمه: ورثت مستودعاً من CTEs متداخلة وتريدها كنماذج dbt موثقة واختبرت.
الخطوات
-
وجّه المهارة نحو SQL المصدر
استخدم migrating-sql-to-dbt. إليك proc_monthly_revenue.sql. حولها إلى نماذج dbt مع refs والتوثيق واختبارات على الأقل 2 لكل نموذج.✓ تم النسخ
→ ملف واحد أو أكثر من ملفات .sql، و schema.yml مع الوثائق والاختبارات
-
بنّ والتحقق
dbt بنّ النماذج الجديدة وقارن عدد الصفوف مع الإخراج القديم.✓ تم النسخ
→ عدد الصفوف متطابق ضمن التسامح
النتيجة: تعيش منطق القديم كنماذج dbt قابلة للاختبار.
المزالق
- الآثار الجانبية الخفية في الإجراء (UPDATEs) — المهارة تحدد الآثار الجانبية — افصل عنها، لا تحول بعمى
متى تستخدمه: نموذج يومي نما بحجم كبير جداً لإعادة تحديث كاملة.
الخطوات
-
حلّل النموذج
استخدم developing-incremental-models على models/events.sql. اختر استراتيجية (merge / insert_overwrite / delete+insert) وبرر الاختيار.✓ تم النسخ
→ استراتيجية + unique_key + partition / cluster مفاتيح موصى بها
-
طبق وملأ للخلف
طبق الإعدادات الزيادية؛ حدد خطة ملء آمنة للخلف.✓ تم النسخ
→ نموذج + خطوات الملء للخلف
النتيجة: تشغيلات يومية تنتهي في دقائق، وليس ساعات.
المزالق
- unique_key يحصل على نسخ مكررة من البيانات المتأخرة — استخدم merge واختبره
التركيبات
اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10
طبق نفس نمط optimize-by-id على استعلامات BigQuery المكلفة
كيّف finding-expensive-queries لـ BigQuery INFORMATION_SCHEMA.JOBS وأدرج أفضل 20.✓ تم النسخ
data-engineering-skill +
github
افتح PR لكل نموذج مهاجر حتى يكون كل منها قابل للمراجعة
لكل نموذج مهاجر، افتح GitHub PR مع dbt test output مرفق.✓ تم النسخ
التكلفة والحدود
تكلفة التشغيل
- حصة 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، إلخ) | تريد خطط استعلام بصرية | أداة منفصلة، سياق منفصل |