Harakah Arabic Motion
Amro Alemam v0.5.1
Fix Arabic in motion code
From the developer
Declared capabilities
- Check Arabic text in motion code
- Fix broken Arabic letters
Cost & access
Harakah is free and open source. It doesn't sell products or process payments.
Declared limitations
- Translation request
- Code with no Arabic
- Rendering or opening local files
Onboarding example
Check this Remotion component for broken Arabic text and fix what you find.
Sources & dates
Developer declarations; not independently tested. Listing last checked Nov 5, 2026. Package observed Nov 5, 2026.
Description
From the marketplace listing
Harakah helps you write motion-graphics code with Arabic text that renders correctly. Arabic letters join, and common animation patterns break them: splitting text into per-letter boxes, missing right-to-left direction, Latin-only fonts, letter spacing, mixed digit styles, and canvas or 3D text drawn one letter at a time. What it does: - Checks Remotion (.tsx/.jsx), HyperFrames, GSAP and HTML code for broken Arabic and explains each issue with its line. - Fixes what it safely can, keeps per-letter animation, and marks every change with a comment. - Guides new Arabic compositions: splitting, direction, reading-order motion, fonts and digits. Who it's for: developers and motion designers building videos or animated pages with Arabic text. How it works: the assistant sends the code of the file you're working on to Harakah's hosted tools (check_arabic and fix_arabic), built on the open-source harakah-fixer 0.5.0. The code is processed in memory to return the result and isn't stored. No account or sign-in is needed. On a computer, you can also run harakah-fixer locally so your code never leaves your machine. Limitations: the hosted tools work on one file's code at a time (up to 200,000 characters) and can't open files on your computer or render frames. It covers Arabic script in code; it doesn't translate or write copy.
Language: English · Automatically detected from descriptions.
Changes
No changes recorded yet. Follow this plugin to keep track of future changes.
First seen Nov 5, 2026. Last seen Nov 5, 2026.
Similar plugins
Find competitors to follow as you develop your plugin.
-
Turn JavaScript and TypeScript code changes into a simple, interactive flowchart with before/after views, source evidence and plain-langu...
Shared terms: code, drawn, explain, hosted
-
Correctly shaped right-to-left PDFs for Arabic, Urdu and Persian text, and a checker for broken Arabic text.
Shared terms: arabic, broken, correctly, direction
-
RepoLore helps developers understand why public GitHub code exists by tracing files and line ranges through commits, pull requests, issue...
Shared terms: code, developer, explain, issue
-
Tesseract brings professional creative tools into your agent workflow. Work with video layers, compositions, keyframes, and audio in one ...
Shared terms: motion, composition, graphics, render
-
Paste a Solidity or Anchor contract and get an instant security scan — reentrancy, access control, signer checks, unchecked math — with l...
Shared terms: code, fix, fixe, letter
Keywords
Files & skills
File archives
Skill instructions
harakah4.08 KB
---
name: harakah
description: Check and fix Arabic text in motion-graphics code (Remotion .tsx/.jsx, HyperFrames/GSAP/HTML, canvas, three.js) with the check_arabic and fix_arabic tools. Use when creating or editing a composition or animation that contains Arabic text, and before rendering one. Catches split letters, wrong direction, Latin-only fonts, letter spacing and mixed digits.
license: MIT
metadata:
homepage: https://harakah.si
package: harakah-fixer
---
# Harakah: Arabic motion fixer · حركة
Arabic letters join. Animation code that splits text into per-letter boxes (`text.split("")`,
`Array.from(text)`, SplitText `chars`, `inline-block` spans), forgets `dir="rtl"`, uses Latin
fonts, tracks letters apart, mixes digit styles or draws letters one by one on a canvas
**renders as disconnected, backwards Arabic**. Harakah finds these and fixes them safely, and
keeps the per-letter animation.
## Tools
- `check_arabic { code, kind?, digits? }`: lists the Arabic problems in one file's code, with line numbers. Changes nothing.
- `fix_arabic { code, kind?, digits?, split? }`: returns the repaired code plus a list of changes and anything left to fix by hand.
Send the code of **one file** per call (an HTML/GSAP/HyperFrames page or one Remotion component, up to 200,000
characters). `kind` is `html` or `remotion` and is detected when omitted. `digits` is `eastern` (default), `western` or `keep`.
`split` is `zwj` (default, keeps letter boxes joined) or `word` (animate whole words).
The tools only see the code you send. Don't send files that hold secrets or personal data, and don't send code that has no Arabic in it.
## Workflow
1. **After writing or editing** a composition that contains Arabic, call `check_arabic` on that file's code.
2. **If it reports problems,** call `fix_arabic` with the same code and give the user the fixed code (or apply it to the
file when you can edit files). The fix adds `harakah:` comments at every change. Keep them, since they explain the change.
- For Remotion, the fixed code may import `./harakah-arabic` (`splitArabic`, `formatDigits`, `ArabicText`). Tell the user to
get it from the `@harakah/remotion-arabic` package or by running `npx -y -p harakah-fixer@0.5.0 harakah-fix fix <project> --write`.
- Items under `remaining` weren't changed automatically. Edit them yourself following the message.
3. **Check again** with `check_arabic` on the fixed code. Don't call a composition done, or tell the user it's safe to render,
while it still reports errors or warnings (`ok` is false).
4. **Projects:** check the files that contain Arabic one at a time. On a computer with Node.js 22.12+, the user can check a whole
project and render before/after proof locally with `npx -y -p harakah-fixer@0.5.0 harakah-fix gate <project>` and
`harakah-fix compare <project>`.
If a tool call fails or returns an error, say so and don't claim the Arabic was checked.
## Writing new Arabic compositions (do this from the start)
Read [references/arabic-motion.md](references/arabic-motion.md) before writing Arabic motion: splitting, direction, letters in motion, sizes and timing, fonts, digits. The essentials:
- Animate per letter with `splitArabic(text)` (keeps joining with ZWJ) or per **word**. Never use `text.split("")` or `Array.from(text)`.
- In Remotion, prefer `<ArabicText text="…" by="letter|word" />` from `harakah-arabic`.
- `dir="rtl"` and `lang="ar"` on the Arabic container. Mixed Arabic+Latin lines: wrap Latin in `<bdi>`.
- Motion follows reading order: staggers start on the right, reveals and entrances run right to left.
- Canvas: one `fillText` per word with `ctx.direction = "rtl"`. three.js: troika-three-text / drei `<Text>` with an Arabic `.ttf` as `font`, never `TextGeometry` / `<Text3D>`.
- Fonts (OFL): **Alexandria** for display, **IBM Plex Sans Arabic** for text. Don't use Latin-only fonts for Arabic.
- No `letter-spacing`, `text-transform` or italics on Arabic. No `text-align: left`.
- Digits: Eastern by default (`١٬٢٥٠٬٠٠٠`, using ٬ and ٫ separators). Don't mix Eastern and Western digits on one line.
Docs and source: https://harakah.si.
Referenced files: 1 — file references are metadata, not package contents.
Release notes
0.5.1: same skill and hosted check_arabic and fix_arabic tools (harakah-fixer 0.5.0), with the remote MCP server declared at https://mcp.harakah.si/mcp (no authentication) and the developer name set to Amro Alemam, the verified individual who owns Harakah and harakah.si.
Declared in the saved package. Remote tools may change independently.
Package details
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
- Package license
- MIT
- Package author
- Amro Alemam
- Keywords
- See keywords
- Listing translations
- ar-SA
- Commerce declaration
- Does not support commerceThis does not establish whether access is free or paid.
- Review scenarios
- 5 positive · 3 negativeScenario counts, not test results.
Declared capabilities
- Check Arabic text in motion code
- Fix broken Arabic letters
Package observed Nov 5, 2026.
Technical details
- First seen
- Nov 5, 2026 · 00:00 UTC
- Last seen
- Nov 5, 2026 · 06:00 UTC
- Collection status
- Collected
plugin_asdk_app_6ad90e79ab288191b84fd955c3b3f127
Download plugin data (JSON)