Token导航 LogoToken导航TokenDH.com
效率需要联网clawhub未标认证来源可访问clear审计提醒

fuzzy-cron-scheduler模糊 cron 调度程序

Agent Skill

fuzzy-cron-scheduler 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,160

周安装

133

GitHub Stars

公开资料未说明

下载量

1,107
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:fuzzy-cron-scheduler(模糊 cron 调度程序)
来源仓库:https://github.com/fuzzyb33s/fuzzy-cron-scheduler
安装命令:
openclaw skills install fuzzy-cron-scheduler
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install fuzzy-cron-scheduler

简介

提供 OpenClaw cron 调度能力,支持后台任务、提醒和重复自动化。

  • 适用于设置定期检查、心跳机制或定时触发特定操作的效率类任务。
  • 可编排周期性工作流,实现可靠的任务调度和时间驱动行为。
  • 安装命令:openclaw skills install fuzzy-cron-scheduler,注意维护状态和权限边界。
  • 涉及定时触发时,应评估对系统资源和外部服务的影响,避免高频调用。

SKILL.md

name
fuzzy-cron-scheduler
description
Master OpenClaw cron scheduling for reliable background tasks, reminders, and recurring automation. Use when: (1) setting up periodic checks or heartbeats, (2) scheduling one-shot or recurring tasks, (3) choosing between main/isolated/current session targets, (4) configuring webhook or announce delivery, (5) troubleshooting missed or stuck cron jobs. Triggers on phrases like schedule this, run every X, cron job, periodic task, recurring reminder, background scheduler, set a reminder.

Cron Scheduler

Schedule one-shot or recurring background tasks with OpenClaw's cron system. Background tasks run silently without cluttering your main session — results come back as announcements or webhook pings.

Core Concepts

Schedule Types

KindUse WhenExample
atOne-shot at a specific time"remind me at 3pm"
everyFixed interval (ms-based)"every 5 minutes"
cronUnix-style recurring with timezone"9am every weekday"

Session Targets

Where the job runs and how results are delivered:

TargetWho Runs ItBest For
isolated (default for agentTurn)Fresh ephemeral sessionMost recurring tasks — clean, no context bleed
main (default for systemEvent)Your main conversation sessionSystem events, heartbeat checks that need session context
currentBound to where you are right nowOne-off tasks tied to a specific ongoing conversation
session:<name>A specific persistent sessionLong-running projects that need to accumulate state

Delivery Modes

ModeWhat Happens
announce (default)Result posted to the chat channel
webhookHTTP POST to a URL you specify
noneSilent — task runs, no report

Recipes

Recipe 1: Periodic Heartbeat (every N minutes)

cron_add(
  name="Morning briefing",
  schedule={"kind": "every", "everyMs": 1800000},  // 30 min
  payload={
    "kind": "agentTurn",
    "message": "Check email, calendar, and any urgent notifications. Summarize what needs attention."
  },
  delivery={"mode": "announce"},
  sessionTarget="isolated"
)

Recipe 2: Daily Reminder (cron, specific time)

cron_add(
  name="Standup reminder",
  schedule={"kind": "cron", "expr": "0 9 * * 1-5", "tz": "Africa/Johannesburg"},
  payload={
    "kind": "agentTurn",
    "message": "It's standup time! Check the project tracker and note any blockers."
  },
  delivery={"mode": "announce"},
  sessionTarget="isolated"
)

Recipe 3: One-Shot Future Reminder

cron_add(
  name="Call reminder",
  schedule={"kind": "at", "at": "2026-04-15T14:00:00+02:00"},
  payload={
    "kind": "agentTurn",
    "message": "You have a call with the client in 15 minutes. Review notes in /workspace/call-prep.md"
  },
  delivery={"mode": "announce"},
  sessionTarget="isolated"
)

Recipe 4: Staggered Job Fan-Out

Avoid thundering-herd by staggering identical jobs:

cron_add(
  name="Data sync A",
  schedule={"kind": "cron", "expr": "0 */4 * * *", "tz": "UTC", "staggerMs": 0},
  payload={"kind": "agentTurn", "message": "Sync batch A — /workspace/data/a/*.csv"},
  sessionTarget="isolated"
)

cron_add(
  name="Data sync B",
  schedule={"kind": "cron", "expr": "0 */4 * * *", "tz": "UTC", "staggerMs": 300000},  // +5 min
  payload={"kind": "agentTurn", "message": "Sync batch B — /workspace/data/b/*.csv"},
  sessionTarget="isolated"
)

Recipe 5: Health Check with Webhook Alert

