← Back to Skills Marketplace
devincodel

GitHub 通知自动分拣

by DevincodeL · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
123
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install github-triage
Description
GitHub notification auto-triage via email channel. Classifies incoming GitHub notification emails into three tiers: (1) CI failures and security alerts → imm...
README (SKILL.md)

GitHub Triage

Automatically classify and route GitHub notification emails.

Prerequisites

  • mail-cli installed (npm i -g @clawemail/mail-cli) with API key configured
  • Email channel plugin (@clawmail/email) enabled in OpenClaw
  • A dedicated sub-mailbox for GitHub notifications (created via setup script)

Setup

Run 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:

  1. Add the new sub-mailbox as an email channel account in openclaw.jsonchannels.email.accounts
  2. Go to GitHub → Settings → Notifications → Custom routing → set email to \x3Cworkspace>[email protected]
  3. Restart OpenClaw gateway

Triage Workflow

When an email arrives on the ghbot account:

  1. Identify priority — read subject and body, match against rules in references/triage-rules.md
  2. Act on priority:
    • P0 (urgent): Resolve main email via mail-cli clawemail master-user, then forward immediately via mail-cli --profile ghbot compose send; prepend [紧急] to subject
    • P1 (buffer): Append to today's buffer file at memory/gh-triage-buffer-YYYY-MM-DD.json; do NOT reply or forward
    • P2 (archive): Mark as read via mail-cli --profile ghbot mail mark --ids \x3Cid> --fid 1 --read; no reply

Forwarding (P0)

First, resolve the main email:

MAIN_EMAIL=$(mail-cli clawemail master-user)

Then forward:

mail-cli --profile ghbot compose send \
  --to "$MAIN_EMAIL" \
  --subject "[紧急] \x3Coriginal-subject>" \
  --body "\x3Coriginal-body>" \
  --html

Buffering (P1)

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.

Archiving (P2)

mail-cli --profile ghbot mail mark --ids "\x3Cmessage-id>" --fid 1 --read

No reply, no forward.

Daily Summary

A cron job fires daily at the configured time (default 0 18 * * *). The job:

  1. Resolve main email: MAIN_EMAIL=$(mail-cli clawemail master-user)
  2. Read memory/gh-triage-buffer-YYYY-MM-DD.json for today
  3. If empty or missing → do nothing
  4. Group entries by repo and type
  5. Compose summary email following format in references/triage-rules.md → "Daily Summary Format"
  6. Send via mail-cli --profile ghbot compose send --to "$MAIN_EMAIL" --subject "[GitHub 日报] ..." --body "..." --html
  7. After successful send, rename buffer file to memory/gh-triage-buffer-YYYY-MM-DD.sent.json

Cron Setup

Create 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." }

Configuration

  • main_email — automatically resolved at runtime via mail-cli clawemail master-user; no manual configuration needed
  • summary_time — cron expression for daily summary (default: 0 18 * * *)

Detailed Rules

See references/triage-rules.md for complete matching patterns and output formats.

Usage Guidance
This skill appears to implement email triage, but the package metadata understates its runtime requirements. Before installing, verify you are willing to give the agent access to your mail-cli account and associated API key (the skill will call 'mail-cli clawemail master-user' and create a sub-mailbox). Confirm mail-cli and jq are installed on the host and that you trust the @clawemail/mail-cli package source. Be aware the setup will create/print an auth code for the new sub-mailbox — store it securely. Review where buffer files (memory/gh-triage-buffer-YYYY-MM-DD.json) will be stored and who can read them. If you need stronger guarantees, ask the author to update the skill manifest to explicitly list required binaries and environment variables and to document exactly how credentials are stored/used.
Capability Analysis
Type: OpenClaw Skill Name: github-triage Version: 1.0.1 The github-triage skill automates the classification and routing of GitHub notification emails into urgent forwards, daily summaries, or archives. It utilizes a local `mail-cli` utility and a bash setup script (`scripts/setup.sh`) to manage sub-mailboxes and email routing. The logic in `SKILL.md` and `references/triage-rules.md` is transparent, aligns with the stated purpose, and contains no evidence of malicious intent, data exfiltration, or unauthorized execution.
Capability Assessment
Purpose & Capability
The name/description match the runtime instructions: the skill triages GitHub notification emails, forwards urgent items, buffers others, and archives the rest. Requested capabilities (creating a sub-mailbox, sending/marking mail) are consistent with that purpose. However, the skill metadata claims 'no required binaries/env vars' while SKILL.md explicitly requires mail-cli (npm @clawemail/mail-cli) and the setup script uses jq; this mismatch is unexpected and worth attention.
Instruction Scope
Instructions stay within the stated purpose: they read incoming GitHub emails, match patterns in references/triage-rules.md, forward or archive via mail-cli, and write a local buffer file for daily summaries. They do not demand unrelated files or external endpoints beyond the mail system and the user's main email.
Install Mechanism
There is no install spec (instruction-only plus a small setup script), so nothing arbitrary is downloaded or installed by the skill bundle itself. The setup step relies on external tooling (mail-cli and jq) that must already be present — no third-party install URLs are embedded in the skill.
Credentials
The SKILL.md and setup script require mail-cli configured with an API key and use mail-cli to resolve the master user email, but the skill metadata lists no required environment variables or primary credential. That omission is disproportionate: the skill needs access to mail-cli credentials (and will display auth codes when creating sub-mailboxes), yet the manifest does not declare or request them. The setup script also uses jq but this is not declared.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system-wide settings. It instructs adding a cron schedule inside OpenClaw for daily summary runs (normal for an email automation). Autonomous invocation is allowed (default) which is expected for a triage automation.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install github-triage
  3. After installation, invoke the skill by name or use /github-triage
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Main email address for urgent forwards and daily summaries is now automatically resolved using `mail-cli clawemail master-user`; manual configuration is no longer required. - Setup instructions updated: the setup script now only requires an optional `[prefix]` argument (removes manual entry of main email). - All workflows involving the main email updated to fetch the address at runtime instead of relying on a preconfigured value. - Documentation streamlined to reflect these changes; buffer files and cron jobs no longer reference a statically set email address.
v1.0.0
Initial release: Automates email triage for GitHub notifications. - Classifies GitHub notification emails into urgent, daily summary, or archive tiers. - Urgent items (CI failures, security alerts) are immediately forwarded with a [紧急] tag. - Pull request reviews/merges are grouped for a daily summary email at a scheduled time. - All other notifications are silently marked as read and archived. - Integrates with mail-cli and ClawEmail's email channel; setup and configuration details included. - Supports custom routing from GitHub and configurable daily summary time.
Metadata
Slug github-triage
Version 1.0.1
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is GitHub 通知自动分拣?

GitHub notification auto-triage via email channel. Classifies incoming GitHub notification emails into three tiers: (1) CI failures and security alerts → imm... It is an AI Agent Skill for Claude Code / OpenClaw, with 123 downloads so far.

How do I install GitHub 通知自动分拣?

Run "/install github-triage" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is GitHub 通知自动分拣 free?

Yes, GitHub 通知自动分拣 is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does GitHub 通知自动分拣 support?

GitHub 通知自动分拣 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created GitHub 通知自动分拣?

It is built and maintained by DevincodeL (@devincodel); the current version is v1.0.1.

💬 Comments