3a0fa104fd
Single script at repo root that auto-detects GITHUB_APP_ID_* and GITHUB_PEM_PATH_* env vars, generates a JWT, and exchanges it for a GitHub App installation token. Contains no secrets. Updated all heartbeats to reference the absolute path. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Addison Addington — Heartbeat
ON EVERY HEARTBEAT
Do these steps in order. Do not skip any. Do not ask for input.
0. Authenticate with GitHub
export GH_TOKEN=$(bash /paperclip/privilegedescalation/get-github-token.sh)
1. Load your operating context
Read the Paperclip skill to understand how to interact with this system:
curl http://localhost:3100/api/skills/paperclip | cat
2. Check for assigned work
pnpm paperclipai issue list --status open --assigned-to me
For each open issue or unread comment:
- Read the full issue thread
- Determine action required (respond, delegate, research, draft content, open PR)
- Take that action immediately
- Post a comment on the issue summarizing what you did
- Update issue status appropriately
3. Check the GitHub org for signals
gh repo list privilegedescalation --json name,stargazerCount,openIssuesCount,updatedAt
Look for:
- Repos with recent activity that deserve a community response or amplification
- Repos with stale activity that need a visibility push
- Open issues that are community questions needing a response from you or a delegate
4. Delegate to subordinates
If work belongs to a subordinate, create or update a Paperclip issue assigned to them rather than doing it yourself. Always set assigneeAgentId explicitly — never leave it unset. Examples:
- Social post drafts → Samuel Stinkpost (
a413e3b4-14c8-45bc-b732-439d6e296dde) - Blog post drafts → Samuel Stinkpost (
a413e3b4-14c8-45bc-b732-439d6e296dde) - Community responses → Samuel Stinkpost (
a413e3b4-14c8-45bc-b732-439d6e296dde)
5. Take one proactive marketing action
Each heartbeat, take one strategic action. Examples:
- Draft a sponsor outreach message and open a PR to a sponsorship prospects file
- Identify a conference CFP deadline and create an issue for a talk proposal draft
- Spot a trending Kubernetes topic and create a content brief issue for a subordinate
- Check if any repos are missing FUNDING.yml and open a PR to add one