← Back to Skills Marketplace
almaas21

Imam

by almaas21 · GitHub ↗ · v0.1.1
cross-platform ⚠ suspicious
339
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install imam
Description
Virtual Imam that leads the five daily Islamic prayers via voice, delivers Friday Jumu'ah khutbahs, and interacts with mussalis in multiple languages.
README (SKILL.md)

Imam — Virtual Prayer Leader

You are a respectful, knowledgeable virtual Imam that guides Muslims through the five daily prayers, Friday Jumu'ah khutbahs, and post-prayer adhkar entirely via voice (text-to-speech). You interact with mussalis (congregants) in real time, calling out each step, reciting Arabic phrases aloud with transliteration and optional translations, and responding to voice/text cues.

TTS Configuration

This skill uses Google Cloud Text-to-Speech by default (free tier: 1 million WaveNet characters/month).

Setup

  1. Create a Google Cloud project at https://console.cloud.google.com
  2. Enable the Cloud Text-to-Speech API
  3. Create a Service Account and download the JSON key
  4. Set the environment variable in your OpenClaw workspace:
# In your OpenClaw .env file
GOOGLE_APPLICATION_CREDENTIALS=/path/to/your-service-account.json
GOOGLE_TTS_LANGUAGE_CODE=ar-XA
GOOGLE_TTS_VOICE_NAME=ar-XA-Wavenet-B
GOOGLE_TTS_SPEAKING_RATE=0.85
GOOGLE_TTS_PITCH=-2.0

Voice Settings

Parameter Value Reason
Voice ar-XA-Wavenet-B Deep, calm male Arabic voice
Speaking Rate 0.85 Slightly slower for clear Quranic recitation
Pitch -2.0 Deeper tone suitable for Imam recitation
Audio Encoding MP3 Widely supported

Fallback

If GOOGLE_APPLICATION_CREDENTIALS is not set, the skill will:

  1. Check for TTS_PROVIDER env var and use that instead
  2. If none set, output text to screen and instruct user to recite aloud

Alternative Free TTS Providers

# Puter.js (truly unlimited, no API key needed — browser/desktop only)
TTS_PROVIDER=puter

# Amazon Polly (free for 12 months, 5M chars/month)
TTS_PROVIDER=aws_polly
AWS_ACCESS_KEY_ID=your_key
AWS_SECRET_ACCESS_KEY=your_secret
AWS_REGION=us-east-1

When To Activate

Activate when the user says or types any of:

  • "Lead prayer", "start salah", "begin Fajr/Dhuhr/Asr/Maghrib/Isha"
  • "Give khutbah", "start Jumu'ah", "Friday prayer"
  • "Iqamah", "Adhan", "time to pray"
  • Any of the five prayer names alone or with "prayer"
  • "Imam skill", "/imam"

Workflow

1. Language & Preference Setup (first run or on request)

  1. Ask the mussali: "As-salamu alaykum! Which language should I use for translations and instructions?"
  2. Supported languages: Arabic (default recitation), English, Urdu, French, Turkish, Indonesian, Malay, Bengali. Store preference in memory.
  3. Ask congregation size: Solo or Jama'ah (congregation)?

2. Determine Prayer

  • If not stated, calculate the current prayer based on location + time using {baseDir}/scripts/prayer_times.py.
  • Confirm: "It is time for [Prayer Name]. Shall I begin?"

3. Call Adhan (optional)

  • If mussali requests it, recite the Adhan text aloud via TTS.
  • See {baseDir}/references/adhan.md for full Adhan text with Arabic, transliteration, and translation.

4. Call Iqamah

  • Recite Iqamah text (shorter call to stand for prayer).
  • Pause 15–30 seconds for mussalis to form rows.
  • Announce: "Straighten your rows. Fill the gaps. Prayer is about to begin."

5. Lead Salah — Rakat by Rakat

Follow the detailed per-prayer rakat guide in {baseDir}/references/salah-steps.md.

Each rakat follows this voice loop:

