{
  "schemaVersion": "1.0",
  "item": {
    "slug": "timer",
    "name": "timer",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/hisxo/timer",
    "canonicalUrl": "https://clawhub.ai/hisxo/timer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/timer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=timer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "timer.js",
      "SKILL.md"
    ],
    "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. 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. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "slug": "timer",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-02T04:26:28.456Z",
      "expiresAt": "2026-05-09T04:26:28.456Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=timer",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=timer",
        "contentDisposition": "attachment; filename=\"timer-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "timer"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/timer"
    },
    "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/timer",
    "agentPageUrl": "https://openagent3.xyz/skills/timer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/timer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/timer/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. 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. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Timer",
        "body": "Set timers that run in the background. When they complete, you will receive a system notification and MUST respond with the reminder to notify the user."
      },
      {
        "title": "Quick Start",
        "body": "# Set a 5-minute timer\nbash background:true command:\"node {baseDir}/timer.js 5m\"\n\n# Set a timer with a label\nbash background:true command:\"node {baseDir}/timer.js 10m 'Check the oven'\"\n\n# Set a timer in seconds\nbash background:true command:\"node {baseDir}/timer.js 30s\"\n\n# Set a timer in hours\nbash background:true command:\"node {baseDir}/timer.js 1h\""
      },
      {
        "title": "Time Formats",
        "body": "FormatDescriptionExampleNsN seconds30s, 90sNmN minutes5m, 15mNhN hours1h, 2hNN minutes (default)5 = 5 minutesMM:SSMinutes and seconds5:30HH:MM:SSHours, minutes, seconds1:30:00"
      },
      {
        "title": "⚠️ CRITICAL: Timer Completion Notification",
        "body": "When a timer completes, you receive a System: message like:\n\nSystem: [2026-01-24 21:27:13] Exec completed (swift-me, code 0) :: ⏰ Timer complete! Check the pasta!"
      },
      {
        "title": "❌ WRONG - Do NOT respond like this:",
        "body": "HEARTBEAT_OK\n\n🎉 Your timer is complete! Check the pasta!\n\nThis response will be filtered and NOT delivered to the user!"
      },
      {
        "title": "✅ CORRECT - Respond like this:",
        "body": "⏰ Timer Alert! Your timer is complete: Check the pasta!\n\nStart directly with the notification message. Do NOT include HEARTBEAT_OK.\n\nWhy? Responses starting with HEARTBEAT_OK followed by less than 300 characters are automatically suppressed and never reach the user. Your timer notification will be lost!"
      },
      {
        "title": "Cooking Timer",
        "body": "bash background:true command:\"node {baseDir}/timer.js 12m 'Pasta is ready!'\"\n\nWhen complete, respond: \"⏰ Your 12-minute timer is up! Pasta is ready!\""
      },
      {
        "title": "Quick Reminder",
        "body": "bash background:true command:\"node {baseDir}/timer.js 2m 'Take a break'\""
      },
      {
        "title": "Pomodoro Session",
        "body": "# Work session\nbash background:true command:\"node {baseDir}/timer.js 25m 'Pomodoro done - time for a break!'\"\n# After user is notified...\n# Break\nbash background:true command:\"node {baseDir}/timer.js 5m 'Break over - back to work!'\""
      },
      {
        "title": "Multiple Timers",
        "body": "bash background:true command:\"node {baseDir}/timer.js 5m 'Tea is ready'\"\nbash background:true command:\"node {baseDir}/timer.js 10m 'Eggs are done'\"\nbash background:true command:\"node {baseDir}/timer.js 30m 'Meeting starts soon'\""
      },
      {
        "title": "Managing Timers",
        "body": "# List all running timers\nprocess action:list\n\n# Check specific timer status\nprocess action:poll sessionId:XXX\n\n# View timer output\nprocess action:log sessionId:XXX\n\n# Cancel a timer\nprocess action:kill sessionId:XXX"
      },
      {
        "title": "Notes",
        "body": "Timers run as background processes with unique sessionIds\nCompleted timers exit with code 0\nCancelled timers (via kill) exit with code 130\nSound notification plays on macOS when timer completes (if afplay available)\nProgress is logged every second (short timers) or every 10 seconds (long timers)"
      }
    ],
    "body": "Timer\n\nSet timers that run in the background. When they complete, you will receive a system notification and MUST respond with the reminder to notify the user.\n\nQuick Start\n# Set a 5-minute timer\nbash background:true command:\"node {baseDir}/timer.js 5m\"\n\n# Set a timer with a label\nbash background:true command:\"node {baseDir}/timer.js 10m 'Check the oven'\"\n\n# Set a timer in seconds\nbash background:true command:\"node {baseDir}/timer.js 30s\"\n\n# Set a timer in hours\nbash background:true command:\"node {baseDir}/timer.js 1h\"\n\nTime Formats\nFormat\tDescription\tExample\nNs\tN seconds\t30s, 90s\nNm\tN minutes\t5m, 15m\nNh\tN hours\t1h, 2h\nN\tN minutes (default)\t5 = 5 minutes\nMM:SS\tMinutes and seconds\t5:30\nHH:MM:SS\tHours, minutes, seconds\t1:30:00\n⚠️ CRITICAL: Timer Completion Notification\n\nWhen a timer completes, you receive a System: message like:\n\nSystem: [2026-01-24 21:27:13] Exec completed (swift-me, code 0) :: ⏰ Timer complete! Check the pasta!\n\n❌ WRONG - Do NOT respond like this:\nHEARTBEAT_OK\n\n🎉 Your timer is complete! Check the pasta!\n\n\nThis response will be filtered and NOT delivered to the user!\n\n✅ CORRECT - Respond like this:\n⏰ Timer Alert! Your timer is complete: Check the pasta!\n\n\nStart directly with the notification message. Do NOT include HEARTBEAT_OK.\n\nWhy? Responses starting with HEARTBEAT_OK followed by less than 300 characters are automatically suppressed and never reach the user. Your timer notification will be lost!\n\nExamples\nCooking Timer\nbash background:true command:\"node {baseDir}/timer.js 12m 'Pasta is ready!'\"\n\n\nWhen complete, respond: \"⏰ Your 12-minute timer is up! Pasta is ready!\"\n\nQuick Reminder\nbash background:true command:\"node {baseDir}/timer.js 2m 'Take a break'\"\n\nPomodoro Session\n# Work session\nbash background:true command:\"node {baseDir}/timer.js 25m 'Pomodoro done - time for a break!'\"\n# After user is notified...\n# Break\nbash background:true command:\"node {baseDir}/timer.js 5m 'Break over - back to work!'\"\n\nMultiple Timers\nbash background:true command:\"node {baseDir}/timer.js 5m 'Tea is ready'\"\nbash background:true command:\"node {baseDir}/timer.js 10m 'Eggs are done'\"\nbash background:true command:\"node {baseDir}/timer.js 30m 'Meeting starts soon'\"\n\nManaging Timers\n# List all running timers\nprocess action:list\n\n# Check specific timer status\nprocess action:poll sessionId:XXX\n\n# View timer output\nprocess action:log sessionId:XXX\n\n# Cancel a timer\nprocess action:kill sessionId:XXX\n\nNotes\nTimers run as background processes with unique sessionIds\nCompleted timers exit with code 0\nCancelled timers (via kill) exit with code 130\nSound notification plays on macOS when timer completes (if afplay available)\nProgress is logged every second (short timers) or every 10 seconds (long timers)"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/hisxo/timer",
    "publisherUrl": "https://clawhub.ai/hisxo/timer",
    "owner": "hisxo",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/timer",
    "downloadUrl": "https://openagent3.xyz/downloads/timer",
    "agentUrl": "https://openagent3.xyz/skills/timer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/timer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/timer/agent.md"
  }
}