Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
agentbay-ai avatar

Im Reminder

  • 81 installs
  • 47 repo stars
  • Updated February 12, 2026
  • agentbay-ai/agentbay-skills

im-reminder is a Claude Code skill that schedules one-time and recurring IM reminders via cron jobs and delivers them to the original channel.

About

im-reminder is a Claude Code skill that schedules one-time and recurring reminders that wake the agent at a set time to message the user. It supports at (one-shot timestamp), every (interval), and cron schedule kinds, and auto-detects the current IM channel and user ID so the reminder is delivered to the original channel. A developer invokes it for requests like remind me in 5 minutes or every hour. It requires fixed job fields (enabled, isolated session, deliver true) to avoid missed deliveries.

  • Schedules one-time and recurring IM reminders via cron jobs
  • Auto-detects the current IM channel and user ID so messages reach the origin
  • Supports at, every, and cron schedule kinds

Im Reminder by the numbers

  • 81 all-time installs (skills.sh)
  • Ranked #891 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

im-reminder capabilities & compatibility

Free; no API key noted, uses the host scheduling/job API.

Capabilities
scheduling · reminders · cron jobs
Use cases
planning · project management
Pricing
Free
From the docs

What im-reminder says it does

IM 定时提醒技能,支持一次性和周期性定时任务。通过 cron job 在指定时间唤醒 Agent,自动检测当前 IM 频道,保证消息准确送达。
SKILL.md
npx skills add https://github.com/agentbay-ai/agentbay-skills --skill im-reminder

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs81
repo stars47
Last updatedFebruary 12, 2026
Repositoryagentbay-ai/agentbay-skills

What it does

A user asks to be reminded once or on a schedule and the skill creates a cron job that messages the origin IM channel.

Who is it for?

Setting one-time or recurring reminders that reliably deliver to the IM channel the request came from.

Skip if: Reminders without a detected channel and user ID, since a missing payload.to means the message cannot be delivered.

When should I use this skill?

A user asks to be reminded at a time or on a repeating schedule, such as remind me in 5 minutes or every hour.

What you get

A configured cron job that wakes the agent at the requested time and delivers the reminder to the origin channel.

  • scheduled cron/at/every reminder job
  • delivered reminder message

By the numbers

  • 3 schedule kinds (at, every, cron)

Files

SKILL.mdMarkdownGitHub ↗

IM 定时提醒

跨平台定时提醒技能,保证准确的时间触发和消息送达。通过 cron job 配置,确保消息发送到用户请求提醒的原始频道,避免 NO_REPLY 问题。

适用场景

  • 用户请求定时提醒(如"5 分钟后提醒我开会")
  • 用户请求周期性任务(如"每小时提醒我喝水")
  • 需要在指定时间触发 Agent 执行操作并回复用户

固定字段

以下字段在所有任务中取值固定,不可更改:

字段固定值说明
enabledtrue必须为 true,否则任务不会执行
sessionTarget"isolated"每次触发创建独立会话
payload.kind"agentTurn"触发类型为 Agent 回合
payload.delivertrue确保消息发送到外部频道

动态字段

以下字段需根据当前会话上下文自动填充:

