Skip to content
Back to skills

Gh Issue View Majiayu000

ASecurity

View GitHub issue details using gh CLI. Shows issue status, comments, timeline, and metadata. Use when user wants to inspect issue information or check status.

  • 57 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 31, 2026
toolsgobashreacttestinggitapiperformancedocumentation

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Scanned May 31, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill gh-issue-view --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gh Issue View Majiayu000?

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

Security grade badge for Gh Issue View Majiayu000
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-gh-issue-view-majiayu000/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-gh-issue-view-majiayu000)

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: gh-issue-view
description: View GitHub issue details using gh CLI. Shows issue status, comments, timeline, and metadata. Use when user wants to inspect issue information or check status.
allowed-tools: Bash, Read, Grep
handoffs:
  - label: Comment on Issue
    agent: gh-issue-comment
    prompt: Add a comment to this issue
    send: true
  - label: Close Issue
    agent: gh-issue-close
    prompt: Close this resolved issue
    send: true
  - label: Edit Issue
    agent: gh-issue-edit
    prompt: Update issue metadata
    send: true
---

# GitHub Issue View Skill

View comprehensive GitHub issue information using the `gh` CLI.

## When to Use

- User asks "show me issue #123" or "what's the status of this issue"
- User wants to see issue comments and discussion
- Before working on an issue, to understand requirements
- To check if issue is still open or already resolved
- To see who's assigned or what labels are applied

## Prerequisites

Verify GitHub CLI is installed and authenticated:

```bash
gh --version
gh auth status
```

## Execution Workflow

### Step 1: Identify the Issue

**If user specifies issue number:**

```bash
gh issue view 123
```

**If user provides issue URL:**

```bash
gh issue view https://github.com/owner/repo/issues/123
```

**If searching for issues:**

```bash
gh issue list --search "login bug"
```

### Step 2: Fetch Issue Details

Get comprehensive JSON data:

```bash
gh issue view 123 --json \
  number,title,body,state,\
  author,assignees,labels,\
  milestone,createdAt,updatedAt,closedAt,\
  comments,url
```

### Step 3: Format and Present

Parse and present in human-readable format:

```markdown
## Issue #123: Fix login button on Safari

**Status**: Open | Closed
**Author**: @username
**Created**: 3 days ago
**Updated**: 2 hours ago
**Closed**: N/A (or timestamp)

**Assignees**: @alice, @bob
**Labels**: `bug` `priority-high` `mobile`
**Milestone**: v2.1

### Description

Users cannot log in when using Safari browser on iOS.
Login button doesn't respond when clicked.

### Comments (3)

**@alice** (2 days ago):
I can reproduce this on iOS 17. Investigating...

**@bob** (1 day ago):
Found the issue - event listener not attached correctly.
Working on a fix.

**@charlie** (2 hours ago):
Fixed in PR #234. Testing now.

🔗 [View on GitHub](https://github.com/owner/repo/issues/123)
```

### Step 4: Show Additional Details (if needed)

**View with comments:**

```bash
gh issue view 123 --comments
```

**View timeline:**

```bash
gh issue view 123 --json timelineItems \
  | jq -r '.timelineItems[] | "\(.createdAt) - \(.typename): \(.body)"'
```

**Check linked PRs:**

```bash
gh issue view 123 --json timelineItems \
  | jq -r '.timelineItems[] | select(.typename == "CrossReferencedEvent") | .source.url'
```

## Common Scenarios

### Scenario 1: Quick Issue Check

```bash
# Simple view
gh issue view 123

# Output:
# Fix login button on Safari #123
# Open • alice opened 3 days ago • 5 comments
#
# Users cannot log in when using Safari browser on iOS...
#
# View this issue on GitHub: https://github.com/...
```

### Scenario 2: Detailed Issue Analysis

```bash
# Get full details with comments
gh issue view 123 --comments

# Check who's working on it
gh issue view 123 --json assignees \
  | jq -r '.assignees[] | .login'

# Check labels and priority
gh issue view 123 --json labels \
  | jq -r '.labels[] | .name'

# See when it was created
gh issue view 123 --json createdAt,updatedAt \
  | jq -r '"Created: \(.createdAt)\nUpdated: \(.updatedAt)"'
```

### Scenario 3: List All Open Issues

```bash
# List all open issues
gh issue list --state open

# List my issues
gh issue list --assignee "@me"

# List high priority bugs
gh issue list --label "bug,priority-high"

# List issues in milestone
gh issue list --milestone "v2.0"

# Custom columns
gh issue list --json number,title,assignees,labels \
  --template '{{range .}}{{.number}}: {{.title}} [@{{range .assignees}}{{.login}} {{end}}]{{"\n"}}{{end}}'
```

### Scenario 4: Search for Issues

