{"id":25603,"plugin_id":"plugin_asdk_app_6a9bca660b2c8191a1146aa615cad6f5","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-01T12:02:37.542Z","digest":"b5e7775086820b5c4af3f8073416d338d092fa7b3aa69d03ab6b35b078288953","against":null,"payload":{"name":"muslim-prayer-mcp","description":"Teaches LLMs how to query Muslim prayer times, check current prayer due status, countdown to next prayer, and enforce mandatory calculation authority and selection justification disclosure.","included_files":[],"skill_md_contents":"---\nname: muslim-prayer-mcp\ndescription: Teaches LLMs how to query Muslim prayer times, check current prayer due status, countdown to next prayer, and enforce mandatory calculation authority and selection justification disclosure.\n---\n\n# Muslim Prayer Reminder MCP\n\nThis skill instructs LLMs (Claude, GPT, Cursor, Copilot, Gemini, Devin, etc.) on interacting with the Muslim Prayer Reminder MCP server (`muslim-prayer-mcp`), executing prayer-time tools, interpreting results, and formatting prayer outputs.\n\n## Server Endpoints\n- **Streamable HTTP (Remote Worker)**: `https://muslim-prayer-mcp.najetareqz.workers.dev/mcp`\n- **Local Stdio (NPX)**: `npx -y muslim-prayer-mcp`\n\n---\n\n## ⚠️ MANDATORY DIRECTIVE: Authority and Selection Reason Disclosure\n\nEvery time you present prayer times, next prayer countdowns, or prayer status to a user, you **MUST EXPLICITLY STATE**:\n1. **The calculation authority and method used** (e.g., Palestinian Ministry of Awqaf, Umm al-Qura University Makkah, Egyptian General Authority of Survey, Diyanet İşleri Başkanlığı, etc.).\n2. **Why that authority was selected** (e.g., automatically selected based on Gaza/Palestine coordinates with regional Awqaf safety offsets, matched user timezone Asia/Riyadh, user explicitly configured method, etc.).\n\n**Zero Exception Rule**: Never omit this disclosure. The `authorityNotice` object returned in all tool payloads contains the exact strings to use.\n\n---\n\n## Tool Reference\n\n### 1. `get_prayer_status`\nChecks if an obligatory prayer (Fajr, Dhuhr, Asr, Maghrib, Isha) is currently due within the active reminder window.\n- **Parameters**:\n  - `userId` (string, optional): User ID for fetching stored preferences. Default: `'default_user'`.\n  - `lat` (number, optional): Latitude in decimal degrees (e.g., `31.50`).\n  - `lng` (number, optional): Longitude in decimal degrees (e.g., `34.46`).\n  - `timezone` (string, optional): IANA timezone identifier (e.g., `'Asia/Gaza'`).\n- **Response Shape**:\n  - `due` (boolean): `true` if a prayer is within its active reminder window.\n  - `prayer` (string | null): Name of the prayer due (`'Fajr'`, `'Dhuhr'`, `'Asr'`, `'Maghrib'`, `'Isha'`).\n  - `message` (string | null): Localized alert message (e.g., `\"It is time for Maghrib prayer.\"`).\n  - `prayerTimeUtc` / `prayerTimeFormatted`: Timestamp of the prayer.\n  - `authorityNotice`: Mandatory authority details object.\n\n### 2. `get_today_prayer_times`\nRetrieves today's complete prayer schedule: Fajr, Sunrise, Dhuhr, Asr, Maghrib, Isha.\n- **Parameters**: `userId`, `lat`, `lng`, `timezone`.\n- **Response Shape**:\n  - `date`: Date string (`YYYY-MM-DD`).\n  - `timezone`: Active IANA timezone.\n  - `method`: Calculation method identifier.\n  - `madhab`: Madhab used for Asr calculation (`'shafi'` or `'hanafi'`).\n  - `times`: Map of prayers to `{ utc: ISOString, formatted: \"HH:MM\" }`.\n  - `authorityNotice`: Mandatory authority details object.\n\n### 3. `get_next_prayer`\nIdentifies the upcoming prayer and remaining countdown time in minutes.\n- **Parameters**: `userId`, `lat`, `lng`, `timezone`.\n- **Response Shape**:\n  - `currentPrayer`: Currently ongoing prayer period.\n  - `nextPrayer`: Name of the next incoming prayer.\n  - `nextPrayerTimeFormatted`: Formatted local time.\n  - `minutesRemaining`: Minutes until prayer time.\n  - `authorityNotice`: Mandatory authority details object.\n\n### 4. `configure_prayer_preferences`\nPersists user prayer settings into Cloudflare KV.\n- **Parameters**:\n  - `userId` (string, required): Unique identifier for the user.\n  - `method` (string, optional): `'UmmAlQura'`, `'Egyptian'`, `'MuslimWorldLeague'`, `'Dubai'`, `'Qatar'`, `'Kuwait'`, `'Turkey'`, `'Karachi'`, `'NorthAmerica'`, `'Singapore'`, `'Tehran'`.\n  - `madhab` (string, optional): `'shafi'` or `'hanafi'`.\n  - `reminderMode` (string, optional): `'gentle'`, `'standard'`, `'persistent'`.\n  - `latitude` / `longitude` / `timezone` (optional): Pin a permanent fixed location.\n  - `language` (string, optional): `'en'` or `'ar'`.\n\n### 5. `get_prayer_preferences`\nInspects stored preferences in KV for a given `userId`.\n\n---\n\n## Automatic Geographic Authority Resolution Matrix\n\nWhen the user has not explicitly configured a preferred method, the system automatically resolves the calculation authority based on location coordinates and timezone:\n\n| Region / Location | Resolved Authority | Jurisdictional Reason / Solar Offsets | Madhab |\n| :--- | :--- | :--- | :--- |\n| **Palestine** (Gaza, West Bank, Jerusalem) | Palestinian Ministry of Awqaf (Egyptian Survey Authority + Awqaf Offsets) | Official Palestinian Awqaf standard: Egyptian Survey (`19.5°`/`17.5°`) with `{ maghrib: +3 min, dhuhr: -1 min }` safety offsets matching local mosque calendars. | Shafi |\n| **Saudi Arabia** | Umm al-Qura University, Makkah | Official Saudi government standard: Fajr `18.5°`, Isha `90 min` after Maghrib. | Shafi |\n| **United Arab Emirates** | General Authority of Islamic Affairs & Endowments (Awqaf UAE) | Official UAE standard (`Dubai` method): Fajr `18.2°`, Isha `18.2°`. | Shafi |\n| **Qatar** | Ministry of Endowments and Islamic Affairs (Awqaf Qatar) | Official Qatari standard: Fajr `18.0°`, Isha `90 min` after Maghrib. | Shafi |\n| **Kuwait** | Ministry of Awqaf and Islamic Affairs (Kuwait) | Official Kuwaiti standard: Fajr `18.0°`, Isha `17.5°`. | Shafi |\n| **Egypt** | Egyptian General Authority of Survey | Official Egyptian standard: Fajr `19.5°`, Isha `17.5°`. | Shafi |\n| **Turkey & Balkans** | Diyanet İşleri Başkanlığı (Turkey) | Official Turkish Presidency of Religious Affairs standard: Fajr `18.0°`, Isha `17.0°`, Hanafi Asr. | Hanafi |\n| **South Asia** (PK, IN, BD, AF) | University of Islamic Sciences, Karachi | Standard South Asian Hanafi method: Fajr `18.0°`, Isha `18.0°`, Hanafi Asr shadow ratio 2x. | Hanafi |\n| **North America** (US, CA) | Islamic Society of North America (ISNA) | Continental North American standard: Fajr `15.0°`, Isha `15.0°`. | Shafi |\n| **Southeast Asia** (SG, MY, ID, BN) | MUIS / JAKIM / MABIMS | Standard Southeast Asian regional authority: Fajr `20.0°`, Isha `18.0°`. | Shafi |\n| **Global / Other** | Muslim World League (MWL) | International consensus baseline: Fajr `18.0°`, Isha `17.0°`. | Shafi |\n\n---\n\n## Required Response Formatting\n\nWhen generating user-facing responses containing prayer times or alerts, format the output cleanly:\n\n### Example 1: Timetable Query\n```markdown\n### Today's Prayer Times for Gaza (Friday, Sep 4, 2026)\n\n| Prayer | Time |\n| :--- | :--- |\n| **Fajr** | 04:49 AM |\n| **Sunrise** | 06:20 AM |\n| **Dhuhr** | 12:41 PM |\n| **Asr** | 04:15 PM |\n| **Maghrib** | 07:05 PM |\n| **Isha** | 08:23 PM |\n\n> **Calculation Authority**: Palestinian Ministry of Awqaf (Egyptian Survey Authority + Awqaf Offsets)\n> **Authority Selection Reason**: Automatically selected based on detected Palestine coordinates (31.50, 34.46) with official Awqaf solar safety adjustments (+3m Maghrib, -1m Dhuhr).\n```\n\n### Example 2: Next Prayer / Status Query\n```markdown\n🕌 **Next Prayer**: **Maghrib** in **42 minutes** (07:05 PM).\n\n> **Calculation Method**: Palestinian Ministry of Awqaf (Egyptian Survey Authority + Awqaf Offsets)\n> **Selection Reason**: Automatically calibrated for Palestine/Gaza location.\n```\n\n---\n\n## Error Handling & Fallbacks\n- If coordinates are unavailable, the MCP automatically uses client headers (`X-User-Coordinates`, `CF-Connecting-IP`, `request.cf.timezone`), or user preferences.\n- If completely unresolved, it safely defaults to Makkah (`21.42, 39.83`, `Asia/Riyadh`, `UmmAlQura`) and notes the fallback in `authorityNotice.selectionReason`.\n- Polar/high-latitude locations (>48°) automatically engage nearest-latitude fiqh clamping to prevent invalid twilight calculations.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}