About islamic-companion
islamic-companion is a CLI skill for Islamic daily routines, combining prayer and fasting times, Zakat calculations, and Quran lookup. Shared configuration and local caching help reduce API requests.
Key features
- 01Look up daily prayer and fasting times
- 02Calculate Gold and Silver Zakat thresholds
- 03Search the Quran and retrieve translated verses
- 04Generate monthly city prayer calendars
- 05Fetch Islamic quotes and create reminder schedules
- 06Cache daily results locally
Use cases
- 01Check prayer or fasting times for a location
- 02Review Gold and Silver Zakat thresholds using market prices
- 03Search the Quran by keyword or read a specific verse
- 04Create a monthly calendar or schedule daily prayer reminders
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ilmimris/ islamic-skills --skill islamic-companionAfter installing, type/islamic-companionin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
.gitignoreconfig.bashREADME.mdVERSIONconfig.example.jsonrequirements.txtbin/islamic-companionlib/cache.shcalendar.shapi.shfasting.shquotes.shformat.shconfig.shjson.shprayer.shscheduler.shzakat.shquran.shsrc/__init__.pyislamic_calendar.pymain.pyquotes.pyapi.pyfasting.pyquran_retrieval.pyprayer.pyquran_api.pyquran_formatter.pyzakat.pyDetails
From the project READMEIslamic Companion Skill
Unified tool for prayer times, fasting schedules, and Zakat calculations.
This skill consolidates Islamic utilities into a single CLI with shared configuration and efficient caching.
Features
- Prayer Times: Retrieve daily prayer times (Fajr, Dhuhr, Asr, Maghrib, Isha).
- Fasting: Check Imsak and Maghrib times for fasting.
- Zakat: Calculate Nisab thresholds for Gold and Silver based on current market prices.
- Quran: Search for verses by keyword or fetch specific Surah/Ayah with translation.
- Calendar: Generate a monthly prayer schedule for any city.
- Quotes: Fetch and display random Islamic quotes or setup daily automation.
- Scheduler: Generate OpenClaw cron commands to schedule daily prayer reminders.
- Caching: Minimizes API calls by caching daily results locally.
Usage
Run the CLI using the bash script:
# Get today's prayer times for Jakarta (explicit timezone override)
./bin/islamic-companion prayer --today --lat -6.2088 --long 106.8456 --tz Asia/Jakarta
# Setup daily quote automation for specific location
./bin/islamic-companion prayer --sync --lat -6.2088 --long 106.8456 --timezone Asia/Jakarta
# Get a random quote
./bin/islamic-companion quotes --random
# Get monthly calendar (Example: Serang, Banten)
./bin/islamic-companion calendar --city "Serang" --month 2 --year 2026
# Sync prayer schedule to cron (generates commands)
./bin/islamic-companion prayer --sync --lat -6.2088 --long 106.8456 --tz Asia/Jakarta
# Check fasting times (Imsak/Maghrib)
./bin/islamic-companion fasting --today --lat -6.2088 --long 106.8456
# Check Zakat Nisab values
./bin/islamic-companion zakat --nisab
# Search Quran for keyword
./bin/islamic-companion quran --search "sabar"
# Get specific Surah (e.g., Al-Fatihah)
./bin/islamic-companion quran --surah 1
# Get specific Ayah (e.g., Al-Baqarah:255)
./bin/islamic-companion quran --surah 2 --ayah 255
Configuration
Edit config.json to set your calculation method and Zakat preferences. Location is provided via CLI arguments. Defaults to UTC if no timezone is specified.
{
"calculation": {
"method": 20,
"school": 0
},
"zakat": {
"currency": "IDR",
"gold_gram_threshold": 85,
"api_key": ""
},
"timezone": "Asia/Jakarta",
"quran_language": "id"
}
Calculation Methods
- Method 20: Kemenag RI (Indonesia)
- School 0: Standard (Shafi, Maliki, Hanbali)
- School 1: Hanafi
| User Intent | Command Executed |
|---|---|
| "Get prayer times" | ./bin/islamic-companion prayer --today --lat [LAT] --long [LONG] |
| "Show me the calendar for [City]" | ./bin/islamic-companion calendar --city [City] |
| "Setup daily Islamic quotes" | ./bin/islamic-companion quotes --setup |
| "Give me a random Islamic quote" | ./bin/islamic-companion quotes --random |
| "Sync prayer schedule" | ./bin/islamic-companion prayer --sync |
| "When is Imsak?" | ./bin/islamic-companion fasting --today |
| "Check Zakat Nisab" | ./bin/islamic-companion zakat --nisab |
| "Search Quran for [keyword]" | ./bin/islamic-companion quran --search "[keyword]" |
| "Read Surah [Name/Number]" | ./bin/islamic-companion quran --surah [Number] |
| "Read Surah [Number] Ayah [Number]" | ./bin/islamic-companion quran --surah [Number] --ayah [Number] |
Dependencies
- System:
bash,curl,jq(Required for Quran features and recommended for speed) - Python (Alternative Implementation):
python3,requests(Only needed if usingsrc/main.pydirectly)
Security & Privacy
Warning
API Keys: The Zakat feature uses an API key. You can store it in
config.json(less secure) or export it as an environment variableZAKAT_API_KEY(recommended).
Important
Automation: The
--syncand--setupcommands generate cron schedules. Always review the output before adding it to your system crontab.If you are using the
crontool, you MUST parse the JSON string from theCRON_ADD:output into a JSON object. Do not pass the string directly.
Installation
- Clone the repository or download the skill.
- Install Python dependencies:
pip install -r requirements.txt - Ensure
curlis installed.jqis recommended for JSON parsing speed and reliability.
Run the CLI using the bash script wrapper, which handles configuration loading and environment setup. Location must be provided on-the-fly:
Get today's prayer times (uses HTTPS)
./bin/islamic-companion prayer --today --lat -6.2088 --long 106.8456
## Tools
When installing this skill for openclaw, the agent should update `TOOLS.md` to insert these lines:
- Get today's prayer times for Jakarta (explicit timezone override)
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion prayer --today --lat -6.2088 --long 106.8456 --tz Asia/Jakarta
```
- Setup daily quote automation for specific location
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion prayer --sync --lat -6.2088 --long 106.8456 --timezone Asia/Jakarta
```
- Get a random quote
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion quotes --random
```
- Get monthly calendar (Example: Serang, Banten)
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion calendar --city "Serang" --month 2 --year 2026
```
- Sync prayer schedule to cron (generates commands)
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion prayer --sync --lat -6.2088 --long 106.8456 --tz Asia/Jakarta
```
- Check fasting times (Imsak/Maghrib)
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion fasting --today --lat -6.2088 --long 106.8456
```
- Check Zakat Nisab values
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion zakat --nisab
```
- Search Quran for keyword
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion quran --search "sabar"
```
- Get specific Surah (e.g., Al-Fatihah)
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion quran --surah 1
```
- Get specific Ayah (e.g., Al-Baqarah:255)
```
~/.openclaw/skills/islamic-companion/bin/islamic-companion quran --surah 2 --ayah 255
```