land

An automated workflow for taking a GitHub pull request from review to merge. A pull request is a proposed code change, and CI is the automated testing and checking that runs on it.

In plain words
What is it for?
It is for checking the current branch's pull request, fixing conflicts or failed checks, responding to review comments, pushing updates, and merging once everything is ready.
Why use it?
It watches for conflicts, failed checks, and review comments, then handles the required fixes and waits until the pull request can be merged. It can pause for the user when review feedback is unclear or conflicts with the task.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/mh4gf/claude-code/land
Any agent
npx skills add MH4GF/claude-code --skill land
Clone the repo
git clone --depth 1 https://github.com/MH4GF/claude-code

Made for: Claude Code, Codex.

Per session 80 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,083 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00080 $0.04083
Opus 5 $0.00040 $0.02041
Sonnet 5 $0.00016 $0.00817
Haiku 4.5 $0.00008 $0.00408

Measured 2d ago against content hash e0c474427a17, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

land scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (land_watch.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

user-scope/skills/land/SKILL.md · 200 lines

How it starts

The opening of the file, as written. The whole thing — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.

land

目的

  • PR が main とコンフリクト無しでマージできる状態を保証する
  • CI を green に保ち、失敗時は原因を直す
  • 全チェックが green になり次第マージする
  • マージ完了までユーザーへ制御を返さない。ブロックされない限りウォッチャーループを回し続ける
  • マージ後のリモートブランチ削除は不要 (リポジトリ側で head ブランチ自動削除を有効にしている前提)

前提条件

  • gh CLI が認証済み
  • 対象 PR のブランチをチェックアウト済みでワーキングツリーが clean

手順

  1. 現在のブランチに対応する PR を特定する
  2. push 前に手元のゲート (lint / test / type check) を全て green にする
  3. ワーキングツリーに未コミット変更があれば commit スキルでコミットし、push スキルで push してから次へ進む
  4. main に対するマージ可否とコンフリクトを確認する
  5. コンフリクトがあれば pull スキルで origin/main を fetch+merge してコンフリクトを解消し、push スキルで更新したブランチを publish する
  6. Codex のレビューコメント (あれば) を確認し、必要な修正をマージ前に処理する
  7. 全チェックが完了するまでウォッチする
  8. チェックが失敗したらログを取って原因を直し、commit スキルでコミット、push スキルで push、再度チェックを回す
  9. 全チェックが green かつレビューフィードバックが解消したらマージする (リポジトリ許可 merge method を判定する snippet はコマンド節)
  10. コンテキスト確認 — レビューフィードバックを実装する前に、ユーザーの意図やタスク文脈と矛盾しないか確認する。矛盾していたらインラインで根拠を返し、ユーザーに確認してからコードを変える
  11. 反対応答テンプレ — 反対する時はインラインで「受領 + 根拠 + 代案」の順に返す
  12. 曖昧時ゲート — 曖昧で進めない時は確認フローを回す (PR を現在の GitHub ユーザーへアサインしメンションして返答を待つ)。曖昧さが解けるまで実装しない
    • レビュアーより自分が正しいと確信できる時はユーザー確認なしで進めてよい。その場合もインラインで根拠を返す
  13. コメント単位モード — 各レビューコメントを受諾 / 確認 / 反対のいずれかへ分類する。インライン (Codex レビューは issue スレッド) で意図を述べてからコードを変える
  14. 変更前に返信 — 必ず意図を返してからコードを push する。インラインレビューコメントはインライン、Codex レビューは issue スレッド

コマンド

# ブランチと 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)

# 許可 merge method を判定 (優先順位 squash → マージコミット → rebase)
read -r allow_squash allow_merge allow_rebase <<<"$(gh api repos/{owner}/{repo} \
  --jq '[.allow_squash_merge, .allow_merge_commit, .allow_rebase_merge] | @tsv')"
if   [ "$allow_squash" = "true" ]; then merge_flag="--squash"
elif [ "$allow_merge"  = "true" ]; then merge_flag="--merge"
elif [ "$allow_rebase" = "true" ]; then merge_flag="--rebase"
else echo "no merge method allowed in this repo" >&2; exit 1
fi

# マージ可否とコンフリクトを確認
mergeable=$(gh pr view --json mergeable -q .mergeable)

if [ "$mergeable" = "CONFLICTING" ]; then
  # `pull` スキルで fetch + merge + コンフリクト解消
  # その後 `push` スキルで更新したブランチを publish
  exit 1
fi

# 非同期ウォッチ補助 (後述) を優先する。下の手動ループは 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

# 判定した method でマージ (squash の時のみ subject/body を渡す)
if [ "$merge_flag" = "--squash" ]; then
  gh pr merge --squash --subject "$pr_title" --body "$pr_body"
else
  gh pr merge "$merge_flag"
fi

Read the full file on GitHub · 200 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 200 lines · 80 tokens per session scan A e0c474427a17

Subscribe to this mod's changes

land is a skill published in the GitHub repository MH4GF/claude-code (2 stars, last pushed 3d ago), licensed MIT. It adds 80 tokens to every session and 4,083 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

multi-agent-release-manager

Cleans up the workspace, formats code, runs presubmit checks, and uploads CLs to Gerrit.

chromium/chromium · 27 tokens

dsh-web-pre-push-checks

Use before pushing, opening or updating a pull request, or claiming dsh-web checks pass. Selects the required repository gates and diff-specific generation, build, and GUI evidence.

zhu1090093659/dsh-web · 45 tokens

babysit

Same-session monitoring loop for PRs, CI runs, tickets, and deployments using the monitorstart / monitorupdate / autonudgestop MCP tools. The loop re-injects your check instructions into THIS session on an idle interval — same context, same tools — and works from dashboard chat, Slack threads, and Discord DMs. Use…

kirodotdev/KiroCrew · 137 tokens

azsdk-common-pipeline-analysis

Analyze Azure SDK CI/CD pipeline failures into a structured diagnosis, and define the required output format. Load this skill before calling azsdkanalyzepipeline, which returns raw failure data that this skill interprets and formats. USE FOR: "pipeline failed", "build failure", "CI check failing", "tests failing in…

Azure/azure-sdk-for-net · 192 tokens

harness-setup

HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning.

Chachamaru127/claude-code-harness · 57 tokens

managing-github-actions-secrets

Creates and updates GitHub Actions secrets for PostHog workflows. Use when adding a new CI secret, rotating an existing secret, wiring a workflow to an API token, package registry credential, deploy key, or any value referenced via ${{ secrets. }} in .github/workflows/.

PostHog/posthog-foss · 67 tokens