Skip to content
Back to skills

Github:Issues

ASecurity

Issue triage - stale issues, blocking, no attention, should-close analysis

  • 299 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 20, 2026
devopsbashgitsecurity

Security analysis

A100/100

Scanned September 20, 2026

npx -y skills add rossoctl/rossoctl --skill github:issues --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Github:Issues?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Github:Issues
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rossoctl-github-issues/badge)](https://www.skillsdirectory.com/skills/rossoctl-github-issues)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: github:issues
description: Issue triage - stale issues, blocking, no attention, should-close analysis
---

# Issue Triage

Analyze open issues to identify priority, stale items, and cleanup candidates.

## Variables

Set at session start:

```bash
export OWNER=<org-or-user>
export REPO=<repo-name>
```

## When to Use

- Weekly issue grooming
- Before sprint planning
- When backlog grows too large

> **Auto-approved**: All `gh` commands are read-only and auto-approved.

## Analysis Steps

### 1. All Open Issues

```bash
gh issue list --repo $OWNER/$REPO --state open --limit 100 --json number,title,labels,createdAt,updatedAt,assignees,comments
```

### 2. Issues Without Attention (no assignee, no comments)

```bash
gh issue list --repo $OWNER/$REPO --state open --limit 100 --json number,title,assignees,comments --jq '.[] | select(.assignees | length == 0) | select(.comments == 0) | "#\(.number) \(.title)"'
```

### 3. Stale Issues (no update > 30 days)

```bash
gh issue list --repo $OWNER/$REPO --state open --limit 100 --json number,title,updatedAt --jq '.[] | select(.updatedAt < (now - 30*24*3600 | strftime("%Y-%m-%dT%H:%M:%SZ"))) | "#\(.number) \(.title) (last: \(.updatedAt))"'
```

### 4. Blocking / High Priority

```bash
gh issue list --repo $OWNER/$REPO --state open --label "priority/critical,priority/high,blocking" --json number,title,labels
```

### 5. Security Issues

```bash
gh issue list --repo $OWNER/$REPO --state open --label "security" --json number,title,createdAt
```

## Triage Report

```markdown
## Issue Triage Report

### Needs Attention (no assignee, no comments): N
- [list]

### Stale (> 30 days no activity): N
- [list — consider closing or updating]

### Blocking / High Priority: N
- [list — needs immediate action]

### Candidates to Close
- [issues that are resolved, outdated, or duplicated]
```

### Optionally Close or Comment

```bash
gh issue close <number> --repo $OWNER/$REPO --comment "Closing as resolved/outdated. See #<newer-issue> for updated version."
```

## Troubleshooting

### Problem: Label filters return nothing
**Symptom**: `--label` flag matches no issues.
**Fix**: Labels are case-sensitive and repo-specific. Run `gh label list --repo $OWNER/$REPO` to see available labels, then adjust the filter.

### Problem: Issues list exceeds --limit 100
**Symptom**: Repo has 100+ open issues and results are truncated.
**Fix**: Use `--limit 500` or paginate with `--jq 'length'` first to check total count.

## Related Skills

- `github:last-week` - Weekly summary including issues
- `github:prs` - PR health analysis
- `repo:issue` - Create properly formatted issues

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.