with one click
github-read
Read-only Git and GitHub CLI operations for repository inspection
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Read-only Git and GitHub CLI operations for repository inspection
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Continue working on an OpenSpec change by creating the next artifact. Use when the user wants to progress their change, create the next artifact, or continue their workflow.
Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.
Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.
How to write specs, name capabilities, and structure requirements. Load this when creating or reviewing proposals, specs, or capability lists.
How to invoke the openspec CLI. Load this BEFORE running any openspec commands.
Principles and patterns for writing agent definitions
| name | github-read |
| description | Read-only Git and GitHub CLI operations for repository inspection |
Read-only operations for inspecting repository state, issues, PRs, and projects.
Before running commands, read .opencode/github.json for repository context:
cat .opencode/github.json
Key values you'll need:
repository.full_name - For --repo flags (e.g., "owner/repo")project.number - For project queriesproject.owner - Usually "@me" for user projectsUse = syntax for flags with values to ensure permission patterns match correctly:
# Correct - permissions will match
gh issue list --repo=owner/repo --state=closed --limit=5
# May fail permission check - avoid this syntax
gh issue list --repo owner/repo --state closed --limit 5
This applies to all gh commands with flag arguments.
# Current status
git status
# Short status
git status -s
# Show what's staged vs unstaged
git diff # unstaged changes
git diff --staged # staged changes
# Recent commits
git log --oneline -20
# Commits on current branch not on main
git log origin/main..HEAD --oneline
# Full commit details
git show <commit>
# Who changed each line
git blame <file>
# List local branches
git branch
# List all branches (including remote)
git branch -a
# List remote branches only
git branch -r
# Show current branch
git branch --show-current
# Update remote refs (safe - doesn't change working tree)
git fetch origin
# List remotes
git remote -v
# Show remote details
git remote show origin
# Diff between branches
git diff main..feature-branch
# Commits in feature not in main
git log main..feature-branch --oneline
# Files changed between branches
git diff main..feature-branch --name-only
# View issue details
gh issue view <number> --repo=<full_name>
# List open issues
gh issue list --repo=<full_name>
# List issues with filters
gh issue list --repo=<full_name> --assignee=@me
gh issue list --repo=<full_name> --label=bug
gh issue list --repo=<full_name> --state=closed
# View PR details
gh pr view <number> --repo=<full_name>
# View PR diff
gh pr diff <number> --repo=<full_name>
# Check CI status
gh pr checks <number> --repo=<full_name>
# List PRs
gh pr list --repo=<full_name>
gh pr list --repo=<full_name> --author=@me
gh pr list --repo=<full_name> --state=merged
# List project items (JSON for parsing)
gh project item-list <project_number> --owner=<project_owner> --format=json
# Filter by status with jq
gh project item-list <project_number> --owner=<project_owner> --format=json | \
jq '[.items[] | select(.status.name == "In Progress")]'
# Find specific issue in project
gh project item-list <project_number> --owner=<project_owner> --format=json | \
jq '.items[] | select(.content.number == 42)'
# List releases
gh release list --repo=<full_name>
# View release
gh release view <tag> --repo=<full_name>
# List workflow runs
gh run list --repo=<full_name>
# View run details
gh run view <run_id> --repo=<full_name>
git fetch origin
git status
git log origin/main..HEAD --oneline
git diff origin/main..HEAD --stat
# From project board
gh project item-list <number> --owner=@me --format=json | \
jq '[.items[] | select(.status.name == "In Progress") | {title: .title, number: .content.number}]'
gh pr view <number> --repo=<full_name>
gh pr diff <number> --repo=<full_name>
gh pr checks <number> --repo=<full_name>
This skill covers READ-ONLY operations.
For git mutations (commits, pushes, merges), the main agent or commands handle those directly.
For project management writes (issues, PRs, board updates), delegate to the product-manager agent.