К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

gh-issues — скилл для Claude Code: что делает и как установить

Скилл находит GitHub issues, запускает фоновых агентов для исправлений и открывает PR. Подходит для потока от issue до готового pull request.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add openclaw/openclaw --skill gh-issues -a claude-code
Открыть на GitHub

Что делает gh-issues

gh-issues получает issues через GitHub CLI, отбирает их по репозиторию, label, milestone, assignee и state. Он проверяет открытые PR и ветки, чтобы не запускать повторную работу, а затем передаёт выбранные задачи фоновым агентам.

Агент создаёт ветку fix/issue-, вносит минимальное исправление, запускает подходящие тесты, коммитит изменения и открывает PR. Скилл также умеет отслеживать issues и review-комментарии, обрабатывать только PR из своего потока и работать с fork. Для запуска нужны git, gh и доступ GitHub через GH_TOKEN или авторизацию gh.

Ставьте его, если хотите автоматизировать путь от GitHub issue до PR. Для разовой ручной правки такой процесс будет избыточен.

Какие задачи решает

  • найти подходящие открытые GitHub issues
  • отфильтровать задачи по label или milestone
  • передать исправление фоновому агенту
  • создать PR из готового исправления
  • обработать комментарии к review

Примеры запросов агенту

  • Найди открытые issues в текущем репозитории и предложи кандидатов для исправления.
  • Запусти исправления для выбранных issues и открой PR с нужным описанием.
  • Проверь review-комментарии в PR из потока `fix/issue-*` и внеси адресные правки.

Как установить gh-issues

1Через Skills CLI (Vercel)

npx skills add openclaw/openclaw --skill gh-issues -a claude-code

2Вручную: положить файлы

~/.claude/skills/gh-issues/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/gh-issues/

Из того же набора45

Весь набор →
summarize openclaw Скилл запускает CLI для создания выжимок и расшифровок из веб-страниц, YouTube-роликов, подкастов и локальных PDF-файлов. Claude Code CX Codex Cursor +1 26 900установок weather openclaw Скилл получает текущую погоду и прогноз по городу, региону, коду аэропорта или координатам. Пригодится для проверки температуры и осадков или планирования поездки. Claude Code CX Codex Cursor +1 9 300установок gog openclaw Даёт агенту правила работы с CLI gog для Gmail, Calendar, Drive, Contacts, Sheets и Docs. Нужен, когда действия в Google Workspace надо выполнять из терминала. Claude Code CX Codex Cursor +1 8 500установок tmux openclaw Даёт агенту доступ к живым tmux-сессиям: читать вывод панели, отправлять клавиши и текст, ждать появления строки в промпте. Claude Code CX Codex Cursor +1 8 400установок openai-whisper openclaw Скилл учит агента вызывать Whisper CLI и расшифровывать аудио на вашей машине. Ключ API не нужен. Claude Code CX Codex Cursor +1 7 100установок nano-pdf openclaw Скилл редактирует страницы PDF по текстовым инструкциям через CLI nano-pdf. Пригодится, когда нужно исправить опечатку или заменить заголовок прямо в терминале. Claude Code CX Codex Cursor +1 7 100установок skill-creator openclaw Скилл для создания, починки и проверки других скиллов: разбирает задачу по веткам, пишет frontmatter и раскладывает ресурсы по папкам. Пригодится, когда скиллов стало много и надо держать их в порядке. Claude Code CX Codex Cursor +1 6 700установок coding-agent openclaw Скилл передаёт крупные задачи Codex, Claude Code или OpenCode фоновой работе. Подходит для рефакторинга, ревью PR и цикла от issue до PR. Claude Code CX Codex Cursor +1 6 500установок

Похожие

