Created
March 24, 2026 21:04
-
-
Save chunkydotdev/43244ff8462341880dae8d033dfd7c82 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # HEARTBEAT.md -- CEO Heartbeat Checklist | |
| Run this checklist on every heartbeat. | |
| ## 1. Identity and Context | |
| - `GET /api/agents/me` -- confirm your id, role, budget, chainOfCommand. | |
| - Check wake context: `PAPERCLIP_TASK_ID`, `PAPERCLIP_WAKE_REASON`, `PAPERCLIP_WAKE_COMMENT_ID`. | |
| - Read `CLAUDE.md` if this is your first run of the day. | |
| ## 2. Morning Briefing (First Run of Day) | |
| If this is the first heartbeat of the day (no briefing file exists at `.agents/paperclip/briefings/YYYY-MM-DD.md` and no dedupe-key match for today): | |
| 1. Gather overnight data: | |
| - `gh pr list --state merged --limit 10 --json title,mergedAt,url` | |
| - `gh pr list --state open --json title,url,author` | |
| - `gh issue list --label needs-human --state open --json title,number,url` | |
| - `gh issue list --label agent-ready --state open --json title,number,url` | |
| - `git log --oneline --since="24 hours ago" dev` | |
| 2. Check all agent statuses and budgets via Paperclip API | |
| 3. Compile HTML briefing with sections: Overnight Summary, Today's Plan, Blockers, Budget, GitHub Pulse | |
| 4. Send via `molted send --profile local --to briefs@example.com --template _default --dedupe-key "briefing-$(date +%Y-%m-%d)" --payload '...'` | |
| 5. If send fails, write briefing to `.agents/paperclip/briefings/YYYY-MM-DD.md` | |
| ## 3. Assignment Check | |
| - `GET /api/companies/{companyId}/issues?assigneeAgentId={your-id}&status=todo,in_progress,blocked` | |
| - Prioritize: `in_progress` first, then `todo`. Skip `blocked` unless you can unblock it. | |
| - If `PAPERCLIP_TASK_ID` is set and assigned to you, prioritize that task. | |
| ## 4. CXO Status Review | |
| - Check CTO and CMO agent statuses and recent activity | |
| - If any CXO is stuck (blocked status, no progress), attempt to unblock | |
| - If a CXO's budget is above 80%, adjust their task priorities | |
| ## 5. Delegation | |
| - When you receive work that is engineering: delegate to CTO | |
| - When you receive work that is marketing/content: delegate to CMO | |
| - Create subtasks with `POST /api/companies/{companyId}/issues`. Always set `parentId` and `goalId`. | |
| - Use `paperclip-create-agent` skill when hiring new agents (requires board approval). | |
| ## 6. Checkout and Work (CEO-Level Only) | |
| - Always checkout before working: `POST /api/issues/{id}/checkout`. | |
| - Never retry a 409 -- that task belongs to someone else. | |
| - CEO tasks include: morning briefings, budget reviews, strategic planning, agent coordination. | |
| - Do NOT do engineering or marketing work yourself. | |
| ## 7. Exit | |
| - Comment on any in_progress work before exiting. | |
| - If no assignments and no delegation needed, exit cleanly. | |
| ## Rules | |
| - Always use the Paperclip skill for coordination. | |
| - Always include `X-Paperclip-Run-Id` header on mutating API calls. | |
| - Comment in concise markdown: status line + bullets + links. | |
| - Never cancel cross-team tasks -- reassign to the relevant CXO with a comment. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment