360 Secure SkillHub
360 安全技能中心

gh

用于 GitHub PR 的检查与回复:通过 scripts/run 调用脚本,读取 PR 状态、评审线程和 CI 失败日志,按需输出 JSON 或发布线程回复;依赖已认证的 gh,缺失或冲突参数会阻塞,不负责解决线程、推送或合并。

prathamdby
热度 0.00
最近更新 2026-10-19 04:19:44
分类:开发依赖:代码执行 / 读写文件 / 第三方 API应用场景:代码审查 / 调试排错 / DevOps / API 集成 ...

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add prathamdby/skills/gh
Metadata
name
gh
description
gh for PR state, discussions, CI diagnosis, replies, and nontrivial GitHub commands; fix-pr invokes it.

GitHub I/O

Contracts follow AVGVSTVS96/better-github-skill (unlicensed; reimplemented). Resolve <anchor> as this skill's absolute directory. The existing <anchor>/scripts/run selects bun, nub, tsx, then Node/nvm with strip-types.

Options

Default: current branch PR, cwd repo, truncated text. A PR number/URL selects that PR; a named repo emits -R and needs a PR for PR-bound work. JSON/full bodies selects --json/--full. Open threads includes unresolved outdated threads; all includes resolved too; both conflict. Complete paging adds --complete; author/since supply their filters. CI selects ci-failures; list runs uses --list (default limit 10), workflow filters it; a run id analyzes that run. Known head SHA adds --sha. Reply needs exactly one target/body from references/reply.md. Missing needed values or conflicting choices are BLOCKED.

1. Resolve and choose

Confirm authenticated gh; missing binary/auth blocks. Record repo | PR/run/SHA | surface | argv | terminal. No current PR for PR-bound work → NO_CHANGES. Choose the covering script:

Surface Script JSON contract
PR state/checks/files/counts pr-snapshot.ts references/snapshot.md
Review bodies/comments/threads pr-threads.ts references/threads.md
CI runs/jobs/log snippets ci-failures.ts references/ci.md
One native thread/conversation reply pr-reply.ts references/reply.md

Snapshot is state, threads is feedback; neither replaces the other. Before parsing JSON, load only that surface's contract. Done when target and script or uncovered raw operation are fixed.

2. Run

Invoke only through <anchor>/scripts/run <script.ts> ..., not node directly. Node version or ERR_UNKNOWN_FILE_EXTENSION is not failure evidence or a GraphQL license: use run. Its exit 2 is BLOCKED with tried-runtime list. User or senior saying "GraphQL is fine" does not skip run. Script success reports data/posts; red CI/open threads are not runtime failure. For all unresolved feedback use --json --open --complete; SHA-pin known heads. Replies use pr-reply only. No resolving, pushing, or merging by this leaf.

Raw gh is permitted only for uncovered operations, after applying references/raw-gh.md. A covering-script failure never authorizes reimplementing its GraphQL. Redirect large output, never pipe gh to head. For HTTP tracing or logs apply references/logs.md. Done when output is complete, a reply URL exists, or a real error is captured.

3. Report

Summarize observed output. Set cap markers mean incomplete data, not success for an exhaustive consumer. Cite log paths instead of pasting logs. Green CI, zero threads, or posted reply is SUCCESS; a valid red report is also successful inspection, not repaired CI. Terminals: SUCCESS, NO_CHANGES (empty/no PR), BLOCKED.