{
  "schemaVersion": "1.0",
  "item": {
    "slug": "heartbeat",
    "name": "Heartbeat",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/ivangdavila/heartbeat",
    "canonicalUrl": "https://clawhub.ai/ivangdavila/heartbeat",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/heartbeat",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=heartbeat",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "heartbeat-template.md",
      "intervals.md",
      "memory-template.md",
      "qa-checklist.md",
      "setup.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",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.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/heartbeat"
    },
    "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/heartbeat",
    "agentPageUrl": "https://openagent3.xyz/skills/heartbeat/agent",
    "manifestUrl": "https://openagent3.xyz/skills/heartbeat/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/heartbeat/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": "Heartbeat 💓",
        "body": "Build reliable heartbeat playbooks for OpenClaw agents without noisy checks, missed signals, or runaway costs."
      },
      {
        "title": "Setup",
        "body": "On first use, follow setup.md to capture timezone, active hours, precision needs, and risk tolerance."
      },
      {
        "title": "When to Use",
        "body": "User wants a better heartbeat file in OpenClaw. Agent audits current heartbeat behavior, designs a safer file, and tunes intervals using real workflow constraints.\n\nUse this for adaptive monitoring, proactive check-ins, and hybrid heartbeat plus cron strategies."
      },
      {
        "title": "Architecture",
        "body": "Memory lives in ~/heartbeat/. See memory-template.md for the structure and fields.\n\n~/heartbeat/\n├── memory.md              # Preferences, cadence profile, and last tuning decisions\n├── drafts/                # Candidate heartbeat variants\n└── snapshots/             # Previous heartbeat versions for rollback"
      },
      {
        "title": "Quick Reference",
        "body": "TopicFileSetup interviewsetup.mdMemory schemamemory-template.mdProduction heartbeat templateheartbeat-template.mdPractical heartbeat use casesuse-cases.mdInterval strategy referenceintervals.mdTrigger strategy referencetriggers.mdValidation checklist before shippingqa-checklist.mdInternet research sourcessources.md"
      },
      {
        "title": "1. Scope the heartbeat before writing anything",
        "body": "Define one mission sentence and 1-3 monitored signals first.\n\nIf scope is broad, split into explicit sections (critical, important, nice-to-have) and only automate the first two."
      },
      {
        "title": "2. Keep output contract strict",
        "body": "If nothing actionable is found, heartbeat must return exactly HEARTBEAT_OK.\n\nDo not emit summaries on empty cycles. This prevents noisy loops and keeps heartbeat cheap."
      },
      {
        "title": "3. Tune cadence with timezone and active hours",
        "body": "Start from OpenClaw defaults and adapt: use a moderate baseline interval, then tighten only during active windows.\n\nAlways encode timezone and active hours in the heartbeat file to avoid waking during sleep hours."
      },
      {
        "title": "4. Use cron for exact timing, heartbeat for adaptive timing",
        "body": "If a task must run at exact wall-clock times, move it to cron.\n\nIf a task should react to changing context or event probability, keep it in heartbeat."
      },
      {
        "title": "5. Add cost guards to every expensive check",
        "body": "Use a two-stage pattern: cheap precheck first, expensive action only on threshold hit.\n\nNever call paid APIs on every heartbeat cycle unless the user explicitly accepts the cost."
      },
      {
        "title": "6. Define escalation and cooldown rules",
        "body": "Each alert condition must have trigger threshold, escalation route, and cooldown period.\n\nNo escalation path means no alert. No cooldown means likely alert spam."
      },
      {
        "title": "7. Validate with dry runs and rollback path",
        "body": "Before finalizing, run at least one dry simulation against the checklist in qa-checklist.md.\n\nKeep a snapshot of the previous heartbeat so the user can rollback in one step."
      },
      {
        "title": "Common Traps",
        "body": "Polling everything every cycle -> high token/API burn with low signal quality.\nUsing heartbeat for exact 09:00 jobs -> drift and missed exact-time expectations.\nMissing timezone in heartbeat config -> notifications at the wrong local time.\nNo active-hours filter -> overnight wakeups and user fatigue.\nNo HEARTBEAT_OK fallback -> verbose no-op loops.\nNo cooldown on alerts -> duplicate escalations during noisy incidents."
      },
      {
        "title": "Security & Privacy",
        "body": "Data that stays local:\n\nHeartbeat preferences and tuning notes in ~/heartbeat/\nDraft and snapshot files for heartbeat definitions\n\nThis skill does NOT:\n\nRequire credentials by default\nTrigger external APIs without user-approved instructions\nEdit unrelated files outside the heartbeat workflow"
      },
      {
        "title": "Related Skills",
        "body": "Install with clawhub install <slug> if user confirms:\n\nschedule - Scheduling patterns for recurring workflows\nmonitoring - Monitoring strategies and alert design\nalerts - Alert routing and escalation hygiene\nworkflow - Multi-step workflow orchestration\ncopilot - Proactive assistant patterns with controlled autonomy"
      },
      {
        "title": "Feedback",
        "body": "If useful: clawhub star heartbeat\nStay updated: clawhub sync"
      }
    ],
    "body": "Heartbeat 💓\n\nBuild reliable heartbeat playbooks for OpenClaw agents without noisy checks, missed signals, or runaway costs.\n\nSetup\n\nOn first use, follow setup.md to capture timezone, active hours, precision needs, and risk tolerance.\n\nWhen to Use\n\nUser wants a better heartbeat file in OpenClaw. Agent audits current heartbeat behavior, designs a safer file, and tunes intervals using real workflow constraints.\n\nUse this for adaptive monitoring, proactive check-ins, and hybrid heartbeat plus cron strategies.\n\nArchitecture\n\nMemory lives in ~/heartbeat/. See memory-template.md for the structure and fields.\n\n~/heartbeat/\n├── memory.md              # Preferences, cadence profile, and last tuning decisions\n├── drafts/                # Candidate heartbeat variants\n└── snapshots/             # Previous heartbeat versions for rollback\n\nQuick Reference\nTopic\tFile\nSetup interview\tsetup.md\nMemory schema\tmemory-template.md\nProduction heartbeat template\theartbeat-template.md\nPractical heartbeat use cases\tuse-cases.md\nInterval strategy reference\tintervals.md\nTrigger strategy reference\ttriggers.md\nValidation checklist before shipping\tqa-checklist.md\nInternet research sources\tsources.md\nCore Rules\n1. Scope the heartbeat before writing anything\n\nDefine one mission sentence and 1-3 monitored signals first.\n\nIf scope is broad, split into explicit sections (critical, important, nice-to-have) and only automate the first two.\n\n2. Keep output contract strict\n\nIf nothing actionable is found, heartbeat must return exactly HEARTBEAT_OK.\n\nDo not emit summaries on empty cycles. This prevents noisy loops and keeps heartbeat cheap.\n\n3. Tune cadence with timezone and active hours\n\nStart from OpenClaw defaults and adapt: use a moderate baseline interval, then tighten only during active windows.\n\nAlways encode timezone and active hours in the heartbeat file to avoid waking during sleep hours.\n\n4. Use cron for exact timing, heartbeat for adaptive timing\n\nIf a task must run at exact wall-clock times, move it to cron.\n\nIf a task should react to changing context or event probability, keep it in heartbeat.\n\n5. Add cost guards to every expensive check\n\nUse a two-stage pattern: cheap precheck first, expensive action only on threshold hit.\n\nNever call paid APIs on every heartbeat cycle unless the user explicitly accepts the cost.\n\n6. Define escalation and cooldown rules\n\nEach alert condition must have trigger threshold, escalation route, and cooldown period.\n\nNo escalation path means no alert. No cooldown means likely alert spam.\n\n7. Validate with dry runs and rollback path\n\nBefore finalizing, run at least one dry simulation against the checklist in qa-checklist.md.\n\nKeep a snapshot of the previous heartbeat so the user can rollback in one step.\n\nCommon Traps\nPolling everything every cycle -> high token/API burn with low signal quality.\nUsing heartbeat for exact 09:00 jobs -> drift and missed exact-time expectations.\nMissing timezone in heartbeat config -> notifications at the wrong local time.\nNo active-hours filter -> overnight wakeups and user fatigue.\nNo HEARTBEAT_OK fallback -> verbose no-op loops.\nNo cooldown on alerts -> duplicate escalations during noisy incidents.\nSecurity & Privacy\n\nData that stays local:\n\nHeartbeat preferences and tuning notes in ~/heartbeat/\nDraft and snapshot files for heartbeat definitions\n\nThis skill does NOT:\n\nRequire credentials by default\nTrigger external APIs without user-approved instructions\nEdit unrelated files outside the heartbeat workflow\nRelated Skills\n\nInstall with clawhub install <slug> if user confirms:\n\nschedule - Scheduling patterns for recurring workflows\nmonitoring - Monitoring strategies and alert design\nalerts - Alert routing and escalation hygiene\nworkflow - Multi-step workflow orchestration\ncopilot - Proactive assistant patterns with controlled autonomy\nFeedback\nIf useful: clawhub star heartbeat\nStay updated: clawhub sync"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ivangdavila/heartbeat",
    "publisherUrl": "https://clawhub.ai/ivangdavila/heartbeat",
    "owner": "ivangdavila",
    "version": "1.0.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/heartbeat",
    "downloadUrl": "https://openagent3.xyz/downloads/heartbeat",
    "agentUrl": "https://openagent3.xyz/skills/heartbeat/agent",
    "manifestUrl": "https://openagent3.xyz/skills/heartbeat/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/heartbeat/agent.md"
  }
}