Skip to content
Back to skills

Github Cli

ASecurity

gh CLI patterns, JSON field discovery, PR check interpretation, label management, merge settings verification, CodeQL/GHAS gating.

  • 5 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 4, 2026
ai-agentsbashgitapisecurity

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 4, 2026

npx -y skills add juan294/cc-rpi --skill github-cli --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Github Cli?

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

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

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-cli"
description: "gh CLI patterns, JSON field discovery, PR check interpretation, label management, merge settings verification, CodeQL/GHAS gating."
---

# GitHub CLI

## JSON Field Discovery

Wrong -- guess field names:

```bash
gh pr checks 42 --json conclusion  # Unknown field
```

Right -- discover fields first:

```bash
gh pr checks --help
```

## PR Check Interpretation

Use the documented fields and preserve the command status:

```bash
gh pr checks 42 --json name,state,bucket,workflow
# Or watch existing checks to completion:
gh pr checks 42 --watch
```

Pending checks return exit **8**. Exit 1 can mean failed checks or another
command error; inspect output. `bucket` distinguishes `pass`, `fail`,
`pending`, `skipping`, and `cancel`. Do not discard a check merely because
its name is `review`; inspect its workflow and the repository's requirements.
An empty or incomplete check inventory is not evidence that required CI ran.
These commands inspect existing checks; they do not authorize PR creation.
See the [GitHub CLI manual](https://cli.github.com/manual/gh_pr_checks).

## Release vs PR Flags

Wrong -- --body is for pr/issue create, not release:

```bash
gh release create v1.0.0 --body "notes"
```

Right -- releases use --notes:

```bash
gh release create v1.0.0 --notes "notes"
```

## Label and Merge Settings

Wrong -- assume labels exist and merge method is allowed:

```bash
gh issue create --label "chore" --title "Fix"  # label not found
gh pr merge 42 --merge                         # method not allowed
```

Right -- check or create first:

```bash
gh label list && gh label create "chore" --color "ededed"
gh api repos/{owner}/{repo} --jq '.allow_squash_merge, .allow_merge_commit'
```

When creating multiple issues, create them sequentially, not as parallel
tool calls -- a batch of parallel `gh issue create` calls that all hit the
same missing label fail together instead of surfacing once.

## Deprecated Projects (Classic) API

Wrong -- an older `gh` version queries a removed field and errors:

```bash
gh issue view 42 --json projectCards  # Projects (classic) is deprecated
```

Right -- upgrade `gh` first:

```bash
brew upgrade gh
```

## Code Scanning Availability

Before adding a scanner, inspect repository visibility, the enabled security
product, and the caller's permissions:

```bash
gh api repos/{owner}/{repo} --jq '{visibility, security_and_analysis}'
gh api --include repos/{owner}/{repo}/code-scanning/alerts
```

A successful alerts request proves this caller can read that endpoint. A 403
can mean missing permissions, policy restrictions, rate limits, or disabled
code security; a 404 can hide a private resource. Neither means "enabled".
Inspect the HTTP status, response message, and token permissions together.
Code scanning is available for public repositories and eligible private or
internal repositories with GitHub Code Security enabled. Do not enable a paid
product or trigger a scanner without the owner's authorization. Read-only
inspection of existing alerts is allowed. See [GitHub's code-scanning API](https://docs.github.com/en/rest/code-scanning/code-scanning).

## Duplicate PR Prevention

Apply mutation recipes only within an authorized completed release workflow.
Working branches remain local; do not create feature PRs for implementation.

Wrong -- create PR when one already exists for this branch:

```bash
gh pr create --title "feat: thing"
```

Right -- check first, edit if exists:

```bash
gh pr list --head <branch> --base <base>
# Exists: gh pr edit <number>  |  New: gh pr create
```

## Identifier Discovery

Wrong -- fabricate repo names or issue numbers:

```bash
gh issue view 42 --repo owner/MyProject
```

Right -- discover identifiers:

```bash
gh repo list owner --json name --limit 50
gh issue list --search "bug in login"
```

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…