‹ 首页

gh-cli

@tenequm · 收录于 1 周前

GitHub CLI for remote repository analysis, file fetching, codebase comparison, and discovering trending code/repos. Use when analyzing repos without cloning, comparing codebases, or searching for popular GitHub projects.

适合你,如果经常需要在不克隆仓库的情况下分析GitHub代码

/ 下载安装
gh-cli.skill双击,或拖进 Claude 桌面版 / Cowork,即完成安装↓ .skill↓ .zip
用别的 agent?下载 .zip 解压,把文件夹放进它的技能目录
Claude Code~/.claude/skills/(项目级 .claude/skills/)
Codex CLI~/.codex/skills/
Cursor自动读取上面两处目录
其他工具见其文档的「skills」目录;两个下载是同一份文件,只是名字不同
/ 通过 npx 安装 校验哈希
npx oh-my-skill add tenequm/skills/gh-cli
/ 通过 bash 安装
curl -fsSL https://oh-my-skill.com/install.sh | bash -s -- tenequm/skills/gh-cli
/ 已经装过?验证本机副本,不用重装
npx oh-my-skill verify tenequm/skills/gh-cli
安装目标可用 --agent / --scope 或 --to 明确指定;省略时只会在唯一已存在的 agent 目录上自动选择,零命中或多命中会停止并提示。content_hash 缺失或不一致均拒装。
29GitHub stars
~1.4K最小装载
~44.4K含声明引用
~46.8K文本包总量
镜像托管

怎么用

技能原文 SKILL.md作者撰写 · Apache-2.0 · ecb77f8

GitHub CLI - Remote Analysis & Discovery

Remote repository operations, codebase comparison, and code discovery without cloning.

When to Use
  • Analyze repositories without cloning
  • Compare codebases side-by-side
  • Fetch specific files from any repo
  • Find trending repositories and code patterns
  • Search code across GitHub
Quick Operations
Fetch a file remotely
gh api repos/OWNER/REPO/contents/path/file.ts --template '{{.content | base64decode}}'
Get directory listing
gh api repos/OWNER/REPO/contents/PATH
Search code
gh search code "pattern" --language=typescript
Find trending repos
gh search repos --language=rust --sort stars --order desc
Compare Two Codebases

Systematic workflow for comparing repositories to identify similarities and differences.

Example use: "Compare solana-fm/explorer-kit and tenequm/solana-idls"

Step 1: Fetch directory structures
gh api repos/OWNER-A/REPO-A/contents/PATH
gh api repos/OWNER-B/REPO-B/contents/PATH

If comparing a monorepo package, specify the path (e.g., packages/explorerkit-idls).

Step 2: Compare file lists
gh api repos/OWNER-A/REPO-A/contents/PATH -q '.[].name'
gh api repos/OWNER-B/REPO-B/contents/PATH -q '.[].name'

Compare the output of each command to identify files unique to each repo and common files.

Step 3: Fetch key files for comparison

Compare package dependencies:

gh api repos/OWNER-A/REPO-A/contents/package.json --template '{{.content | base64decode}}'
gh api repos/OWNER-B/REPO-B/contents/package.json --template '{{.content | base64decode}}'

Compare main entry points:

gh api repos/OWNER-A/REPO-A/contents/src/index.ts --template '{{.content | base64decode}}'
gh api repos/OWNER-B/REPO-B/contents/src/index.ts --template '{{.content | base64decode}}'
Step 4: Analyze differences

Compare the fetched files to identify:

API Surface

  • What functions/classes are exported?
  • Are the APIs similar or completely different?

Dependencies

  • Shared dependencies (same approach)
  • Different dependencies (different implementation)

Unique Features

  • Features only in repo1
  • Features only in repo2

For detailed comparison strategies, see [references/comparison.md](references/comparison.md).

Discover Trending Content
Find trending repositories
# Most starred repos
gh search repos --sort stars --order desc --limit 20

# Trending in specific language
gh search repos --language=rust --sort stars --order desc

# Recently popular (created in last month)
gh search repos "created:>2024-10-01" --sort stars --order desc

# Trending in specific topic
gh search repos "topic:machine-learning" --sort stars --order desc
Discover popular code patterns
# Find popular implementations (code search has no sorting - scope with filters)
gh search code "function useWallet" --language=typescript

# Scope to a known repo (code search can't filter by stars - stars:>N is literal text)
gh search code "implementation" --repo=honojs/hono

# Search specific organization
gh search code "authentication" --owner=anthropics

For complete discovery queries and patterns, see [references/discovery.md](references/discovery.md).

Search Basics
Code search
# Search across all repositories
gh search code "API endpoint" --language=python

# Search in specific organization
gh search code "auth" --owner=anthropics

# Exclude results with negative qualifiers
gh search issues -- "bug report -label:wontfix"
Issue & PR search
# Find open bugs
gh search issues --label=bug --state=open

# Search assigned issues
gh search issues --assignee=@me --state=open

For advanced search syntax, see [references/search.md](references/search.md).

Special Syntax
Field name inconsistencies

IMPORTANT: GitHub CLI uses inconsistent field names across commands:

| Field | gh repo view | gh search repos | |-------|----------------|-------------------| | Stars | stargazerCount | stargazersCount | | Forks | forkCount | forksCount |

Examples:

# ✅ Correct for gh repo view
gh repo view owner/repo --json stargazerCount,forkCount

# ✅ Correct for gh search repos
gh search repos "query" --json stargazersCount,forksCount
Excluding search results

When using negative qualifiers (like -label:bug), use -- to prevent the hyphen from being interpreted as a flag:

gh search issues -- "query -label:bug"

For more syntax gotchas, see [references/syntax.md](references/syntax.md).

Advanced Workflows

For detailed documentation on specific workflows:

Core Workflows:

  • [remote-analysis.md](references/remote-analysis.md) - Advanced file fetching patterns
  • [comparison.md](references/comparison.md) - Complete codebase comparison guide
  • [discovery.md](references/discovery.md) - All trending and discovery queries
  • [search.md](references/search.md) - Advanced search syntax
  • [syntax.md](references/syntax.md) - Special syntax and command quirks

GitHub Operations:

  • [repositories.md](references/repositories.md) - Repository operations
  • [pull_requests.md](references/pull_requests.md) - PR workflows
  • [issues.md](references/issues.md) - Issue management
  • [actions.md](references/actions.md) - GitHub Actions
  • [releases.md](references/releases.md) - Release management

Setup & Configuration:

  • [getting_started.md](references/getting_started.md) - Installation and auth
  • [other.md](references/other.md) - Environment variables, aliases, config
  • [extensions.md](references/extensions.md) - CLI extensions
Resources
  • Official docs: https://cli.github.com/manual/
  • GitHub CLI: https://github.com/cli/cli
  • Search syntax: https://docs.github.com/en/search-github
按 Apache-2.0 许可原样转载,未经改动 · 在 GitHub 查看 →

评论

登录即可评论;带「已验证安装」的,是发布者名下有本店的安装或持有记录。