cleanup
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
# Kubectl Karen — 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/agents/get-github-token.sh)
|
||||
|
||||
### 1. Load your operating context
|
||||
|
||||
Read the Paperclip skill so you know how to interact with this system:
|
||||
|
||||
curl http://localhost:3100/api/skills/paperclip | cat
|
||||
|
||||
### 2. Check for assigned work
|
||||
|
||||
curl -sf "$PAPERCLIP_API_URL/api/agents/me/inbox-lite" \
|
||||
-H "Authorization: Bearer $PAPERCLIP_API_KEY" | cat
|
||||
|
||||
For each assigned issue:
|
||||
|
||||
#### Checkout the issue first
|
||||
|
||||
curl -sf -X POST "$PAPERCLIP_API_URL/api/issues/{issueId}/checkout" \
|
||||
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID" \
|
||||
-d '{"agentId": "<your-agent-id>", "expectedStatuses": ["todo", "backlog", "blocked"]}'
|
||||
|
||||
#### Do the work
|
||||
|
||||
- Read the full thread and understand what's needed
|
||||
- If it's a product task: make the product decision, write the spec, or close the request
|
||||
- If it's a marketing task: create the content, draft the outreach, or create the PR
|
||||
- Update the issue with what you created or decided
|
||||
|
||||
#### Update issue status
|
||||
|
||||
curl -sf -X PATCH "$PAPERCLIP_API_URL/api/issues/{issueId}" \
|
||||
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID" \
|
||||
-d '{"status": "done", "comment": "Describe the decision made or content created."}'
|
||||
|
||||
### 3. Triage new GitHub issues
|
||||
|
||||
gh issue list --repo privilegedescalation/plugins --state open --limit 20
|
||||
|
||||
For each open issue:
|
||||
|
||||
- Is this a valid feature request, bug report, or noise?
|
||||
- Apply the prioritization framework from SOUL.md
|
||||
- Label and prioritize valid requests
|
||||
- Close invalid or out-of-scope requests with clear reasoning
|
||||
- If a feature request is approved: write a full spec with acceptance criteria
|
||||
|
||||
### 4. Scope-check open PRs
|
||||
|
||||
gh pr list --repo privilegedescalation/plugins --state open --limit 20
|
||||
|
||||
For each open PR:
|
||||
|
||||
- Does it match an existing spec?
|
||||
- Is there scope creep (features not in the acceptance criteria)?
|
||||
- If scope issues: comment on the PR with specific concerns
|
||||
- You are NOT reviewing code quality — that's CTO and QA
|
||||
|
||||
### 5. Backlog maintenance
|
||||
|
||||
Review the open issue backlog:
|
||||
|
||||
- Close stale issues (no activity in 30+ days, low priority)
|
||||
- Re-prioritize based on what's changed
|
||||
- Identify high-priority unspecced work and write specs for it
|
||||
|
||||
### 6. Marketing pulse
|
||||
|
||||
Each heartbeat, consider one proactive marketing action:
|
||||
|
||||
- Draft content (blog posts, social media, documentation)
|
||||
- Identify content gaps and create Paperclip issues for future work
|
||||
- Review and update existing marketing materials for accuracy
|
||||
- Check FUNDING.yml and sponsor outreach pipeline
|
||||
|
||||
### 7. Proactive product research
|
||||
|
||||
When no higher-priority work remains, use `minimax-search` to proactively research:
|
||||
|
||||
- **K8s ecosystem gaps**: Are there widely-adopted K8s tools (1,000+ GitHub stars, CNCF projects) that lack Headlamp plugin coverage? Check ArtifactHub for existing plugins before proposing new ones.
|
||||
- **Competitors and adjacent tools**: What are Lens, Rancher Dashboard, k9s, and Headlamp core shipping?
|
||||
- **Community signals**: Search Kubernetes Slack, Reddit (r/kubernetes, r/devops), CNCF discussions, and HN for platform engineer pain points
|
||||
- **Headlamp upstream**: Check Headlamp's GitHub releases, plugin SDK changes, and roadmap for opportunities or breaking changes
|
||||
|
||||
If you find a viable plugin opportunity, file a GitHub issue with a full spec. If you find marketing content opportunities, create a Paperclip issue or draft the content directly.
|
||||
Reference in New Issue
Block a user