```bash
# Search by keyword
gh issue list --search "authentication"

# Search with filters
gh issue list --search "login is:open label:bug"

# Search by author
gh issue list --author "alice"

# Search recently updated
gh issue list --search "updated:>2024-01-01"
```

### Scenario 5: Check Issue Status and Blockers

```bash
# Get issue with dependencies
ISSUE_BODY=$(gh issue view 123 --json body --jq '.body')

# Parse blocking issues
echo "$ISSUE_BODY" | grep -E "Blocks #[0-9]+" -o | grep -o "[0-9]*"

# Parse dependencies
echo "$ISSUE_BODY" | grep -E "Depends on #[0-9]+" -o | grep -o "[0-9]*"

# Check if blockers are resolved
for blocker in $(echo "$ISSUE_BODY" | grep -E "Depends on #[0-9]+" -o | grep -o "[0-9]*"); do
  STATUS=$(gh issue view $blocker --json state --jq '.state')
  echo "Issue #$blocker: $STATUS"
done
```

### Scenario 6: View Issue Timeline

```bash
# Get full timeline
gh issue view 123 --json timelineItems \
  | jq -r '.timelineItems[] | "\(.createdAt | split("T")[0]) - \(.actor.login // "system"): \(.typename)"'

# Example output:
# 2024-01-01 - alice: IssueComment
# 2024-01-02 - bob: LabeledEvent
# 2024-01-03 - system: CrossReferencedEvent
# 2024-01-04 - alice: AssignedEvent
```

### Scenario 7: Export Issue to File

```bash
# Export issue details to markdown
gh issue view 123 > issue-123.md

# Export with comments
gh issue view 123 --comments > issue-123-full.md

# Export JSON for processing
gh issue view 123 --json \
  number,title,body,state,author,assignees,labels,comments,createdAt \
  > issue-123.json
```

## Advanced Queries

### Check Issue Age and Activity

```bash
# Calculate issue age
CREATED=$(gh issue view 123 --json createdAt --jq '.createdAt')
NOW=$(date -u +%s)
CREATED_TS=$(date -d "$CREATED" +%s 2>/dev/null || date -j -f "%Y-%m-%dT%H:%M:%SZ" "$CREATED" +%s)
AGE_DAYS=$(( ($NOW - $CREATED_TS) / 86400 ))

echo "Issue is $AGE_DAYS days old"

# Check if stale (no activity in 30 days)
UPDATED=$(gh issue view 123 --json updatedAt --jq '.updatedAt')
UPDATED_TS=$(date -d "$UPDATED" +%s 2>/dev/null || date -j -f "%Y-%m-%dT%H:%M:%SZ" "$UPDATED" +%s)
STALE_DAYS=$(( ($NOW - $UPDATED_TS) / 86400 ))

if [ $STALE_DAYS -gt 30 ]; then
  echo "⚠️ Issue is stale (no activity for $STALE_DAYS days)"
fi
```

### Find Related Issues

```bash
# Find issues with same labels
LABELS=$(gh issue view 123 --json labels --jq '.labels[].name' | paste -sd,)

gh issue list --label "$LABELS" --json number,title \
  | jq -r '.[] | select(.number != 123) | "#\(.number): \(.title)"'
```

### Check Resolution Status

```bash
# Check if issue is closed and how
gh issue view 123 --json state,stateReason \
  | jq -r 'if .state == "CLOSED" then "Closed as: \(.stateReason)" else "Still open" end'

# stateReason can be: COMPLETED, NOT_PLANNED, REOPENED
```

### Analyze Comment Activity

```bash
# Count comments
COMMENT_COUNT=$(gh issue view 123 --json comments --jq '.comments | length')
echo "Total comments: $COMMENT_COUNT"

# List participants
gh issue view 123 --json comments \
  | jq -r '.comments[].author.login' | sort -u

# Find last comment timestamp
gh issue view 123 --json comments \
  | jq -r '.comments[-1].createdAt // "No comments"'
```

### Issue Metrics Dashboard

```bash
# Create issue metrics dashboard
echo "=== Issue Metrics ==="

# Total issues
TOTAL=$(gh issue list --limit 1000 | wc -l)
echo "Total open issues: $TOTAL"

# By label
echo -e "\nBy Label:"
gh issue list --json labels --jq '.[].labels[].name' | sort | uniq -c | sort -rn | head -5

# By assignee
echo -e "\nBy Assignee:"
gh issue list --json assignees --jq '.[].assignees[].login' | sort | uniq -c | sort -rn | head -5

# By milestone
echo -e "\nBy Milestone:"
gh issue list --json milestone --jq '.[].milestone.title' | grep -v null | sort | uniq -c | sort -rn
```

## Formatting Options

### JSON Output

