github cli

Expert guidance for GitHub CLI operations and workflows.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "github cli" with this command: npx skills add oriolrius/pki-manager-web/oriolrius-pki-manager-web-github-cli

GitHub CLI (gh)

Expert guidance for GitHub CLI operations and workflows.

Installation & Setup

Login to GitHub

gh auth login

Check authentication status

gh auth status

Configure git to use gh as credential helper

gh auth setup-git

Pull Requests

Creating PRs

Create PR interactively

gh pr create

Create PR with title and body

gh pr create --title "Add feature" --body "Description"

Create PR to specific branch

gh pr create --base main --head feature-branch

Create draft PR

gh pr create --draft

Create PR from current branch

gh pr create --fill # Uses commit messages

Viewing PRs

List PRs

gh pr list

List my PRs

gh pr list --author @me

View PR details

gh pr view 123

View PR in browser

gh pr view 123 --web

View PR diff

gh pr diff 123

Check PR status

gh pr status

Managing PRs

Checkout PR locally

gh pr checkout 123

Review PR

gh pr review 123 --approve gh pr review 123 --comment --body "Looks good!" gh pr review 123 --request-changes --body "Please fix X"

Merge PR

gh pr merge 123 gh pr merge 123 --squash gh pr merge 123 --rebase gh pr merge 123 --merge

Close PR

gh pr close 123

Reopen PR

gh pr reopen 123

Ready draft PR

gh pr ready 123

PR Checks

View PR checks

gh pr checks 123

Watch PR checks

gh pr checks 123 --watch

Issues

Creating Issues

Create issue interactively

gh issue create

Create issue with title and body

gh issue create --title "Bug report" --body "Description"

Create issue with labels

gh issue create --title "Bug" --label bug,critical

Assign issue

gh issue create --title "Task" --assignee @me

Viewing Issues

List issues

gh issue list

List my issues

gh issue list --assignee @me

List by label

gh issue list --label bug

View issue details

gh issue view 456

View in browser

gh issue view 456 --web

Managing Issues

Close issue

gh issue close 456

Reopen issue

gh issue reopen 456

Edit issue

gh issue edit 456 --title "New title" gh issue edit 456 --add-label bug gh issue edit 456 --add-assignee @user

Comment on issue

gh issue comment 456 --body "Update"

Repository Operations

Repository Info

View repository

gh repo view

View in browser

gh repo view --web

Clone repository

gh repo clone owner/repo

Fork repository

gh repo fork owner/repo

List repositories

gh repo list owner

Repository Management

Create repository

gh repo create my-repo --public gh repo create my-repo --private

Delete repository

gh repo delete owner/repo

Sync fork

gh repo sync owner/repo

Set default repository

gh repo set-default

Workflows & Actions

Viewing Workflows

List workflows

gh workflow list

View workflow runs

gh run list

View specific run

gh run view 789

Watch run

gh run watch 789

View run logs

gh run view 789 --log

Managing Workflows

Trigger workflow

gh workflow run workflow.yml

Cancel run

gh run cancel 789

Rerun workflow

gh run rerun 789

Download artifacts

gh run download 789

Releases

Creating Releases

Create release

gh release create v1.0.0

Create release with notes

gh release create v1.0.0 --notes "Release notes"

Create release with files

