Skip to content
Back to skills

Tashkeel

ASecurity

Arabic diacritization (tashkeel) via Farasa API, pyarabic, and LLM fallback

  • 13 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 6, 2026
toolspythonbashapi

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned June 6, 2026

npx -y skills add Moshe-ship/hurmoz --skill tashkeel --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Tashkeel?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Tashkeel
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/moshe-ship-tashkeel/badge)](https://www.skillsdirectory.com/skills/moshe-ship-tashkeel)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: tashkeel
description: Arabic diacritization (tashkeel) via Farasa API, pyarabic, and LLM fallback
version: 1.0.0
author: Mousa Abu Mazin
license: MIT
platforms: [linux, macos]
prerequisites:
  commands: [curl, python3]
  env_vars: []
metadata:
  hermes:
    tags: [language, diacritization, tashkeel, arabic]
---
# التشكيل العربي

أداة لتشكيل النصوص العربية بالحركات (فتحة، ضمة، كسرة، سكون، شدة، تنوين). التشكيل مهم للنطق الصحيح، خصوصاً في النصوص القرآنية والشعرية والتعليمية. يدعم عدة طرق: واجهة Farasa البرمجية من QCRI، مكتبة pyarabic المحلية، أو الاعتماد على نموذج اللغة الكبير مباشرة كحل أخير.

## متى تستخدم
- المستخدم يطلب تشكيل نص عربي
- يريد نطق صحيح لكلمة أو جملة
- نص قرآني أو شعري يحتاج تشكيل
- يريد تحسين نطق TTS بإضافة الحركات

## الطريقة الأولى: Farasa API من QCRI (الأساسية)

```bash
curl -s -X POST "https://farasa-api.qcri.org/diacritize" \
  -H "Content-Type: application/json" \
  -d '{"text": "ذهب الولد الى المدرسة"}'
```

النتيجة المتوقعة:
```
ذَهَبَ الوَلَدُ إِلَى المَدْرَسَةِ
```

## الطريقة الثانية: pyarabic (محلي — بدون إنترنت)

```bash
pip install pyarabic
```

```python
import pyarabic.araby as araby

text = "بسم الله الرحمن الرحيم"

# التحقق من وجود تشكيل
print(araby.is_vocalized(text))  # False

# إزالة التشكيل (مفيد للمقارنة)
vocalized = "بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ"
print(araby.strip_tashkeel(vocalized))  # بسم الله الرحمن الرحيم
```

> **ملاحظة**: pyarabic يوفر أدوات للتعامل مع التشكيل (فحص، إزالة، تحليل) لكنه لا يولّد تشكيلاً كاملاً تلقائياً. للتشكيل التلقائي استخدم Farasa أو نموذج اللغة.

## الطريقة الثالثة: نموذج اللغة الكبير (احتياطي)

إذا كانت واجهة Farasa غير متاحة و pyarabic لا يكفي، يمكن الاعتماد على نموذج اللغة الكبير مباشرة:

```
"شكّل النص التالي بالحركات العربية الكاملة: ذهب الولد الى المدرسة"
```

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

## أمثلة إدخال وإخراج

| الإدخال (بدون تشكيل) | الإخراج (مع تشكيل) |
|----------------------|---------------------|
| كتب الطالب الدرس | كَتَبَ الطَّالِبُ الدَّرْسَ |
| ذهب الولد الى المدرسة | ذَهَبَ الوَلَدُ إِلَى المَدْرَسَةِ |
| بسم الله الرحمن الرحيم | بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيمِ |
| العلم نور | العِلْمُ نُورٌ |

## الحركات الأساسية
| الحركة | الرمز | المثال |
|--------|-------|--------|
| فتحة | َ | كَتَبَ |
| ضمة | ُ | كُتُبٌ |
| كسرة | ِ | بِسْمِ |
| سكون | ْ | مِنْ |
| شدة | ّ | محمَّد |
| تنوين فتح | ً | كتاباً |
| تنوين ضم | ٌ | كتابٌ |
| تنوين كسر | ٍ | كتابٍ |

## القواعد
- لا تشكّل نص بلهجة عامية — التشكيل للفصحى فقط
- إذا النص قرآني، تأكد من التشكيل بالرجوع للمصحف
- إذا كلمة تحتمل أكثر من تشكيل، اذكر الاحتمالات مع المعنى
- جرّب Farasa أولاً، ثم pyarabic للتحليل، ثم نموذج اللغة كاحتياطي

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.