字段说明
payload.channel当前频道类型,从运行时上下文获取(如 feishu
payload.to必填,当前频道目标用户 ID,从会话上下文获取,缺失会导致消息无法送达

调度方式

一次性定时(at)

在指定时间点触发一次,适用于"X 分钟后提醒我"这类场景。

"schedule": {
  "kind": "at",
  "atMs": 1770449700000
}

atMs 为目标触发时间的 Unix 时间戳(毫秒)。

周期性定时(every)

按固定间隔重复触发,适用于"每隔 X 分钟提醒我"这类场景。

"schedule": {
  "kind": "every",
  "everyMs": 60000
}

everyMs 为触发间隔的毫秒数(如 60000 = 1 分钟)。

Cron 表达式定时(cron)

使用标准 cron 表达式调度,适用于"每天早上 7 点提醒我"这类基于日历规律的场景。

"schedule": {
  "kind": "cron",
  "expr": "0 7 * * *"
}

expr 为标准五位 cron 表达式,格式如下:

┌───────────── 分钟 (0-59)
│ ┌───────────── 小时 (0-23)
│ │ ┌───────────── 日 (1-31)
│ │ │ ┌───────────── 月 (1-12)
│ │ │ │ ┌───────────── 星期 (0-6,0=周日)
│ │ │ │ │
* * * * *

常用表达式:

场景表达式
每天早上 7 点0 7 * * *
每天中午 12 点0 12 * * *
工作日早上 9 点0 9 * * 1-5
每周一早上 10 点0 10 * * 1
每月 1 号上午 9 点0 9 1 * *

完整示例

示例一:一次性提醒

在指定时间点触发,执行一次后结束。

{
  "version": 1,
  "jobs": [
    {
      "id": "0dd466ae-d52a-448f-ad01-2fc719f1f48c",
      "name": "test2",
      "description": "test2",
      "enabled": true,
      "schedule": {
        "kind": "at",
        "atMs": 1770449700000
      },
      "sessionTarget": "isolated",
      "wakeMode": "next-heartbeat",
      "payload": {
        "kind": "agentTurn",
        "message": "回复内容是test2",
        "deliver": true,
        "channel": "feishu",
        "to": "ou_XXXXXXXXXXX"
      }
    }
  ]
}

示例二:周期性提醒

每隔固定时间触发一次,持续执行。

{
  "version": 1,
  "jobs": [
    {
      "id": "50f53ed1-4ad6-4ed2-9984-fdd4eba1fdab",
      "name": "测试1",
      "description": "测试1",
      "enabled": true,
      "schedule": {
        "kind": "every",
        "everyMs": 60000
      },
      "sessionTarget": "isolated",
      "wakeMode": "next-heartbeat",
      "payload": {
        "kind": "agentTurn",
        "message": "回复这是测试1",
        "deliver": true,
        "channel": "feishu",
        "to": "ou_XXXXXXXXXXX"
      }
    }
  ]
}

示例三:Cron 表达式定时提醒

按 cron 表达式调度,适用于基于日历规律的周期性任务。

{
  "version": 1,
  "jobs": [
    {
      "id": "0ec68ffa-07b2-4ca6-93ee-75edd26b4b74",
      "name": "cron",
      "description": "cron",
      "enabled": true,
      "schedule": {
        "kind": "cron",
        "expr": "0 7 * * *"
      },
      "sessionTarget": "isolated",
      "wakeMode": "next-heartbeat",
      "payload": {
        "kind": "agentTurn",
        "message": "cron",
        "deliver": true,
        "channel": "feishu",
        "to": "ou_XXXXXXXXXXX"
      }
    }
  ]
}

频道检测

1. 获取频道类型:从运行时 channel 属性获取(如 feishu) 2. 获取用户 ID:从当前会话或消息上下文获取(如 ou_xxxx) 3. 始终自动检测:使用发起请求的原始频道,不要硬编码

消息内容指南

  • 避免纯文本消息,需要包含让 Agent 生成响应的指令
  • 使用完整的指令句,确保 Agent 处理后产生可见回复

实现步骤

1. 检测当前频道类型和用户 ID 2. 将用户的时间请求转换为时间戳(毫秒)或间隔毫秒数 3. 构建完整的 job 配置(固定字段 + 动态字段) 4. 调用 API 创建定时任务 5. 确认创建成功,告知用户

常见坑点

错误做法正确做法
硬编码 channel 和 to从当前上下文自动检测
sessionTarget 设为 main必须设为 isolated
deliver 缺失或设为 false必须设为 true
enabled 缺失或设为 false必须显式设为 true
payload.to 缺失或为空必须填写,否则消息无法送达

Related skills

FAQ

What schedule types does it support?

Three: at (one-shot atMs timestamp), every (everyMs interval), and cron (standard five-field expression).

Why might a reminder not arrive?

If payload.to is missing or deliver is not true, or session is not isolated; these fixed fields must be set correctly.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.