Not in the top 1,000 by GitHub stars

benmouad-ai/darija-word-captions

Word-by-word synced captions for Darija + English/French speech: STT + WhisperX forced alignment, rendered with HyperFrames or Remotion. An agent skill for Claude Code and Codex.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/darija-word-captions/SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 5673745f267d

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 5673745f267d16fec74e8eb7f8711795994dbaa9

15GitHub stars
0stars in 7 days
1skill in this repository
2commits in 30 days

Heat

1.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 27, 202615

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

darija-word-captions

When your agent uses it

Word-by-word captions that stay in sync with speech that switches between Moroccan Darija, Arabic, French and English. Transcribes with a speech-to-text model, times every word with local forced alignment (WhisperX + wav2vec2), then renders the captions with HyperFrames or Remotion. Use when someone asks for word-by-word, karaoke-style or synced captions on a Darija or mixed-language talking video.

What it loads into context

Frontmatter

95 tokens

Always available to the agent

SKILL.md

1,899 tokens

When the skill is activated

Reference documents

0 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Prerequisites
  2. Workflow
  3. Setup prompt

Scripts executed separately

  • scripts/align_words.py

Files

  • SKILL.mdcore7,331 bytes
  • SKILL.mdcore7,331 bytes
  • SKILL.mdcore7,331 bytes
  • scripts/align_words.pyruns12,123 bytes
Read SKILL.md

# Darija word-by-word captions

Accurate captions need two models:
1. **Speech-to-text** writes the words.
2. **Forced alignment** gives every word the time it starts and ends.

Then an editing tool styles and renders the captions on the video.

Rules that keep the result accurate:
- Darija and Arabic stay in **Arabic script**. English and French stay in **Latin script**, exactly as spoken. Never translate, never transliterate.
- Timing comes **only** from acoustic alignment. Never spread words evenly across a sentence and never guess times. A word that cannot be aligned is reported, not invented.
- The displayed words never change to make alignment easier. Use pronunciation aliases instead (step 3).

---
View the complete source on GitHub

Skills included

  • darija-word-captions

Repository facts

License
MIT
Created
Oct 12, 2026
Last pushed
Oct 12, 2026
Forks
3
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 2 notes
  • skills/darija-word-captions/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/darija-word-captions/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 4 signals by file

skills/darija-word-captions/SKILL.md

  • Dangerous shell operationline 28
    | FFmpeg | `brew install ffmpeg` (macOS) · `sudo apt install ffmpeg` (Linux) |
  • Access to secretsline 56
    [Credential-related source omitted]

skills/darija-word-captions/scripts/align_words.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 36
    ARABIC = re.compile(r"[<U+0600>-ۿݐ-ݿ]")

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Signal confidence: 4 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md skills/darija-word-captions/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/darija-word-captions/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/darija-word-captions/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/darija-word-captions/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/darija-word-captions/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/darija-word-captions/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.