github-pr-digestlisted
Install: claude install-skill tanishq286/tq-forge
# /github-pr-digest — morning open-PR digest
## When to use
You start the day wanting one screen that tells you which of your open pull
requests are waiting on you, which are waiting on others, and which have gone
stale. This skill pulls open PRs via the `gh` CLI and renders a grouped digest.
## Procedure
1. **Check the gh CLI is authed.**
```bash
gh auth status >/dev/null 2>&1 || { echo "Run: gh auth login"; exit 1; }
```
2. **Fetch open PRs authored by you across repos.**
```bash
gh search prs --author "@me" --state open --json repository,title,url,updatedAt,reviewDecision,isDraft --limit 100 > /tmp/pr-digest.json
```
3. **Group + flag with a staleness threshold (7 days).**
```bash
python3 - <<'PY'
import json, datetime
rows = json.load(open("/tmp/pr-digest.json"))
now = datetime.datetime.now(datetime.timezone.utc)
by_repo = {}
for r in rows:
repo = r["repository"]["nameWithOwner"]
upd = datetime.datetime.fromisoformat(r["updatedAt"].replace("Z","+00:00"))
stale = (now - upd).days >= 7
flag = "DRAFT" if r["isDraft"] else (r.get("reviewDecision") or "PENDING")
by_repo.setdefault(repo, []).append((flag, "🕒" if stale else " ", r["title"], r["url"]))
for repo in sorted(by_repo):
print(f"\n## {repo}")
for flag, stale, title, url in by_repo[repo]:
print(f" {stale} [{flag:<16}] {title}\n {url}")
print(f"\n{sum(len(v) for v in by_repo.values())} open PRs across {