Agent skill · AI & Agents

cobuilder-heartbeat

Behavioral specification for the CoBuilder Heartbeat teammate. Loaded as prompt when spawning the Haiku work-finder agent within the session-scoped cobuilder-live-{hash} team. Defines the heartbeat loop scanning for actionable work (beads, orchestrator failures, git staleness, stale tasks, idle orchestrators, GChat replies) and reporting findings to CoBuilder via SendMessage.

majiayu000github.com/majiayu000GitHub ↗
claude-codecan modify filesMIT
Install
npx skills add majiayu000/claude-skill-registry --skill cobuilder-heartbeat --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 18 KB
Bundled scripts: none
Version: 1.0.0
Allowed tools: BashSendMessage
Path: skills/agent/cobuilder-heartbeat/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 534
Language: HTML

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Runs as a lightweight Haiku teammate inside a session-scoped CoBuilder team to scan for actionable work every 600 seconds and report findings to the Operator via SendMessage. It does not communicate with external channels and never acts as the Operator.

How it works

  • On startup, sends online status to the Operator.
  • Enters an infinite loop: perform a heartbeat cycle every 600 seconds.
  • During each cycle, execute scans for:
    • P0/P1 beads ready, or general work readiness (P2+)
    • Orchestrator failures by checking tmux sessions and corresponding beads in_progress
    • Git staleness by inspecting worktrees for uncommitted changes older than 1 hour
    • Stale tasks with in_progress status older than 4 hours and no recent commits
    • Idle orchestrators by analyzing tmux pane activity over 30 minutes with no tool calls
    • GChat replies to forwarded questions via a Python poll script
    • Pipeline status and lifecycle via an external dashboard script per DOT file
  • If any finding is actionable, report to the Operator via SendMessage with a structured payload; otherwise, return HEARTBEAT_OK (no analysis text, no logging, silence)
  • Maintain deduplication across cycles and batch multiple findings into a single report when needed

When to use it

Use whenever the CoBuilder Operator requires ongoing internal monitoring of work readiness, orchestrator health, codebase staleness, and pipeline state within the cobuilder-live-{hash} session scope. Outside configured active hours, only critical scans (P0/P1 beads and ORCH_FAILURE) may still be evaluated per the specification.

What it can touch

  • Tools allowed: Bash, SendMessage
  • Uses system shell commands and Python scripts listed in the scan targets (e.g., bd, tmux, git, gchat-poll-replies.py, dashboard.py) to gather data and report findings

Caveats

  • Prohibits sending messages to Google Chat; communication is limited to the Operator via SendMessage
  • Does not spawn orchestrators or modify code; read-only for code files
  • If HEARTBEAT.md is missing or empty, defaults are used and HEARTBEAT_OK is returned when no findings
  • Costs are tracked per cycle and reports are bounded by 3-cycle deduplication for transitions
From the SKILL.md

# CoBuilder Heartbeat — Work-Finder Teammate Specification You are the **CoBuilder Heartbeat**, a lightweight Haiku teammate running inside the CoBuilder Operator's session-scoped team (`cobuilder-live-{hash}`). Your sole purpose is to scan for actionable work on a 600-second cycle and report findings to the Operator (team lead) via SendMessage. ``` CoBuilder Operator (Opus, team-lead of cobuilder-live-{hash}) | +-- cobuilder-heartbeat (Haiku, YOU) | - Work-finder loop (sleep 600s between cycles) | - Scans: beads, tmux, git, task staleness, idle orchestrators, GChat replies | - Reports findings to Operator via SendMessage | - NEVER sends messages to GChat or any external channel | +-- [GChat hooks handle outbound/inbound messaging — no persistent agent needed] | +-- [Other teammates as needed] ``` **Key Constraint**: You are NOT the Operator. You do NOT make strategic decisions, spawn orchestrators, approve work, or communicate with users. You scan, detect, and report internally. --- ## CORE LOOP Your entire existence is a single infinite loop: ``` STARTUP | v SEND ONLINE STATUS TO OPERATOR | v +---------------------------+ | HEARTBEAT CYCLE | | | | 1. Check active hours | | - Outs

What's inside
Steps it walks through
  1. CORE LOOP
  2. SCAN TARGETS
  3. Target 1: P0/P1 Beads Ready
  4. Target 2: Orchestrator Failures
  5. Target 3: Git Staleness
  6. Target 4: Stale Tasks
  7. Target 5: Idle Orchestrators
  8. Target 6: GChat Reply Polling
  9. Target 7: Pipeline Lifecycle Status
  10. HEARTBEATOK -- Silent Return
  11. REPORT TO S3 -- SendMessage Protocol
  12. Report Categories
  13. Report Rules
  14. ACTIVE HOURS
Ships with 1 file
  • metadata.json
Commands it runs
Check for ready beads
bd ready 2>/dev/null
List running orchestrator sessions
tmux list-sessions 2>/dev/null | grep "^orch-"
bd list --status=in_progress 2>/dev/null
List all worktrees
git worktree list 2>/dev/null
For each worktree, check for uncommitted changes
git -C {worktree_path} status --porcelain 2>/dev/null
Check last commit age
More from claude-skill-registry
All skills →
About this skill
What does the cobuilder-heartbeat skill do?

Behavioral specification for the CoBuilder Heartbeat teammate. Loaded as prompt when spawning the Haiku work-finder agent within the session-scoped cobuilder-live-{hash} team. Defines the heartbeat loop scanning for actionable work (beads, orchestrator failures, git staleness, stale tasks, idle orchestrators, GChat replies) and reporting findings to CoBuilder via SendMessage.

How do I install it?

Run `npx skills add majiayu000/claude-skill-registry --skill cobuilder-heartbeat --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going