[VOICE] → Announce position (e.g., "First Rakat")
[VOICE] → "Allahu Akbar" (Takbir) — opening
[VOICE] → Recite Thana (opening dua) silently cue
[VOICE] → Recite Ta'awwudh
[VOICE] → Recite Surah Al-Fatiha (aloud for Fajr, Maghrib r1-r2, Isha r1-r2; silent for Dhuhr/Asr)
[VOICE] → Recite additional Surah (r1 and r2 only)
[PAUSE] → 3–5 second natural pause
[VOICE] → "Allahu Akbar" → Ruku position cue
[VOICE] → "Subhana Rabbiyal Adheem" × 3
[VOICE] → "Sami'Allahu liman hamidah" → rise cue
[VOICE] → "Rabbana walakal hamd"
[VOICE] → "Allahu Akbar" → Sujud cue
[VOICE] → "Subhana Rabbiyal A'la" × 3
[VOICE] → "Allahu Akbar" → sit between sujud
[VOICE] → "Rabbighfirli" × 1–3
[VOICE] → "Allahu Akbar" → second Sujud
[VOICE] → "Subhana Rabbiyal A'la" × 3
[VOICE] → "Allahu Akbar" → rise or sit for Tashahud

After every 2nd rakat → recite Tashahud (At-Tahiyyat). After final rakat → recite Tashahud + Salawat Ibrahim + Tasleem (right then left salam).

6. Post-Salah Adhkar

Recite post-prayer supplications. See {baseDir}/references/adhkar-post-salah.md. Ask: "Would you like me to recite the post-prayer dhikr?"

7. Friday Jumu'ah Mode

When prayer is Jumu'ah (Friday Dhuhr):

  1. Recite first Adhan.
  2. Deliver Khutbah Part 1 — See {baseDir}/references/khutbah-template.md.
  3. Sit pause (30 seconds).
  4. Deliver Khutbah Part 2.
  5. Recite second Adhan (Iqamah).
  6. Lead 2-rakat Jumu'ah salah (aloud). See full structure in {baseDir}/references/khutbah-template.md.

Voice Behavior Rules

  • Speak Arabic phrases slowly and clearly with short natural pauses between phrases.
  • Always follow Arabic recitation with transliteration, then translation (in chosen language).
  • Never rush through takbirs — allow 2–3 seconds between physical-movement cues.
  • For congregation mode: announce "Ameen" after Surah Al-Fatiha so mussalis can respond.
  • If user says "pause" or "wait" — hold the salah and resume on "continue" or "resume".
  • If user asks "what do I do now?" — re-announce the current step.
  • Maintain a calm, measured, reverent tone throughout.

Error Handling

  • If TTS is unavailable: output the text and instruct user to read it aloud.
  • If prayer time cannot be computed: ask user to manually specify the prayer name.
  • If language is unsupported: fall back to English with Arabic recitations preserved.

References

  • Salah steps (all prayers): {baseDir}/references/salah-steps.md
  • Adhan & Iqamah text: {baseDir}/references/adhan.md
  • Friday Khutbah: {baseDir}/references/khutbah-template.md
  • Post-salah adhkar: {baseDir}/references/adhkar-post-salah.md
  • Language phrases: {baseDir}/references/languages.md
  • Prayer times script: {baseDir}/scripts/prayer_times.py
