---
name: ghayth-skill
description: >
  End-to-end engineering workflow for Ghayth and similar business systems.
  Use to plan, build, fix, refactor, test, review, secure, optimize, monitor,
  release, or merge code involving roles, approvals, finance, HR, fleet,
  assets, documents, printing, Arabic RTL, web and mobile,
  PostgreSQL, Supabase, migrations, API and event contracts, service
  boundaries, multi-tenancy, authorization, SQL, distributed workflows,
  accounting controls, fixed assets, ZATCA e-invoicing, Saudi PDPL,
  production, observability, data quality, audit integrity, offline sync,
  backup, PDF validation, data exposure,
  AI evaluation, dependencies, Git, PRs, or CI. Combines minimal
  implementation, root-cause debugging, TDD, evidence-based completion,
  browser testing, architecture and security review, safe data evolution,
  resilience, compliance, and release discipline. Trigger on Ghayth, غيث,
  ghayth-skill, review and merge, fix completely, test every role, or Ponytail.
---

# مهارة غيث

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

## قواعد حاكمة

1. احترم نطاق الطلب. التحليل لا يجيز التعديل، والتشخيص لا يجيز الإصلاح، والإصلاح لا يجيز النشر إلا إذا طلبه المستخدم.
2. اقرأ تعليمات المستودع وحالته الحاليّة قبل العمل، وحافظ على تعديلات المستخدم غير المرتبطة.
3. لا تفترض أن وصف البلاغ هو السبب. تتبع التدفق الكامل وجميع المستدعين والحالات الشقيقة.
4. استخدم أبسط حل آمن يخدم الطلب كاملًا؛ أعد استخدام الموجود قبل إنشاء طبقة أو اعتماد جديد.
5. لا تختصر التحقق عند حدود الثقة أو المال أو الصلاحيات أو فقد البيانات أو الوصول أو قابلية الاستخدام.
6. اكتب اختبارًا يفشل بالسلوك المطلوب قبل إصلاح العطل أو تغيير السلوك متى كان ذلك عمليًا، ولا تحذف عمل المستخدم بحجة تطبيق TDD.
7. افصل العمل في فرع أو مساحة معزولة عندما تسمح البيئة ويحتاج التغيير ذلك، ولا تنشئ عزلًا ثانيًا إذا كانت البيئة معزولة أصلًا.
8. لا تقل تم أو اندمج أو نجح أو نُشر إلا بدليل حديث يثبت الادعاء نفسه والوجهة المقصودة.
9. اجعل المسار القائد مالك القرار والسياسة والحالة؛ تعامل مع المسارات الأخرى كخدمات عبر عقود واضحة ولا تنقل منطق الأعمال بينها.
10. لا تغيّر مخططًا أو بيانات مستمرة أو عقد API منشورًا بلا خطة توافق وترحيل وتحقق ورجوع أو forward-fix.
11. اجعل عزل الشركة والفرع والصلاحية والتحقق المالي قيودًا على الخادم والبيانات، لا شروط واجهة قابلة للتجاوز.
12. فعّل الوحدات المتخصصة عند دليل الحاجة فقط؛ قوة المهارة في اختيار البوابة الصحيحة لا في تشغيل كل أداة على كل مهمة.
13. لا تعتمد معلومة تنظيمية سعودية متغيرة من الذاكرة أو من مستودع طرف ثالث؛ تحقق وقت التنفيذ من المصدر الرسمي ودوّن الإصدار أو تاريخ الاطلاع.
14. لا تعالج فساد البيانات بتعديل صامت. صَنّف الاستثناءات، طابق المجاميع، احفظ الأثر، وحدد قابلية العكس قبل الإصلاح.

## اختيار الوحدات

اقرأ فقط المراجع اللازمة للمهمة:

