codex-pr-body について
プルリクエストのタイトルと本文を更新する Codex スキルです。変更の動機、内容、検証方法を説明し、既存本文の重要情報を保持します。
主な機能
- 01ブランチやコミットから PR を特定
- 02gh によるタイトルと本文の編集
- 03既存本文の重要情報を保持
- 04動機・変更内容・検証方法を記載
- 05スタック型 PR と Sapling に対応
活用シーン
- 01現在のブランチの変更を PR 説明にまとめる
- 02スタック型 PR の本文を差分全体に合わせて改訂
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ openai/ codex --skill codex-pr-bodyインストール後、Claude Code で/codex-pr-bodyを入力して読み込まれたか確認します。
詳細
PR の特定
このスキルが呼び出されたとき、更新対象の PR は明示的に指定される場合がありますが、一般的には、ユーザーが現在作業しているブランチ/コミットから更新対象の PR を推測します。通常の Git の使用(以下で説明する Sapling を使用しない場合)では、現在のブランチ/コミットに関連付けられた PR を特定するために、git branch と gh pr view <branch> --repo openai/codex --json number --jq '.number' を組み合わせて使用する必要がある場合があります。
PR 本文の内容
このスキルが呼び出されたら、gh を使ってプルリクエストの本文とタイトルを編集し、指定された PR の内容を反映してください。既存のプルリクエスト本文を確認し、保持すべき重要な情報がないか確認してください。たとえば、既存のプルリクエスト本文に含まれる画像は絶対に削除しないでください。削除すると、作成者が復元できない場合があります。
変更を行う「理由」を説明することが非常に重要です。このスキルが呼び出された会話で変更の動機について話し合われている場合は、その内容を必ずプルリクエスト本文に記載してください。
本文では変更内容も説明しますが、「理由」の後に記載してください。
コミットによる「最終的な変更」のみに話題を限定してください。プルリクエストの開発中に試みたものの、後で取り消された変更について記載することは、一般に好ましくありません。プルリクエスト本文を書き直す際は、適切でなくなった、または今後の読者にとって関心のない詳細を削除する必要がある場合があります。
ローカルディスク上の絶対パスには言及しないでください。リポジトリ内のパスについて述べる場合は、リポジトリ相対パスを使用してください。
コードネームや OpenAI 内部 URL など、機密情報への言及は避けてください。
変更の検証方法を記載すると役立つことが一般的です。ただし、CI チェックで自動的に実行される内容に触れる必要はありません。たとえば、テスト計画に「just fmt を実行した」と記載しないでください。一方、プルリクエストで導入した新しい動作を検証するために意図的に追加したテストを明記することは、多くの場合適切です。
Markdown を活用して、プルリクエストを読みやすく整えてください。本文中で「コードに関するもの」に触れる場合は、必ず単一のバッククォートで囲んでください。コードブロックは、コードやシェルの実行結果を示す際に便利です。また、関連する既存コードを引用する場合は、GitHub のパーマリンクも使用してください。
関連するプルリクエストや Issue にも必ず言及してください。ただし、プルリクエスト本文でその PR 自体に言及する必要はありません。
この変更に伴い https://developers.openai.com/codex のドキュメントを更新する必要がある場合は、プルリクエスト本文の末尾近くに独立したセクションを設けて記載してください。更新が必要なドキュメントがない場合は、このセクションを省略してください。
スタックの扱い
複数のコミットを積み重ねて構成されるプルリクエストもあります。この場合、プルリクエスト本文には、スタックを構成する個々のコミットではなく、スタック全体によって導入される「最終的な変更」を反映してください。
同様に、ユーザーが Sapling などのツールを使って「積み重ねられたプルリクエスト」を活用している場合、PR の base は main ではなく、スタック内の別の PR の head ブランチになっていることがあります。この場合は、main との差分ではなく、積み重ねられたその base を対象として開かれる PR の base と head 間の「最終的な変更」のみを記載してください。
Sapling
.git/sl/store が存在する場合、この Git リポジトリは Sapling SCM(https://sapling-scm.com)によって管理されています。
Sapling で、現在のリビジョンに関連付けられた GitHub のプルリクエストがあるかどうかを確認するには、次のコマンドを実行します。
sl log --template '{github_pull_request_url}' -r .
または、sl sl を実行すると、現在の開発ブランチと、現在のコミットに関連付けられた GitHub のプルリクエストがあるかどうかを確認できます。たとえば、次のような出力の場合:
@ cb032b31cf 72 minutes ago mbolin #11412
╭─╯ tui: show non-file layer content in /debug-config
│
o fdd0cd1de9 Today at 20:09 origin/main
│
~
@は、現在のコミットがcb032b31cfであることを示しますorigin/mainから分岐した、単一のコミットを含む開発ブランチです- GitHub のプルリクエスト #11412 に関連付けられています