gh-fix-ci официальный openai Находит упавшие проверки GitHub Actions в пулл-реквесте, собирает логи ошибок и готовит план исправлений. Скилл применяет правки только после подтверждения. Claude Code CX Codex Cursor +1 11 400установок open-code-review alibaba Скилл запускает ocr CLI для ИИ-ревью Git-изменений. Генерирует построчные комментарии и умеет применять исправления. Claude Code CX Codex Cursor +1 6 800установок fix react Скилл запускает форматирование и проверку lint перед коммитом. Пригодится, когда нужно подготовить изменённые файлы к CI. Claude Code CX Codex Cursor +1 2 300установок release-skills JimLiu Автоматизирует подготовку релизов, анализ коммитов и обновление версий в проектах на Node.js, Python или Rust. Сгенерирует ченджлог и создаст GitHub Release. Claude Code CX Codex Cursor +1 25 600установок triage Matt Pocock Скилл проводит issue и внешние PR через роли триажа, проверку и подготовку брифа для агента. Подойдёт мейнтейнеру, который разбирает очередь задач. Claude Code 990 453установок code-review Matt Pocock Проверяет изменения от выбранной точки по стандартам репозитория и требованиям задачи. Нужен для ревью ветки, PR или незавершённой работы. Claude Code 789 521установок implement Matt Pocock Выполняет задачу по спецификации или тикетам, ведёт работу через тесты и завершает её ревью с коммитом. Подходит для задач, где нужен дисциплинированный цикл разработки. Claude Code 774 700установок git-guardrails-claude-code Matt Pocock Скилл ставит хук Claude Code, который останавливает опасные Git-команды до их запуска. Нужен, если агент не должен делать push или удалять изменения. Claude Code 499 069установок

Вопросы о gh-issues

Как установить gh-issues в Claude Code?

Выполните npx skills add openclaw/openclaw --skill gh-issues -a claude-code. Скилл появится в ~/.claude/skills/gh-issues/SKILL.md.

Что делает gh-issues?

Скилл получает GitHub issues, выбирает задачи, запускает фоновых агентов и открывает PR. Он также может проверять комментарии к review.

Что нужно для работы gh-issues?

В системе нужны git и gh. Доступ к GitHub выполняется через GH_TOKEN или авторизацию gh; репозиторий можно определить по remote origin.

Исходный текст

SKILL.md · MIT
---
name: gh-issues
description: "Fetch GitHub issues, select candidates, spawn background fix agents, open PRs, and optionally process PR review comments."
user-invocable: true
metadata:
  {
    "openclaw":
      {
        "requires": { "bins": ["git", "gh"] },
        "primaryEnv": "GH_TOKEN",
        "install":
          [
            {
              "id": "brew",
              "kind": "brew",
              "formula": "gh",
              "bins": ["gh"],
              "label": "Install GitHub CLI (brew)",
            },
          ],
      },
  }
---

# gh-issues

Use for issue-to-PR automation. Prefer `gh` CLI; fall back to `gh api` only when a high-level command lacks the needed field.

## Arguments

- positional `owner/repo`: optional; else infer from `git remote get-url origin`.
- `--label <label>`: filter.
- `--limit <n>`: default 10.
- `--milestone <title>`: filter.
- `--assignee <login|@me>`: filter.
- `--state open|closed|all`: default open.
- `--fork <owner/repo>`: push branches to fork, PR to source.
- `--watch`: poll issues + reviews.
- `--interval <minutes>`: default 5.
- `--dry-run`: list only.
- `--yes`: no confirmation.
- `--reviews-only`: skip issue fixing; handle PR reviews.
- `--cron`: spawn and exit; implies `--yes`.
- `--model <id>`: pass to workers when supported.
- `--notify-channel <id>`: optional final notification target.

## Phase 1: resolve repo

```bash
git remote get-url origin
if [ -z "${GH_TOKEN:-}" ]; then
  CONFIG_PATH="${OPENCLAW_CONFIG_PATH:-${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/openclaw.json}"
  GH_TOKEN=$(jq -r '.skills.entries["gh-issues"].apiKey // empty' "$CONFIG_PATH" 2>/dev/null || true)
  if [ -n "$GH_TOKEN" ]; then export GH_TOKEN; fi
fi
gh auth status
gh repo view OWNER/REPO --json nameWithOwner,defaultBranchRef
```

If `gh auth status` fails and `GH_TOKEN` is missing, stop and ask for GitHub auth/config.

Derived:

- `SOURCE_REPO`: issue repo.
- `PUSH_REPO`: fork if set, else source.
- `BASE_BRANCH`: source default branch unless user says otherwise.
- `PUSH_REMOTE`: `fork` in fork mode, else `origin`.

Stop on dirty worktree unless user confirms that workers should ignore uncommitted changes.

In fork mode, do not mutate remotes before confirmation or during `--dry-run`.

Verify auth/read access only:

```bash
gh auth token >/dev/null || test -n "${GH_TOKEN:-}"
gh repo view "$PUSH_REPO" --json nameWithOwner
git ls-remote --exit-code origin HEAD
```

