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 13, 2026. Package observed Nov 12, 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.
Matches for “code help”
Exact text from the indicated source. A mention alone does not establish support for your task.
Publisher full description
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.
Publisher subtitle
Fix Arabic in motion code
Publisher capabilities · listing
Check Arabic text in motion code Fix broken Arabic letters
Publisher description
Check and fix Arabic text in motion-graphics code (Remotion, GSAP/HyperFrames, HTML) with Harakah's hosted check_arabic and fix_arabic tools.
Changes
No changes recorded yet. Follow this plugin to keep track of future changes.
First seen Nov 5, 2026. Last seen Nov 13, 2026.
Similar plugins
Find competitors to follow as you develop your plugin.
-
Coder writes, fixes and reviews code. It builds websites, web apps, mobile apps and AI agents after up to three quick questions, with com...
Shared terms: fix, code, broken, explain
-
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
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`.
Preview of the first 4,000 characters. Read full instructions →
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 12, 2026.
Technical details
- First seen
- Nov 5, 2026 · 00:00 UTC
- Last seen
- Nov 13, 2026 · 18:00 UTC
- Collection status
- Collected
plugin_asdk_app_6ad90e79ab288191b84fd955c3b3f127
Download plugin data (JSON)Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.