github-pr-edit について
github-pr-edit は、Windows 上で GitHub PR のタイトル、本文、コメントを編集するスキルです。利用可能なら gh を使い、そうでなければ PowerShell から GitHub REST API を呼び出します。引用符や文字コードの問題を減らす補助スクリプトも含みます。
主な機能
- 01PR のタイトルと本文を編集
- 02PR にコメントを追加
- 03gh CLI を優先して使用
- 04代替手段として PowerShell で REST API を呼び出し
- 05文字コードと引用符の処理を補助するスクリプト
活用シーン
- 01PR のタイトルと説明の更新
- 02PR への要約コメントの追加
- 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)認証トークンを取得する(表示しないでください)
優先する取得元(利用可能なものを上から順に選択します)。
$env:GITHUB_TOKENまたは$env:GH_TOKEN- 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
コメント
Markdown 対応