Skip to content

Add /gh-notif-triage skill for clearing notification inbox noise#204

Draft
ikuwow wants to merge 1 commit into
mainfrom
feature/gh-notif-triage-skill-186
Draft

Add /gh-notif-triage skill for clearing notification inbox noise#204
ikuwow wants to merge 1 commit into
mainfrom
feature/gh-notif-triage-skill-186

Conversation

@ikuwow

@ikuwow ikuwow commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Closes #186.

Why

The notification inbox accumulates threads that rarely deserve attention (CI results, subscription updates, close / merge notices). Clearing them by hand is toil. The skill encodes the rule-based classification the issue settled on, so the work fits into a single /gh-notif-triage invocation.

What

  • claude/skills/gh-notif-triage/SKILL.md follows the design from Add /gh-notif-triage Skill: triage GitHub notifications and mark noise as done #186 verbatim. Argument handling: bare invocation lists unread, all includes already-read, auto skips the approval step.
  • The rule table for reason → done | keep lives at the top of the skill so the user can edit it inline as preferences change.
  • claude/settings.json adds Skill(gh-notif-triage) and Skill(gh-notif-triage *) to allow.

Notes

  • First cut intentionally omits the write auto-approve hook from Add /gh-notif-triage Skill: triage GitHub notifications and mark noise as done #186's "Future work" section. Each DELETE still surfaces an ask prompt because of the Bash(gh api * -X *) rule in settings.json; that is acceptable for the initial workflow and matches the issue's call.
  • No persistent log of done threads. Recoverability is not a goal: the kept categories (review_requested / mention / assign) are reachable from other GitHub views.

Verification

  • gh api '/notifications?all=false&per_page=1' --jq '. | length' returns a valid count — the endpoint the skill depends on is reachable from this user.
  • jq . claude/settings.json validates.
  • /gh-notif-triage (live invocation) lists candidates and waits for approval before any DELETE — deferred to first real use to avoid surfacing a fresh permission prompt mid-batch.
  • /gh-notif-triage all widens the fetch to read+unread.
  • /gh-notif-triage auto skips approval.
  • Deleting a known-safe ci_activity notification confirms it leaves the inbox (gh api '/notifications?all=false') — defer until the first organic triage so a real ci_activity exists to clear.

Implements the design settled in #186: a Skill that lists the GitHub
notification inbox, classifies threads per a reason-based rule table,
and marks the noise (ci_activity / subscribed / state_change) as done
via DELETE /notifications/threads/<id>. Semi-automatic by default
(prints candidates and waits), full-auto with the `auto` argument.

Closes #186.

Co-authored-by: Claude Opus 4.6 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add /gh-notif-triage Skill: triage GitHub notifications and mark noise as done

1 participant