- لكل تنفيذ أو إصلاح: [ponytail.md](references/ponytail.md).
- للأعطال والاختبارات الفاشلة والسلوك غير المتوقع: [systematic-debugging.md](references/systematic-debugging.md).
- لكل ميزة أو إصلاح قابل للاختبار: [test-driven-development.md](references/test-driven-development.md).
- قبل أي ادعاء بالاكتمال أو قبل الدمج: [verification-before-completion.md](references/verification-before-completion.md).
- لاختبار الشاشات والنماذج والأدوار والمتصفح: [playwright-testing.md](references/playwright-testing.md).
- للصلاحيات والمصادقة والمدخلات والأسرار والثغرات: [security-review.md](references/security-review.md).
- لمراجعة التغيير قبل الدمج: [code-review-quality.md](references/code-review-quality.md).
- للفروع ومساحات العمل وطلبات الدمج وإثبات وصول التغيير: [git-workflow-and-merge.md](references/git-workflow-and-merge.md).
- لقراءة أو إنشاء تعليمات دقيقة للمستودع: [repository-agent-context.md](references/repository-agent-context.md).
- لمراجعة الفرق أمنيًا والتحليل الثابت والاعتماديات: [differential-security-and-supply-chain.md](references/differential-security-and-supply-chain.md).
- لتحويل فكرة أو ميزة كبيرة إلى نطاق قابل للتنفيذ: [prd.md](references/prd.md).
- عند وجود React أو Next.js: [react-next-best-practices.md](references/react-next-best-practices.md).
- عند وجود React Native أو Expo: [react-native-expo.md](references/react-native-expo.md).
- عند وجود PostgreSQL: [postgres-best-practices.md](references/postgres-best-practices.md).
- عند إثبات استخدام Supabase: [supabase.md](references/supabase.md).
- لأي تغيير مخطط أو backfill أو فهرس أو حذف بيانات: [database-migrations.md](references/database-migrations.md).
- لتصميم أو تعديل API أو عقد حدث أو حدود مسار: [api-contracts-service-boundaries.md](references/api-contracts-service-boundaries.md).
- لتحويل حدود المسارات إلى اختبارات تمنع الانحراف في CI: [architecture-fitness-functions.md](references/architecture-fitness-functions.md).
- لرسم علاقات المسارات وملكية العقود والترجمة والفشل: [context-map-contract-ownership.md](references/context-map-contract-ownership.md).
- للتحقق التشغيلي من مطابقة التنفيذ لـOpenAPI وعقود المستهلكين: [executable-contract-testing.md](references/executable-contract-testing.md).
- للصلاحيات الدقيقة وعزل الشركات وسياسات RBAC/ABAC: [authorization-policy-testing.md](references/authorization-policy-testing.md).
- لاختبار العزل بين الشركات والفروع على مستوى النظام كاملًا: [multi-tenant-system-testing.md](references/multi-tenant-system-testing.md).
- للخصائص الثابتة والتحويلات والحالات الكثيرة: [property-based-testing.md](references/property-based-testing.md).
- لإثبات قوة الاختبارات في منطق حرج: [mutation-testing.md](references/mutation-testing.md).
- لمراجعة SQL وسلامة البيانات والأداء عبر قواعد البيانات: [sql-review-data-integrity.md](references/sql-review-data-integrity.md).
- لأخطاء الإنتاج والقياس والتنبيهات: [observability-production.md](references/observability-production.md).
- للتتبعات الموزعة وOpenTelemetry وعقود القياس: [distributed-observability.md](references/distributed-observability.md).
- للتكامل غير المتزامن والأعطال الجزئية والتعويض: [distributed-resilience-patterns.md](references/distributed-resilience-patterns.md).
- للإجراءات طويلة المدة والانتظار البشري والمهل والتعويض: [durable-workflow-orchestration.md](references/durable-workflow-orchestration.md).
- للعمل الميداني دون اتصال والمزامنة وحل التعارض: [offline-sync.md](references/offline-sync.md).
- لجرد البيانات الحساسة ومساراتها وأثر التسرب: [data-exposure-blast-radius.md](references/data-exposure-blast-radius.md).
- لنمذجة التهديدات وحدود الثقة قبل التنفيذ: [threat-modeling.md](references/threat-modeling.md).
- لسجل تدقيق يكشف الحذف والتعديل وإعادة الترتيب: [tamper-evident-audit.md](references/tamper-evident-audit.md).
- لتدقيق جودة البيانات والمطابقة قبل الاستنتاج أو الترحيل: [data-quality-reconciliation.md](references/data-quality-reconciliation.md).
- لضوابط القيد المزدوج والترحيل والإقفال والمطابقات: [erp-financial-controls.md](references/erp-financial-controls.md).
- لدورة حياة الأصل من الشراء أو التسجيل الافتتاحي حتى الاستبعاد: [fixed-assets-lifecycle.md](references/fixed-assets-lifecycle.md).
- لمعالجة البيانات الشخصية وفق PDPL السعودي: [saudi-pdpl.md](references/saudi-pdpl.md).
- للفوترة الإلكترونية وتكامل ZATCA: [zatca-e-invoicing.md](references/zatca-e-invoicing.md).
- عند بناء أو إعادة تصميم واجهة: [frontend-design.md](references/frontend-design.md).
- عند تدقيق الوصول والنماذج وRTL وتجربة الاستخدام: [web-accessibility-ux.md](references/web-accessibility-ux.md).
- لقياس أداء الويب وCore Web Vitals وحجم الموارد: [web-quality-performance.md](references/web-quality-performance.md).
- لحالات Playwright المتقدمة أو الاختبارات المتقشرة: [advanced-playwright.md](references/advanced-playwright.md).
- لتشخيص الشبكة والكونسول والذاكرة والأداء في متصفح حي: [browser-deep-diagnostics.md](references/browser-deep-diagnostics.md).
- لاختبار الطباعة وPDF والعربية وRTL بصريًا ودلاليًا: [print-pdf-visual-testing.md](references/print-pdf-visual-testing.md).
- للنسخ الاحتياطي والاستعادة وRPO/RTO واختبارات التعافي: [backup-disaster-recovery.md](references/backup-disaster-recovery.md).
- لتدقيق الجاهزية والإطلاق التدريجي والرجوع: [production-readiness-progressive-delivery.md](references/production-readiness-progressive-delivery.md).
- لمساعد غيث الذكي وOCR والتصنيف والسلوك غير الحتمي: [eval-driven-ai.md](references/eval-driven-ai.md).

