マキモノ
開発プロセス無料✅ 公式検証済みv1.0.0 / 更新

fork PR しか出せない AI エージェントに「マージまで」を完了条件にさせない

push権限のないアカウントで動くAIエージェントが、CI全greenでもマージできずタスクを永久に引き継ぎ続ける滞留の診断3コマンドと、完了条件の立て方・リポジトリ側の恒久策2案。

出品者: nishi@orgiast.jp📖 読込 約1,355トークン (約2円)💰 コスパ 5倍
トークン節約メーター77%節約
ゼロからAIに作らせた場合約9,000トークン
このMDを読ませた場合約2,100トークン

約6,900トークンの節約 (API料金換算で約10円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。

この巻物について

「fork PR しか出せない AI エージェントに「マージまで」を完了条件にさせない」は、開発プロセスカテゴリのAI指示書(MDファイル)です。push権限のないアカウントで動くAIエージェントが、CI全greenでもマージできずタスクを永久に引き継ぎ続ける滞留の診断3コマンドと、完了条件の立て方・リポジトリ側の恒久策2案。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約6,900トークン(API料金換算で約10円)・77%のトークンを節約できます。

カテゴリ
開発プロセス
対応AI
claude-code、cursor、codex-cli
ライセンス
商用利用可 (再販不可)
価格
無料
ゼロから開発時
約9,000トークン
この巻物使用時
約2,100トークン
節約量
約6,900トークン (約10円)
更新日
2026-09-25

使い方 (AIに渡す3つの方法)

いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。

⬇ .md をダウンロード
claude "https://makimono-md.vercel.app/api/v1/files/fork-pr-ai/raw を読み込んで、この指示書どおりに実装して"
claude-codecursorcodex-cliライセンス: 商用利用可 (再販不可)

中身

fork PR しか出せない AI エージェントに「マージまで」を完了条件にさせない

誰のための指示書か

GitHub リポジトリに対して push 権限を持たないアカウントで AI エージェント(Claude Code / Codex 等)を動かしている人向け。 エージェントは fork → PR までしか到達できないのに、タスクの完了条件に「マージ」を書いてしまい、 毎セッション「CI を確認してマージする」を引き継ぎ続けて永久に終わらないという滞留が起きる。

症状

  • 引き継ぎメモに「PR #N の CI green を確認してマージする」が何日も残り続ける
  • CI は全部 pass、mergeable=MERGEABLE / mergeStateStatus=CLEAN なのに PR は OPEN のまま
  • auto-merge を有効化するワークフローが 成功(pass)と表示されているのに、実際には有効化されていない

原因(2つ同時に効く)

  1. 権限: エージェントの認証アカウントが pull のみ。gh pr merge は <user> does not have the correct permissions to execute MergePullRequest で落ちる。
  2. fork PR は auto-merge ワークフローの対象外: pull_request イベントで動く自動マージ用ワークフローは、 fork からの PR では GITHUB_TOKEN が read-only に降格されるため、ジョブ自体は成功扱いで終わっても auto-merge が有効化されない。

診断(3コマンド・全部読み取り専用)

# 1. 自分の権限を見る(push:false なら マージは物理的に不可)
gh api repos/<owner>/<repo> --jq .permissions
# => {"admin":false,"maintain":false,"pull":true,"push":false,"triage":false}

# 2. fork PR かどうか
gh pr view <N> --repo <owner>/<repo> --json isCrossRepository,headRepositoryOwner

# 3. auto-merge が「本当に」有効か(ジョブの pass 表示を信じない)
gh pr view <N> --repo <owner>/<repo> --json autoMergeRequest
# => {"autoMergeRequest":null}  ← null なら有効化されていない

3 が肝。auto-merge を有効化するジョブの pass は「ジョブが落ちなかった」以上の意味を持たない。 有効化の成否は autoMergeRequest を直接見るまで分からない。

対処

即効(エージェント側のルール)

fork PR を出した時点で、そのタスクの完了条件は「PR を出した」まで。 完了条件に「CI green」「マージ済み」を書かない。引き継ぎには次を1行で書く。

PR #N は CI 全green・CLEAN。<アカウント> は pull 権限のみでマージ不可(実測)。
次セッションの作業は `gh pr view N --json state` の確認1回のみ。マージは <権限保持者> 依頼。

これを機械で強制したいなら、完了報告の直前に走るゲートで 「cross-repository な PR に言及していて、かつ state が MERGED でない のに『マージ済み』と書いている」 を検査して差し戻す。

恒久(リポジトリ側・どちらも追加費用なし)

案内容得失
A(推奨)エージェントのアカウントを collaborator(Write) に追加し、同時に main に branch protection で required status checks を必須化以降エージェントが gh pr merge まで完結。保護があるので CI 未通過はマージできない
Bauto-merge ワークフローを、信頼済み author の fork PR まで対象を広げる(pull_request_target 等)権限は増やさないが、その変更自体が fork PR なので初回だけ人のマージが要る。pull_request_target は fork のコードを特権で動かす経路になり得るので、チェックアウト対象を厳しく絞る

A を選ぶ場合、Write 権限だけだと CI を無視したマージが可能になるため、 required checks の設定とセットで行うこと。片方だけ入れると安全性が下がる。

再発防止のチェックリスト

  • エージェントに新しいリポを触らせる前に gh api repos/<owner>/<repo> --jq .permissions を1回流す
  • push:false なら、そのリポのタスク完了条件から「マージ」を外す
  • auto-merge の有無は autoMergeRequest で判定する(ワークフローの pass 表示で判定しない)
  • 引き継ぎには「誰がマージするか」を明記する

よくある質問

+「fork PR しか出せない AI エージェントに「マージまで」を完了条件にさせない」とは何ですか?

push権限のないアカウントで動くAIエージェントが、CI全greenでもマージできずタスクを永久に引き継ぎ続ける滞留の診断3コマンドと、完了条件の立て方・リポジトリ側の恒久策2案。

+どれくらいトークン(費用)を節約できますか?

ゼロから開発すると約9,000トークンかかりますが、この巻物を使えば約2,100トークンで済みます。差し引き約6,900トークン(API料金換算で約10円)・77%の節約です。

+どうやって使いますか?

無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。

+どのAIツールに対応していますか?

claude-code、cursor、codex-cli に対応しています。

+商用利用できますか?

ライセンスは「商用利用可 (再販不可)」です。

🤝 自分でAIを動かすのは、まだ不安…という方へ

この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。

AI代行堂を見る →

関連する巻物

この巻物、誰かのトークンも救えます

𝕏 で節約レシートをシェア