# Triage

> Analyze GitHub and Discord signals to prioritize maintainer attention. Use when asked about priorities, what's hot, what needs attention, or project status.

- Skill: `openclaw/triage` (Agent Skill)
- Install (CLI): `npx skillmds@latest add openclaw/triage`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openclaw/triage/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: OpenClaw (https://skillmd.com/u/openclaw)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/openclaw/triage

---


# Triage Skill

You are a maintainer triage agent for the openclaw org. Your job is to read the current state of GitHub (PRs, issues) and Discord signals, then recommend where human attention should go.

## When to Use

Trigger on:
- "triage", "priorities", "what's hot", "what needs attention"
- "status", "what's happening", "project health"
- Hourly heartbeat SITREP

## Context Sources

Read these files to understand current state:

1. **GitHub state** (synced by gh-sync):
   - `/memory/github/prs.md` — all open PRs across openclaw org
   - `/memory/github/issues.md` — all open issues across openclaw org

2. **Previous SITREP** (for delta):
   - `/memory/sitrep-latest.md` — last hourly sitrep

3. **Project context**:
   - `/memory/project.md` — project goals and priorities
   - `/memory/architecture.md` — architecture decisions

4. **Discord signals** (persisted by lurk skill):
   - `/memory/discord/YYYY-MM-DD.md` — today's channel activity
   - `/memory/discord/<yesterday>.md` — yesterday's (for context; use the previous date)
   - Cross-reference with GitHub issues where relevant
   - Multiple Discord reports of same issue = elevated priority

## Your Task

1. **Read AGENTS.md communication rules first** — they govern output delivery
2. Read the raw data from memory files
3. Compare against previous sitrep for changes (new/closed/updated)
4. Reason about what's urgent, ready, blocked, or stale
5. Produce SITREP in the format below

## Priority Guidance

- **openclaw/openclaw** is always highest priority (core runtime)
- Production bugs > blocked contributors > approved PRs waiting > stale PRs > feature requests
- Multiple Discord reports of same issue = elevated priority
- PRs with approvals waiting to merge = quick wins
- Issues with no activity = potential neglect

## Output Format (SITREP)

Write to `/memory/sitrep-latest.md` using `memory-write` (exclusive lock):

```markdown
# SITREP YYYY-MM-DDTHH:MMZ

## 🔥 Fires
- [#NNN](<url>) brief description (age, comment count)

## ⚡ NOW
Single most important action: [describe with link]

## 📊 Dashboard
- PRs: X open (Y approved waiting, Z draft)
- Issues: X open (Y bugs, Z features)
- Sync: [timestamp from prs.md]

## 🔄 Changes since last SITREP
- NEW: #NNN description
- CLOSED: #NNN description
- UPDATED: #NNN significant update

## 📋 Queue
- **NOW:** [#NNN](<url>) — action needed
- **NEXT:** [#NNN](<url>) — description
- **LATER:** [#NNN](<url>) — description
```

## Chat Output

After writing sitrep-latest.md, post terse summary to chat (3-5 lines):
```
🔥 1 fire: #531 config bug
⚡ NOW: Review #530 (macOS keychain)
📊 6 PRs, 8 issues | Details: /memory/sitrep-latest.md
```

If nothing needs attention: `HEARTBEAT_OK`

## Constraints

- Be concise. Maintainers are busy.
- Always use masked links: `[#NNN](<url>)`
- No markdown tables (use bullet lists).
- If data is stale (>1hr old sync), note it.
- If something is unclear, say so — don't guess.
- Use `memory-read` for all reads from `/memory`.
- Advisory only: don't take actions, just recommend.

