{
  "schemaVersion": "1.0",
  "item": {
    "slug": "truetime",
    "name": "TrueTime",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/cccat6/truetime",
    "canonicalUrl": "https://clawhub.ai/cccat6/truetime",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/truetime",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=truetime",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "scripts/true_time.mjs",
      "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",
      "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/truetime"
    },
    "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/truetime",
    "agentPageUrl": "https://openagent3.xyz/skills/truetime/agent",
    "manifestUrl": "https://openagent3.xyz/skills/truetime/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/truetime/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": "TrueTime",
        "body": "Use this skill to avoid time mistakes caused by stale examples, wrong units, timezone drift, or DST confusion."
      },
      {
        "title": "Non-Negotiable Rules",
        "body": "Treat user-provided duration values as authoritative.\nNever copy numeric values from examples into real execution.\nRead current time from the runtime clock before calculating.\nCompute canonical target time in UTC first.\nConvert for display second (server timezone, user timezone, other timezone).\nAsk for clarification when timezone context is missing and outcome can change."
      },
      {
        "title": "Required Workflow",
        "body": "Extract timing intent exactly.\n\nCapture literal phrase, value, unit, timezone hint, and target date/time.\nKeep the original requested value unchanged (for example 1 minute stays 1 minute).\n\n\nRead current real time.\n\nUse the bundled script for deterministic calculations:\n\nRelative: node {baseDir}/scripts/true_time.mjs --plus 1m --user-tz Asia/Shanghai\nRelative (calendar units): node {baseDir}/scripts/true_time.mjs --plus 1month2weeks --user-tz America/New_York --calendar-tz America/New_York\nAbsolute: node {baseDir}/scripts/true_time.mjs --target 2026-02-17T09:30:00 --target-tz Asia/Shanghai --user-tz America/Los_Angeles\nNTP time source: node {baseDir}/scripts/true_time.mjs --plus 1h --time-source ntp\n\n\n\n\nParse the expression into one precise delta or one precise absolute timestamp.\nCompute UTC target first.\nConvert UTC target to server/user/other requested timezone for presentation.\nVerify the result before execution.\n\nConfirm target_utc - now_utc equals requested delta.\nConfirm timezone offset conversion is consistent.\n\n\nExecute schedules using UTC unless the target scheduler explicitly needs local timezone.\nReport both absolute and relative interpretation in the final response."
      },
      {
        "title": "Relative Time Guardrails",
        "body": "Accept explicit units only:\n\nmilliseconds: ms, msec, msecs, millisecond, milliseconds\nseconds: s, sec, second, seconds\nminutes: m, min, minute, minutes\nhours: h, hr, hour, hours\ndays: d, day, days\nweeks: w, week, weeks\nmonths: mo, mon, month, months\nyears: y, yr, year, years\ndecades: decade, decades\ncenturies: century, centuries\n\n\nReject ambiguous units instead of guessing.\nAll units support decimal values, including calendar units.\n\nExamples: 1.5m, 0.25h, 2.5day, 250.5ms, 1.5month, 0.1year, 0.5decade, 0.01century.\nDecimal separator . is preferred; , is accepted as input and normalized.\n\n\nFixed-unit decimals are computed to millisecond precision.\nCalendar-unit policy:\n\nmonth/year/decade/century are calendar-aware, not fixed seconds.\nCalendar arithmetic uses --calendar-tz (fallback: user timezone -> server timezone).\nDecimal calendar values are split into integer and fractional parts.\nInteger months use calendar shift; fractional months use the shifted month length to compute milliseconds.\nEnd-of-month handling clamps to the last valid day (for example Jan 31 + 1 month -> Feb 28/29).\n\n\nKeep verification examples explicit:\n\n1.5m = 90s\n250ms = 0.25s\n1m = 60s\n1h30m = 5400s\n2d = 172800s\n1.5year = 18 months\n1decade = 10 years\n0.5decade = 5 years\n1century = 100 years\n0.01century = 1 year"
      },
      {
        "title": "Absolute Time Guardrails",
        "body": "Prefer IANA timezone names (Asia/Shanghai, America/Los_Angeles, UTC).\nAvoid ambiguous abbreviations (CST, IST) unless user confirms meaning.\nIf user gives a naive datetime with no timezone, ask once or apply an explicit assumption.\nFor DST transition windows, state that the chosen timezone rules were applied."
      },
      {
        "title": "Timezone Catalog and Customization",
        "body": "List all available runtime timezones:\n\nnode {baseDir}/scripts/true_time.mjs --list-timezones\n\n\nFilter common choices quickly:\n\nnode {baseDir}/scripts/true_time.mjs --list-timezones | rg -i '^(UTC|Asia/(Shanghai|Tokyo|Kolkata)|America/(Los_Angeles|New_York)|Europe/(London|Paris|Berlin))$'\n\n\nUser custom timezone:\n\nAccept any valid IANA timezone from --list-timezones.\nPass user timezone via --user-tz <IANA>.\nIf user timezone is unknown, ask before executing time-sensitive actions.\n\nCommon timezones to use in examples and user-facing confirmations:\n\nUTC (no DST)\nAsia/Shanghai (Beijing time, UTC+08:00, no DST)\nAsia/Tokyo (Tokyo time, UTC+09:00, no DST)\nAsia/Kolkata (India time, UTC+05:30, no DST)\nAmerica/Los_Angeles (US West: PST UTC-08:00 / PDT UTC-07:00, DST applies)\nAmerica/New_York (US East: EST UTC-05:00 / EDT UTC-04:00, DST applies)\nAmerica/Chicago (US Central: CST UTC-06:00 / CDT UTC-05:00, DST applies)\nAmerica/Denver (US Mountain: MST UTC-07:00 / MDT UTC-06:00, DST applies)\nAmerica/Phoenix (Arizona: MST UTC-07:00, typically no DST)\nAmerica/Anchorage (Alaska: AKST UTC-09:00 / AKDT UTC-08:00, DST applies)\nPacific/Honolulu (Hawaii: HST UTC-10:00, no DST)\nEurope/London (UK: GMT UTC+00:00 / BST UTC+01:00, DST applies)\nEurope/Paris (CET UTC+01:00 / CEST UTC+02:00, DST applies)\nEurope/Berlin (CET UTC+01:00 / CEST UTC+02:00, DST applies)\nEurope/Amsterdam (CET UTC+01:00 / CEST UTC+02:00, DST applies)"
      },
      {
        "title": "DST and Standard-Time Rules",
        "body": "Never assume fixed offsets for DST regions (America/*, many Europe/*).\nAlways compute with the actual target date, not \"current offset.\"\nFor DST fall-back overlaps (ambiguous local time), require explicit offset:\n\n2026-11-01T01:30:00 in America/Los_Angeles is ambiguous.\nAsk user to choose -07:00 (before fallback) or -08:00 (after fallback), or provide explicit offset in --target.\n\n\nFor DST spring-forward gaps (invalid local time), require correction:\n\n2026-03-08T02:30:00 in America/Los_Angeles does not exist.\nAsk user to use a valid local time (for example 01:30 or 03:30).\n\n\nPrefer explicit-offset absolute targets when DST risk is high:\n\n--target 2026-11-01T01:30:00-07:00\n--target 2026-11-01T01:30:00-08:00"
      },
      {
        "title": "Chinese Lunar Calendar",
        "body": "This tool outputs Chinese lunar datetime fields by default:\n\nlunar_timezone (default Asia/Shanghai, configurable via --lunar-tz)\nnow_lunar\ntarget_lunar\n\n\nUse these fields when the user asks for Chinese lunar context.\nFor execution/scheduling, still use Gregorian UTC fields as canonical.\nIf a user gives only lunar date text and no Gregorian equivalent, ask for confirmation or a Gregorian target before execution."
      },
      {
        "title": "Time Source Policy (Server vs NTP)",
        "body": "Default time source is server clock (--time-source server).\nIf user explicitly requests \"do not use server time\", switch to public NTP:\n\n--time-source ntp\n\n\nOptional NTP controls:\n\n--ntp-server <host> (repeatable or comma-separated)\n--ntp-timeout-ms <ms>\n\n\nNTP mode example:\n\nnode {baseDir}/scripts/true_time.mjs --plus 30m --time-source ntp --ntp-server time.google.com\n\n\nIf all NTP servers fail, stop and report failure instead of silently falling back to server time."
      },
      {
        "title": "Mandatory Integration Points",
        "body": "Use TrueTime calculations before any of the following:\n\nCron operations (cron add, cron update, cron wake, cron run) when time or schedule is involved.\nCalendar operations (create/update events, convert invite times, multi-timezone meeting planning).\nReminder operations (in X minutes/hours, tomorrow at HH:mm, next weekday, repeating reminders).\nPlanning tasks that include ETA, deadline conversion, or cross-timezone commitments."
      },
      {
        "title": "Server Execution Policy",
        "body": "Persist canonical time as UTC (target_utc_iso and optionally epoch seconds).\nInclude human-facing fields for user timezone and server timezone.\nIf the scheduler supports timezone-aware execution, pass timezone explicitly.\nIf the scheduler only accepts UTC, keep execution in UTC and show converted local preview.\nRuntime note: this skill's helper script uses Node (node .../true_time.mjs).\nSandbox note: default openclaw-sandbox:bookworm-slim may not include Node; use openclaw-sandbox-common:bookworm-slim or install Node in agents.defaults.sandbox.docker.setupCommand."
      },
      {
        "title": "High-Frequency Examples",
        "body": "Relative calculations:\n\nBeijing time, 1 minute later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1m --user-tz Asia/Shanghai\n\n\nBeijing time, 1.5 minutes later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1.5m --user-tz Asia/Shanghai\n\n\nTokyo time, 250.5 milliseconds later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 250.5ms --user-tz Asia/Tokyo\n\n\nTokyo time, 90 minutes later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1h30m --user-tz Asia/Tokyo\n\n\nUS West time, 2 hours later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 2h --user-tz America/Los_Angeles\n\n\nUS East time, 45 minutes later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 45m --user-tz America/New_York\n\n\nIndia time, 1 day later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1d --user-tz Asia/Kolkata\n\n\nUS Central, 1 month later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1month --user-tz America/Chicago --calendar-tz America/Chicago\n\n\nUS Central, 1.5 months later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1.5month --user-tz America/Chicago --calendar-tz America/Chicago\n\n\nUS Mountain, 1 year later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1year --user-tz America/Denver --calendar-tz America/Denver\n\n\nUS Mountain, 0.1 years later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 0.1year --user-tz America/Denver --calendar-tz America/Denver\n\n\nHawaii, 1 decade later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1decade --user-tz Pacific/Honolulu --calendar-tz Pacific/Honolulu\n\n\nHawaii, 0.5 decades later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 0.5decade --user-tz Pacific/Honolulu --calendar-tz Pacific/Honolulu\n\n\nUTC, 1 century later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 1century --user-tz UTC --calendar-tz UTC\n\n\nUTC, 0.01 centuries later:\n\nnode {baseDir}/scripts/true_time.mjs --plus 0.01century --user-tz UTC --calendar-tz UTC\n\nAbsolute and cross-timezone calculations:\n\nBeijing local absolute time:\n\nnode {baseDir}/scripts/true_time.mjs --target 2026-02-18T09:00:00 --target-tz Asia/Shanghai --user-tz Asia/Shanghai\n\n\nLondon meeting shown to US East:\n\nnode {baseDir}/scripts/true_time.mjs --target 2026-05-20T14:00:00 --target-tz Europe/London --user-tz America/New_York\n\n\nUTC target shown to Europe/Berlin:\n\nnode {baseDir}/scripts/true_time.mjs --target 2026-04-15T16:00:00Z --user-tz Europe/Berlin\n\n\nDST ambiguity resolved by explicit offset:\n\nnode {baseDir}/scripts/true_time.mjs --target 2026-11-01T01:30:00-07:00 --user-tz America/Los_Angeles\nnode {baseDir}/scripts/true_time.mjs --target 2026-11-01T01:30:00-08:00 --user-tz America/Los_Angeles\n\n\nNTP-based reminder time:\n\nnode {baseDir}/scripts/true_time.mjs --plus 15m --time-source ntp --user-tz Asia/Shanghai"
      },
      {
        "title": "Output Contract",
        "body": "When sending or scheduling time-sensitive actions, always include:\n\nnow_utc\ntarget_utc\ntarget_user_tz (if known)\ntarget_server_tz\ndelta_milliseconds\ndelta_seconds\ntime_source (server | ntp | override)\nntp_server (when time_source=ntp)\nnow_lunar\ntarget_lunar\nassumptions (if any)\n\nDo not continue with execution when any required field is unknown and may change the target time materially."
      }
    ],
    "body": "TrueTime\n\nUse this skill to avoid time mistakes caused by stale examples, wrong units, timezone drift, or DST confusion.\n\nNon-Negotiable Rules\nTreat user-provided duration values as authoritative.\nNever copy numeric values from examples into real execution.\nRead current time from the runtime clock before calculating.\nCompute canonical target time in UTC first.\nConvert for display second (server timezone, user timezone, other timezone).\nAsk for clarification when timezone context is missing and outcome can change.\nRequired Workflow\nExtract timing intent exactly.\nCapture literal phrase, value, unit, timezone hint, and target date/time.\nKeep the original requested value unchanged (for example 1 minute stays 1 minute).\nRead current real time.\nUse the bundled script for deterministic calculations:\nRelative: node {baseDir}/scripts/true_time.mjs --plus 1m --user-tz Asia/Shanghai\nRelative (calendar units): node {baseDir}/scripts/true_time.mjs --plus 1month2weeks --user-tz America/New_York --calendar-tz America/New_York\nAbsolute: node {baseDir}/scripts/true_time.mjs --target 2026-02-17T09:30:00 --target-tz Asia/Shanghai --user-tz America/Los_Angeles\nNTP time source: node {baseDir}/scripts/true_time.mjs --plus 1h --time-source ntp\nParse the expression into one precise delta or one precise absolute timestamp.\nCompute UTC target first.\nConvert UTC target to server/user/other requested timezone for presentation.\nVerify the result before execution.\nConfirm target_utc - now_utc equals requested delta.\nConfirm timezone offset conversion is consistent.\nExecute schedules using UTC unless the target scheduler explicitly needs local timezone.\nReport both absolute and relative interpretation in the final response.\nRelative Time Guardrails\nAccept explicit units only:\nmilliseconds: ms, msec, msecs, millisecond, milliseconds\nseconds: s, sec, second, seconds\nminutes: m, min, minute, minutes\nhours: h, hr, hour, hours\ndays: d, day, days\nweeks: w, week, weeks\nmonths: mo, mon, month, months\nyears: y, yr, year, years\ndecades: decade, decades\ncenturies: century, centuries\nReject ambiguous units instead of guessing.\nAll units support decimal values, including calendar units.\nExamples: 1.5m, 0.25h, 2.5day, 250.5ms, 1.5month, 0.1year, 0.5decade, 0.01century.\nDecimal separator . is preferred; , is accepted as input and normalized.\nFixed-unit decimals are computed to millisecond precision.\nCalendar-unit policy:\nmonth/year/decade/century are calendar-aware, not fixed seconds.\nCalendar arithmetic uses --calendar-tz (fallback: user timezone -> server timezone).\nDecimal calendar values are split into integer and fractional parts.\nInteger months use calendar shift; fractional months use the shifted month length to compute milliseconds.\nEnd-of-month handling clamps to the last valid day (for example Jan 31 + 1 month -> Feb 28/29).\nKeep verification examples explicit:\n1.5m = 90s\n250ms = 0.25s\n1m = 60s\n1h30m = 5400s\n2d = 172800s\n1.5year = 18 months\n1decade = 10 years\n0.5decade = 5 years\n1century = 100 years\n0.01century = 1 year\nAbsolute Time Guardrails\nPrefer IANA timezone names (Asia/Shanghai, America/Los_Angeles, UTC).\nAvoid ambiguous abbreviations (CST, IST) unless user confirms meaning.\nIf user gives a naive datetime with no timezone, ask once or apply an explicit assumption.\nFor DST transition windows, state that the chosen timezone rules were applied.\nTimezone Catalog and Customization\nList all available runtime timezones:\nnode {baseDir}/scripts/true_time.mjs --list-timezones\nFilter common choices quickly:\nnode {baseDir}/scripts/true_time.mjs --list-timezones | rg -i '^(UTC|Asia/(Shanghai|Tokyo|Kolkata)|America/(Los_Angeles|New_York)|Europe/(London|Paris|Berlin))$'\nUser custom timezone:\nAccept any valid IANA timezone from --list-timezones.\nPass user timezone via --user-tz <IANA>.\nIf user timezone is unknown, ask before executing time-sensitive actions.\n\nCommon timezones to use in examples and user-facing confirmations:\n\nUTC (no DST)\nAsia/Shanghai (Beijing time, UTC+08:00, no DST)\nAsia/Tokyo (Tokyo time, UTC+09:00, no DST)\nAsia/Kolkata (India time, UTC+05:30, no DST)\nAmerica/Los_Angeles (US West: PST UTC-08:00 / PDT UTC-07:00, DST applies)\nAmerica/New_York (US East: EST UTC-05:00 / EDT UTC-04:00, DST applies)\nAmerica/Chicago (US Central: CST UTC-06:00 / CDT UTC-05:00, DST applies)\nAmerica/Denver (US Mountain: MST UTC-07:00 / MDT UTC-06:00, DST applies)\nAmerica/Phoenix (Arizona: MST UTC-07:00, typically no DST)\nAmerica/Anchorage (Alaska: AKST UTC-09:00 / AKDT UTC-08:00, DST applies)\nPacific/Honolulu (Hawaii: HST UTC-10:00, no DST)\nEurope/London (UK: GMT UTC+00:00 / BST UTC+01:00, DST applies)\nEurope/Paris (CET UTC+01:00 / CEST UTC+02:00, DST applies)\nEurope/Berlin (CET UTC+01:00 / CEST UTC+02:00, DST applies)\nEurope/Amsterdam (CET UTC+01:00 / CEST UTC+02:00, DST applies)\nDST and Standard-Time Rules\nNever assume fixed offsets for DST regions (America/*, many Europe/*).\nAlways compute with the actual target date, not \"current offset.\"\nFor DST fall-back overlaps (ambiguous local time), require explicit offset:\n2026-11-01T01:30:00 in America/Los_Angeles is ambiguous.\nAsk user to choose -07:00 (before fallback) or -08:00 (after fallback), or provide explicit offset in --target.\nFor DST spring-forward gaps (invalid local time), require correction:\n2026-03-08T02:30:00 in America/Los_Angeles does not exist.\nAsk user to use a valid local time (for example 01:30 or 03:30).\nPrefer explicit-offset absolute targets when DST risk is high:\n--target 2026-11-01T01:30:00-07:00\n--target 2026-11-01T01:30:00-08:00\nChinese Lunar Calendar\nThis tool outputs Chinese lunar datetime fields by default:\nlunar_timezone (default Asia/Shanghai, configurable via --lunar-tz)\nnow_lunar\ntarget_lunar\nUse these fields when the user asks for Chinese lunar context.\nFor execution/scheduling, still use Gregorian UTC fields as canonical.\nIf a user gives only lunar date text and no Gregorian equivalent, ask for confirmation or a Gregorian target before execution.\nTime Source Policy (Server vs NTP)\nDefault time source is server clock (--time-source server).\nIf user explicitly requests \"do not use server time\", switch to public NTP:\n--time-source ntp\nOptional NTP controls:\n--ntp-server <host> (repeatable or comma-separated)\n--ntp-timeout-ms <ms>\nNTP mode example:\nnode {baseDir}/scripts/true_time.mjs --plus 30m --time-source ntp --ntp-server time.google.com\nIf all NTP servers fail, stop and report failure instead of silently falling back to server time.\nMandatory Integration Points\n\nUse TrueTime calculations before any of the following:\n\nCron operations (cron add, cron update, cron wake, cron run) when time or schedule is involved.\nCalendar operations (create/update events, convert invite times, multi-timezone meeting planning).\nReminder operations (in X minutes/hours, tomorrow at HH:mm, next weekday, repeating reminders).\nPlanning tasks that include ETA, deadline conversion, or cross-timezone commitments.\nServer Execution Policy\nPersist canonical time as UTC (target_utc_iso and optionally epoch seconds).\nInclude human-facing fields for user timezone and server timezone.\nIf the scheduler supports timezone-aware execution, pass timezone explicitly.\nIf the scheduler only accepts UTC, keep execution in UTC and show converted local preview.\nRuntime note: this skill's helper script uses Node (node .../true_time.mjs).\nSandbox note: default openclaw-sandbox:bookworm-slim may not include Node; use openclaw-sandbox-common:bookworm-slim or install Node in agents.defaults.sandbox.docker.setupCommand.\nHigh-Frequency Examples\n\nRelative calculations:\n\nBeijing time, 1 minute later:\nnode {baseDir}/scripts/true_time.mjs --plus 1m --user-tz Asia/Shanghai\nBeijing time, 1.5 minutes later:\nnode {baseDir}/scripts/true_time.mjs --plus 1.5m --user-tz Asia/Shanghai\nTokyo time, 250.5 milliseconds later:\nnode {baseDir}/scripts/true_time.mjs --plus 250.5ms --user-tz Asia/Tokyo\nTokyo time, 90 minutes later:\nnode {baseDir}/scripts/true_time.mjs --plus 1h30m --user-tz Asia/Tokyo\nUS West time, 2 hours later:\nnode {baseDir}/scripts/true_time.mjs --plus 2h --user-tz America/Los_Angeles\nUS East time, 45 minutes later:\nnode {baseDir}/scripts/true_time.mjs --plus 45m --user-tz America/New_York\nIndia time, 1 day later:\nnode {baseDir}/scripts/true_time.mjs --plus 1d --user-tz Asia/Kolkata\nUS Central, 1 month later:\nnode {baseDir}/scripts/true_time.mjs --plus 1month --user-tz America/Chicago --calendar-tz America/Chicago\nUS Central, 1.5 months later:\nnode {baseDir}/scripts/true_time.mjs --plus 1.5month --user-tz America/Chicago --calendar-tz America/Chicago\nUS Mountain, 1 year later:\nnode {baseDir}/scripts/true_time.mjs --plus 1year --user-tz America/Denver --calendar-tz America/Denver\nUS Mountain, 0.1 years later:\nnode {baseDir}/scripts/true_time.mjs --plus 0.1year --user-tz America/Denver --calendar-tz America/Denver\nHawaii, 1 decade later:\nnode {baseDir}/scripts/true_time.mjs --plus 1decade --user-tz Pacific/Honolulu --calendar-tz Pacific/Honolulu\nHawaii, 0.5 decades later:\nnode {baseDir}/scripts/true_time.mjs --plus 0.5decade --user-tz Pacific/Honolulu --calendar-tz Pacific/Honolulu\nUTC, 1 century later:\nnode {baseDir}/scripts/true_time.mjs --plus 1century --user-tz UTC --calendar-tz UTC\nUTC, 0.01 centuries later:\nnode {baseDir}/scripts/true_time.mjs --plus 0.01century --user-tz UTC --calendar-tz UTC\n\nAbsolute and cross-timezone calculations:\n\nBeijing local absolute time:\nnode {baseDir}/scripts/true_time.mjs --target 2026-02-18T09:00:00 --target-tz Asia/Shanghai --user-tz Asia/Shanghai\nLondon meeting shown to US East:\nnode {baseDir}/scripts/true_time.mjs --target 2026-05-20T14:00:00 --target-tz Europe/London --user-tz America/New_York\nUTC target shown to Europe/Berlin:\nnode {baseDir}/scripts/true_time.mjs --target 2026-04-15T16:00:00Z --user-tz Europe/Berlin\nDST ambiguity resolved by explicit offset:\nnode {baseDir}/scripts/true_time.mjs --target 2026-11-01T01:30:00-07:00 --user-tz America/Los_Angeles\nnode {baseDir}/scripts/true_time.mjs --target 2026-11-01T01:30:00-08:00 --user-tz America/Los_Angeles\nNTP-based reminder time:\nnode {baseDir}/scripts/true_time.mjs --plus 15m --time-source ntp --user-tz Asia/Shanghai\nOutput Contract\n\nWhen sending or scheduling time-sensitive actions, always include:\n\nnow_utc\ntarget_utc\ntarget_user_tz (if known)\ntarget_server_tz\ndelta_milliseconds\ndelta_seconds\ntime_source (server | ntp | override)\nntp_server (when time_source=ntp)\nnow_lunar\ntarget_lunar\nassumptions (if any)\n\nDo not continue with execution when any required field is unknown and may change the target time materially."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/cccat6/truetime",
    "publisherUrl": "https://clawhub.ai/cccat6/truetime",
    "owner": "cccat6",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/truetime",
    "downloadUrl": "https://openagent3.xyz/downloads/truetime",
    "agentUrl": "https://openagent3.xyz/skills/truetime/agent",
    "manifestUrl": "https://openagent3.xyz/skills/truetime/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/truetime/agent.md"
  }
}