## سير العمل

### 1. حدد نوع المهمة

- فكرة أو ميزة: استخدم PRD بقدر يتناسب مع حجمها.
- عطل: ابدأ بالتشخيص المنهجي.
- واجهة أو مسار مستخدم: أضف اختبار المتصفح والتصميم.
- تغيير بيانات أو صلاحيات: أضف مراجعة الأمن والهجرة والسياسات وسلامة البيانات.
- تكامل بين مسارين: حدد القائد والخادم والعقد والحدث والتكرار والتعويض قبل التنفيذ.
- تكامل متغير أو واسع: أضف خريطة سياقات واختبار حدود معمارية وعقدًا تنفيذيًا.
- منطق مالي أو تحويلات أو أصول أو آلة حالات: أضف ضوابط ERP والخصائص الثابتة، واستخدم mutation testing عند ارتفاع الخطر.
- بيانات شخصية أو فاتورة ضريبية سعودية: تحقق من المصدر الرسمي الحالي ثم طبّق بوابة PDPL أو ZATCA.
- بيانات مترحلة أو تقرير غير متطابق: أضف تدقيق الجودة والمطابقة قبل أي إصلاح أو استنتاج.
- عمل ميداني أو انتظار طويل: اختر المزامنة غير المتصلة أو workflow durable حسب طبيعة الانقطاع.
- نظام موزع أو عطل إنتاج: أضف التتبع المترابط والمرونة وتحليل مدى الأثر.
- ميزة ذكاء اصطناعي: عرّف مجموعة تقييم ومعايير نجاح وفشل قبل تحسينها.
- مراجعة أو دمج: راجع الفرق، نفذ بوابات الجودة، ثم تحقق حديثًا.

### 2. افهم النظام قبل التغيير

- عيّن نقطة الدخول، الحالة الحالية، قواعد الانتقال، التخزين، الواجهة، وواجهات API.
- عيّن المسار القائد، المسارات الخادمة، حدود البيانات، العقود والأحداث وآثار التدقيق.
- اقرأ أقرب `AGENTS.md` وتعليمات المشروع والأوامر الفعلية من ملفات الإعداد وCI.
- ابحث عن جميع المستدعين والأنماط المشابهة.
- حدد المتطلبات ومعايير القبول والحالات السلبية.
- افصل بين الخلل البرمجي ونقص البيانات أو الإعداد أو التغطية الاختبارية.

