一键导入
land
Merge an approved PR during the Land state. Runs pre-flight checks, performs squash merge, completes post-merge bookkeeping, and transitions the issue to Done.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Merge an approved PR during the Land state. Runs pre-flight checks, performs squash merge, completes post-merge bookkeeping, and transitions the issue to Done.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manage GitHub Project v2 issue states, workpad comments, and related follow-up actions.
Sync the current branch with the latest base branch (PR base if a PR exists, otherwise origin/main).
Analyze backlog issues to set Priority, Size, and Estimate, then identify and connect blocking relationships between issues. Use when backlog items need evaluation or when new items have been added without triage.
Manage a repository's GitHub Project workflow through PROJECT_MANAGE.md. Use when setting up project management for a repo, creating structured issues from implementation requests, triaging backlog items with Priority/Size/Estimate, analyzing blocking relationships across open issues, or rendering a project status dashboard.
Design, refine, and validate repository WORKFLOW.md files for GitHub Symphony projects.
Initialize PROJECT_MANAGE.md with repository-specific project management rules, GitHub Project board binding, and field mappings. Use when setting up project management for a repository for the first time.
| name | land |
| description | Merge an approved PR during the Land state. Runs pre-flight checks, performs squash merge, completes post-merge bookkeeping, and transitions the issue to Done. |
| license | MIT |
| metadata | {"author":"gh-symphony","version":"1.0"} |
Use this skill only when the issue is in the Land state. A human has approved the PR and the remaining job is to merge it safely and complete required post-merge bookkeeping.
Work unattended. Do not ask humans for follow-up. Stop only on a genuine blocker (see Failure Handling).
/gh-project for every Status field change. Never call ProjectV2 GraphQL APIs directly./pull when the head branch is behind its PR base — never git merge/git rebase by hand inside this skill.gh ... --body-file <file>, never with inline \n strings.origin/main for branch-freshness checks — always use the PR's actual base branch (it may be an Epic working branch).Before acting, collect:
mergeStateStatus, reviews, CI checks, head SHA.changeset:major|minor|patch label.If no PR is linked to the issue, record the blocker in the workpad and exit.
Sibling skills. This skill delegates to /gh-project for the Done transition and /pull for branch freshness. Both were updated alongside this skill to target the Moncher Stack project and accept the PR's actual base branch — no special workaround is required. If either fails at runtime (e.g. authentication, board re-configuration), record the specific failure in the workpad and exit with a ⛔ Blocker comment.
All must pass before merging. If any fails, record the failure in the workpad and do not merge.
gh pr view <pr-number> --json reviews --jq '[.reviews[] | select(.state == "APPROVED")] | length' must be ≥ 1.gh pr checks <pr-number> — no failing or pending required checks.base=$(gh pr view <pr-number> --json baseRefName --jq .baseRefName)
git fetch origin "$base"
git merge-base --is-ancestor "origin/$base" HEAD
If behind: run /pull, then re-run the full pre-flight sequence from step 1 (pushing the rebase invalidates prior CI runs and any prior approval).changeset:major|minor|patch label, confirm at least one .changeset/*.md file exists on the head branch (excluding README.md / config.json). If absent, record the blocker, do not merge.gh pr view <pr-number> --json mergeStateStatus --jq .mergeStateStatus must be CLEAN / HAS_HOOKS / UNSTABLE (the last allowed only when failing checks are all non-required). BLOCKED / DIRTY / BEHIND → not mergeable.🔁 Status: In review → Land transition line recorded by Step 4; if the workpad is present but the transition line is missing, append it before running pre-flight (this is a recoverable inconsistency, not a blocker).gh pr merge <pr-number> --squash --delete-branch.gh pr view <pr-number> --json mergeCommit --jq .mergeCommit.oid.### Validation section: merge commit SHA, changeset path (if any), timestamp.Done via /gh-project. Only proceed to step 7 once /gh-project returns success.🔁 Status: Land → Done comment (cycle close: land) and append the matching workpad Status Transitions line.### Progress Log with the final outcome.### Progress Log./pull), do so and re-run pre-flight from scratch.⛔ Blocker issue comment with what · why · how to unblock, leave the issue in Land (do not auto-transition to Backlog — Land failures are usually merge-policy issues, not code-blockers), and exit. A human resolves and either re-enters Land or moves the issue elsewhere.Done before the merge succeeds./gh-project.Backlog — leave the human-resolvable state visible.