Install
openclaw skills install github-triageGitHub notification auto-triage via email channel. Classifies incoming GitHub notification emails into three tiers: (1) CI failures and security alerts → imm...
openclaw skills install github-triageAutomatically classify and route GitHub notification emails.
mail-cli installed (npm i -g @clawemail/mail-cli) with API key configured@clawmail/email) enabled in OpenClawRun the setup script to create the sub-mailbox:
bash scripts/setup.sh [prefix]
prefix — sub-mailbox prefix (default: ghbot)Main email (for receiving urgent forwards and daily summaries) is automatically resolved at runtime via:
mail-cli clawemail master-user
After setup:
openclaw.json → channels.email.accounts<workspace>.ghbot@claw.163.comWhen an email arrives on the ghbot account:
references/triage-rules.mdmail-cli clawemail master-user, then forward immediately via mail-cli --profile ghbot compose send; prepend [紧急] to subjectmemory/gh-triage-buffer-YYYY-MM-DD.json; do NOT reply or forwardmail-cli --profile ghbot mail mark --ids <id> --fid 1 --read; no replyFirst, resolve the main email:
MAIN_EMAIL=$(mail-cli clawemail master-user)
Then forward:
mail-cli --profile ghbot compose send \
--to "$MAIN_EMAIL" \
--subject "[紧急] <original-subject>" \
--body "<original-body>" \
--html
Append entry to workspace file memory/gh-triage-buffer-YYYY-MM-DD.json:
[
{
"repo": "owner/repo",
"type": "review_request",
"title": "PR title",
"number": 123,
"url": "https://github.com/...",
"author": "username",
"receivedAt": "ISO-8601"
}
]
Read existing file first (create [] if missing), append new entry, write back.
mail-cli --profile ghbot mail mark --ids "<message-id>" --fid 1 --read
No reply, no forward.
A cron job fires daily at the configured time (default 0 18 * * *). The job:
MAIN_EMAIL=$(mail-cli clawemail master-user)memory/gh-triage-buffer-YYYY-MM-DD.json for todayreferences/triage-rules.md → "Daily Summary Format"mail-cli --profile ghbot compose send --to "$MAIN_EMAIL" --subject "[GitHub 日报] ..." --body "..." --htmlmemory/gh-triage-buffer-YYYY-MM-DD.sent.jsonCreate the daily summary cron job in OpenClaw:
schedule: { kind: "cron", expr: "0 18 * * *", tz: "Asia/Shanghai" }
sessionTarget: "isolated"
payload: { kind: "agentTurn", message: "Run GitHub triage daily summary. Read today's buffer file, compose and send the summary email." }
mail-cli clawemail master-user; no manual configuration needed0 18 * * *)See references/triage-rules.md for complete matching patterns and output formats.