### 3. أثبت السلوك المطلوب

- للعطل، أنشئ أصغر إعادة إنتاج أو اختبار انحدار يفشل للسبب الصحيح.
- للميزة، حوّل معيار القبول إلى اختبار مركز قبل كتابة منطق الإنتاج متى كان ذلك عمليًا.
- إذا تعذر الاختبار الآلي، وثق السبب واستخدم فحصًا قابلًا للتكرار بدل تجربة غير مسجلة.

### 4. نفذ أقل تغيير صحيح

- أصلح في المصدر المشترك عندما تمر الحالات عبره.
- لا تضف تجريدًا أو إعدادًا أو اعتمادًا بلا حاجة مثبتة.
- حافظ على التوافق مع الأنماط القائمة واللغة العربية واتجاه RTL.
- اجعل أقل كود ينجح في الاختبار، ثم حسّن القراءة مع بقاء الاختبارات خضراء.

### 5. اختبر طبقيًا

اختبر بالترتيب المناسب:

1. اختبار مركز للمنطق المعدل.
2. اختبار API أو تكامل لمسار البيانات والحالة.
3. اختبار متصفح للمسار المرئي والأدوار المعنية.
4. اختبار سلبي للصلاحيات والحالات غير المسموحة.
5. اختبار عقد تنفيذي أو حد معماري أو ترحيل أو خاصية ثابتة عندما يتغير أحدها.
6. مطابقة بيانات أو قيود أو أصول أو فاتورة ضريبية عند وجود أثر مالي أو تنظيمي.
7. فحص PDF بصري واستعادة تجريبية ومزامنة منقطعة عندما تنطبق.
8. بناء، أنواع، lint، واختبارات المشروع ذات الصلة.

لا تثبت أدوات أو اعتماديات جديدة إذا كانت أدوات المشروع الحالية تكفي.

### 6. راجع قبل الدمج

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

### 7. سلّم بالأدلة

اذكر:

- ما تغير فعليًا.
- ما شُغّل من تحقق ونتيجته.
- ما لم يُختبر أو ما يزال محجوبًا.
- حالة الفرع وطلب الدمج والوجهة وحالة النشر بدقة، بلا تخمين.

## تخصيص غيث

عامل مسارات الاعتماد والإرجاع والرفض والتعديل كآلة حالات صريحة. اختبر لكل دور
ما يظهر وما يجوز تنفيذه وما يجب منعه. في العمليات المالية، تحقق من الترحيل
والقيد وعدم التكرار والذمم والتدقيق، واختبر الخصائص الثابتة مثل توازن القيد
وعدم إنشاء أثر مالي مرتين. في الفروع وتعدد الشركات، اختبر العزل والنطاق
والافتراضيات من الواجهة حتى قاعدة البيانات. اجعل كل مسار مستقلًا وقابلًا
للتشغيل والاشتراك منفردًا، واضبط تكامله بعقود خدمة وأحداث مدققة دون نقل
السياسة أو القرار إلى المسار الخادم. في الطباعة، اختبر العربية وRTL
والإنجليزية وA4 والحراري والحالات الطويلة. في الجوال، اختبر iOS وAndroid
والصلاحيات والروابط العميقة والاتصال الضعيف والمزامنة المتكررة. في الأصول،
ميّز شراء الأصل عن التسجيل الافتتاحي وإعادة التقييم والتحسين والانخفاض
والاستبعاد، ولا تجعل «إنشاء أصل» اسمًا لدورات مختلفة. في ZATCA وPDPL تحقّق
من المصادر الحكومية الحالية ولا تحوّل المرجع القانوني إلى ادعاء امتثال آلي.
لا تعتبر نجاح الواجهة دليلًا على صحة القيد أو الصلاحية، ولا تعتبر وجود طلب
دمج دليلًا على وصول التغيير للفرع المستهدف، ولا تعتبر وجود نسخة احتياطية
دليلًا على إمكان الاستعادة.

## المصادر

راجع [sources.md](references/sources.md) عند تحديث هذه المهارة أو التحقق من
أصول وحداتها وتراخيصها.
