RLM Heartbeat

SkillProductivity

The rlm-heartbeat skill lets an agent manage its own recurring internal prompts, called RLM heartbeats, from the Python REPL. Each heartbeat runs an instruction on an interval, by default every 5 minutes, so the agent can check on or continue long-running tasks during a session. It only manages agent-internal heartbeats and cannot read, replace, pause, resume, or clear the user's visible /heartbeat.

Then ask your AI: use the RLM Heartbeat skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Have a Python REPL available in the agent session.

What your AI can do with it

  • Create a recurring heartbeat with rlm_heartbeat.create
  • List this session's heartbeats with rlm_heartbeat.list
  • Update a heartbeat's instruction, interval, label, status, or delivery mode
  • Pause or resume a heartbeat by id with rlm_heartbeat.update
  • Delete a heartbeat by id with rlm_heartbeat.delete
  • Choose steer or follow_up delivery for each heartbeat

Getting started

  1. Have a Python REPL available in the agent session.
  2. Call await rlm_heartbeat.create with an instruction, and optionally an interval, label, and delivery mode.
  3. Call await rlm_heartbeat.list to see the session's heartbeats.
  4. Use await rlm_heartbeat.update with an id to change or pause a heartbeat.
  5. Use await rlm_heartbeat.delete with an id to cancel a heartbeat.

What this skill tells your AI

The instructions your AI receives, as published by primeintellect-ai/prime-agent in skills/rlm-heartbeat/SKILL.md and read by Ahel’s review.

RLM heartbeats are internal recurring prompts for the current agent session. They are separate from the user's visible /heartbeat: this skill cannot read, replace, pause, resume, or clear that user-level heartbeat.

Call directly from the Python REPL:

await rlm_heartbeat.create("check test progress", interval="5m", label="tests")
await rlm_heartbeat.create("watch build", delivery_mode="follow_up")
await rlm_heartbeat.list()
await rlm_heartbeat.update("job-id", status="pause")
await rlm_heartbeat.delete("job-id")

API

  • await rlm_heartbeat.list(include_inactive=False) — list this session's internal RLM heartbeats. By default this includes active and paused entries.
  • await rlm_heartbeat.create(instruction, interval=None, label=None, delivery_mode=None) — create a recurring heartbeat for this session. The default interval is every 5 minutes. Multiple RLM heartbeats may run at once; use labels to distinguish them. delivery_mode is "steer" (default) or "follow_up".
  • await rlm_heartbeat.update(id, instruction=None, interval=None, label=None, status=None, delivery_mode=None) — update one RLM heartbeat by id. status may be "pause" or "resume"; delivery_mode may be "steer" or "follow_up".
  • await rlm_heartbeat.delete(id) — cancel one RLM heartbeat by id.

Delivery mode

Each heartbeat has a delivery mode controlling how the scheduled prompt reaches the session when it is busy:

  • steer (default): interrupt the current turn so the heartbeat runs promptly.
  • follow_up: wait for the current turn to finish before running the heartbeat.

Rules

  • Use this when the user asks you to start, create, schedule, or manage your own heartbeat without explicitly referring to /heartbeat.
  • Use this only for agent-internal recurring checks and long-running task coordination.
  • Do not use this skill to satisfy a user's request to configure /heartbeat; that is a separate user-level surface.
  • Keep heartbeat instructions specific and actionable so each recurring turn knows exactly what to inspect or continue.

Signals

GitHub stars
22k
Forks
2k
Last commit
Oct 2026

Questions

Can this skill manage the user's /heartbeat?
No. It only manages agent-internal RLM heartbeats. It cannot read, replace, pause, resume, or clear the user's visible /heartbeat, which is a separate user-level surface.
What is the default interval for a heartbeat?
The default interval is every 5 minutes. You can pass a different interval when creating or updating a heartbeat.
What does delivery_mode do?
It controls how a scheduled prompt reaches a busy session. steer interrupts the current turn so the heartbeat runs promptly. follow_up waits for the current turn to finish before running.
Advanced
Item type
skill
Key
rlm-heartbeat
Source
github.com/primeintellect-ai/prime-agent