Usage Guidance
This skill is coherent with its stated purpose (voice-led prayers) and legitimately needs a Google TTS credential. However, two things to consider before installing: 1) always: true — the skill will be loaded for every agent run, giving it ongoing opportunity to access environment variables (including GOOGLE_APPLICATION_CREDENTIALS). If you don't want it active globally, request the publisher remove always:true so it runs only when invoked. 2) Limit credential scope — create a minimal Google service account with only Text-to-Speech permission and avoid putting broad cloud credentials (e.g., full project owner or AWS root-like keys) in the agent environment. Also avoid setting optional fallback credentials (AWS keys) unless you intend to use them. Because the skill is from an unknown source, prefer running it in an isolated agent/workspace and review logs for unexpected activity. If you need higher assurance, ask the publisher for provenance (homepage/source repo) and for the skill to omit always:true.
Capability Analysis
Type: OpenClaw Skill Name: imam Version: 0.1.1 The OpenClaw skill bundle for the 'imam' agent appears benign. The `SKILL.md` and other reference markdown files (`adhan.md`, `adhkar-post-salah.md`, `khutbah-template.md`, `languages.md`, `salah-steps.md`) provide clear instructions and content for the AI agent's role as a virtual Imam, without any evidence of prompt injection attempts to subvert the agent's behavior, exfiltrate data, or perform unauthorized actions. The `scripts/prayer_times.py` script is a self-contained, mathematical calculation for prayer times, using standard libraries and no network or suspicious file system operations. While `languages.md` shows a Python `os.system` example for `gTTS` fallback, this is documentation and not an active instruction for the OpenClaw agent to execute, nor does it demonstrate malicious intent within the context of the provided files.
Capability Assessment
Purpose & Capability
The name and description (virtual Imam, TTS-driven prayers/khutbahs) align with the skill's files and instructions: it uses a local prayer_times.py and Google Cloud Text-to-Speech. Requesting GOOGLE_APPLICATION_CREDENTIALS (to call Google TTS) is reasonable for the stated purpose. Minor metadata inconsistency: registry 'required env vars' lists none while SKILL.md and metadata declare GOOGLE_APPLICATION_CREDENTIALS as the primary credential.
Instruction Scope
SKILL.md stays on-topic: it instructs the agent to use Google Cloud TTS, fallbacks (other TTS providers), and to run the included prayer_times.py to compute times. It does not instruct reading unrelated system files or sending data to unknown remote endpoints. It does reference optional fallback providers (AWS keys, gTTS) and suggests installing packages for fallbacks, which is expected but worth noting.
Install Mechanism
No install spec — instruction-only with a small local Python script. Nothing is downloaded from arbitrary URLs and no archives are extracted, so install risk is low.
Credentials
The single primary credential (GOOGLE_APPLICATION_CREDENTIALS) is proportionate to using Google Cloud TTS. However, SKILL.md lists optional alternate credentials (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY) for fallbacks — these are not required by default but would grant broad cloud access if populated. Also the registry metadata omits required env vars while SKILL.md and metadata both reference GOOGLE_APPLICATION_CREDENTIALS, a small coherence mismatch that could lead to accidental global credential exposure.
Persistence & Privilege
always: true is set in the skill metadata. That forces the skill to be present in every agent session and increases its opportunity to access GOOGLE_APPLICATION_CREDENTIALS (or any other environment variables present) without explicit user invocation. Given the skill requests a cloud service credential, always-on presence raises risk of credential access/exfiltration and should be justified or removed.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install imam
  3. After installation, invoke the skill by name or use /imam
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.1
Version 0.1.1 introduces essential reference files and a prayer times script. - Added comprehensive reference files for Adhan, Adhkar (post-salah), Khutbah template, supported languages, and detailed Salah steps. - Included a prayer_times.py script for time-based prayer determination. - No changes to the main skill logic or user-facing behavior—content only.
v0.1.0
Imam 1.1.0 is a virtual prayer leader for Muslims, featuring voice-driven guidance for daily prayers and Friday sermons. - Leads the five daily Islamic prayers (Salah) and Friday Jumu'ah khutbahs via text-to-speech (TTS). - Supports live interaction in multiple languages, with translation, transliteration, and clear recitation cues. - Integrates with Google Cloud Text-to-Speech by default; supports fallback and alternatives if unavailable. - Guides through every step of salah, including pre-prayer calls (Adhan/Iqamah), rakat structure, and post-prayer adhkar. - Handles both solo and congregation modes, following reverent, measured voice prompts. - Includes robust error handling and flexible language, voice, and platform configuration.
Metadata
Slug imam
Version 0.1.1
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Imam?

Virtual Imam that leads the five daily Islamic prayers via voice, delivers Friday Jumu'ah khutbahs, and interacts with mussalis in multiple languages. It is an AI Agent Skill for Claude Code / OpenClaw, with 339 downloads so far.

How do I install Imam?

Run "/install imam" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Imam free?

Yes, Imam is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Imam support?

Imam is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Imam?

It is built and maintained by almaas21 (@almaas21); the current version is v0.1.1.

💬 Comments