بنقرة واحدة
land
PR をランディングする。コンフリクトを監視・解決し、チェックを待ち、グリーンに なったら squash-merge する。land、merge、PR を完了まで導くことを依頼された ときに使用する。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
PR をランディングする。コンフリクトを監視・解決し、チェックを待ち、グリーンに なったら squash-merge する。land、merge、PR を完了まで導くことを依頼された ときに使用する。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
セッション履歴を根拠およびサマリとして使用し、現在の変更からきちんとした git コミットを作成する。コミット作成、コミットメッセージの準備、または staged な作業のファイナライズを依頼されたときに使用する。
Linear と対話するためのスキル。Linear MCP サーバー(`mcp__linear__*` ツール)を 優先的に使用し、MCP でカバーされない生の GraphQL 操作(イントロスペクション、 ファイルアップロードなど)は `linear_graphql` クライアントツールにフォールバックする。
最新の origin/main を現在のローカルブランチに pull し、マージコンフリクトを 解決する(別名 update-branch)。Codex が feature ブランチを origin と同期し、 rebase ではなく merge ベースの更新を行い、コンフリクト解決のベストプラクティス に従う必要があるときに使用する。
現在のブランチの変更を origin に push し、対応する pull request を作成 または更新する。push、更新の公開、pull request の作成を依頼されたときに使用する。
コードレビュー・テストガイドラインチェック・コード品質チェックを同時実行する
UI変更を含むPRで、agent-browserでスクリーンショットを撮影し、R2にアップロードしてPR本文に貼り付ける
| name | land |
| description | PR をランディングする。コンフリクトを監視・解決し、チェックを待ち、グリーンに なったら squash-merge する。land、merge、PR を完了まで導くことを依頼された ときに使用する。 |
gh CLI が認証されている。commit スキルでコミットし push スキルで push する。pull スキルを使って origin/main を fetch/merge してコンフリクトを解決し、その後 push スキルを使って更新されたブランチを公開する。commit スキルでコミット、push スキルで push し、チェックを再実行する。# ブランチと PR コンテキストを確認
branch=$(git branch --show-current)
pr_number=$(gh pr view --json number -q .number)
pr_title=$(gh pr view --json title -q .title)
pr_body=$(gh pr view --json body -q .body)
# マージ可能性とコンフリクトを確認
mergeable=$(gh pr view --json mergeable -q .mergeable)
if [ "$mergeable" = "CONFLICTING" ]; then
# `pull` スキルを実行して fetch + merge + コンフリクト解決を処理する。
# その後 `push` スキルを実行して更新されたブランチを公開する。
fi
# 推奨: 下記の Async Watch Helper を使う。手動ループは Python が動かないか
# ヘルパースクリプトが利用できないときのフォールバック。
# レビューフィードバックを待つ: Codex レビューは "## Codex Review — <persona>" で
# 始まる issue コメントとして到着する。レビュアーフィードバックと同様に扱い、
# 発見事項を確認したことと、対応するか延期するかを示す `[codex]` issue コメントで
# 返信する。
while true; do
gh api repos/{owner}/{repo}/issues/"$pr_number"/comments \
--jq '.[] | select(.body | startswith("## Codex Review")) | .id' | rg -q '.' \
&& break
sleep 10
done
# チェックを監視
if ! gh pr checks --watch; then
gh pr checks
# 失敗した run を特定してログを検査
# gh run list --branch "$branch"
# gh run view <run-id> --log
exit 1
fi
# Squash-merge(このリポジトリではマージ時にリモートブランチが自動削除される)
gh pr merge --squash --subject "$pr_title" --body "$pr_body"
推奨: asyncio ウォッチャーを使ってレビューコメント、CI、head 更新を並列に監視する:
python3 .agents/skills/land/land_watch.py
終了コード:
gh pr checks と gh run view --log で詳細を取得し、ローカルで修正、commit スキルでコミット、push スキルで push し、ウォッチを再実行する。origin/main をマージし、本物の author コミットを追加し、CI を再トリガするために force-push し、その後チェックループを再開する。origin/main を fetch、マージ、force-push、CI 再実行が修復策。UNKNOWN の場合、待って再確認する。## Codex Review — <persona> issue コメントの存在を使う。git push --force-with-lease する。## Codex Review — <persona> で始まり、レビュアーの方法論 + 使用したガードレールを含む。マージ前に確認しなければならないフィードバックとして扱う。gh api でレビューコメントを fetch し、プレフィックス付きのコメントで返信する。gh api repos/{owner}/{repo}/pulls/<pr_number>/comments
gh api repos/{owner}/{repo}/issues/<pr_number>/comments
gh api -X POST /repos/{owner}/{repo}/pulls/<pr_number>/comments \
-f body='[codex] <response>' -F in_reply_to=<comment_id>
in_reply_to は数値の review comment id(例: 2710521800)でなければならず、GraphQL ノード id(例: PRRC_...)ではない。エンドポイントには PR 番号(/pulls/<pr_number>/comments)を含めなければならない。[codex] プレフィックスを付ける。[codex] 付きで返信し、フィードバックに今すぐ対応するか延期するかを述べる(根拠を含める)。[codex] ... として返信する。review comment エンドポイントと in_reply_to を使い、元のレビューコメントへのインライン返信として行う(issue コメントを使わない)。[codex] ... として、フィードバックを認知したのと同じ場所に返信する(Codex レビューには issue コメント、レビューコメントにはインライン返信)。[codex] issue コメントが投稿されるまで、Codex レビュー issue コメントを未解決として扱う。[codex] インライン返信がある)であることを確認する。[codex] 前回のレビュー以降の変更:
- <差分の短い箇条書き>
Commits: <sha>, <sha>
Tests: <実行したコマンド>
[codex] 更新で簡潔な理由(例: out-of-scope、意図と矛盾、不要)を呼び出す。