```bash
# Raw JSON
gh issue view 123 --json number,title,state,assignees

# Pretty JSON
gh issue view 123 --json number,title,state | jq '.'

# Specific field
gh issue view 123 --json title --jq '.title'
```

### Custom Template

```bash
# Go template formatting
gh issue view 123 --template '
Issue #{{.number}}: {{.title}}
State: {{.state}}
Author: {{.author.login}}
Assignees: {{range .assignees}}@{{.login}} {{end}}
Labels: {{range .labels}}{{.name}} {{end}}
'
```

### Web View

```bash
# Open in browser
gh issue view 123 --web

# Open comments in browser
gh issue view 123 --web --comments
```

## Filtering and Sorting

### List with Filters

```bash
# Open bugs only
gh issue list --label "bug" --state open

# My assigned issues
gh issue list --assignee "@me"

# Issues without assignee
gh issue list --search "no:assignee is:open"

# Issues in current milestone
MILESTONE=$(gh api repos/:owner/:repo/milestones --jq '.[0].title')
gh issue list --milestone "$MILESTONE"

# Recently updated
gh issue list --search "updated:>2024-01-01 is:open"

# Sort by created date
gh issue list --json number,title,createdAt \
  | jq -r 'sort_by(.createdAt) | reverse | .[] | "#\(.number): \(.title)"'
```

### Complex Searches

```bash
# Find old open issues
gh issue list --search "is:open created:<2023-01-01"

# Find issues with no comments
gh issue list --search "is:open comments:0"

# Find issues with many comments (active discussion)
gh issue list --search "is:open comments:>10"

# Find issues by keyword in body
gh issue list --search "authentication in:body"
```

## Tips

- **Use web view for detailed review**: `--web` opens in browser
- **Cache results for dashboards**: Store `gh issue list` output
- **Filter by multiple criteria**: Combine labels, milestones, assignees
- **Use JSON for automation**: Parse with `jq` for scripts
- **Check dependencies**: Look for "Depends on #" in issue body
- **Monitor timeline**: Track issue history with timeline
- **Export for reporting**: Save issues to files for records

## Error Handling

**Error: "Issue not found"**

- Cause: Issue doesn't exist or you don't have access
- Solution: Verify issue number with `gh issue list`

**Error: "Not authorized"**

- Cause: Not authenticated or no repository access
- Solution: Run `gh auth login` or request access

**Error: "GraphQL error"**

- Cause: API rate limit or network issue
- Solution: Check `gh auth status` and wait/retry

## Best Practices

1. **Check before working**: Always view issue before starting work
2. **Read all comments**: Understand full context and discussion
3. **Note dependencies**: Check for blocking or related issues
4. **Review labels**: Understand priority and categorization
5. **Check assignees**: Coordinate if already assigned
6. **Look for PRs**: See if work is already in progress
7. **Note milestones**: Understand release timeline
8. **Export for records**: Save issue details before closing
9. **Use web view for complex issues**: Browser better for long discussions
10. **Monitor stale issues**: Check update timestamps

## Output Examples

### Basic View

```
Fix login button on Safari #123
Open • alice opened 3 days ago • 5 comments

Users cannot log in when using Safari browser on iOS.
Login button doesn't respond when clicked.

Labels: bug, priority-high, mobile
Assignees: alice, bob
Milestone: v2.1

View this issue on GitHub: https://github.com/org/repo/issues/123
```

### With Comments

```
Fix login button on Safari #123
Open • alice opened 3 days ago • 5 comments

[Issue body...]

---

alice commented 2 days ago
I can reproduce this on iOS 17. Investigating the event handlers.

bob commented 1 day ago
Found the root cause - addEventListener not working in strict mode.
Working on a fix in PR #234.

---

View this issue on GitHub: https://github.com/org/repo/issues/123
```

### List View

```
Showing 5 of 23 open issues in owner/repo

#123  Fix login button on Safari                  bug, priority-high
#122  Add export to CSV feature                   enhancement
#121  Update dependencies                         maintenance
#120  Memory leak in auth module                  bug, performance
#119  Documentation for API endpoints             docs
```

## Related Skills

- `gh-issue-create` - Create new issues
- `gh-issue-comment` - Add comments to issues
- `gh-issue-edit` - Update issue metadata
- `gh-issue-close` - Close/resolve issues
- `gh-issue-develop` - Start working on issue

## Limitations

- Large result sets may be paginated (use `--limit` to control)
- Comments may be truncated in terminal output
- Timeline data requires JSON output to access
- Reactions and detailed events not available in simple view
- No real-time updates (must re-run command)

## See Also

- GitHub CLI docs: https://cli.github.com/manual/gh_issue_view
- GitHub CLI formatting: https://cli.github.com/manual/gh_help_formatting
- GitHub search syntax: https://docs.github.com/en/search-github/searching-on-github/searching-issues-and-pull-requests

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.