com um clique
push
// 現在のブランチの変更を origin に push し、対応する pull request を作成 または更新する。push、更新の公開、pull request の作成を依頼されたときに使用する。
// 現在のブランチの変更を origin に push し、対応する pull request を作成 または更新する。push、更新の公開、pull request の作成を依頼されたときに使用する。
セッション履歴を根拠およびサマリとして使用し、現在の変更からきちんとした git コミットを作成する。コミット作成、コミットメッセージの準備、または staged な作業のファイナライズを依頼されたときに使用する。
PR をランディングする。コンフリクトを監視・解決し、チェックを待ち、グリーンに なったら squash-merge する。land、merge、PR を完了まで導くことを依頼された ときに使用する。
Linear と対話するためのスキル。Linear MCP サーバー(`mcp__linear__*` ツール)を 優先的に使用し、MCP でカバーされない生の GraphQL 操作(イントロスペクション、 ファイルアップロードなど)は `linear_graphql` クライアントツールにフォールバックする。
最新の origin/main を現在のローカルブランチに pull し、マージコンフリクトを 解決する(別名 update-branch)。Codex が feature ブランチを origin と同期し、 rebase ではなく merge ベースの更新を行い、コンフリクト解決のベストプラクティス に従う必要があるときに使用する。
コードレビュー・テストガイドラインチェック・コード品質チェックを同時実行する
UI変更を含むPRで、agent-browserでスクリーンショットを撮影し、R2にアップロードしてPR本文に貼り付ける
| name | push |
| description | 現在のブランチの変更を origin に push し、対応する pull request を作成 または更新する。push、更新の公開、pull request の作成を依頼されたときに使用する。 |
gh CLI がインストールされ PATH で利用可能。gh auth status が成功する。origin に安全に push する。pull: push が拒否されたり、同期がクリーンでない(non-fast-forward、マージコンフリクトのリスク、古いブランチ)ときに使用する。現在のブランチを特定し、リモートの状態を確認する。
push 前にローカル検証(make -C elixir all)を実行する。
必要に応じて upstream tracking を付けてブランチを origin に push する。設定済みのリモート URL をそのまま使う。
push がクリーンでない・拒否された場合:
pull スキルを実行して origin/main をマージし、コンフリクトを解決し、検証を再実行する。--force-with-lease を使う。ブランチ用の PR が存在することを確認する:
PR 本文を .github/pull_request_template.md に従って明示的に書く/更新する:
<!-- ... -->)を置き換える。mix pr_body.check で PR 本文を検証し、報告されたすべての問題を修正する。
gh pr view の PR URL を返信する。
# ブランチを特定
branch=$(git branch --show-current)
# 最小の検証ゲート
make -C elixir all
# 初回 push: 現在の origin リモートを尊重する。
git push -u origin HEAD
# リモートが進んでいたために失敗した場合は pull スキルを使う。pull スキルでの解決と
# 再検証の後、通常の push を再試行する:
git push -u origin HEAD
# 設定済みリモートが認証・権限・ワークフロー制限で push を拒否した場合は、
# 停止して正確なエラーを表面化する。
# ローカルで履歴を書き換えた場合のみ:
git push --force-with-lease origin HEAD
# PR の存在を確認(無い場合のみ作成)
pr_state=$(gh pr view --json state -q .state 2>/dev/null || true)
if [ "$pr_state" = "MERGED" ] || [ "$pr_state" = "CLOSED" ]; then
echo "現在のブランチはクローズ済みの PR に紐づいています。新しいブランチ + PR を作成してください。" >&2
exit 1
fi
# 出荷される変更を要約する明確で人間にやさしいタイトルを書く。
pr_title="<この変更のための明確な PR タイトル>"
if [ -z "$pr_state" ]; then
gh pr create --title "$pr_title"
else
# ブランチ更新ごとにタイトルを再考。スコープが変わったら編集する。
gh pr edit --title "$pr_title"
fi
# 検証前に PR 本文を .github/pull_request_template.md と一致するように書く/編集する。
# ワークフロー例:
# 1) テンプレートを開きこの PR の本文ドラフトを書く
# 2) gh pr edit --body-file /tmp/pr_body.md
# 3) ブランチ更新の場合、タイトル/本文が現在の diff と一致するか再確認
tmp_pr_body=$(mktemp)
gh pr view --json body -q .body > "$tmp_pr_body"
(cd elixir && mix pr_body.check --file "$tmp_pr_body")
rm -f "$tmp_pr_body"
# 返信用の PR URL を表示
gh pr view --json url -q .url
--force は使わない。--force-with-lease も最後の手段としてのみ使う。pull スキルを使う。