{
  "schemaVersion": "1.0",
  "item": {
    "slug": "muslim-prayer-reminder",
    "name": "Prayer Times - Automated Salat Reminders",
    "source": "tencent",
    "type": "skill",
    "category": "其他",
    "sourceUrl": "https://clawhub.ai/diepox/muslim-prayer-reminder",
    "canonicalUrl": "https://clawhub.ai/diepox/muslim-prayer-reminder",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/muslim-prayer-reminder",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=muslim-prayer-reminder",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "CRITICAL_SETUP.md",
      "GITHUB_SETUP.md",
      "README.md",
      "SKILL.md",
      "VERIFICATION.md",
      "push-to-github.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/muslim-prayer-reminder"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/muslim-prayer-reminder",
    "agentPageUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Prayer Times Skill",
        "body": "Get accurate Islamic prayer times for any location using the AlAdhan API with region-specific calculation methods, plus automated reminders that work in the background."
      },
      {
        "title": "1. Query Prayer Times (Instant)",
        "body": "Ask about prayer times for any location, get next prayer info, or check specific dates."
      },
      {
        "title": "2. Automated Reminders (Background)",
        "body": "Set up cron jobs that fetch daily prayer times and check periodically for reminders. Alerts you:\n\n10 minutes before prayer time\nAt prayer time (\"Salat First\")\n5 minutes after (if you're still chatting)\n\nTo set up reminders: See references/setup-reminders.md for complete guide."
      },
      {
        "title": "Get today's prayer times",
        "body": "By city and country:\n\ncd scripts/\npython3 get_prayer_times.py --city Mecca --country \"Saudi Arabia\"\npython3 get_prayer_times.py --city Istanbul --country Turkey\npython3 get_prayer_times.py --city Cairo --country Egypt\n\nBy coordinates:\n\npython3 get_prayer_times.py --lat 21.4225 --lon 39.8262  # Mecca\n\nWith next prayer info:\n\npython3 get_prayer_times.py --city Istanbul --country Turkey --next --timezone 3"
      },
      {
        "title": "Output",
        "body": "📍 Mecca, Saudi Arabia\n📆 10 Feb 2026\n🌙 22-08-1447\n🔢 Method: 4\n\n🕌 Fajr     05:37\n🌅 Sunrise  06:54\n🕌 Dhuhr    12:35\n🕌 Asr      15:50\n🕌 Maghrib  18:16\n🕌 Isha     19:46\n\n⏳ Next: Maghrib at 18:16 (in 15 minutes)"
      },
      {
        "title": "Calculation Methods",
        "body": "The script automatically selects the correct calculation method based on country:\n\nMorocco → Method 21 (official)\nSaudi Arabia → Method 4 (Umm Al-Qura)\nEgypt → Method 5 (Egyptian Authority)\nTurkey → Method 13 (Diyanet)\nUAE → Method 16 (Dubai)\nAnd 15+ more countries...\n\nWhen to override: Only specify --method if you need a different calculation than the country default.\n\nFor full method list and details, see references/methods.md."
      },
      {
        "title": "get_prayer_times.py",
        "body": "Location: scripts/get_prayer_times.py\n\nPurpose: Fetch prayer times for any location.\n\nArguments:\n\n--city <name> - City name (e.g., \"Rabat\")\n--country <name> - Country name (e.g., \"Morocco\")\n--lat <float> - Latitude coordinate\n--lon <float> - Longitude coordinate\n--method <id> - Calculation method ID (1-24, optional)\n--date <DD-MM-YYYY> - Specific date (optional, defaults to today)\n--timezone <hours> - Timezone offset from UTC for \"next prayer\" calculation\n--next - Show next prayer and time remaining\n--json - Output as JSON\n\nReturns:\n\nExit code 0 on success\nExit code 1 on failure\nJSON or formatted text output"
      },
      {
        "title": "check_prayer_reminder.py",
        "body": "Location: scripts/check_prayer_reminder.py\n\nPurpose: Check if it's time to send a prayer reminder. Designed for periodic cron execution.\n\nArguments:\n\n--prayer-times <path> - Path to prayer_times.json file (required)\n--timezone <hours> - Timezone offset from UTC (required)\n--json - Output as JSON\n\nReturns:\n\nExit code 0 - No reminder needed\nExit code 1 - Reminder needed (message printed to stdout)\nExit code 2 - Error loading prayer times\n\nReminder Windows:\n\nBefore: 9-11 minutes before prayer time\nNow: -1 to +2 minutes from prayer time\nAfter: 4-6 minutes after prayer time"
      },
      {
        "title": "1. Get prayer times for user's city",
        "body": "python3 get_prayer_times.py --city \"User's City\" --country \"User's Country\" --next --timezone <offset>"
      },
      {
        "title": "2. Set up automated daily fetch",
        "body": "from get_prayer_times import get_prayer_times\nimport json\n\n# Fetch and save\ntimes = get_prayer_times(city=\"Rabat\", country=\"Morocco\")\nwith open('prayer_times.json', 'w') as f:\n    json.dump(times, f)"
      },
      {
        "title": "3. Check next prayer",
        "body": "from get_prayer_times import get_prayer_times, get_next_prayer\n\ntimes = get_prayer_times(city=\"Rabat\", country=\"Morocco\")\nnext_prayer = get_next_prayer(times, timezone_offset=1)  # GMT+1 for Morocco\n\nprint(f\"Next: {next_prayer['name']} in {next_prayer['hours_until']}h {next_prayer['minutes_until']}m\")"
      },
      {
        "title": "4. Set up automated reminders (recommended)",
        "body": "Complete setup guide: references/setup-reminders.md\n\nQuick setup:\n\nCreate daily fetch job (runs at midnight):\n\nFetches today's prayer times\nSaves to prayer_times.json\n\n\n\nCreate reminder check job (runs every 5 min):\n\nChecks if it's time to remind\nSends alert to active session\nThree-stage reminders: before, during, after\n\nExample prompts to set up:\n\nSet up prayer time reminders for Mecca, Saudi Arabia (GMT+3). \nFetch daily at midnight and check every 5 minutes.\n\nSet up prayer time reminders for Istanbul, Turkey (GMT+3). \nFetch daily at midnight and check every 5 minutes.\n\nSet up prayer time reminders for Cairo, Egypt (GMT+2). \nFetch daily at midnight and check every 5 minutes.\n\nThis enables background reminders even while chatting - you'll never miss Salat!"
      },
      {
        "title": "Network Requirements",
        "body": "The AlAdhan API (api.aladhan.com) may be unreachable from some datacenter IPs (e.g., DigitalOcean → Hetzner routing issues).\n\nSolution: Use Cloudflare WARP or similar VPN to route traffic through Cloudflare's network.\n\nQuick fix:\n\n# Install Cloudflare WARP\ncurl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg\necho \"deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list\nsudo apt update && sudo apt install cloudflare-warp\nwarp-cli register\nwarp-cli connect"
      },
      {
        "title": "Accuracy",
        "body": "Always use country-specific methods when available (e.g., method 21 for Morocco)\nCoordinates provide more accurate results than city names\nTimes are in 24-hour format (HH:MM)"
      },
      {
        "title": "Timezones",
        "body": "The API returns times in local time for the queried location. When calculating \"time until next prayer\", use the appropriate timezone offset."
      },
      {
        "title": "API Source",
        "body": "Provider: AlAdhan (Islamic Network)\nEndpoint: https://api.aladhan.com\nDocumentation: https://aladhan.com/prayer-times-api\nFree tier: No API key required, rate limited\nReliability: High (99%+ uptime)"
      },
      {
        "title": "Example 1: User asks \"What are the prayer times in Mecca?\"",
        "body": "python3 get_prayer_times.py --city Mecca --country \"Saudi Arabia\""
      },
      {
        "title": "Example 2: User asks \"When is the next prayer?\"",
        "body": "python3 get_prayer_times.py --city Istanbul --country Turkey --next --timezone 3"
      },
      {
        "title": "Example 3: User provides coordinates",
        "body": "python3 get_prayer_times.py --lat 40.7128 --lon -74.0060 --next --timezone -5\n# New York coordinates"
      },
      {
        "title": "Example 4: User wants specific date",
        "body": "python3 get_prayer_times.py --city Cairo --country Egypt --date 15-03-2026"
      },
      {
        "title": "Testing the Skill",
        "body": "Test the script locally:\n\ncd scripts/\npython3 get_prayer_times.py --city Rabat --country Morocco --next --timezone 1\n\nExpected output should show 5 prayer times (Fajr, Dhuhr, Asr, Maghrib, Isha) plus Sunrise, and indicate the next upcoming prayer if --next is used."
      }
    ],
    "body": "Prayer Times Skill\n\nGet accurate Islamic prayer times for any location using the AlAdhan API with region-specific calculation methods, plus automated reminders that work in the background.\n\nTwo Ways to Use This Skill\n1. Query Prayer Times (Instant)\n\nAsk about prayer times for any location, get next prayer info, or check specific dates.\n\n2. Automated Reminders (Background)\n\nSet up cron jobs that fetch daily prayer times and check periodically for reminders. Alerts you:\n\n10 minutes before prayer time\nAt prayer time (\"Salat First\")\n5 minutes after (if you're still chatting)\n\nTo set up reminders: See references/setup-reminders.md for complete guide.\n\nQuick Start\nGet today's prayer times\n\nBy city and country:\n\ncd scripts/\npython3 get_prayer_times.py --city Mecca --country \"Saudi Arabia\"\npython3 get_prayer_times.py --city Istanbul --country Turkey\npython3 get_prayer_times.py --city Cairo --country Egypt\n\n\nBy coordinates:\n\npython3 get_prayer_times.py --lat 21.4225 --lon 39.8262  # Mecca\n\n\nWith next prayer info:\n\npython3 get_prayer_times.py --city Istanbul --country Turkey --next --timezone 3\n\nOutput\n📍 Mecca, Saudi Arabia\n📆 10 Feb 2026\n🌙 22-08-1447\n🔢 Method: 4\n\n🕌 Fajr     05:37\n🌅 Sunrise  06:54\n🕌 Dhuhr    12:35\n🕌 Asr      15:50\n🕌 Maghrib  18:16\n🕌 Isha     19:46\n\n⏳ Next: Maghrib at 18:16 (in 15 minutes)\n\nCalculation Methods\n\nThe script automatically selects the correct calculation method based on country:\n\nMorocco → Method 21 (official)\nSaudi Arabia → Method 4 (Umm Al-Qura)\nEgypt → Method 5 (Egyptian Authority)\nTurkey → Method 13 (Diyanet)\nUAE → Method 16 (Dubai)\nAnd 15+ more countries...\n\nWhen to override: Only specify --method if you need a different calculation than the country default.\n\nFor full method list and details, see references/methods.md.\n\nScript Reference\nget_prayer_times.py\n\nLocation: scripts/get_prayer_times.py\n\nPurpose: Fetch prayer times for any location.\n\nArguments:\n\n--city <name> - City name (e.g., \"Rabat\")\n--country <name> - Country name (e.g., \"Morocco\")\n--lat <float> - Latitude coordinate\n--lon <float> - Longitude coordinate\n--method <id> - Calculation method ID (1-24, optional)\n--date <DD-MM-YYYY> - Specific date (optional, defaults to today)\n--timezone <hours> - Timezone offset from UTC for \"next prayer\" calculation\n--next - Show next prayer and time remaining\n--json - Output as JSON\n\nReturns:\n\nExit code 0 on success\nExit code 1 on failure\nJSON or formatted text output\ncheck_prayer_reminder.py\n\nLocation: scripts/check_prayer_reminder.py\n\nPurpose: Check if it's time to send a prayer reminder. Designed for periodic cron execution.\n\nArguments:\n\n--prayer-times <path> - Path to prayer_times.json file (required)\n--timezone <hours> - Timezone offset from UTC (required)\n--json - Output as JSON\n\nReturns:\n\nExit code 0 - No reminder needed\nExit code 1 - Reminder needed (message printed to stdout)\nExit code 2 - Error loading prayer times\n\nReminder Windows:\n\nBefore: 9-11 minutes before prayer time\nNow: -1 to +2 minutes from prayer time\nAfter: 4-6 minutes after prayer time\nCommon Usage Patterns\n1. Get prayer times for user's city\npython3 get_prayer_times.py --city \"User's City\" --country \"User's Country\" --next --timezone <offset>\n\n2. Set up automated daily fetch\nfrom get_prayer_times import get_prayer_times\nimport json\n\n# Fetch and save\ntimes = get_prayer_times(city=\"Rabat\", country=\"Morocco\")\nwith open('prayer_times.json', 'w') as f:\n    json.dump(times, f)\n\n3. Check next prayer\nfrom get_prayer_times import get_prayer_times, get_next_prayer\n\ntimes = get_prayer_times(city=\"Rabat\", country=\"Morocco\")\nnext_prayer = get_next_prayer(times, timezone_offset=1)  # GMT+1 for Morocco\n\nprint(f\"Next: {next_prayer['name']} in {next_prayer['hours_until']}h {next_prayer['minutes_until']}m\")\n\n4. Set up automated reminders (recommended)\n\nComplete setup guide: references/setup-reminders.md\n\nQuick setup:\n\nCreate daily fetch job (runs at midnight):\n\nFetches today's prayer times\nSaves to prayer_times.json\n\nCreate reminder check job (runs every 5 min):\n\nChecks if it's time to remind\nSends alert to active session\nThree-stage reminders: before, during, after\n\nExample prompts to set up:\n\nSet up prayer time reminders for Mecca, Saudi Arabia (GMT+3). \nFetch daily at midnight and check every 5 minutes.\n\nSet up prayer time reminders for Istanbul, Turkey (GMT+3). \nFetch daily at midnight and check every 5 minutes.\n\nSet up prayer time reminders for Cairo, Egypt (GMT+2). \nFetch daily at midnight and check every 5 minutes.\n\n\nThis enables background reminders even while chatting - you'll never miss Salat!\n\nImportant Notes\nNetwork Requirements\n\nThe AlAdhan API (api.aladhan.com) may be unreachable from some datacenter IPs (e.g., DigitalOcean → Hetzner routing issues).\n\nSolution: Use Cloudflare WARP or similar VPN to route traffic through Cloudflare's network.\n\nQuick fix:\n\n# Install Cloudflare WARP\ncurl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg\necho \"deb [signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main\" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list\nsudo apt update && sudo apt install cloudflare-warp\nwarp-cli register\nwarp-cli connect\n\nAccuracy\nAlways use country-specific methods when available (e.g., method 21 for Morocco)\nCoordinates provide more accurate results than city names\nTimes are in 24-hour format (HH:MM)\nTimezones\n\nThe API returns times in local time for the queried location. When calculating \"time until next prayer\", use the appropriate timezone offset.\n\nAPI Source\nProvider: AlAdhan (Islamic Network)\nEndpoint: https://api.aladhan.com\nDocumentation: https://aladhan.com/prayer-times-api\nFree tier: No API key required, rate limited\nReliability: High (99%+ uptime)\nExamples\nExample 1: User asks \"What are the prayer times in Mecca?\"\npython3 get_prayer_times.py --city Mecca --country \"Saudi Arabia\"\n\nExample 2: User asks \"When is the next prayer?\"\npython3 get_prayer_times.py --city Istanbul --country Turkey --next --timezone 3\n\nExample 3: User provides coordinates\npython3 get_prayer_times.py --lat 40.7128 --lon -74.0060 --next --timezone -5\n# New York coordinates\n\nExample 4: User wants specific date\npython3 get_prayer_times.py --city Cairo --country Egypt --date 15-03-2026\n\nTesting the Skill\n\nTest the script locally:\n\ncd scripts/\npython3 get_prayer_times.py --city Rabat --country Morocco --next --timezone 1\n\n\nExpected output should show 5 prayer times (Fajr, Dhuhr, Asr, Maghrib, Isha) plus Sunrise, and indicate the next upcoming prayer if --next is used."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/diepox/muslim-prayer-reminder",
    "publisherUrl": "https://clawhub.ai/diepox/muslim-prayer-reminder",
    "owner": "diepox",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder",
    "downloadUrl": "https://openagent3.xyz/downloads/muslim-prayer-reminder",
    "agentUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder/agent",
    "manifestUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/muslim-prayer-reminder/agent.md"
  }
}