## Phase 2: fetch issues

Build filters and fetch:

```bash
gh issue list --repo "$SOURCE_REPO" --state open --limit 10 --json number,title,labels,url,body,assignees,milestone
```

Add `--label`, `--milestone`, `--assignee`, `--state`, `--limit` as requested. `gh issue list` already excludes PRs.

If none found: report no matches. If `--dry-run`: show compact list and stop.

## Phase 3: avoid duplicate work

For each candidate:

```bash
gh pr list --repo "$SOURCE_REPO" --search "$SOURCE_REPO#<n>" --state open --json number,url,title,headRefName
gh pr list --repo "$SOURCE_REPO" --head "fix/issue-<n>" --state open --json number,url
gh api "repos/$PUSH_REPO/branches/fix/issue-<n>" >/dev/null
```

Skip candidates with an open PR, existing branch, or active local claim.

Claim file:

```text
${OPENCLAW_STATE_DIR:-$HOME/.openclaw}/gh-issues-<owner>-<repo>.json
```

Expire claims older than 2 hours.
Create the parent directory before writing.

## Phase 4: confirm

Unless `--yes` or `--cron`, ask user to choose:

- `all`
- comma-separated issue numbers
- `cancel`

After confirmation, in fork mode, configure the push remote before handing work to agents:

```bash
gh auth setup-git
git remote get-url fork || git remote add fork "https://github.com/$PUSH_REPO.git"
git remote set-url fork "https://github.com/$PUSH_REPO.git"
git ls-remote --exit-code fork HEAD
```

## Phase 5: spawn workers

Launch up to 8 background workers. Do not block on each worker when `--cron`.

Before each spawn, write a claim for `SOURCE_REPO#<n>` with the current ISO timestamp. After a worker reports PR/failure, remove or update the claim. This prevents watch/cron overlap before a branch or PR exists.

Worker prompt must include:

- issue URL, title, body, labels.
- `SOURCE_REPO`, `PUSH_REPO`, `BASE_BRANCH`, `PUSH_REMOTE`, fork mode.
- target branch `fix/issue-<n>`.
- required proof and PR body.
- notification route.

Worker instructions:

```text
Use gh and git. Do not handwave.
Checkout/create fix/issue-<n> from BASE_BRANCH.
Implement minimal fix.
Run relevant tests.
Commit with conventional message.
Push to PUSH_REMOTE.
Open PR against SOURCE_REPO BASE_BRANCH.
PR body: What Problem This Solves + Why This Change Was Made + User Impact + Evidence + visible Fixes SOURCE_REPO#<n>.
Report PR URL or failure reason.
Send completion/failure with openclaw message send if route provided.
```

Use `coding-agent` launch rules when available.

## Phase 6: collect

Poll workers with `process` or task registry. Report:

- issue number + title.
- status: PR opened, skipped, failed, timed out.
- PR URL or reason.

Notify channel only with final compact summary.

## Reviews-only / watch reviews

Discover open PRs:

```bash
gh pr list --repo "$SOURCE_REPO" --state open --json number,title,url,headRefName,reviewDecision \
  --jq '[.[] | select(.headRefName | startswith("fix/issue-"))]'
```

Fetch review threads/comments:

```bash
gh pr view <n> --repo "$SOURCE_REPO" --json url,headRefName,comments,reviews
gh api "repos/$SOURCE_REPO/pulls/<n>/comments"
gh api "repos/$SOURCE_REPO/issues/<n>/comments"
```

Only process `fix/issue-*` PRs created by this workflow unless the user explicitly named PR numbers. Group actionable comments by PR. Ignore praise, status, duplicates, and already-addressed comments. Spawn one worker per selected/scoped PR, same background rules.

Review worker instructions:

```text
Checkout PR branch.
Read all actionable review comments.
Patch minimal changes.
Run relevant tests.
Commit and push normally; do not force-push unless explicitly told.
Reply to addressed comments with fix + commit/file reference.
Report comments addressed/skipped and proof.
```

## Watch mode

Loop:

1. Fetch issues.
2. Spawn eligible issue workers.
3. Process actionable PR reviews.
4. Sleep `--interval`.
5. Stop when user says stop.

Keep cumulative summary small.

© openclaw · MIT · openclaw/openclaw

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой