mcpField
G
github-pr-edit

github-pr-edit

github.com/yiyousiow000814開発040 回インストール15 週間前に更新
リポジトリ

github-pr-edit について

github-pr-edit は、Windows 上で GitHub PR のタイトル、本文、コメントを編集するスキルです。利用可能なら gh を使い、そうでなければ PowerShell から GitHub REST API を呼び出します。引用符や文字コードの問題を減らす補助スクリプトも含みます。

主な機能

  1. 01PR のタイトルと本文を編集
  2. 02PR にコメントを追加
  3. 03gh CLI を優先して使用
  4. 04代替手段として PowerShell で REST API を呼び出し
  5. 05文字コードと引用符の処理を補助するスクリプト

活用シーン

  1. 01PR のタイトルと説明の更新
  2. 02PR への要約コメントの追加
  3. 03gh が使えない場合の REST API による PR 編集

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/yiyousiow000814/xauusd-calendar-agent --skill github-pr-edit

インストール後、Claude Code で/github-pr-editを入力して読み込まれたか確認します。

同梱ファイルscripts/patch_pr.ps1

詳細

GitHub PR の編集(タイトル/本文/コメント)

Windows で PR のタイトル、本文、コメントを編集します。gh が利用可能な場合はそれを使用し、利用できない場合は GitHub REST API を使用します。

始める前に

  • 次の情報を確認します。
    • owner と repo(例:yiyousiow000814/XAUUSD-Calendar-Agent)
    • PR 番号(例:111)
  • gh を使用する場合は、利用可能で認証済みであることを確認します。
gh --version
gh auth status
  • リポジトリがプライベートの場合、未認証の GitHub API リクエストは 404 Not Found を返すことがよくあります。リポジトリや PR が存在しないと確信できない限り、404 は「認証されていない可能性が高い」と判断してください。

オプション A(推奨):GitHub CLI(gh)

gh がインストールされ、認証済みの場合:

# Update title and body (use stdin/body-file to avoid literal \n issues)
@'
<markdown body>
'@ | gh pr edit 111 --title "chore: ..." --body-file -

コメントを追加します。

@'
Summary:
- ...
'@ | gh pr comment 111 --body-file -

オプション B:GitHub REST API(PowerShell、gh なし)

1)認証トークンを取得する(表示しないでください)

優先する取得元(利用可能なものを上から順に選択します)。

  1. $env:GITHUB_TOKEN または $env:GH_TOKEN
  2. Git がすでに保持している認証情報を再利用します(以前に PAT で認証している場合に利用できます)。
$cred = "protocol=https`nhost=github.com`n`n" | git credential fill
$token = (($cred | Select-String -Pattern '^password=').Line).Substring(9)

Write-Host $token を実行したり、ヘッダーをログに記録したりしないでください。

2)ヘッダーを作成する(最小限)
$headers = @{
  Authorization = "token $token"
  'User-Agent'  = 'codex-cli'
  Accept        = 'application/vnd.github+json'
}
3)認証を確認する(404 が表示されたときに便利です)
Invoke-RestMethod -Method Get -Uri "https://api.github.com/repos/<owner>/<repo>" -Headers $headers |
  Select-Object full_name, private

これが 404 で失敗する場合、トークンにアクセス権がない可能性があります。

4)PR のタイトル/本文を更新する

確実にエンコードするには、UTF-8 バイトを使用します(中国語のテキストや句読点)。

$payload = @{
  title = 'chore: ...'
  body  = @"
Summary:
- ...
"@
} | ConvertTo-Json -Depth 5

$bytes = [System.Text.Encoding]::UTF8.GetBytes($payload)

Invoke-RestMethod -Method Patch `
  -Uri "https://api.github.com/repos/<owner>/<repo>/pulls/<number>" `
  -Headers $headers `
  -ContentType 'application/json; charset=utf-8' `
  -Body $bytes
5)PR にコメントを追加する(任意)

PR のコメントは Issue コメントです。

$payload = @{ body = "Summary:`n- ..." } | ConvertTo-Json -Depth 5
$bytes = [System.Text.Encoding]::UTF8.GetBytes($payload)

Invoke-RestMethod -Method Post `
  -Uri "https://api.github.com/repos/<owner>/<repo>/issues/<number>/comments" `
  -Headers $headers `
  -ContentType 'application/json; charset=utf-8' `
  -Body $bytes

再現性の高いヘルパースクリプト(推奨)

引用符やエンコードのミスを減らすため、付属のスクリプトを使用します。

  • .codex/skills/github-pr-edit/scripts/patch_pr.ps1

コメント