https://github.com/laith0003/ux-skill
Design intelligence engine for AI coding. 120 anti-pattern linter rules, 110 brand DESIGN.md specs, MCP server, 22 commands, 17 IDEs, 17 languages. MIT.
https://github.com/laith0003/ux-skill
ai-coding ai-design anti-ai-slop brand-guidelines claude-code claude-skill cursor design design-intelligence design-system design-tokens frontend linter mcp open-source python ui ux vibe-coding windsurf
Last synced: 16 days ago
JSON representation
Design intelligence engine for AI coding. 120 anti-pattern linter rules, 110 brand DESIGN.md specs, MCP server, 22 commands, 17 IDEs, 17 languages. MIT.
- Host: GitHub
- URL: https://github.com/laith0003/ux-skill
- Owner: Laith0003
- License: mit
- Created: 2026-05-24T11:48:19.000Z (23 days ago)
- Default Branch: main
- Last Pushed: 2026-05-29T22:13:05.000Z (17 days ago)
- Last Synced: 2026-05-29T22:20:50.940Z (17 days ago)
- Topics: ai-coding, ai-design, anti-ai-slop, brand-guidelines, claude-code, claude-skill, cursor, design, design-intelligence, design-system, design-tokens, frontend, linter, mcp, open-source, python, ui, ux, vibe-coding, windsurf
- Language: Python
- Homepage: https://uxskill.laithjunaidy.com
- Size: 13.9 MB
- Stars: 16
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.ar.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: docs/roadmap.html
Awesome Lists containing this project
README
[English](README.md) · **العربية** · [简体中文](README.zh.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [हिन्दी](README.hi.md) · [Bahasa Indonesia](README.id.md) · [Tiếng Việt](README.vi.md) · [ไทย](README.th.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Español](README.es.md) · [Português](README.pt-BR.md) · [Italiano](README.it.md) · [Русский](README.ru.md) · [Türkçe](README.tr.md)
# ux-skill — محرّك ذكاء التصميم لـ Claude Code وCursor وكل أداة برمجة بالذكاء الاصطناعي
> **v3.0.0 الإصدار المستقر — THE BRAIN.** أقوى إضافة لتجربة المستخدم في عالم البرمجة بالذكاء الاصطناعي. نواة استدلال مكتوبة بلغة Python مع 11 ملفّ بيانات JSON قابلًا للاستعلام (84 أسلوبًا تصميميًا، 176 لوحة ألوان، 70 اقترانًا طباعيًا، 148 مكوّنًا، 184 قطاعًا، 35 نوع رسم بياني، 57 مهيّأة حركة، 112 قانون تجربة مستخدم، 145 قاعدة لكشف الأنماط الضارّة، 25 منظومة تقنية، 160 مواصفة علامة تجارية)، إضافة إلى 22 أمرًا قطعيًا (slash command)، و5 وكلاء فرعيين، ومُدقّق حتمي يقضي على ركاكة الذكاء الاصطناعي. وهي متعدّدة بيئات التطوير: تثبيت موحّد لـ Claude Code وCursor وWindsurf وGitHub Copilot وGemini CLI وCodex وKiro وCline وContinue وAider وZed وJetBrains AI وPieces وTabby وTabnine وCodeWhisperer وRoo Cline.
> **اسم العلامة هو `ux-skill`.** اسم الحزمة في PyPI و npm يبقى `uxskill`. ومستودع GitHub موجود على [`Laith0003/ux-skill`](https://github.com/Laith0003/ux-skill).
**الموقع:** [uxskill.laithjunaidy.com](https://uxskill.laithjunaidy.com) · **قارن مع كل إضافات UX لـ Claude:** [compare.html](https://uxskill.laithjunaidy.com/compare.html) · **GitHub:** [Laith0003/ux-skill](https://github.com/Laith0003/ux-skill) · **PyPI:** [uxskill](https://pypi.org/project/uxskill/) · **npm:** [uxskill](https://www.npmjs.com/package/uxskill)
[](https://github.com/Laith0003/ux-skill/releases)
[](https://www.python.org/downloads/)
[](LICENSE)
[](#مثبّت-17-بيئة-تطوير)
[](data/brands/_index.json)
[](data/components.json)
[](data/anti-patterns.json)
[](https://github.com/Laith0003/ux-skill/actions)
[](data/motion-presets.json)
[](https://github.com/Laith0003/ux-skill/stargazers)
[](https://pypi.org/project/uxskill/)
[](https://discord.gg/uxskill)
### الجديد في الإصدار v3
- **مواصفات العلامات التجارية أصبحت بيانات تدريب، لا قوالب.** لم تعد الـ160 مواصفة كتالوجًا يختار منه نظام التوصية — بل أصبحت مفردات يستخلص منها المُركِّب (synthesizer). الناتج جديد في كل استدعاء.
- **مُركِّب من 7 محاور** (warmth، contrast، density، geometry، formality، motion، type_personality). يُسقَط الـbrief حتميًا على قِيم محاور؛ وقِيم المحاور تُترجَم إلى رموز palette + خطوط + spacing + radius + motion جديدة.
- **ثلاثة أوضاع تشغيل تلقائي** — `strict_brand` (علامة واحدة بنسبة 100%)، `brand_anchor` (علامة واحدة بنسبة 70% + 30% مُكيَّفة بالمحاور من علامات شقيقة)، `pure_synthesis` (لا اسم علامة — استخلاص من 8 أمثلة موافقة في المحاور).
- **سجلّ القرارات يُعيد ترتيب نظام التوصية.** `.ux/decisions.jsonl` يُعيد ترتيب المُرشَّحين وفق النصرات السابقة في الحاوية `(industry, ui_type)` نفسها. آمن مع الانطلاق البارد. لا يحتسب إلا القرارات بـ`lint_score >= 80` و`user_accepted = true`.
- **مصفوفة تفاعل المحاور** — حلٌّ صريح للنزاعات بين المحاور المتنافسة (dense + corporate → 4px، airy + corporate → 12px، soft + playful → 18px radius). لا قواعد ارتجالية صامتة بعد الآن.
- **حلقة تلقائية `/ux-evolve`** — lint → polish → re-lint حتى تصل النتيجة إلى ≥ 90 أو إلى هضبة أو 5 جولات. حدّ الجودة عند 65.
- **3 أدوات MCP جديدة** (15 → 18): `ux_synthesize`، `ux_decisions_query`، `ux_decisions_stats`.
- **لوحة إحصاءات محلية** — `uxskill stats --html` تكتب `.ux/stats.html` تُظهر ما تعلّمه تنصيبك أنت. لا قياسات عن بُعد، ولا جمع عالمي.
- **اجتياز 223 اختبارًا.** بلا اتصال. حتمي. لا استدعاء لأي LLM.
التفاصيل الكاملة في [CHANGELOG.md](CHANGELOG.md#300--2026-05-28--the-brain).
### تاريخ النجوم
[](https://star-history.com/#Laith0003/ux-skill&Date)
---
## ما هو ux-skill
ux-skill هو **محرّك ذكاء تصميم** مخصّص لأدوات البرمجة المعتمدة على الذكاء الاصطناعي. يعمل كحزمة Python (`pip install uxskill`)، وكإضافة لـ Claude Code، وكمثبّت متعدّد يدعم 17 بيئة تطوير. يتلقّى المحرّك موجزًا للمشروع (القطاع، الجمهور، النغمة، المتطلّبات الإلزامية، الممنوعات، المنظومة التقنية، المنطقة)، ويُعيد نظام تصميم متكاملًا موصى به: أسلوب، لوحة ألوان، اقتران طباعي، مهيّآت حركة، مكوّنات، علامات تجارية يُحتذى بها، إلى جانب حواجز الأنماط الضارّة الواجب التزامها. والتوصية حتمية — المُدخل نفسه يُنتج المُخرج نفسه دائمًا.
تجلس هذه الإضافة بينك وبين أداة الذكاء الاصطناعي. حين تطلب من Claude Code أو Cursor أو أيّ مساعد ذكي «أنشئ صفحة هبوط لتطبيق تقنيات مالية»، فإنّ المساعد عادةً ما يرتجل — وتأتي النتيجة مفضوحة كناتج ذكاء اصطناعي خلال خمس ثوانٍ (تدرّجات بنفسجية إلى زرقاء، ثلاث بطاقات متساوية، خطّ Inter بحجم عرضي، «John Doe» في الشهادات، انتقالات افتراضية بـ 300 مللي ثانية، قسم رئيسي موسّط، سهام نطّاطة في أزرار الدعوة لاتّخاذ إجراء). يُبدّل ux-skill الارتجال بـ**قيود مُهيكلة**: تشغّل `/ux-discover` لاستخراج الموجز، ثم `/ux-recommend` لاختيار النظام، ثم `/ux-design` لتوليد الكود، ثم `/ux-lint` للتحقّق من أنّه يجتاز قواعد كشف ركاكة الذكاء الاصطناعي الـ 145 الحتمية قبل الالتزام بأي تعديل.
هذا الملف هو المرجع المُعتمد. كلّ أمر، كلّ وكيل فرعي، كلّ ملفّ بيانات، كلّ مسار تثبيت، كلّ مواصفة علامة تجارية، كلّ تصنيف للأنماط الضارّة — كلّها موثّقة هنا. إن كنت تختار إضافة تصميم لـ Claude Code، أو تُقارن أدوات التصميم الذكي لـ Cursor أو Windsurf أو Codex، فاقرأ هذا الملف من أوّله إلى آخره مع صفحة [compare.html](https://uxskill.laithjunaidy.com/compare.html) جنبًا إلى جنب.
---
## فهرس المحتويات
1. [الدماغ — ما هو الإصدار v3.0](#الدماغ--ما-هو-الإصدار-v30)
2. [التثبيت السريع](#التثبيت-السريع)
3. [الأرقام — مقارنة حيّة مع أفضل 8 مهارات UX لـ Claude](#الأرقام--مقارنة-حيّة-مع-أفضل-8-مهارات-ux-لـ-claude)
4. [البنية — كيف تتشابك القطع](#البنية--كيف-تتشابك-القطع)
5. [الأوامر القطعية الـ 22 — مرجع تفصيلي](#الأوامر-القطعية-الـ-22--مرجع-تفصيلي)
6. [الوكلاء الفرعيون الخمسة](#الوكلاء-الفرعيون-الخمسة)
7. [ملفّات البيانات الـ 11](#ملفّات-البيانات-الـ-11)
8. [قواعد مكافحة ركاكة الذكاء الاصطناعي الـ 145 — المُدقّق](#قواعد-مكافحة-ركاكة-الذكاء-الاصطناعي-الـ-145--المُدقّق)
9. [مواصفات DESIGN.md الـ 160 للعلامات — حسب الفئة](#مواصفات-designmd-الـ-160-للعلامات--حسب-الفئة)
10. [خادم MCP — التحرّك غير المتماثل](#خادم-mcp--التحرّك-غير-المتماثل)
11. [مثبّت 17 بيئة تطوير](#مثبّت-17-بيئة-تطوير)
12. [حالات استخدام — سيناريوهات ملموسة](#حالات-استخدام--سيناريوهات-ملموسة)
13. [المقارنة مع البدائل](#المقارنة-مع-البدائل)
14. [خارطة الطريق](#خارطة-الطريق)
15. [المساهمة](#المساهمة)
16. [الترخيص، المؤلّف، الشكر](#الترخيص-المؤلّف-الشكر)
---
## الدماغ — ما هو الإصدار v3.0
الإصدار v3.0.0 هو أكبر تحوّل معماري في تاريخ ux-skill. لم يعد نظام التوصية يختار قوالب من كتالوج — بل يُركِّب المحرّك لغةً تصميميةً جديدةً لكل brief. الـbrief نفسه يُنتج النتيجة نفسها دائمًا (حتمي تمامًا)، لكن كل brief مختلف يحصل على نظامه الجديد الخاص. لم تعد مواصفات العلامات قوالب؛ صارت بيانات تدريب يتعلّم المحرّك منها المفردات. للنظام عينٌ على تاريخه، ويُغلق حلقة التغذية الراجعة محليًا، ولا يستدعي LLM أبدًا.
المُجَمِّع هو **مُركِّب حتمي من 7 محاور** — warmth، contrast، density، geometry، formality، motion، type_personality. يُسقَط كل brief على قِيم محاور؛ وقِيم المحاور تُترجَم إلى رموز palette + خطوط + spacing + radius + motion جديدة. سلالم الطباعة المعيارية تختار نسبتها من contrast (1.200 quiet / 1.250 balanced / 1.333 loud). البَدئيّات الـ7 (stack / cluster / grid / sidebar / cover / frame / split) متجاوبة بحكم التركيب (`auto-fit minmax(min(N, 100%), 1fr)` + container queries). لا يمكن إصدار تخطيط مكسور لأنه ليس قابلًا للتمثيل.
هناك ثلاثة أوضاع تلقائية: `strict_brand` (`reference_brands=[stripe] strict=True` → 100% من رموز Stripe، أسرع مسار)؛ و`brand_anchor` (`reference_brands=[stripe]` → 70% Stripe + 30% مُكيَّفة بالمحاور من 4 علامات شقيقة)؛ و`pure_synthesis` (لا اسم علامة → فضاء لا متناهٍ، استخلاص 8 أمثلة موافقة في المحاور إلى لغة تصميم جديدة). تُحَلّ النزاعات بين المحاور بواسطة **مصفوفة تفاعل محاور** موثَّقة — dense + corporate يُجَمَّع إلى 4px (تنتصر density، مدرسة Bloomberg)، airy + corporate إلى 12px (تنتصر formality، فخامة)، soft + playful إلى 18px radius، sharp + corporate إلى 2px. لا قواعد ارتجالية صامتة في التنفيذ.
**سجلّ القرارات** (`.ux/decisions.jsonl`، مخطّط `_v: 1` مُقفَل) يُغلق حلقة التغذية الراجعة. ويُعيد نظام التوصية الآن ترتيب المرشّحين وفق النصرات السابقة في الحاوية `(industry, ui_type)` نفسها. آمن مع الانطلاق البارد — يتخطّى دون 3 سوابق. لا يحتسب إلا القرارات بـ`lint_score >= 80` و`user_accepted = true`. كما يُشغِّل `/ux-evolve` حلقة lint → polish → re-lint حتى ≥ 90 أو هضبة أو 5 جولات، بحدّ جودة عند 65 يُرفض ما تحته دون `--force`. النتيجة: كل تنصيب يزداد ذكاءً على مجموعته الخاصّة، وكل تشغيل قابل للاستنساخ بين الأجهزة، ويبقى المحرّك بلا اتصال تمامًا.
---
## التثبيت السريع
ثلاثة مسارات للتثبيت. اختر ما يلائم بيئتك.
### المسار 1 — متجر إضافات Claude Code (المعتمد)
إن كنت تعمل داخل Claude Code، فالتثبيت يتمّ عبر متجر الإضافات:
```bash
/plugin marketplace add Laith0003/ux-skill
/plugin install ux@ux-skill
```
يربط ذلك جميع الأوامر القطعية الـ 22 والوكلاء الفرعيين الخمسة بجلستك في Claude Code. بعد التثبيت، شغّل `/ux-init` لإعداد دليل الحالة `.ux/` الخاصّ بالمشروع والتأكّد من أنّ محرّك Python يمكن الوصول إليه.
### المسار 2 — pip (شامل)
إن كنت تعمل خارج Claude Code (في Cursor أو Windsurf أو سطر الأوامر أو CI)، ثبّت حزمة Python:
```bash
pip install uxskill
uxskill init # يكتشف بيئة التطوير ويُثبّت الناتج المناسب تلقائيًا
uxskill stats # يطبع تعدادات الملفّات للتحقّق من التثبيت
uxskill lint . # يشغّل المُدقّق على الدليل الحالي
```
الحزمة تُعرّض كلًّا من `ux` و`uxskill` كنقطتَي دخول لسطر الأوامر — وهما الملفّ التنفيذي نفسه.
### المسار 3 — npx (دون الحاجة إلى إدارة Python يدويًا)
إذا لم ترغب في إدارة Python مباشرة، فإنّ غلاف npx يُقلع كلّ شيء عبر `pipx`:
```bash
npx uxskill init # يُنزّل pipx و uxskill في أوّل تشغيل
npx uxskill recommend --industry=fintech-neobank --tone=warm --stack=nextjs-15-app-router
```
### التحقّق من التثبيت
```bash
ux stats
# {
# "version": "3.0.0-stable",
# "counts": {
# "styles": 84,
# "palettes": 176,
# "type-pairs": 70,
# "components": 148,
# "industries": 184,
# "chart-types": 35,
# "tech-stacks": 25,
# "ux-guidelines": 112,
# "motion-presets": 57,
# "anti-patterns": 145,
# "brands": 160
# }
# }
```
إذا ظهر أيّ تعداد بقيمة 0، فهذا يعني أنّ ملفّ JSON المعنيّ مفقود — افتح بلاغًا على [github.com/Laith0003/ux-skill/issues](https://github.com/Laith0003/ux-skill/issues).
---
## الأرقام — مقارنة حيّة مع أفضل 8 مهارات UX لـ Claude
تعدادات النجوم تمّ التحقّق منها آخر مرّة عبر `gh api` بتاريخ **2026-05-28**. ux-skill (Laith0003/ux-skill) هو الوافد الأحدث — نحن صغار في الانتشار، عميقون في البنية. والمقارنة أدناه صريحة: أين نخسر، وأين نربح.
| الإضافة | النجوم | البنية | الأوامر القطعية | مُدقّق آمن للـ CI | مواصفات العلامات | المكوّنات | مهيّآت الحركة | بيئات التطوير المدعومة |
|---|---:|---|---:|---|---:|---:|---:|---:|
| nextlevelbuilder/ui-ux-pro-max-skill | **83,958** | Python BM25 + CSV، مهارة واحدة | 1 | — | — | 0 | 0 | 18 |
| nexu-io/open-design | **54,406** | Node.js + 19 مهارة + معاينة | 19 | — | — | 0 | 0 | 1 |
| Leonxlnx/taste-skill | **25,202** | Bash + ذوق مدعوم بأبحاث | 1 | — | — | 0 | 0 | 1 |
| alchaincyf/huashu-design | **15,455** | ملفّ SKILL.md واحد بحجم 62 KB + سكربتات | 1 | — | — | 0 | 0 | 1 |
| google-labs-code/stitch-skills | **5,762** | مكتبة مهارات موصولة بـ MCP | متعدّد | — | — | 0 | 0 | 1 |
| dominikmartn/nothing-design-skill | **2,391** | مهارة بجمالية واحدة | 1 | — | — | 0 | 0 | 1 |
| Nutlope/hallmark | **2,164** | مهارة تصميم مضادّة للركاكة | 1 | — | — | 0 | 0 | 1 |
| hamen/material-3-skill | **955** | مكوّنات MD3 + تدقيق | 1 | — | (MD3 فقط) | 0 | 0 | 1 |
| **Laith0003/ux-skill (ux-skill)** | **14** | **محرّك Python + 11 ملفّ بيانات + 22 أمرًا + 5 وكلاء + مُدقّق CI** | **22** | **145 قاعدة regex** | **160** | **148** | **57** | **17** |
### حيث نخسر
- **الانتشار.** لديهم مئات الآلاف من النجوم. ولدينا 14. ضع نجمة لنا — هذه أرخص طريقة للدعم.
- **التعرّف على العلامة.** ui-ux-pro-max و open-design سبقانا بمسافة تُقاس بأشهر، لا بأيّام.
- **صقل التسويق.** يملكون لقطات شاشة ومقاطع توضيحية وصفحات هبوط قابلة للاكتشاف. نحن نملك ملفّ README شاملًا وصفحة هبوط نحيلة.
### حيث نربح
- **مكتبة المكوّنات:** 148 مكوّنًا موثّقًا مع التشريح، والحالات، والـ tokens المستخدَمة، ومواصفات الحركة. لا تُصدر أيّ من الإضافات الثماني الأخرى ملفّ مكوّنات مُهيكلًا.
- **مهيّآت الحركة:** 57 مدخلًا جاهزًا لكلّ منظومة تقنية (Framer Motion، GSAP، CSS) مع بدائل لإيقاف الحركة. لا تُصدر إضافة منها ملفّ حركة.
- **مُدقّق الأنماط الضارّة:** 145 قاعدة regex حتمية، تعمل ضمن CI، وتنتهي بشيفرة عدم نجاح عند Critical/High. لا تُصدر إضافة منها مُدقّقًا حتميًا.
- **مواصفات العلامات:** 160 ملفّات DESIGN.md حقيقية (Apple، Stripe، Linear، Figma، Tesla، BMW، Notion، Spotify، Airbnb، Vercel، Supabase، Cursor، Raycast، Claude، و96 علامة أخرى). لا تُصدر إضافة منها مكتبة علامات.
- **دعم 17 بيئة تطوير:** المحرّك نفسه، وغراء مختلف لكلّ بيئة.
- **22 أمرًا قطعيًا:** اكتشاف، توليد، تدقيق، lint، صقل، حلقة إصلاح، دراسة حالة، ورشة، نسخ، حركة، إمكانية وصول، لوحات تحكّم، قائد عمليات — موصولة بالكامل.
الجدول الكامل المتوازي على [uxskill.laithjunaidy.com/compare.html](https://uxskill.laithjunaidy.com/compare.html).
---
## البنية — كيف تتشابك القطع
```
ux-skill (اسم الحزمة: uxskill)
│
├── data/ العقل — ملفّات JSON قابلة للاستعلام
│ ├── styles.json 84 أسلوبًا تصميميًا + when/skip + tokens
│ ├── palettes.json 176 لوحة ألوان (فاتح/داكن، تباين مُحقَّق)
│ ├── type-pairs.json 70 ثلاثيًّا display × body × mono
│ ├── components.json 148 مكوّنًا (تشريح، حالات، حركة)
│ ├── industries.json 184 قاعدة قطاع + إشارات الجمهور
│ ├── chart-types.json 35 نوع رسم بياني (when/skip، التشفير)
│ ├── tech-stacks.json 25 منظومة تقنية (Next, Astro, SvelteKit, Blade...)
│ ├── ux-guidelines.json 112 قانونًا مُسمّى لتجربة المستخدم (Hick, Fitts, Miller...)
│ ├── motion-presets.json 57 مهيّأة حركة (دخول، خروج، تمرير...)
│ ├── anti-patterns.json 145 قاعدة regex (مصدر المُدقّق الآمن للـ CI)
│ └── brands/*.json 160 مواصفة DESIGN للعلامات + _index.json
│
├── engine/ Python — الاستدلال
│ ├── synthesizer/ v3 — مُجَمِّع حتمي من 7 محاور
│ ├── decisions/ v3 — سجلّ .ux/decisions.jsonl + إعادة ترتيب نظام التوصية
│ ├── recommender/ محرّك دمج بخمس عمليات بحث متوازية
│ ├── linter/ ماسح حتمي مضادّ للركاكة
│ ├── discovery/ بروتوكول استخراج إجباري من 10 حقول
│ ├── generator/ مُصدِر للـ tokens والملفّات
│ ├── installer/ مُثبّت متعدّد لـ 17 بيئة تطوير
│ └── cli/ نقطة الدخول `ux` / `uxskill`
│
├── commands/ 22 أمرًا قطعيًا في Claude Code (.md)
│ ├── ux-init.md الإقلاع
│ ├── ux-stats.md لقطة المخزون
│ ├── ux-discover.md استخراج من 10 حقول (بوّابة)
│ ├── ux-recommend.md الأمر الرائد — خمس عمليات بحث متوازية
│ ├── ux-lint.md مُدقّق حتمي
│ ├── ux-design.md توليد كود الواجهة الأمامية
│ ├── ux-component.md توليد مكوّن واحد
│ ├── ux-system.md توليد نظام تصميم كامل
│ ├── ux-dashboard.md توليد سطح لوحة تحكّم
│ ├── ux-motion.md معالجة حركة + تدقيق
│ ├── ux-audit.md تدقيق تصميمي بست عدسات
│ ├── ux-a11y.md تدقيق WCAG 2.1 AA
│ ├── ux-critique.md نقد ذوقي (3 إيجابيات، 3 سلبيات، خطوة واحدة)
│ ├── ux-copy.md مراجعة + إعادة كتابة النصوص الدقيقة
│ ├── ux-fix.md تطبيق الملاحظات بصورة التزامات ذرّيّة
│ ├── ux-polish.md صقل تجميلي + قتل ركاكة الذكاء الاصطناعي
│ ├── ux-frame.md كتلة تأطير من 4 حقول
│ ├── ux-research.md تخطيط بحث + توليف
│ ├── ux-workshop.md ورشة تفكير تصميمي من 5 مراحل
│ ├── ux-case-study.md دراسة حالة قابلة للنشر بأسلوب Wfrah التحريري
│ ├── ux-next.md قائد سير العمل (للقراءة فقط)
│ └── ux-expert.md صلة استشارية
│
├── agents/ 5 وكلاء فرعيين (.md)
│ ├── frontend-engineer.md React/Next/Vue/Blade/Astro
│ ├── motion-engineer.md Framer Motion / GSAP / CSS
│ ├── copy-writer.md نصوص دقيقة بصوت العلامة
│ ├── research-synthesizer.md مقابلات + تحليلات + منافسون
│ └── design-system-architect.md tokens / مكوّنات / أُسس
│
├── references/ نصوص مرجعية للبيانات + صفحات تجريبية
│ ├── foundations/ anti-patterns.md، المبادئ، الذوق
│ ├── laws/ قوانين UX بصياغة موسّعة
│ ├── process/ discovery-protocol.md (حاملٌ للأحمال)
│ ├── styles/ نصوص حسب الأسلوب (anti-slop.md، إلخ)
│ ├── components/ مكوّنات بصياغة موسّعة
│ ├── output/ معايير الإخراج
│ └── conditional/ إرشاد خاصّ بكل منظومة
│
├── bin/
│ ├── uxskill.mjs غلاف npx -> محرّك Python
│ ├── ux-lint.py مُدقّق v2 (المُفضَّل)
│ └── ux-lint.sh احتياطي v1 (bash + perl-PCRE)
│
└── .ux/ (يُنشأ لكلّ مشروع)
├── last-discovery.json لقطة الموجز
├── last-recommendation.json النظام المختار
├── last-frame.json كتلة التأطير
├── last-audit.json / last-a11y.json / last-copy.json / last-motion.json
├── last-design.json / last-component.json / last-dashboard.json
└── last-critique.json / last-polish.json / last-research.json / last-workshop.json / last-case-study.json
```
### كيف يعمل المحرّك فعليًّا
1. **الإدخال.** تُقدّم موجزًا — إمّا تفاعليًّا عبر `/ux-discover` (10 حقول)، وإمّا عبر أعلام تُمرَّر إلى `ux recommend`.
2. **خمس عمليات بحث متوازية.** يُشغّل المحرّك خمس استعلامات متزامنة عبر الملفّات:
- **القطاع → الأساليب الموصى بها** (industries.json)
- **الأسلوب → توافق لوحة الألوان + الخطّ + الحركة** (styles.json)
- **النغمة × الإلزامي → مُرشّح لوحات الألوان** (palettes.json)
- **المنظومة → توافق المكوّنات + مهيّآت الحركة** (tech-stacks.json، motion-presets.json)
- **الممنوع + المنطقة → الحواجز + قائمة مختصرة بالعلامات النموذجيّة** (anti-patterns.json، brands/)
3. **الدمج.** يقوم مُدمج حتمي بترتيب المرشّحين، وحلّ التضاربات (مثلًا: إلزامية الوضع الداكن تفرض وضع لوحة الألوان)، ثم يُصدر نظامًا موصى به وحيدًا.
4. **الإخراج.** ملفّ JSON يحتوي الأسلوب المُختار، ولوحة الألوان المُختارة، والاقتران الطباعي، وأفضل 5 مهيّآت حركة، وأفضل 12 مكوّنًا، وأفضل 5 علامات نموذجيّة، وكلّ حواجز الأنماط الضارّة الـ 145 وهي مُفعّلة. مع كتلة تبرير تشرح كلّ خيار.
5. **التوليد.** تستهلك الأوامر اللاحقة (`/ux-design`، `/ux-component`، `/ux-system`، `/ux-dashboard`) التوصية لتوليد كود حقيقي عبر الوكلاء الفرعيين.
6. **التحقّق.** يُعيد `/ux-lint` فحص الكود المُولَّد ضدّ قواعد regex الـ 145. يخرج بشيفرة عدم نجاح في حال وُجدت ملاحظات Critical/High داخل CI.
**Python يفكّر. HTML يُعرض. Markdown يربط.**
---
## الأوامر القطعية الـ 22 — مرجع تفصيلي
كلّ أمر يُسلَّم كملفّ `.md` داخل `commands/` مع `description` و`allowed-tools` و`triggers` و`when to use` و`when to skip` و`input` و`process` و`output state file`. الأوصاف أدناه مُلخَّصة؛ والمصدر الكامل هو المواصفة المعتمدة.
تُجمَّع الأوامر في خمس مجموعات: **الإقلاع والمخزون**، و**الاكتشاف والتوصية**، و**التوليد**، و**التدقيق والتحقّق**، و**الإصلاح والصقل**، و**القائد**.
### الإقلاع والمخزون
#### `/ux-init` — إقلاع المشروع
- **ماذا:** يكتشف بيئة التطوير التي تستخدمها (`.claude/`، `.cursor/`، `.windsurf/`، إلخ)، ويُثبّت الناتج المناسب، ويتحقّق من إمكانية الوصول إلى محرّك Python، ويطبع لقطة إحصاءات.
- **متى يُستخدم:** عند أوّل تثبيت في مشروع جديد. بعد استنساخ مشروع يستخدم ux-skill. بعد `pip install --upgrade uxskill`.
- **متى يُتجاوز:** سبق أن شغّلته في هذا المشروع ولم يتغيّر شيء.
- **الاستدعاء:** `/ux-init` (دون وسائط) أو `uxskill init` من سطر الأوامر.
- **الإخراج:** ناتج خاصّ بكلّ بيئة (انظر [مثبّت 17 بيئة تطوير](#مثبّت-17-بيئة-تطوير)) + دليل `.ux/` + ملخّص يُطبع على الخرج القياسي.
- **يربط بـ:** `/ux-discover` تاليًا.
#### `/ux-stats` — طباعة مخزون البيانات
- **ماذا:** يطبع الإصدار وتعدادات المُدخلات للملفّات الـ 11، حتى تتحقّق ممّا هو مُثبَّت.
- **متى يُستخدم:** بعد التثبيت. بعد الترقية. حين تُعطي `/ux-recommend` خيارات مفاجِئة وتشكّ في أنّ الملفّات ناقصة.
- **متى يُتجاوز:** أبدًا — إنّه أمر قراءة فقط بزمن 50 مللي ثانية.
- **الاستدعاء:** `/ux-stats` أو `uxskill stats`.
- **الإخراج:** JSON على الخرج القياسي (انظر [التحقّق من التثبيت](#التحقّق-من-التثبيت) أعلاه).
- **يربط بـ:** للتشخيص فحسب؛ لا يُغذّي ما بعده.
### الاكتشاف والتوصية
#### `/ux-discover` — الدالّة الإلزامية (استخراج من 10 حقول)
- **ماذا:** الاستخراج الإلزامي من 10 حقول الذي يجب أن يمرّ به كلّ مشروع قبل أيّ أمر توليد. نوع المشروع، الجمهور، الهدف الأساسي، النغمة، المتطلّبات الإلزامية، الممنوعات، العلامات المرجعيّة، المنظومة، المنطقة، مقياس النجاح. **لا ارتجال.** عبارات محظورة («حديث»، «نظيف») تُجبر المستخدم على التحديد.
- **متى يُستخدم:** قبل أيّ `/ux-design` أو `/ux-component` أو `/ux-system` أو `/ux-dashboard`. كلّما تقادم موجز سابق.
- **متى يُتجاوز:** تُصلح خطأً (`/ux-fix`). تُشغّل المُدقّق فقط (`/ux-lint`). الموجز لم يتغيّر منذ الجلسة السابقة.
- **الاستدعاء:** `/ux-discover`. الإضافة تسأل وأنت تُجيب.
- **الإخراج:** يكتب `.ux/last-discovery.json` (موجز الـ 10 حقول).
- **يربط بـ:** `/ux-recommend` → يستخدم الاكتشاف لاختيار الأسلوب + لوحة الألوان + الخطّ + الحركة + المكوّنات. `/ux-design [موجز إضافي]` → يُولّد كود الواجهة الأمامية متّكئًا على التوصية. `/ux-component <اسم>` → يُولّد مكوّنًا واحدًا مُحاذيًا للقيود المُكتشَفة.
#### `/ux-recommend` — المحرّك الرائد بخمس عمليات بحث متوازية
- **ماذا:** يُشغّل عمليات البحث الخمس المتوازية لمحرّك Python عبر الملفّات الـ 11 ويُعيد نظام تصميم واحدًا مدموجًا. القطاع → الأسلوب → لوحة الألوان → الخطّ → الحركة + المكوّنات + العلامات النموذجيّة + الحواجز.
- **متى يُستخدم:** بدء مشروع جديد من الصفر. تحويل وجهة منتج بات يبدو مُتعَبًا. ما قبل الإقلاع لأيّ `/ux-design` أو `/ux-component`.
- **متى يُتجاوز:** سبق أن شغّلت `/ux-discover` وحفظت موجزًا — `/ux-recommend` يتمّ تلقائيًا في ذلك التدفّق. تُصلح خطأً واحدًا (استخدم `/ux-fix`). تحتاج فقط للمُدقّق (استخدم `/ux-lint`).
- **الاستدعاء (في Claude Code):**
```
/ux-recommend
```
**الاستدعاء (في سطر الأوامر):**
```bash
ux recommend \
--project-type=landing \
--industry=fintech-neobank \
--tone=warm --tone=editorial \
--must-have=dark-mode --must-have=a11y-AA \
--forbidden=brutalism --forbidden=purple-gradients \
--stack=nextjs-15-app-router \
--region=mena
```
- **الإخراج:** يكتب `.ux/last-recommendation.json` — الأسلوب المختار، لوحة الألوان المختارة، الاقتران الطباعي، أفضل 5 مهيّآت حركة، أفضل 12 مكوّنًا، أفضل 5 علامات نموذجيّة، حواجز الأنماط الضارّة الـ 145 وهي مُفعَّلة، إلى جانب التبرير.
- **يربط بـ:** `/ux-design [موجز]` → كود واجهة أمامية باستخدام الـ tokens الموصى بها. `/ux-system` → نظام تصميم كامل من التوصية. `/ux-component <اسم>` → مكوّن واحد بالأسلوب الموصى به. `/ux-lint` → يتحقّق من الكود المُولَّد.
### التوليد
#### `/ux-design` — توليد سطح جميل ومضادّ للركاكة من موجز
- **ماذا:** يُولّد ناتجًا أماميًّا كاملًا بمستوى إنتاج (صفحة هبوط، موقع تسويقي، هيكل تطبيق) من موجز الاكتشاف + التوصية. يستدعي `frontend-engineer` بتوجيه إبداعي من مراجع مضادّة للركاكة ومن «الترسانة».
- **متى يُستخدم:** «صمّم»، «ابنِ لي»، «أنشئ صفحة هبوط»، «اصنع لوحة تحكّم»، «اصنع مكوّنًا» — أيّ طلب تسليم بصري حرّ الصياغة.
- **متى يُتجاوز:** تريد مراجعة لا بناء (استخدم `/ux-audit` أو `/ux-critique`). تريد مكوّنًا واحدًا فقط (استخدم `/ux-component`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-design ولّد صفحة هبوط للتقنيات المالية لبنك رقمي في الشرق الأوسط، نغمة دافئة تحريرية، وضع داكن AA، بلا تدرّجات بنفسجية`.
- **الإخراج:** كود مُولَّد (HTML / Blade / JSX / Vue / Astro)، إضافة إلى `.ux/last-design.json`.
- **يربط بـ:** `/ux-lint` → التحقّق من الحواجز. `/ux-polish` → صقل تجميلي. `/ux-a11y` → تدقيق إمكانية الوصول. `/ux-copy` → مراجعة النصوص الدقيقة. `/ux-fix` → تطبيق الملاحظات كالتزامات ذرّيّة.
#### `/ux-component` — توليد مكوّن واحد
- **ماذا:** يُنتج مكوّنًا واحدًا بمستوى إنتاج (زرّ، مودال، شريط تنقّل، شريط جانبي، بطاقة، جدول، نموذج، رسم بياني) انطلاقًا من مواصفة. الحالات التفاعليّة الأربع كلّها، متاحة الوصول، وفيّة للعلامة. يبحث أوّلًا عن المكوّن في `.ux/last-recommendation.json`، ثم يلجأ إلى الاستعلام المباشر من الملفّات.
- **متى يُستخدم:** أيّ طلب لعنصر واحد — «ابنِ زرًّا»، «اصنع بطاقة تسعير»، «اصنع مودالًا»، «أضف شريط تنقّل»، «صمّم شريطًا جانبيًّا»، «أحتاج جدول بيانات»، «ابنِ نموذجًا»، «اصنع مكوّن رسم بياني».
- **متى يُتجاوز:** صفحة كاملة أو سطح متعدّد الأقسام (استخدم `/ux-design`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-component pricing-card-trio --brief="تقنيات مالية، داكن، أرقام أحاديّة المسافة"`.
- **الإخراج:** كود المكوّن المُولَّد، إضافة إلى `.ux/last-component.json`.
- **يربط بـ:** `/ux-lint` → التحقّق. `/ux-polish` → الإحكام.
#### `/ux-system` — توليد نظام تصميم انطلاقي كامل
- **ماذا:** يقترح نظام تصميم انطلاقي كامل لمشروع لا يملك واحدًا — tokens (لون، خطّ، فراغ، حركة، نصف قطر، ظلّ)، وثائق أُسس، عقود مكوّنات، إقران الوضع الداكن، مُبدِّل للسمات. يستدعي `design-system-architect`.
- **متى يُستخدم:** «لا نملك نظام تصميم»، «ابنِ لنا نظامًا»، «اقترح tokens»، «ماذا يجب أن تكون سِمتنا»، «أنشئ نظام التصميم».
- **متى يُتجاوز:** المشروع يملك بالفعل نظام تصميم — استخدم `/ux-component` ضدّ النظام القائم بدلًا من ذلك. عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-system` (يُشغّل الاكتشاف أوّلًا إن لم يكن قد سُجّل).
- **الإخراج:** `tokens.json`، `foundations.md`، عقود `components/*.md`، إمكانية إصدار اختياري لـ Tailwind / vanilla / SCSS. يكتب `.ux/last-system.json` لربط السياق.
- **يربط بـ:** `/ux-component` → البناء على النظام الجديد. `/ux-design` → توليد سطح باستخدام الـ tokens الجديدة.
#### `/ux-dashboard` — توليد متخصّص للوحات التحكّم
- **ماذا:** لوحة تحكّم بانضباط كثافة البيانات — تخطيط bento، أرقام جدوليّة أحاديّة المسافة، أنماط خطوط مدمجة (sparkline)، مكافحة الإفراط في البطاقات، ألوان حالة دلاليّة، حركة مقتصدة. ليست صفحة تسويقيّة مع بعض الرسوم المُلصقة.
- **متى يُستخدم:** «ابنِ لوحة تحكّم»، «صمّم لوحة الإدارة»، «اصنع صفحة مؤشّرات»، «وحدة تحكّم تشغيليّة»، «شاشة تحليلات»، «لوحة KPI»، «شاشة مراقبة».
- **متى يُتجاوز:** صفحة هبوط تسويقيّة بإحصاءات (استخدم `/ux-design`). وحدة واحدة فقط (استخدم `/ux-component`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-dashboard`.
- **الإخراج:** كود لوحة التحكّم المُولَّد + `.ux/last-dashboard.json`.
- **يربط بـ:** `/ux-lint`، `/ux-audit`، `/ux-a11y`.
#### `/ux-motion` — معالجة الحركة
- **ماذا:** يُولّد طبقة الحركة لسطح ما — مدد، منحنيات تليين، تصميم تتابعي، بدائل لإيقاف الحركة، انضباط أداء. ويُدقّق أيضًا الحركة القائمة وفق خمسة أبعاد (التوقيت، التليين، المعنى، إيقاف الحركة، الأداء).
- **متى يُستخدم:** «تحقّق من الحركة»، «هل الرسوم جيّدة»، «أصلح الحركة»، «راجع الرسوم»، «تدقيق حركة»، «جولة أداء على الحركة».
- **متى يُتجاوز:** السطح لا يحوي حركة (استخدم `/ux-audit` أو `/ux-polish`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-motion path/to/component.tsx` (وضع تدقيق) أو `/ux-motion --generate hero-entry` (وضع توليد).
- **الإخراج:** كود مُحدَّث (في وضع التوليد) أو تقرير `.ux/last-motion.json` (في وضع التدقيق).
- **يربط بـ:** `/ux-fix` → تطبيق ملاحظات الحركة. `/ux-polish` → الإحكام.
### التدقيق والتحقّق
#### `/ux-lint` — مُدقّق حتمي بقواعد regex (بلا LLM، آمن في CI)
- **ماذا:** يشغّل 145 قاعدة regex على كودك. بلا أيّ استدعاء لنموذج لغوي. ينتهي بشيفرة عدم نجاح عند Critical / High داخل CI. المصدر: `data/anti-patterns.json`. القواعد تُغطّي الألوان (6)، الخطوط (3)، التخطيط (5)، الحركة (3)، المحتوى (5)، إمكانية الوصول (6)، الجودة (6)، المرئي (1).
- **متى يُستخدم:** خطّاف ما قبل الالتزام. بوّابة CI. تمريرة أولى سريعة على كود قاعدة كبيرة قبل دفع كلفة `/ux-audit`. بعد `/ux-design` أو `/ux-component` للتحقّق من التوليد.
- **متى يُتجاوز:** تريد حلقة إصلاح (المُدقّق يُبلّغ ولا يُحرّر — اربطه بـ `/ux-polish --fix` أو `/ux-fix`). تريد حكمًا ذوقيًّا (استخدم `/ux-critique`).
- **الاستدعاء (قطعي):** `/ux-lint src/`.
- **الاستدعاء (سطر الأوامر):** `uxskill lint .` أو `python3 bin/ux-lint.py .` أو `bash bin/ux-lint.sh --ci --fail-on high`.
- **الاستدعاء (CI):**
```yaml
- name: ux-lint
run: bash bin/ux-lint.sh --ci --fail-on high
```
- **الإخراج:** ملاحظات على الخرج القياسي (الموقع، معرّف القاعدة، الخطورة، الدليل). شيفرة الخروج 0 إذا كان نظيفًا، وعدم نجاح عند Critical/High حين يُضبط `--fail-on high`.
- **يربط بـ:** `/ux-polish --fix` → نظير قائم على نموذج لغوي يطبّق نفس الأنماط. `/ux-fix` → تطبيق الملاحظات كالتزامات مرتّبة بالخطورة. `/ux-audit` → جولة استدلال كاملة بست عدسات. `/ux-next` → اترك القائد ليُقرّر.
#### `/ux-audit` — تدقيق تصميمي بست عدسات
- **ماذا:** مراجعة مُنظَّمة ذات وجهة نظر مقابل ستّ عدسات (الوضوح، التراتب، إمكانية الوصول، الصوت، الحركة، الذوق)، تُنتج ملاحظات موسومة بالخطورة. تقرير على طريقة Polaris. يقرأ `.ux/last-frame.json` أوّلًا — الجمهور والنتيجة يُحدّدان خطورة كلّ ملاحظة.
- **متى يُستخدم:** السطح موجود وتريد نقدًا قابلًا للدفاع عنه. «دقّق»، «راجع تجربة المستخدم»، «هل هذا جيّد»، «ما المعطوب»، «فكّك هذا».
- **متى يُتجاوز:** السطح غير موجود بعد (استخدم `/ux-design`). يريد المستخدم عدسة واحدة (استخدم الأمر المختصّ: `/ux-a11y`، `/ux-copy`، `/ux-motion`، `/ux-polish`). يريد المستخدم رأيًا ذوقيًّا (استخدم `/ux-critique`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-audit https://example.com/pricing` أو `/ux-audit src/components/Pricing.tsx`.
- **الإخراج:** يكتب `.ux/last-audit.json` — مصفوفة `findings` تحوي `{lens, severity, title, principle, evidence, fix}`، و`severity_counts`، و`dominant_lens`، و`strategic_moves`.
- **يربط بـ:** `/ux-fix` → تطبيق الملاحظات. `/ux-polish` → جولة صقل. `/ux-design` → إن لزمت إعادة تصميم بنيوية.
#### `/ux-a11y` — تدقيق WCAG 2.1 AA + لمسات اللياقة العامّة
- **ماذا:** تدقيق مُنظَّم لـ WCAG 2.1 AA، إضافة إلى لمسات اللياقة التي تنجح في الأدوات المؤتمتة لكنّها تُؤذي المستخدمين الحقيقيين (وضوح التركيز، تخصيص الأخطاء، تفضيلات الحركة، فخاخ لوحة المفاتيح، الاعتماد على اللون).
- **متى يُستخدم:** بوّابة إمكانية الوصول قبل الإطلاق. بعد إعادة التصميم. «تحقّق من إمكانية الوصول»، «تدقيق WCAG»، «هل هذا متاح»، «مراجعة a11y»، «اختبار قارئ شاشة»، «فحص التنقّل بلوحة المفاتيح».
- **متى يُتجاوز:** ليس وجهًا للمستخدم. عمل خلفي أو بنية تحتية. مسوّدات قيد العمل.
- **الاستدعاء:** `/ux-a11y https://example.com` (يُفضَّل رابط حيّ — الأدوات المؤتمتة واختبار لوحة المفاتيح لا يعملان إلّا حيًّا).
- **الإخراج:** يكتب `.ux/last-a11y.json` — مصفوفة `findings` تحوي `{wcag_sc, sc_name, severity, title, evidence, fix, category}`، ومصفوفة `beyond_wcag`، و`severity_counts`.
- **يربط بـ:** `/ux-fix` → تطبيق الملاحظات كالتزامات. `/ux-copy` → إصلاح النصوص البديلة وأخطاء النماذج في إطار جولة نسخ.
#### `/ux-critique` — حكم ذوقي (3 إيجابيات، 3 سلبيات، خطوة استراتيجية واحدة)
- **ماذا:** رأي مصمّم — ليس تدقيقًا مُنظَّمًا ولا درجة خطورة، بل وجهة نظر محكمة وصريحة تُسمّي ما يعمل وما لا يعمل، وتُحدّد الخطوة الاستراتيجية الوحيدة التي ستُحدث أكبر فارق.
- **متى يُستخدم:** «ما رأيك»، «هل هذا جيّد»، «انقد هذا»، «رأي صريح»، «هل المزاج صحيح»، «هل يشبهنا»، «هل نطلق هذا».
- **متى يُتجاوز:** المستخدم يطلب صراحة تدقيقًا مُنظَّمًا (استخدم `/ux-audit`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-critique https://example.com`.
- **الإخراج:** يكتب `.ux/last-critique.json` — 3 إيجابيات، 3 سلبيات، خطوة استراتيجية واحدة، إلى جانب نصّ.
- **يربط بـ:** `/ux-design` إذا أوصى الحكم بإعادة تصميم. `/ux-polish` إذا أوصى بالإحكام.
#### `/ux-copy` — مراجعة + إعادة كتابة النصوص الدقيقة
- **ماذا:** يُقيّم كلّ نصّ ظاهر وفق معايير الصوت ويُنتج إعادة كتابة قبل/بعد. يلتقط: «النموذج يحوي أخطاء» (عامّ)، «John Doe» (نائب)، نصوص الذكاء الاصطناعي الاحتفاليّة المرحة، أزرار CTA عامّة، حالات فارغة ميّتة، أخطاء بلا فائدة.
- **متى يُستخدم:** البنية صحيحة لكنّ الكلمات ضعيفة. «راجع النسخة»، «أصلح النصوص الدقيقة»، «رسائل الخطأ سيّئة»، «أعد كتابة هذا»، «أحكِم النصوص»، «أزرار الدعوة تبدو عامّة»، «هذه الحالة الفارغة ميّتة».
- **متى يُتجاوز:** مشكلات تخطيط (استخدم `/ux-audit` أو `/ux-polish`). مشكلات نسخ مرتبطة بإمكانية الوصول كالنصوص البديلة (استخدم `/ux-a11y`). عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-copy src/views/checkout.blade.php`.
- **الإخراج:** يكتب `.ux/last-copy.json` — مصفوفة `strings` تحوي `{location, severity, before, after, notes}`، إضافة إلى معايير ولغات تحتاج ترجمة.
- **يربط بـ:** `/ux-fix` → تطبيق إعادات الكتابة. `/ux-a11y` → إعادة الفحص بعد إصلاحات النسخ.
### الإصلاح والصقل
#### `/ux-fix` — تطبيق الملاحظات بصورة التزامات ذرّيّة
- **ماذا:** يقرأ آخر تقرير من `.ux/` (audit، copy، a11y، motion، أو polish)، ويتحقّق من شجرة العمل، ثم يُطبّق الملاحظات كالتزامات ذرّيّة عبر الوكلاء الفرعيين المناسبين. يُعيد التحقّق بإعادة تشغيل الأمر الأصلي.
- **متى يُستخدم:** بعد تشغيل أمر من فئة التدقيق ومراجعة الملاحظات. «أصلح الملاحظات»، «طبّق الإصلاحات»، «شغّل حلقة الإصلاح»، «رقّع السطح»، «أجرِ التعديلات»، «اذهب وأصلحها».
- **متى يُتجاوز:** لا تقرير سابق في `.ux/`. شجرة العمل مُتّسخة ولم يوافق المستخدم على stash/commit. الإصلاحات تتطلّب حكمًا تصميميًّا لا تطبيقًا ميكانيكيًّا (استخدم `/ux-design` لإعادة التصميم).
- **الاستدعاء:** `/ux-fix` (يكتشف أيّ تقرير يجب إصلاحه تلقائيًّا) أو `/ux-fix --from=last-a11y.json`.
- **الإخراج:** التزامات ذرّيّة لكلّ ملاحظة. يُعيد تشغيل الأمر الأصلي ويُحدّث ملفّ `.ux/last-*.json`. ويطبع ملخّصًا.
- **يربط بـ:** `/ux-next` → يختار القائد الخطوة التالية.
#### `/ux-polish` — صقل تجميلي + قتل ركاكة الذكاء الاصطناعي
- **ماذا:** إيقاع الفراغات، شحذ التراتب، رصد ركاكة الذكاء الاصطناعي، اتّساق الـ tokens. النظير المعتمد على نموذج لغوي لـ `/ux-lint` — يستخدم حُكمك في القرارات الذوقيّة.
- **متى يُستخدم:** البنية صحيحة لكن التنفيذ متراخٍ. «اصقل»، «أحكم هذا»، «أزل ركاكة الذكاء الاصطناعي»، «اجعله فاخرًا»، «اجعله أقلّ شبهًا بالذكاء الاصطناعي»، «الفراغات تبدو خاطئة»، «هذا يبدو عامًّا»، «يحتاج ذوقًا أكثر».
- **متى يُتجاوز:** السطح يفتقر وظائف أساسيّة (أصلح ذلك أوّلًا). يحتاج إعادة تصميم لا صقلًا (استخدم `/ux-design`). مشكلات نسخ (استخدم `/ux-copy`). مشكلات حركة (استخدم `/ux-motion`). مشكلات إمكانية الوصول (استخدم `/ux-a11y`).
- **الاستدعاء:** `/ux-polish src/components/Hero.tsx`.
- **الإخراج:** كود مُحدَّث + `.ux/last-polish.json` يصف التغييرات.
- **يربط بـ:** `/ux-lint` → التحقّق من أنّ الصقل صمد. `/ux-a11y` → إعادة فحص إمكانية الوصول.
### الاكتشاف والسرد
#### `/ux-frame` — كتلة تأطير من 4 حقول
- **ماذا:** يلتقط لمن المنتج، النتيجة، الفرضيّة، إشارة النجاح، داخل كتلة تأطير مُهيكلة. لا عمل تصميمي يحصل — مجرّد استخراج بأربعة حقول يُحوّل طلبًا غامضًا إلى موجز قابل للعمل. أخفّ من `/ux-discover` (4 حقول مقابل 10).
- **متى يُستخدم:** بداية أيّ مشروع أو سباق أو ارتباط فردي. في منتصف الطريق حين تنحرف المحادثة. «أطّر هذا»، «ما الموجز»، «أعدّ المشروع»، «تأطير».
- **متى يُتجاوز:** مؤطَّر بالفعل (تحقّق من `.ux/last-frame.json`). بناء مكوّن فردي بلا تبعات تأطير. عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-frame "محفظة ولاء للتجربة الإقليميّة لـ Bashiti في الشرق الأوسط"`.
- **الإخراج:** يكتب `.ux/last-frame.json` — `{audience, outcome, hypothesis, success_signal}`.
- **يربط بـ:** `/ux-discover` → تمديد الإطار إلى موجز الـ 10 حقول. `/ux-design` → التوليد باستخدام الإطار مرتكَزًا.
#### `/ux-research` — تخطيط بحث + توليف
- **ماذا:** وضع التخطيط: يكتب نصوص مقابلات، استبيانات، فلاتر تجنيد. وضع التوليف (`--synthesize`): يهضم المقابلات والتحليلات ومواقع المنافسين ونتائج A/B وتذاكر الدعم في توصيات. يستدعي `research-synthesizer`.
- **متى يُستخدم:** «خطّط لدراسة بحثيّة»، «أحتاج أسئلة مقابلات»، «صمّم استبيانًا»، «كيف أُجنّد مستخدمين»، «خطّة اختبار مستخدمين»، «دراسة يوميّات»، «اختبار تفضيل»، «fake door»، «smoke test»، «وَلِّف ملاحظات مقابلاتي».
- **متى يُتجاوز:** الجواب معروف بثقة عالية. قرارات قابلة للتراجع بمخاطر منخفضة. عمل خلفي أو بنية تحتية.
- **الاستدعاء:** `/ux-research --plan "تبنّي محفظة الولاء في الشرق الأوسط"` أو `/ux-research --synthesize interviews/*.md`.
- **الإخراج:** يكتب `.ux/last-research.json` — خطّة بحث، أو موضوعات مولَّفة + أدلّة + توصيات.
- **يربط بـ:** `/ux-frame` → دمج النتائج في إطار. `/ux-design` → التوليد من النتائج. `/ux-workshop` → إدارة ورشة باستخدام البحث مُدخلًا.
#### `/ux-workshop` — ورشة تفكير تصميمي من 5 مراحل
- **ماذا:** يُيسّر ورشة اكتشاف / تفكير تصميمي من البداية للنهاية. خمس مراحل متتابعة (استكشاف → خريطة حرارة → خريطة أصحاب مصلحة → رسم حلّ → خطّة لعب). محسوبة بالوقت. مخرجات ملموسة لكلّ مرحلة. تنتهي بقرار، لا بـ«ملاحظات مثيرة للاهتمام».
- **متى يُستخدم:** سؤال حقيقي، مشاركون حقيقيّون، ميزانية وقت حقيقيّة. «أَدِر ورشة»، «يَسِّر اكتشافًا»، «هيا نُجرِ جلسة تفكير تصميمي»، «لديّ أصحاب مصلحة لساعة، ماذا نفعل»، «ابدأ المشروع».
- **متى يُتجاوز:** الموجز واضح ومحدّد بالفعل. عصف فردي (استخدم `/ux-design` أو `/ux-frame`). الفريق في طور التنفيذ، لا في الاكتشاف.
- **الاستدعاء:** `/ux-workshop "تحوّل محفظة الولاء" --participants="مديرَا منتج، مصمّم، قائد هندسة، ممثّل عملاء" --minutes=90`.
- **الإخراج:** يكتب `.ux/last-workshop.json` — خطّة اللعب + مخرجات كلّ مرحلة.
- **يربط بـ:** `/ux-design` → تنفيذ خطّة اللعب. `/ux-research` → سدّ الفجوات التي كشفتها الورشة. `/ux-case-study` → نشر الرحلة.
#### `/ux-case-study` — دراسة حالة قابلة للنشر (شكل تحريري على طريقة Wfrah)
- **ماذا:** يُولّد دراسة حالة لمشروع بشكل تحريري أحاديّ اللون نقي — طباعة Wfrah، فواصل بدقّة الشعرة، أكواد أقسام مرقّمة (A)–(G)، تخطيط آمن ثنائي اللغة. وثيقة، لا مطويّة تسويقيّة. تقرأ من `.ux/last-frame.json`، `.ux/last-workshop.json`، `.ux/last-research.json`، `.ux/last-design.json`، `.ux/last-a11y.json`، `.ux/last-polish.json`، `.ux/last-recommendation.json`، `.ux/last-discovery.json`.
- **متى يُستخدم:** بعد الإطلاق. بعد محطّة مستقلّة. «اكتب دراسة حالة»، «اعمل دراسة حالة على هذا المشروع»، «أنجز وثيقة التغليف»، «انشر هذا العمل»، «قطعة بورتفوليو».
- **متى يُتجاوز:** المشروع يفتقر إلى بيانات تملأ الأقسام (A)–(G). المستخدم يريد صفحة هبوط تسويقيّة لا دراسة حالة (استخدم `/ux-design`).
- **الاستدعاء:** `/ux-case-study --format=html --slug=bashiti-loyalty`.
- **الإخراج:** `case-studies/.` + `.ux/last-case-study.json`.
- **يربط بـ:** أمر طرفي — عادةً نهاية المشروع.
### القائد
#### `/ux-next` — قائد سير العمل (قراءة فقط)
- **ماذا:** يقرأ كلّ `.ux/last-*.json` ويُسمّي الأمر التالي الأعلى رافعةً. قائد، لا بنّاء. قراءة فقط.
- **متى يُستخدم:** بين الأوامر. «ماذا أفعل تاليًا»، «ما الخطوة التالية»، «قرّر عنّي»، «إلى أين من هنا».
- **متى يُتجاوز:** لا تقارير سابقة في `.ux/`. تعرف الأمر التالي تحديدًا.
- **الاستدعاء:** `/ux-next` (دون وسائط) أو `/ux-next --focus=a11y`.
- **الإخراج:** خرج قياسي — الأمر التالي الموصى به + المبرّر.
- **يربط بـ:** أيًّا كان الأمر الذي اختاره.
#### `/ux-expert` — صلة استشارية
- **ماذا:** يُظهر معلومات التواصل مع مُنشئ الإضافة حين يطلب المستخدم خبيرًا حقيقيًّا في تجربة المستخدم. وجيز، مباشر، بلا تسويق.
- **متى يُستخدم:** «من بنى هذا»، «أحتاج خبير تجربة مستخدم»، «هل تُقدّم استشارات»، «هل يمكنني توظيف شخص لهذا»، «هل ثمّة إنسان خلف هذه الإضافة».
- **متى يُتجاوز:** المستخدم يسأل عن خصائص الإضافة لا عن الاستشارات.
- **الاستدعاء:** `/ux-expert`.
- **الإخراج:** بطاقة تواصل وجيزة فيها LinkedIn / البريد / المستودع.
### مخطّط ربط الأوامر
```
┌──────────────────────┐
│ /ux-init │
│ /ux-stats │
└────────────┬─────────┘
│
┌────────────▼─────────┐
│ /ux-frame │ كتلة تأطير من 4 حقول
└────────────┬─────────┘
│
┌────────────▼─────────┐
│ /ux-discover │ استخراج من 10 حقول (بوّابة إلزامية)
└────────────┬─────────┘
│ يكتب .ux/last-discovery.json
┌────────────▼─────────┐
│ /ux-recommend │ خمس عمليات بحث متوازية -> نظام مدموج
└────────────┬─────────┘
│ يكتب .ux/last-recommendation.json
┌──────────────────┼──────────────────┐
│ │ │
┌────────▼───────┐ ┌────────▼────────┐ ┌──────▼──────┐
│ /ux-design │ │ /ux-component │ │ /ux-system │
│ /ux-dashboard │ │ /ux-motion │ │ │
└────────┬───────┘ └────────┬────────┘ └──────┬──────┘
│ │ │
└──────────────────┼──────────────────┘
│ يكتب .ux/last-.json
┌──────────────────┼──────────────────┐
│ │ │
┌────────▼───────┐ ┌────────▼────────┐ ┌──────▼──────┐
│ /ux-lint │ │ /ux-audit │ │ /ux-a11y │
│ /ux-critique │ │ /ux-copy │ │ /ux-motion │
└────────┬───────┘ └────────┬────────┘ └──────┬──────┘
│ │ │
└──────────────────┼──────────────────┘
│ يكتب .ux/last-.json
┌────────────▼─────────┐
│ /ux-fix │ تطبيق الملاحظات كالتزامات
│ /ux-polish │
└────────────┬─────────┘
│
┌────────────▼─────────┐
│ /ux-case-study │ ناتج قابل للنشر
└──────────────────────┘
┌──────────────────────┐
│ /ux-next │ قائد — للقراءة فقط
│ /ux-expert │ صلة استشاريّة
└──────────────────────┘
```
---
## الوكلاء الفرعيّون الخمسة
الوكلاء الفرعيّون مولّدات متخصّصة بحسب الدور تستدعيها الأوامر. لا يعملون مستقلّين أبدًا — تستدعيهم `/ux-design` و`/ux-component` و`/ux-system` و`/ux-fix` و`/ux-research`، إلخ. كلّ وكيل له حدود ملكيّة محدّدة: لا يُقرّر الموجز؛ بل يُنفّذ ضدّه.
### `frontend-engineer`
- **يملك:** كود واجهة أماميّة بمستوى إنتاج (React، Next.js، Vue، Blade+Alpine، HTML نقي، Astro) بانضباط مضادّ لركاكة الذكاء الاصطناعي.
- **يستدعيه:** `/ux-design`، `/ux-component`، `/ux-dashboard`، `/ux-fix`.
- **مُدخلاته:** موجز + توجيه إبداعي + tokens (من `.ux/last-recommendation.json`).
- **مُخرجاته:** كود عامل يتميّز عن الناتج العامّ للذكاء الاصطناعي. بلا تدرّجات بنفسجيّة، بلا سطح رئيسي موسّط، بلا ثلاث بطاقات متساوية، بلا Inter بحجم عرضي، بلا «John Doe»، بلا إيموجي، بلا افتراضات بـ 300 مللي ثانية.
- **الأدوات:** `Read, Write, Edit, Bash, Glob, Grep`.
### `motion-engineer`
- **يملك:** الحركة داخل كود الواجهة الأماميّة الإنتاجي — Framer Motion، GSAP، رسوم CSS. المدد، المنحنيات، التتابع، بدائل إيقاف الحركة، انضباط الأداء.
- **يستدعيه:** `/ux-design`، `/ux-motion --fix`، `/ux-component`.
- **مُدخلاته:** موجز حركة + tokens + مهيّآت الحركة الـ 57 من `data/motion-presets.json`.
- **مُخرجاته:** حركة تستحقّ مكانها. ملفوفة دومًا بفروع `prefers-reduced-motion`. مُختبَرة دومًا مقابل Core Web Vitals.
- **الأدوات:** `Read, Write, Edit, Bash, Glob, Grep`.
### `copy-writer`
- **يملك:** النصوص التي تُشحَن — رسائل الأخطاء، الحالات الفارغة، أزرار CTA، حالات التحميل، رسائل النجاح، التنبيهات، النصوص المساعدة، تسميات النماذج، نصوص الأزرار.
- **يستدعيه:** `/ux-copy --fix`، `/ux-design`، `/ux-frame`، `/ux-component`.
- **مُدخلاته:** ملفّ تعريف الصوت (مُسمّى أو ملصق) + نصوص السطح.
- **مُخرجاته:** نصوص دقيقة إنتاجيّة مُطبَّقة باتّساق على كلّ حالة في السطح، ليبدو المنتج منتجًا واحدًا لا عشرة. ممنوعات: «النموذج يحوي أخطاء»، «John Doe»، نصوص الذكاء الاصطناعي الاحتفاليّة المرحة، أزرار CTA عامّة، حالات فارغة ميّتة.
- **الأدوات:** `Read, Write, Edit, Bash, Glob, Grep`.
### `research-synthesizer`
- **يملك:** هضم مُدخلات البحث (مقابلات، تحليلات، مواقع المنافسين، نتائج A/B، تذاكر الدعم) إلى توصيات تصميم قابلة للتنفيذ.
- **يستدعيه:** `/ux-research`، `/ux-workshop`، `/ux-frame`.
- **مُدخلاته:** بحث خام — نصوص مقابلات، تصديرات، روابط منافسين، تجميعات دعم.
- **مُخرجاته:** موضوعات، أدلّة، توصيات. لا يُصمّم الجواب أبدًا — يُعطي المصمّم المادّة التي يُصمَّم منها.
- **الأدوات:** `Read, Write, WebFetch, Bash, Glob, Grep`.
### `design-system-architect`
- **يملك:** أنظمة تصميم كاملة — tokens (لون، خطّ، فراغ، حركة، نصف قطر، ظلّ)، وثائق أُسس، عقود مكوّنات، إقران الوضع الداكن، طبقة السمات.
- **يستدعيه:** `/ux-system`، و`/ux-component` عند عدم وجود نظام.
- **مُدخلاته:** موجز علامة + `.ux/last-recommendation.json` (أسلوب + لوحة + اقتران طباعي + مهيّآت حركة).
- **مُخرجاته:** نظام متماسك ذو وجهة نظر جاهز للإنتاج يستطيع الوكلاء اللاحقون البناء عليه دون إعادة اتّخاذ القرارات الأساسيّة. tokens بصيغة JSON، أُسس MD، عقود مكوّنات، إقران للوضع الداكن.
- **الأدوات:** `Read, Write, Edit, Bash, Glob, Grep`.
### بروتوكول استدعاء الوكلاء الفرعيّين
حين يستدعي أمرٌ وكيلًا فرعيًّا، يُمرّر إليه:
1. الموجز / التوصية (محمَّل من `.ux/`).
2. الشريحة المعنيّة من الملفّات (مثلًا: `frontend-engineer` يحصل على الأسلوب + لوحة الألوان + المكوّنات المُختارة؛ و`motion-engineer` يحصل على مهيّآت الحركة المُختارة).
3. حواجز الأنماط الضارّة الـ 145 (مُفعّلة دومًا).
4. معيار نجاح (ما يجب أن يفعله الناتج).
يُعيد الوكلاء الفرعيّون:
1. الناتج (كود، وثيقة، نظام).
2. كتلة تبرير (لماذا هذه الاختيارات).
3. فحصًا ذاتيًّا مقابل الحواجز (أيّ القواعد تحقّقوا منها).
يُشغّل الأمر المُستدعي بعد ذلك `/ux-lint` تلقائيًّا قبل إعلان الانتهاء.
---
## ملفّات البيانات الـ 11
طبقة البيانات هي العقل. كلّ أمر يقرأ منها؛ والمحرّك يدمج عبرها؛ والمُدقّق يفحص ضدّها. كلّ الملفّات تعيش تحت `data/` وتُغلَّف مدخلاتها بـ `{_meta, entries}` للمحافظة على إصدارات المخطّط.
### `styles.json` — 84 أسلوبًا تصميميًّا
| الحقل | الوصف |
|---|---|
| `entries` | 84 |
| `keys per entry` | `id`, `name`, `category`, `philosophy`, `when_to_use`, `when_to_skip`, `tokens`, `references`, `compatible_palettes`, `compatible_type_pairs`, `compatible_motion`, `compatible_industries`, `taste_score` |
| `categories` | بساطة / سويسري، Brutalist، تحريري، Glassmorphism، Neumorphism، Bento، Skeuomorphic، صناعي، Maximalist، AI-Futurist، MENA-modern، Vaporwave، إلخ. |
| `sample entry` | `swiss-international` — «الشبكة قانون. الخطّ يقوم بالحمل الثقيل. الزخرفة فشل.» |
تستخدمه: `/ux-recommend`, `/ux-system`, `/ux-design`. المخطّط: [data/SCHEMAS.md](data/SCHEMAS.md).
### `palettes.json` — 176 لوحة ألوان
| الحقل | الوصف |
|---|---|
| `entries` | 176 |
| `keys per entry` | `id`, `name`, `mode` (فاتح/داكن), `tone`, `colors` (canvas, surface, ink, body, muted, primary, primary_active, hairline, success, warning, danger, accent), `wcag_contrast_audit`, `compatible_industries` |
| `tones` | دافئ، تحريري، magazine، عيادي، مرح، Brutalist، أحادي اللون، Jewel-tone، شرق أوسطي دافئ، dev-tools-dark، إلخ. |
| `sample entry` | `claude-warm-editorial` — فاتح، دافئ/تحريري/magazine، canvas #faf9f5، primary #cc785c |
تستخدمه: `/ux-recommend`, `/ux-system`. التباين مُحقَّق وفق AA / AAA. المخطّط: [data/SCHEMAS.md](data/SCHEMAS.md).
### `type-pairs.json` — 70 اقترانًا طباعيًّا
| الحقل | الوصف |
|---|---|
| `entries` | 70 |
| `keys per entry` | `id`, `name`, `display` (family + weights + source + license + URL), `body`, `mono`, `compatible_styles`, `taste_score` |
| `sample entry` | `cormorant-inter-jetbrains` — Cormorant Garamond × Inter × JetBrains Mono |
لكلّ عائلة ترخيص + رابط مصدر. تستخدمه `/ux-recommend`, `/ux-system`.
### `components.json` — 148 مكوّنًا
| الحقل | الوصف |
|---|---|
| `entries` | 148 |
| `keys per entry` | `id`, `name`, `category`, `purpose`, `anatomy`, `states`, `tokens_used`, `motion`, `accessibility`, `compatible_styles`, `compatible_industries`, `code_skeleton` |
| `categories` | تنقّل، نماذج، عرض بيانات، تغذية راجعة، طبقات فوقيّة، تخطيط، محتوى، تسويق، تجارة إلكترونيّة، توثيق، لوحات تحكّم، رسوم بيانيّة، حالات فارغة، حالات تحميل، حالات أخطاء |
| `sample entry` | `mega-nav-product-grid` — Mega Navigation, Product Grid — تشريح من 6 أجزاء، 4 حالات |
هذا أعمق خندق دفاع لدينا. لا تُقدّم أيّ إضافة UX أخرى لـ Claude ملفّ مكوّنات مُهيكلًا.
### `industries.json` — 184 قاعدة قطاع
| الحقل | الوصف |
|---|---|
| `entries` | 184 |
| `keys per entry` | `id`, `name`, `category`, `characteristics`, `audience_signals`, `recommended_styles`, `recommended_palettes`, `recommended_type_pairs`, `recommended_motion`, `regulatory_notes`, `regional_notes` |
| `categories` | خدمات ماليّة، رعاية صحيّة، تعليم، تجارة إلكترونيّة، SaaS B2B، SaaS B2C، أدوات مطوّرين، إعلام، ألعاب، سفر، عقارات، خاصّة بالشرق الأوسط، إلخ. |
| `sample entry` | `fintech-neobank` — ثقة عالية، إفصاحات تنظيميّة، واجهة رئيسيّة للأرصدة/المعاملات، أولويّة للهاتف للاستخدام اليومي |
تستخدمه `/ux-recommend` كأوّل محور بحث متوازٍ.
### `chart-types.json` — 35 نوع رسم بياني
| الحقل | الوصف |
|---|---|
| `entries` | 35 |
| `keys per entry` | `id`, `name`, `category`, `when_to_use`, `when_to_skip`, `encoding`, `accessibility`, `data_shape`, `compatible_styles` |
| `categories` | مقارنة، سلاسل زمنيّة، توزيع، تكوين، علاقة، تدفّق، جغرافي |
| `sample entry` | `bar-vertical` — قارن 4–15 فئة منفصلة. الموقع على المحور x يُمثّل الفئة؛ الارتفاع يُمثّل القيمة. |
تستخدمه `/ux-dashboard`, `/ux-component` (نسخ الرسوم البيانيّة).
### `tech-stacks.json` — 25 منظومة تقنيّة
| الحقل | الوصف |
|---|---|
| `entries` | 25 |
| `keys per entry` | `id`, `name`, `category`, `tier`, `languages`, `ssr`, `rsc`, `compatible_styling`, `scaffold_command`, `compatible_motion`, `gotchas` |
| `tiers` | إنتاج، ما قبل الإصدار، تجريبي |
| `sample entry` | `nextjs-15-app-router` — Next.js 15 (App Router)، TS/JS، SSR، RSC، متوافق مع Tailwind 4 / CSS Modules / vanilla-extract / styled-components / panda-css |
من المنظومات الأخرى: Astro، SvelteKit، Remix، Nuxt 3، Solid Start، Qwik، Blade+Alpine، Hotwire، Phoenix LiveView، Hydrogen 2025.
### `ux-guidelines.json` — 112 قانون UX مُسمّى
| الحقل | الوصف |
|---|---|
| `entries` | 112 |
| `keys per entry` | `id`, `name`, `category`, `source`, `principle`, `application`, `examples`, `caveats`, `related_laws` |
| `categories` | كلفة القرار، الانتباه، الذاكرة، التحكّم الحركي، الإدراك البصري، الاجتماعي، العاطفي، النماذج، معالجة الأخطاء، التهيئة، الحالة الفارغة، إلخ. |
| `sample entry` | `hicks-law` — زمن القرار ينمو لوغاريتميًّا مع عدد الخيارات المعروضة |
تستخدمه `/ux-audit` (تقييم بست عدسات) و`/ux-critique` (مرتكز ذوقي).
### `motion-presets.json` — 57 مهيّأة حركة
| الحقل | الوصف |
|---|---|
| `entries` | 57 |
| `keys per entry` | `id`, `name`, `category`, `tokens` (duration_ms, easing, transform_from/to, opacity_from/to), `stacks` (framer_motion, gsap, css), `accessibility` (بديل لإيقاف الحركة), `when_to_use` |
| `categories` | دخول، خروج، تمرير، تركيز، نقر، تحميل، فارغة، نجاح، خطأ، مرتبطة بالتمرير |
| `sample entry` | `fade-up-12px` — 360ms, `cubic-bezier(0.16, 1, 0.3, 1)`, translateY(12px) → 0, opacity 0 → 1 |
كلّ مهيّأة لها متغيّر لإيقاف الحركة. كود جاهز للمنظومات: Framer Motion، GSAP، CSS الخالص.
### `anti-patterns.json` — 145 قاعدة regex
| الحقل | الوصف |
|---|---|
| `entries` | 145 |
| `keys per entry` | `id`, `name`, `severity` (critical/high/medium/low), `category`, `detection` (type, pattern, flags, scope), `evidence_template`, `fix`, `references` |
| `categories` | إمكانية الوصول (23)، المحتوى (15)، التخطيط (13)، الخطوط (10)، الألوان (9)، الجودة (9)، المرئي (9)، الحركة (8)، الأداء (4) |
قائمة القواعد الكاملة في [قواعد مكافحة ركاكة الذكاء الاصطناعي الـ 145](#قواعد-مكافحة-ركاكة-الذكاء-الاصطناعي-الـ-145--المُدقّق).
### `brands/*.json` — 160 مواصفة علامة
| الحقل | الوصف |
|---|---|
| `entries` | 160 (إضافة إلى `_index.json` الذي يسرد الجميع) |
| `keys per entry` | `id`, `name`, `category`, `voice`, `tokens` (color, type, motion), `design_principles`, `signature_moves`, `anti-moves`, `references` |
| `categories` | أدوات مطوّرين (36)، استهلاكي / أسلوب حياة / تجزئة (19)، تقنيات ماليّة / عملات مشفّرة (14)، تحريري / إعلام (13)، منصّات AI / ML (12)، إنتاجيّة / تعاون (8)، سيارات (8) |
القائمة الكاملة في [مواصفات DESIGN.md الـ 160 للعلامات](#مواصفات-designmd-الـ-160-للعلامات--حسب-الفئة).
---
## قواعد مكافحة ركاكة الذكاء الاصطناعي الـ 145 — المُدقّق
يُقدّم ux-skill مُدقّقًا حتميًّا قائمًا على regex. **بلا LLM.** **بلا API.** **بلا شبكة.** يعمل ضمن CI في نحو 200 مللي ثانية على تطبيق Next.js نموذجي. يخرج بشيفرة عدم نجاح عند ملاحظات Critical / High حين يُضبط `--fail-on high`.
تأتي القواعد من `data/anti-patterns.json` (يُفضَّل الإصدار v2) مع `references/foundations/anti-patterns.md` كاحتياطي (v1 bash). يُقدَّم ثنائيّان: `bin/ux-lint.py` (Python، سريع، قابل للتوسعة) و`bin/ux-lint.sh` (Bash + perl-PCRE، للبيئات التي لا تتوفّر فيها Python).
### القواعد حسب الفئة
#### الخطوط (3 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| high | `inter-as-display` | استعمال Inter كخطّ عرضي |
| medium | `hero-text-arbitrary-90px` | حجم خطّ اعتباطي للقسم الرئيسي |
| low | `font-system-only` | كومة خطوط النظام دون اختيار خطّ |
#### الألوان (6 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| high | `purple-to-blue-gradient` | تدرّج بنفسجي إلى أزرق افتراضي للذكاء الاصطناعي |
| high | `dark-text-on-dark-card` | نصّ بتباين منخفض على بطاقة |
| medium | `gradient-text-rainbow` | نصّ بتدرّج متعدّد المحطّات |
| medium | `card-glow-purple-shadow` | ظلّ توهّج بنفسجي على البطاقات |
| medium | `gradient-mesh-purple-pink` | قسم رئيسي بشبكة تدرّج بنفسجي-وردي |
| low | `tailwind-color-named-vague` | ألوان Tailwind مُسمّاة دون token دلالي |
#### التخطيط (5 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| high | `three-equal-card-grid` | ثلاث بطاقات متساوية في صفّ |
| medium | `centered-everything-hero` | قسم رئيسي يُوسّط كلّ شيء |
| medium | `avatar-stack-overlapping` | كومة صور رمزيّة عامّة متراكبة |
| low | `pill-rounded-full-everywhere` | `rounded-full` مُطبَّق على كلّ شيء |
| low | `nav-equal-hamburger-desktop` | قائمة الهامبرغر على سطح المكتب |
#### المحتوى (5 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| high | `lorem-ipsum-leak` | Lorem ipsum داخل كود يُشحَن |
| high | `emoji-in-ui` | إيموجي كعنصر واجهة |
| high | `icon-emoji-stamp` | إيموجي كختم أيقونة |
| high | `testimonial-fake-five-stars` | شهادة مكتوبة مباشرة بخمس نجوم |
| medium | `fake-name-john-doe` | أسماء نائبة عامّة |
#### الحركة (3 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| medium | `cta-arrow-rightward-bouncing` | سهم نطّاط على زرّ الدعوة |
| low | `timing-300ms-default` | توقيت انتقال افتراضي بـ 300 مللي ثانية |
| low | `cubic-bezier-material-only` | تليين Material الافتراضي في كلّ مكان |
#### إمكانية الوصول (6 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| high | `inline-svg-no-aria` | SVG بدون aria-label أو aria-hidden |
| high | `img-no-alt` | صورة تنقص خاصيّة alt |
| high | `link-onclick-no-href` | رابط بـ onClick دون href |
| medium | `button-no-type` | زرّ تنقصه خاصيّة type |
| medium | `heading-skip-h1-h3` | تخطّي مستوى عنوان |
| medium | `infinite-scroll-no-pagination` | تمرير لا نهائي دون بديل بلوحة المفاتيح |
#### الجودة (6 قواعد)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| high | `console-log-leak` | `console.log` في كود المكوّن |
| medium | `inline-style-attribute` | خاصيّة style مضمَّنة |
| medium | `any-type-leak` | نوع TypeScript `any` |
| medium | `arbitrary-z-index-9999` | قيمة z-index كسولة |
| low | `shadcn-default-everywhere` | كتلة tokens افتراضيّة لـ shadcn دون تعديل |
| low | `todo-fixme-comment` | TODO أو FIXME في كود يُشحَن |
#### المرئي (قاعدة واحدة)
| الخطورة | معرّف القاعدة | الاسم |
|---|---|---|
| low | `blur-bg-only-decoration` | Backdrop blur دون سطح زجاجي |
### استخدام المُدقّق
**فحص مفرد:**
```bash
uxskill lint .
# أو
python3 bin/ux-lint.py src/
# أو
bash bin/ux-lint.sh src/
```
**بوّابة CI (GitHub Actions):**
```yaml
- name: ux-lint
run: bash bin/ux-lint.sh --ci --fail-on high
```
**خطّاف ما قبل الالتزام:**
```bash
# .git/hooks/pre-commit
#!/usr/bin/env bash
bash bin/ux-lint.sh --staged --fail-on high
```
**الإخراج (نموذج):**
```
─── /ux-lint report ───
src/components/Hero.tsx:24 [high] purple-to-blue-gradient
evidence: bg-gradient-to-br from-purple-500 to-blue-500
fix: replace with the recommended palette's primary gradient or remove gradient
src/components/Pricing.tsx:11 [high] three-equal-card-grid
evidence: grid grid-cols-3 gap-6 (3 equal Card children)
fix: feature one card; flank with two reduced-emphasis cards
3 files scanned · 2 high · 0 medium · 0 low · exit 1
Recommended next: /ux-polish --fix (LLM-driven, addresses both lintable and aesthetic findings)
```
---
## مواصفات DESIGN.md الـ 160 للعلامات — حسب الفئة
علامات حقيقيّة. لغات تصميم حقيقيّة. مواصفات DESIGN.md حقيقيّة — لا لوحات عامّة. تطلب من الإضافة «اصنع صفحة هبوط بأسلوب Stripe» فتقرأ مفردات العلامة الفعليّة: معايير الصوت، tokens الألوان، أعراف الحركة، الحركات المميِّزة، والحركات المضادّة.
تُسلَّم كلّ علامة على هيئة JSON مُهيكَل (`data/brands/.json`) إضافة إلى مرجع نثري (`references/brands/.md`).
### أدوات مطوّرين (36)
ClickHouse، Composio، Cursor، Datadog، dbt Labs، Expo، Fivetran، Fly.io، Framer، HashiCorp، Honeycomb، IBM، Lovable، Mintlify، Modal، MongoDB، Neon، Ollama، OpenCode، PostHog، Railway، Raycast، Render، Replicate، Resend، Retool، Sanity، Sentry، Slack، Snowflake، Sourcegraph، Supabase، Superhuman، Vercel، Warp، Webflow
### استهلاكي / أسلوب حياة / تجزئة (19)
Aesop، Airbnb، Allbirds، Apple، Apple Music، Glossier، HP، Hims & Hers، Instagram، Meta، Nike، Patagonia، Pinterest، PlayStation، Shopify، Spotify، Starbucks، TikTok، Uber
### تقنيات ماليّة / عملات مشفّرة (14)
Binance، Brex، Coinbase، Kraken، Mastercard، Mercury، Monzo، N26، Plaid، Ramp، Revolut، Robinhood، Stripe، Wise
### تحريري / إعلام (13)
Bloomberg، Clay، Dezeen، NVIDIA، Pitchfork، Substack، The Atlantic، The Economist، The New York Times، The Verge، The Wall Street Journal، Vodafone، Wired
### منصّات AI / ML (12)
Anthropic، Claude، Cohere، ElevenLabs، MiniMax، Mistral AI، OpenAI، Perplexity، Runway، Together AI، VoltAgent، xAI
### إنتاجيّة / تعاون (8)
Airtable، Cal.com، Figma، Intercom، Linear، Miro، Notion، Zapier
### سيارات (8)
BMW، BMW M، Bugatti، Ferrari، Lamborghini، Renault، SpaceX، Tesla
### لماذا يهمّ هذا
الإضافات الثماني الأخرى الشائعة لـ UX على Claude تُنتج «مينيمل عصري» أو «لوحة تحكّم نظيفة» — تنويعات على الجماليّة الافتراضيّة ذاتها. ux-skill يُتيح لك أن تطلب **وضوح Linear**، أو **جدّيّة Stripe**، أو **انضباط Apple**، أو **كتلة Tesla**، أو **دفء Notion**، أو **انضباط تدرّجات Cursor**، أو **كثافة شعريّات Raycast**، أو **تحريريّة Claude الدافئة** — ويسحب المحرّك الـ tokens المناسبة، والصوت، وأعراف الحركة، والحركات المميِّزة من مواصفة العلامة.
---
## خادم MCP — التحرّك غير المتماثل
يُقدّم ux-skill **خادم Model Context Protocol**. تشغّل `ux-mcp` فيتحوّل المحرّك إلى عمليّة stdio طويلة الأمد يقدر أيّ مضيف يدعم MCP — Claude Desktop وCursor وWindsurf والوكلاء العامّون — على الاتّصال بها. أربع عشرة أداة: `ux_recommend`، `ux_lint`، `ux_styles`، `ux_palettes`، `ux_type_pairs`، `ux_components`، `ux_industries`، `ux_motion_presets`، `ux_anti_patterns`، `ux_brands`، `ux_landing_patterns`، `ux_persist_save`، `ux_persist_load`، `ux_stats`. هي نفسها معالِجات Python التي تستخدمها الأوامر القطعيّة، ونفس ملفّات البيانات، ونفس المُوصي الحتمي.
**لماذا هذا تحرّكٌ غير متماثل:** ولا واحدة من أعلى ثماني مهارات UX لـ Claude (ui-ux-pro-max-skill، open-design، taste-skill، huashu-design، stitch، nothing-design، hallmark، material-3) تُصدر خادم MCP. كلّها محبوسة داخل runtime إضافات Claude Code. أمّا ux-skill فيمكن الوصول إليه من أيّ مضيف يتحدّث MCP، بما في ذلك وكلاء لم يسمعوا قطّ بإضافة Claude Code.
```bash
pip install 'uxskill[mcp]' # mcp إضافة اختياريّة
ux-mcp # يبدأ خادم stdio JSON-RPC
```
وجّه عميلك إلى الملفّ التنفيذي `ux-mcp`. توثيق الأدوات الكامل، وأمثلة JSON، وإعدادات كلّ عميل لـ Claude Desktop وCursor وWindsurf موجودة في [docs/mcp.html](docs/mcp.html) وفي `commands/ux-mcp.md`.
---
## مثبّت 17 بيئة تطوير
`uxskill init` (أو `/ux-init` داخل Claude Code) يكتشف تلقائيًّا أيّ بيئة تستخدم ويكتب الناتج الصحيح. نفس محرّك Python. نفس التوصيات. غراء مختلف لكلّ بيئة.
| بيئة التطوير / الأداة | إشارة الاكتشاف | الناتج المثبَّت |
|---|---|---|
| Claude Code | `.claude/` أو `CLAUDE.md` | ملفّ تعريف الإضافة في `.claude-plugin/plugin.json` + جميع الأوامر الـ 22 + جميع الوكلاء الفرعيين الخمسة |
| Cursor | `.cursor/` أو `.cursorrules` | رأس prompt في `.cursorrules` يُشير إلى المحرّك |
| Windsurf | `.windsurf/` أو `.windsurfrules` | `.windsurfrules` بنفس رأس الـ prompt |
| GitHub Copilot | `.github/copilot-instructions.md` أو `.vscode/` | `.github/copilot-instructions.md` |
| Gemini CLI | `GEMINI.md` | `GEMINI.md` |
| Codex | `AGENTS.md` | `AGENTS.md` |
| Kiro | `.kiro/` | `.kiro/instructions.md` |
| Cline | `.cline/` | `.cline/instructions.md` |
| Continue | `.continue/` | تعديل على `.continue/config.json` |
| Aider | `.aider.conf.yml` | `.aider.conf.yml` + `AIDER.md` |
| Zed | `.zed/` | `.zed/instructions.md` |
| JetBrains AI | `.jetbrains-ai/` أو `.idea/` | `.jetbrains-ai/instructions.md` |
| Pieces | `.pieces/` | `.pieces/instructions.md` |
| Tabby | `.tabby/` | `.tabby/instructions.md` |
| Tabnine | `.tabnine/` | `.tabnine/instructions.md` |
| CodeWhisperer | `.aws-codewhisperer/` | `.aws-codewhisperer/instructions.md` |
| Roo Cline | `.roo/` | `.roo/instructions.md` |
في كلّ بيئة، تعمل أوامر `uxskill recommend` / `uxskill lint` / `uxskill stats` من الطرفيّة بنفس الطريقة. محرّك Python هو مصدر الحقيقة؛ ونواتج البيئات هي رؤوس prompt نحيلة تُوجِّه إليه.
---
## حالات استخدام — سيناريوهات ملموسة
ثمانية سيناريوهات حقيقيّة. اختر الأقرب إلى وضعك وكيِّف الاستدعاء.
### 1. بناء لوحة تحكّم لتقنيات ماليّة في Cursor
أنت في Cursor تعمل على لوحة تحكّم لبنك رقمي في الشرق الأوسط. تُثبّت الإضافة وتُشغّل الاكتشاف، ثم التوصية، ثم توليد لوحة التحكّم.
```bash
pip install uxskill
uxskill init # يكتشف Cursor ويكتب .cursorrules
uxskill discover # استخراج من 10 حقول
uxskill recommend \
--project-type=dashboard \
--industry=fintech-neobank \
--tone=clinical --tone=precise \
--must-have=dark-mode --must-have=a11y-AA --must-have=RTL \
--forbidden=brutalism --forbidden=purple-gradients \
--stack=nextjs-15-app-router \
--region=mena
```
ثم في Cursor، اطلب: *«ولّد سطح لوحة التحكّم باستخدام التوصية في .ux/last-recommendation.json»*. يقرأ Cursor رأس `.cursorrules`، ويُحمّل التوصية، ويُشغّل توليد لوحة تحكّم بقيود صريحة.
### 2. توليد صفحة هبوط بأسلوب Stripe في Claude Code
```
/plugin marketplace add Laith0003/ux-skill
/plugin install ux@ux-skill
/ux-discover
> نوع المشروع؟ landing
> القطاع؟ fintech-payments
> النغمة؟ جدّيّة، تقنيّة، واثقة
> الإلزاميّات؟ dark-mode، AA، أولويّة للهاتف
> الممنوعات؟ purple-gradients، three-equal-cards
> العلامات المرجعيّة؟ stripe
> المنظومة؟ nextjs-15-app-router
> المنطقة؟ عالمي
> مقياس النجاح؟ تحويل التسجيل
/ux-recommend
> [يُعيد الأسلوب، لوحة الألوان، الاقتران الطباعي، مهيّآت الحركة، المكوّنات، العلامات النموذجيّة المُختارة]
/ux-design "ولّد صفحة الهبوط مستخدمًا مواصفة علامة Stripe كنموذج"
> [frontend-engineer يُولّد الصفحة]
/ux-lint .
> [تمرّ — مواصفة Stripe احتُرمت]
```
### 3. تدقيق كود قائم بحثًا عن ركاكة الذكاء الاصطناعي داخل CI
شحنت تطبيق Next.js قبل أسبوعين. تريد سقفًا صلبًا ضدّ بصمات الذكاء الاصطناعي على كلّ PR.
```yaml
# .github/workflows/ux-lint.yml
name: ux-lint
on: [pull_request]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: '3.11' }
- run: pip install uxskill
- run: uxskill lint . --ci --fail-on high
```
PRs التي تُدخل تدرّجات بنفسجيّة إلى زرقاء، أو Inter بحجم 96 بكسل، أو شهادات «John Doe»، أو إيموجي كأيقونات، تفشل في CI. بلا كلفة LLM. نحو 200 مللي ثانية.
### 4. صقل سطح قائم «يبدو من صنع الذكاء الاصطناعي»
ورثت تطبيق React يبدو مثل أيّ موقع SaaS آخر مُولَّد بالذكاء الاصطناعي. تريد ألّا يبدو هكذا بعد الآن.
```
/ux-critique src/components/Hero.tsx
> [3 إيجابيات، 3 سلبيات، خطوة استراتيجيّة واحدة — الرأي صريح]
/ux-lint src/
> [15 بصمة ذكاء اصطناعي عالية الخطورة مرفوعة]
/ux-polish src/components/Hero.tsx
> [جولة تجميليّة مدفوعة بنموذج لغوي + قتل ركاكة الذكاء الاصطناعي]
/ux-fix
> [يُطبّق الملاحظات كالتزامات ذرّيّة، ويُعيد تشغيل المُدقّق]
```
ثلاثة أوامر، سطح مصقول، التزامات ذرّيّة لكلّ إصلاح.
### 5. تصميم لوحة أوامر بأسلوب Linear
```
/ux-component command-palette --brief="أسلوب Linear، داكن، اختصارات أحاديّة المسافة، العناصر الحديثة أوّلًا"
> [يقرأ data/brands/linear.app.json للحصول على tokens + الحركات المميِّزة]
> [يقرأ data/components.json لتشريح command-palette وحالاته]
> [يستدعي frontend-engineer بمواصفة Linear صريحة]
```
المكوّن المُولَّد يستخدم tokens ألوان Linear الحقيقيّة، وكومة الخطوط، وأعراف الحركة، وكثافات الشعريّات — لا «واجهة داكنة عامّة».
### 6. إدارة ورشة تفكير تصميمي مدّتها 90 دقيقة مع أصحاب المصلحة
لديك غرفة فيها 5 أشخاص لمدّة 90 دقيقة. تريدهم أن يخرجوا بخطّة لعب، لا بإحساس عامّ.
```
/ux-workshop "تحوّل محفظة الولاء" \
--participants="مديرَا منتج، مصمّم، قائد هندسة، ممثّل عملاء" \
--minutes=90
```
تُيسّر الإضافة المراحل الخمس (استكشاف → خريطة حرارة → خريطة أصحاب مصلحة → رسم حلّ → خطّة لعب) من البداية للنهاية، محسوبةً بالوقت، بمخرجات ملموسة في كلّ مرحلة. الإخراج هو `.ux/last-workshop.json` — خطّة اللعب، لا مجرّد «ملاحظات مثيرة للاهتمام».
### 7. كتابة دراسة حالة قابلة للنشر بعد الإطلاق
شحنت محفظة الولاء. تريد قطعة بورتفوليو.
```
/ux-case-study --format=html --slug=bashiti-loyalty
> [يقرأ .ux/last-frame.json، last-workshop.json، last-research.json، last-design.json، last-a11y.json، last-polish.json، last-recommendation.json، last-discovery.json]
> [يُولّد دراسة حالة بأسلوب Wfrah التحريري بأقسام مرقّمة (A)-(G)، فواصل بدقّة الشعرة، تخطيط آمن ثنائي اللغة]
> [يكتب case-studies/bashiti-loyalty.html]
```
دراسة الحالة ناتج مُنجَز قابل للنشر — لا مسوّدة. أحاديّ اللون نقي، طباعة تحريريّة، جاهز للشحن إلى بورتفوليوك.
### 8. تشغيل الاكتشاف في سياق غير ذكاء اصطناعي (مجرّد استخراج مُهيكَل)
أنت تُحدّد نطاق مشروع. لا تحتاج توصية بعد — تحتاج موجزًا مُهيكَلًا.
```bash
uxskill discover
# استخراج من 10 حقول، يُحفظ في .ux/last-discovery.json
cat .ux/last-discovery.json
# {
# "project_type": "...",
# "audience": "...",
# ...
# }
```
يمكنك تسليم الـ JSON لفريقك، أو لصقه في وثيقة Notion، أو تمريره إلى أداة ذكاء اصطناعي منفصلة. ux-skill هو كذلك أداة استخراج مُهيكَل، إلى جانب كونه محرّكًا.
### 9. حفظ MASTER.md — قرارات التصميم في المستودع
بعد `/ux-recommend`، احفظ الأسلوب + لوحة الألوان + الاقتران الطباعي + الحركة + المكوّنات + العلامات النموذجيّة + الحواجز المُختارة بوصفها ملفّ Markdown قابلًا للقراءة يستطيع فريقك مراجعته وعمل diff عليه ووضعه تحت إدارة الإصدارات.
```bash
python3 -m engine.cli.main persist save --project-root .
```
يكتب `.ux/design-system/MASTER.md` (YAML frontmatter + متن) ويكتب `.ux/design-system/pages/.md` لكلّ سطح مولَّد عبر `persist save-page`. مُمتنع التكرار — المُدخل ذاته يُنتج مُخرَجًا متطابقًا بالبايت، فإعادة التشغيل على حالة لم تتغيّر تكون عمليّة بلا أثر في git.
---
## المقارنة مع البدائل
جدول ملخّص. المقارنة الكاملة المتوازية على [uxskill.laithjunaidy.com/compare.html](https://uxskill.laithjunaidy.com/compare.html).
| البُعد | ux-skill | ui-ux-pro-max | open-design | taste-skill | huashu-design | stitch-skills | nothing-design | hallmark | material-3 |
|---|---|---|---|---|---|---|---|---|---|
| الأوامر القطعيّة | **22** | 1 | 19 | 1 | 1 | متعدّد | 1 | 1 | 1 |
| المكوّنات | **148** | 0 | 0 | 0 | 0 | 0 | 0 | 0 | (MD3) |
| مهيّآت الحركة | **57** | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| مواصفات العلامات | **160** | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| قواعد الأنماط الضارّة | **145** | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| مُدقّق حتمي آمن للـ CI | **نعم** | لا | لا | لا | لا | لا | لا | لا | لا |
| بيئات التطوير المدعومة | **17** | 18 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| بوّابة اكتشاف | **10 حقول** | ضمنيّة | ضمنيّة | ضمنيّة | ضمنيّة | ضمنيّة | ضمنيّة | ضمنيّة | ضمنيّة |
| سلسلة حالة `.ux/` | **نعم** | لا | لا | �