cron_add(
  name="Service health check",
  schedule={"kind": "every", "everyMs": 60000},  // every minute
  payload={
    "kind": "agentTurn",
    "message": "GET /health on your service. If status != 200, compose an alert payload and POST to https://your-webhook-handler.com/alert"
  },
  delivery={"mode": "webhook", "to": "https://your-webhook-handler.com/results"},
  sessionTarget="isolated",
  failureAlert={"after": 3, "mode": "announce", "cooldownMs": 300000}
)

Recipe 6: Batch Heartbeat Checks (main session)

Combine periodic checks into one heartbeat to save API calls:

cron_add(
  name="Morning pulse",
  schedule={"kind": "cron", "expr": "0 7 * * *", "tz": "Africa/Johannesburg"},
  payload={"kind": "systemEvent", "text": "Read HEARTBEAT.md if it exists. Check email, calendar, weather. If nothing needs attention reply HEARTBEAT_OK."},
  sessionTarget="main"
)

Recipe 7: Project-Scoped Persistent Session

cron_add(
  name="Weekly digest",
  schedule={"kind": "cron", "expr": "0 10 * * 5", "tz": "UTC"},
  payload={
    "kind": "agentTurn",
    "message": "Generate a weekly summary of /workspace/project-x/logs/. Include: tasks completed, blockers, and next steps."
  },
  sessionTarget="session:project-alpha-digest",
  delivery={"mode": "announce"}
)

Recipe 8: Reminder with Snooze Pattern

// Initial reminder
cron_add(
  name="Invoice due",
  schedule={"kind": "at", "at": "2026-04-20T09:00:00+02:00"},
  payload={"kind": "agentTurn", "message": "Invoice #1234 is due today. Draft a follow-up email if not paid. Save to /workspace/drafts/invoice-followup.md"},
  sessionTarget="isolated"
)

// Snooze — 24h later if unacknowledged (use failureAlert + snooze job)
)

Cron Expression Reference

┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *

Special characters:
  *       any value
  ,       value list separator (1,3,5)
  -       range (1-5)
  /       step (*/15 = every 15)

Examples:
  0 * * * *        every hour at minute 0
  0 9 * * 1-5      9am every weekday
  30 14 1 * *      2:30pm on the 1st of every month
  */15 * * * *     every 15 minutes
  0 0 * * 0        midnight every Sunday
  0 8,12,18 * * *  8am, noon, and 6pm daily

Interval Reference (everyMs)

60000        // 1 minute
300000       // 5 minutes
600000       // 10 minutes
1800000      // 30 minutes
3600000      // 1 hour
86400000     // 1 day
604800000    // 1 week

Managing Jobs

// List all jobs
cron_list()

// List including disabled
cron_list(includeDisabled=true)

// Run a job immediately
cron_run(jobId="<id>")

// Get run history
cron_runs(jobId="<id>")

// Update a job (e.g., disable)
cron_update(jobId="<id>", patch={"enabled": false})

// Remove a job
cron_remove(jobId="<id>")

// Wake a session (e.g., trigger next-heartbeat)
cron_wake(text="Check in now", mode="now")

Failure Alerting

cron_add(
  ...,
  failureAlert={
    "after": 3,                    // alert after N consecutive failures
    "cooldownMs": 300000,          // don't spam — wait 5 min between alerts
    "mode": "announce",             // or "webhook"
    "channel": "discord",
    "to": "alerts"                 // channel or user
  }
)

Set failureAlert: false to disable alerting entirely for a job.

Anti-Patterns

  • Don't use main session for heavy recurring tasks — it accumulates context and costs tokens. Use isolated.
  • Don't schedule jobs more often than needed — every job is a LLM call. Batching checks into one heartbeat is cheaper than 5 separate 1-minute jobs.
  • Don't forget failure alerts on critical jobs — if the task fails 10 times silently, you won't know.
  • Don't use current without good reason — if your current session ends, the job binding becomes orphaned.
  • Don't set staggerMs on isolated jobs — staggerMs only applies within a single cron expression's firing. For truly staggered behavior, use separate jobs with different schedule times.

Troubleshooting

SymptomLikely CauseFix
Job never firesWrong timezone in cron exprAdd explicit tz field
Duplicate runsTwo jobs with overlapping schedulesCheck cron_list for duplicates
"Session not found" on isolated jobEphemeral session already expiredNormal — next scheduled run creates a new one
No announcement after job runsMissing delivery configAdd "delivery": {"mode": "announce"}
Too many failures alertcooldownMs too lowIncrease cooldownMs
Job disappeared from listIt was a one-shot that ranOne-shot at jobs auto-delete after running

See Also

  • heartbeat-patterns skill — combining cron with in-session heartbeat checks
  • webhook-automation skill — incoming webhook triggers and outgoing webhook delivery
  • reminder-bot skill — voice/chat reminder workflows built on cron

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

79.85%
按下载量换算884

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills