{
  "schemaVersion": "1.0",
  "item": {
    "slug": "cron-worker-guardrails",
    "name": "Cron Worker Guardrails",
    "source": "tencent",
    "type": "skill",
    "category": "安全合规",
    "sourceUrl": "https://clawhub.ai/phenomenoner/cron-worker-guardrails",
    "canonicalUrl": "https://clawhub.ai/phenomenoner/cron-worker-guardrails",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/cron-worker-guardrails",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=cron-worker-guardrails",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/cron-agent-contract.md",
      "references/pitfalls.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-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/cron-worker-guardrails"
    },
    "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/cron-worker-guardrails",
    "agentPageUrl": "https://openagent3.xyz/skills/cron-worker-guardrails/agent",
    "manifestUrl": "https://openagent3.xyz/skills/cron-worker-guardrails/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/cron-worker-guardrails/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": "Cron Worker Guardrails (POSIX)",
        "body": "A reliability-first checklist for OpenClaw cron workers and any unattended automation."
      },
      {
        "title": "Scope (important)",
        "body": "This skill is POSIX-focused (bash/sh examples).\nThe principles are portable, but if you're on Windows/PowerShell you'll need equivalent patterns."
      },
      {
        "title": "The NO_REPLY convention",
        "body": "Many OpenClaw setups treat emitting exactly NO_REPLY as \"silent success\" (no human notification).\n\nIf your runtime does not support NO_REPLY, interpret it as: print nothing on success."
      },
      {
        "title": "Quick Start",
        "body": "Scripts-first: move logic into a repo script (recommended: tools/<job>.py or tools/<job>.sh).\nOne command in cron: cron should run one short command (no multi-line bash -lc '...').\nDeterministic cwd/env: cd to the repo (or have the script do it), and document required env vars.\nSilent on success: print nothing (or exactly NO_REPLY) when OK; only emit a short alert when broken.\n\nAlso see:\n\nreferences/cron-agent-contract.md\nreferences/pitfalls.md"
      },
      {
        "title": "Why this skill exists",
        "body": "Cron failures are rarely \"logic bugs\". In practice they're often:\n\nbrittle shell quoting (bash -lc '...' nested quotes)\ncommand substitution surprises ($(...))\none-liners that hide escaping bugs (python -c \"...\")\ncwd/env drift (\"works locally, fails in cron\")\npipelines that fail for the wrong reason (pipefail + head / SIGPIPE)\n\nThe fix is boring but effective: scripts-first + deterministic execution + silent-on-success."
      },
      {
        "title": "Portability rules (still apply)",
        "body": "Even on POSIX, do not hardcode deployment-specific absolute paths tied to one machine.\n\nPrefer:\n\nrepo-relative paths\nenvironment variables you document\nminimal wrappers that cd into the repo"
      },
      {
        "title": "1) unexpected EOF while looking for matching ')'",
        "body": "Likely causes:\n\nunclosed $(...) from command substitution\nbroken nested quotes in bash -lc ' ... '\n\nFix pattern:\n\nReplace the whole multi-line shell block with a script.\nCron calls exactly one short command, for example:\n\npython3 tools/<job>.py"
      },
      {
        "title": "2) False failure from pipefail + head (SIGPIPE)",
        "body": "Symptom:\n\ncommand exits non-zero even though the output you wanted is fine\n\nFix pattern:\n\navoid pipefail when piping into head\nor better: do the filtering in a script (read only what you need)"
      },
      {
        "title": "3) \"Works locally, fails in cron\"",
        "body": "Common causes:\n\nwrong working directory\nmissing env vars\ndifferent PATH\n\nFix pattern:\n\ncd into the repo (or have the script do it)\nkeep dependencies explicit and documented"
      },
      {
        "title": "Git footgun: git push rejected (non-fast-forward)",
        "body": "Symptom:\n\n! [rejected] ... (non-fast-forward) when automation pushes to a long-lived PR/feature branch.\n\nConservative fix (no force-push):\n\nOn rejection, fetch the remote branch, transplant your new local commits onto it (cherry-pick), then retry push once."
      },
      {
        "title": "Copy/paste hardening header (portable)",
        "body": "Use this near the top of a cron prompt (2 lines, low-noise):\n\nHardening (MUST): follow references/cron-agent-contract.md (scripts-first, deterministic cwd, silent-on-success).\nAlso apply the cron-worker-guardrails skill. If parsing/multi-step logic is needed, write/run a small tools/*.py script."
      }
    ],
    "body": "Cron Worker Guardrails (POSIX)\n\nA reliability-first checklist for OpenClaw cron workers and any unattended automation.\n\nScope (important)\nThis skill is POSIX-focused (bash/sh examples).\nThe principles are portable, but if you're on Windows/PowerShell you'll need equivalent patterns.\nThe NO_REPLY convention\n\nMany OpenClaw setups treat emitting exactly NO_REPLY as \"silent success\" (no human notification).\n\nIf your runtime does not support NO_REPLY, interpret it as: print nothing on success.\nQuick Start\nScripts-first: move logic into a repo script (recommended: tools/<job>.py or tools/<job>.sh).\nOne command in cron: cron should run one short command (no multi-line bash -lc '...').\nDeterministic cwd/env: cd to the repo (or have the script do it), and document required env vars.\nSilent on success: print nothing (or exactly NO_REPLY) when OK; only emit a short alert when broken.\n\nAlso see:\n\nreferences/cron-agent-contract.md\nreferences/pitfalls.md\nWhy this skill exists\n\nCron failures are rarely \"logic bugs\". In practice they're often:\n\nbrittle shell quoting (bash -lc '...' nested quotes)\ncommand substitution surprises ($(...))\none-liners that hide escaping bugs (python -c \"...\")\ncwd/env drift (\"works locally, fails in cron\")\npipelines that fail for the wrong reason (pipefail + head / SIGPIPE)\n\nThe fix is boring but effective: scripts-first + deterministic execution + silent-on-success.\n\nPortability rules (still apply)\n\nEven on POSIX, do not hardcode deployment-specific absolute paths tied to one machine.\n\nPrefer:\n\nrepo-relative paths\nenvironment variables you document\nminimal wrappers that cd into the repo\nCommon failure patterns -> fixes\n1) unexpected EOF while looking for matching ')'\n\nLikely causes:\n\nunclosed $(...) from command substitution\nbroken nested quotes in bash -lc ' ... '\n\nFix pattern:\n\nReplace the whole multi-line shell block with a script.\nCron calls exactly one short command, for example:\npython3 tools/<job>.py\n2) False failure from pipefail + head (SIGPIPE)\n\nSymptom:\n\ncommand exits non-zero even though the output you wanted is fine\n\nFix pattern:\n\navoid pipefail when piping into head\nor better: do the filtering in a script (read only what you need)\n3) \"Works locally, fails in cron\"\n\nCommon causes:\n\nwrong working directory\nmissing env vars\ndifferent PATH\n\nFix pattern:\n\ncd into the repo (or have the script do it)\nkeep dependencies explicit and documented\nGit footgun: git push rejected (non-fast-forward)\n\nSymptom:\n\n! [rejected] ... (non-fast-forward) when automation pushes to a long-lived PR/feature branch.\n\nConservative fix (no force-push):\n\nOn rejection, fetch the remote branch, transplant your new local commits onto it (cherry-pick), then retry push once.\nCopy/paste hardening header (portable)\n\nUse this near the top of a cron prompt (2 lines, low-noise):\n\nHardening (MUST): follow references/cron-agent-contract.md (scripts-first, deterministic cwd, silent-on-success).\nAlso apply the cron-worker-guardrails skill. If parsing/multi-step logic is needed, write/run a small tools/*.py script."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/phenomenoner/cron-worker-guardrails",
    "publisherUrl": "https://clawhub.ai/phenomenoner/cron-worker-guardrails",
    "owner": "phenomenoner",
    "version": "1.0.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/cron-worker-guardrails",
    "downloadUrl": "https://openagent3.xyz/downloads/cron-worker-guardrails",
    "agentUrl": "https://openagent3.xyz/skills/cron-worker-guardrails/agent",
    "manifestUrl": "https://openagent3.xyz/skills/cron-worker-guardrails/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/cron-worker-guardrails/agent.md"
  }
}