NYC
skills/vm0-ai/vm0-skills/github-automation

github-automation

SKILL.md

GitHub Automation

This Skill helps you manage GitHub operations using the gh CLI, including repositories, issues, pull requests, releases, and GitHub Actions workflows.

Capabilities

  • Repositories: Create, clone, fork, view, and manage repos
  • Issues: Create, list, view, close, comment, and label issues
  • Pull Requests: Create, review, merge, list, and comment on PRs
  • Releases: Create releases and manage tags
  • Workflows: View and manage GitHub Actions
  • Gists: Create and manage gists
  • Search: Search repos, issues, PRs, code, and users

Authentication

The GITHUB_TOKEN environment variable is pre-configured. Verify with:

gh auth status

Instructions

Phase 1: Understand the Request

  1. Clarify what GitHub operation the user needs
  2. Identify the target repository (if not specified, ask)
  3. Confirm any destructive operations before executing

Phase 2: Execute the Operation

Use gh CLI commands. Common patterns:

Repository Operations

gh repo view <owner>/<repo>
gh repo clone <owner>/<repo>
gh repo create <name> --public/--private
gh repo list <owner>

Issue Operations

gh issue list --repo <owner>/<repo>
gh issue create --repo <owner>/<repo> --title "Title" --body "Body"
gh issue view <number> --repo <owner>/<repo>
gh issue close <number> --repo <owner>/<repo>
gh issue comment <number> --repo <owner>/<repo> --body "Comment"

Pull Request Operations

gh pr list --repo <owner>/<repo>
gh pr create --repo <owner>/<repo> --title "Title" --body "Body"
gh pr view <number> --repo <owner>/<repo>
gh pr merge <number> --repo <owner>/<repo>
gh pr review <number> --repo <owner>/<repo> --approve/--comment/--request-changes
gh pr checks <number> --repo <owner>/<repo>

Search Operations

gh search repos <query>
gh search issues <query>
gh search prs <query>
gh search code <query>

GitHub Actions

gh run list --repo <owner>/<repo>
gh run view <run-id> --repo <owner>/<repo>
gh workflow list --repo <owner>/<repo>

Releases

gh release list --repo <owner>/<repo>
gh release create <tag> --repo <owner>/<repo> --title "Title" --notes "Notes"

Guidelines

  • Always specify --repo <owner>/<repo> when not in a cloned repository
  • For destructive operations (delete, close, merge), confirm with user first
  • Use --json flag when you need to parse output programmatically
  • Handle errors gracefully and suggest fixes
  • When creating issues/PRs, use clear titles and descriptive bodies

Phase 3: Report Results

  • Summarize what was done
  • Provide relevant links (PR URLs, issue numbers, etc.)
  • Suggest next steps if applicable

Output Format

When listing items, format clearly:

#123 - Issue title (open/closed) - @author
#456 - PR title (open/merged/closed) - @author

When creating items, always report:

  • The created item's number/ID
  • Direct URL to the item
  • Any relevant status information

Examples

Create an issue:

gh issue create --repo <owner>/<repo> --title "Bug: Login fails" --body "Steps to reproduce..."

List open PRs awaiting review:

gh pr list --repo <owner>/<repo> --state open --search "review:required"

Get PR details as JSON:

gh pr view <number> --repo <owner>/<repo> --json title,state,reviews,checks

Prerequisites

This Skill requires the GitHub CLI (gh) to be installed and authenticated:

gh auth status

If not authenticated, run:

gh auth login

Alternatively, set the GITHUB_TOKEN environment variable with a personal access token.

Important: When using environment variables in commands with pipes, wrap the command in bash -c '...' to avoid variable substitution issues:

bash -c 'gh pr view <number> --repo $OWNER/$REPO --json title,state' | jq '.title'

Without environment variables, the pipe is fine:

gh pr view <number> --repo <owner>/<repo> --json title,state | jq '.title'
Weekly Installs
19
First Seen
Jan 24, 2026
Installed on
claude-code12
gemini-cli10
antigravity10
opencode9
codex9
openclaw7