# Inbox List Notifications

> Fetch GitHub notifications using the gh CLI

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

---


# List GitHub Notifications

Use `gh api` to fetch all unread GitHub notifications with automatic pagination.

## Command

Use the `--jq` flag (NOT a pipe to `jq`) to filter output inline:

```
gh api /notifications --paginate --jq '.[] | {id, reason, unread, updated_at, repo: .repository.full_name, title: .subject.title, type: .subject.type, url: .subject.url}'
```

This is the ONLY command you should run. Do NOT modify it. Do NOT add anything to it.

## Rules

- **NEVER** pipe to `jq`, `python`, `python3`, or any other program
- **NEVER** add `2>/dev/null` or any redirects
- **NEVER** wrap the command in a script
- **ALWAYS** prepend `GH_PAGER=cat` to `gh api` calls to avoid interactive pagers
- **NEVER** add other environment variable prefixes
- The `--jq` flag handles all JSON filtering — no external tools needed
- The `--paginate` flag handles pagination — no manual page loops needed

## Filters

- **Participating only:** Add `--method GET -f participating=true`
- **Include read:** Add `--method GET -f all=true`
- **Specific repo:** Use `gh api /repos/{owner}/{repo}/notifications --paginate --jq '...'`
- **Since date:** Add `-f since=2024-01-01T00:00:00Z`

## Constructing HTML URLs

The `url` field is an API URL like `https://api.github.com/repos/owner/repo/pulls/123`. Convert to a clickable URL:
- For pulls: `https://github.com/{repo}/pull/{number}`
- For issues: `https://github.com/{repo}/issues/{number}`

Extract the number from the API URL's last path segment.

## Priority

Sort notifications by reason priority (highest first):
1. `security_alert` (critical)
2. `assign` (high)
3. `review_requested` (high)
4. `mention` (high)
5. `ci_activity` (medium)
6. `comment` (medium)
7. `team_mention` (medium)
8. `state_change` (medium)
9. `author` (low)
10. `subscribed` (low)