gh release create v1.0.0 dist/*.tar.gz

Create draft release

gh release create v1.0.0 --draft

Generate release notes automatically

gh release create v1.0.0 --generate-notes

Managing Releases

List releases

gh release list

View release

gh release view v1.0.0

Download release assets

gh release download v1.0.0

Delete release

gh release delete v1.0.0

Version Management (pki-manager specific)

IMPORTANT: When creating a new release for this project, you MUST bump the version in ALL THREE package.json files:

  • package.json (root - authoritative source)

  • frontend/package.json

  • backend/package.json

Version Bump Types (Semantic Versioning)

Type When to use Example

patch Bug fixes, minor changes 1.2.0 → 1.2.1

minor New features, backwards compatible 1.2.0 → 1.3.0

major Breaking changes 1.2.0 → 2.0.0

Pre-Release Workflow

Before creating a release, you MUST:

  • Check current version in root package.json

  • Determine bump type based on changes since last release

  • Update ALL package.json files with the new version

  • Commit version changes with message: chore: bump version to vX.Y.Z

  • Create git tag: git tag vX.Y.Z

  • Push tag: git push origin vX.Y.Z

  • Create GitHub release: gh release create vX.Y.Z --generate-notes

Complete Release Workflow

1. Determine current version

cat package.json | grep '"version"'

Output: "version": "1.2.0"

2. Update versions in all package.json files

For patch bump (1.2.0 → 1.2.1):

NEW_VERSION="1.2.1"

Edit package.json (root)

Edit frontend/package.json

Edit backend/package.json

All three must have the same version!

3. Commit version bump

git add package.json frontend/package.json backend/package.json git commit -m "chore: bump version to v${NEW_VERSION}"

4. Create and push tag

git tag "v${NEW_VERSION}" git push origin main git push origin "v${NEW_VERSION}"

5. Create GitHub release with auto-generated notes

gh release create "v${NEW_VERSION}" --generate-notes

Or with custom notes

gh release create "v${NEW_VERSION}" --notes "## What's Changed

  • Feature A
  • Bug fix B
  • Improvement C"

Version Synchronization Rules

CRITICAL: All three package.json files MUST have matching versions:

File Path Must Match Root

Root package.json

✓ (authoritative)

Frontend frontend/package.json

Backend backend/package.json

Checking Version Consistency

Quick check all versions

echo "Root: $(cat package.json | grep '"version"' | head -1)" echo "Frontend: $(cat frontend/package.json | grep '"version"' | head -1)" echo "Backend: $(cat backend/package.json | grep '"version"' | head -1)"

Release Checklist

Before releasing, verify:

  • All tests pass (pnpm test )

  • Build succeeds (pnpm build )

  • All three package.json versions match

  • Changes are committed to main branch

  • No uncommitted changes (git status )

  • Previous release tag exists for comparison

Gists

Create gist

gh gist create file.txt

Create gist from stdin

echo "content" | gh gist create -

List gists

gh gist list

View gist

gh gist view <gist-id>

Edit gist

gh gist edit <gist-id>

Delete gist

gh gist delete <gist-id>

Advanced Features

Aliases

Create alias

gh alias set pv "pr view" gh alias set bugs "issue list --label bug"

List aliases

gh alias list

Use alias

gh pv 123

API Access

Make API call

gh api repos/:owner/:repo/issues

With JSON data

gh api repos/:owner/:repo/issues -f title="Bug" -f body="Description"

Paginated results

gh api --paginate repos/:owner/:repo/issues

Extensions

List extensions

gh extension list

Install extension

gh extension install owner/gh-extension

Upgrade extensions

gh extension upgrade --all

Common Workflows

Code Review Workflow

List PRs assigned to you

gh pr list --assignee @me

Checkout PR for testing

gh pr checkout 123

Run tests, review code...

Approve PR

gh pr review 123 --approve --body "LGTM!"

Merge PR

gh pr merge 123 --squash

Quick PR Creation

Create feature branch, make changes, commit

git checkout -b feature/new-feature

... make changes ...

git add . git commit -m "Add new feature" git push -u origin feature/new-feature

Create PR from commits

gh pr create --fill

View PR

gh pr view --web

Issue Triage

List open issues

gh issue list

Add labels to issues

gh issue edit 456 --add-label needs-triage gh issue edit 456 --add-label bug

Assign issue

gh issue edit 456 --add-assignee @developer

Configuration

Set default editor

gh config set editor vim

Set default git protocol

gh config set git_protocol ssh

View configuration

gh config list

Set browser

gh config set browser firefox

Tips

  • Use --web flag: Open items in browser for detailed view

  • Interactive prompts: Most commands work interactively if you omit parameters

  • Filters: Use --author , --label , --state to filter lists

  • JSON output: Add --json flag for scriptable output

  • Template repos: Use gh repo create --template for templates

  • Auto-merge: Enable with gh pr merge --auto

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

trpc

No summary provided by upstream source.

Repository SourceNeeds Review
General

keycloak

No summary provided by upstream source.

Repository SourceNeeds Review
General

next.js

No summary provided by upstream source.

Repository SourceNeeds Review