Heartbeat
Periodic agent wake-up to check for tasks in HEARTBEAT.md.
How It Works
- Every 30 minutes, the scheduler triggers this skill
- Read
HEARTBEAT.mdfrom the workspace root - If file is empty or has no actionable content → reply
HEARTBEAT_OKand stop - If file has tasks → execute them one by one
- Mark completed tasks by moving them to the
## Completedsection - If
telegram-senderskill is available and the task warrants notification, send a Telegram update
HEARTBEAT.md Format
# Heartbeat Tasks
## Active Tasks
- Check CI status for open PRs and fix any failures
- Review and merge dependabot PRs if tests pass
## Completed
- [2026-02-17] Cleaned up stale branches
Rules
- Empty = skip: If
HEARTBEAT.mdis missing, empty, or only has headers/comments, replyHEARTBEAT_OK - Task markers: Lines starting with
-under## Active Tasksare actionable - Completion: After finishing a task, move it to
## Completedwith today's date prefix - Errors: If a task fails, leave it in Active Tasks and append
(FAILED: reason)to the line - Safety: Never delete
HEARTBEAT.md, only modify task entries - Scope: Tasks should be self-contained and completable within the timeout (5 minutes)
Skipable Content
These are not actionable (skip them):
- Empty lines
- Lines starting with
#(headers) - Lines starting with
<!--(HTML comments) - Lines with only
- [ ]or- [x](empty checkboxes)