Land
SkillMonitoring & opsLand a PR: monitor CI, resolve review issues, merge, monitor production. Use when asked to "land this", "merge and monitor", "ship this PR", or after PR creation when next step is merge + prod verification.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Land skill
What this skill tells your AI
The instructions your AI receives, as published by indigoai-us/hq-core in .claude/skills/land/SKILL.md and read by ahel’s review.
Monitor CI → Resolve reviews → Merge → Monitor production.
This skill takes a PR from "open" to "merged and verified in production." It handles the full landing sequence, including CI polling, review resolution, merge strategy selection, and post-merge production verification.
Input
Accepts one of:
- PR number (e.g.
3021) — looks up repo from cwd or context - PR URL (e.g.
https://github.com/org/repo/pull/3021) - No argument — finds the open PR for the current branch
Step 0: Resolve PR
If no PR number/URL given:
branch=$(git branch --show-current)
gh pr list --head "$branch" --json number,url --jq '.[0]'
Extract: repo, pr_number, branch, base_branch.
Display:
Landing PR #{number}: {title}
Branch: {branch} → {base}
Step 1: Monitor CI
Poll CI checks every 30s (max 10 minutes):
gh pr checks {pr_number} --repo {repo}
Outcomes:
- All pass → proceed to Step 2
- Any fail → read the failing check's logs, diagnose, and attempt fix. Push fix, re-poll
- Timeout (10min) → report status and ask user whether to continue waiting or merge anyway
Display check status on each poll (only changed states).
Step 2: Resolve Reviews
gh pr view {pr_number} --repo {repo} --json reviews,comments,reviewRequests
Outcomes:
- No reviews/comments, no review requests → proceed to Step 3
- Pending review requests → notify user, ask whether to wait or proceed
- Review comments exist → read each comment, assess if actionable:
- Codex/bot suggestions: evaluate and apply if valid, push fix
- Human comments: summarize for user, ask for guidance
- Approved with no blocking comments → proceed
- Changes requested → summarize feedback, attempt fixes if code-related, push, re-request review
After resolving, re-check CI (fixes may have broken something).
Step 3: Merge
Determine merge strategy:
- Default:
--squash(clean single commit) - If branch has meaningful commit history user wants preserved:
--merge - If user specified: use their preference
gh pr merge {pr_number} --repo {repo} --squash --delete-branch
If branch protection blocks merge:
- Check if
--adminis available (user has admin rights) - If yes: use
--adminflag - If no: report the blocking requirement and ask user
Verify merge:
gh pr view {pr_number} --repo {repo} --json state,mergedAt,mergeCommit
Step 4: Monitor Production
Post-merge verification. This step is context-dependent — the skill adapts based on what was changed.
4a: Identify what to monitor
From the PR diff, determine:
- Lambda/serverless changes → check if SST deployment is needed (code on main ≠ deployed)
- Database changes → query for expected state changes
- API changes → test endpoints
- Frontend changes → check deployment status (Vercel, etc.)
4b: Execute monitoring
For Lambda changes ({PRODUCT} pattern):
- Note: merging to main does NOT auto-deploy Lambda. SST deployment is separate
- Query DB for expected state changes (e.g. stale messages expiring)
- Check CloudWatch logs if accessible
- Report: "Code is on main. Lambda redeploy needed for changes to take effect"
For deployed services (Vercel, etc.):
- Check deployment status:
vercel ls --scope {team}or GitHub deployment status - Verify the deployment completed
- If accessible, hit a health endpoint or verify the change visually
For database/data fixes:
- Run verification queries to confirm expected state
- Compare against baseline captured before merge
4c: Report
Landing Complete
────────────────
PR: #{number} merged → {merge_commit[:8]}
CI: All {N} checks passed
Reviews: {resolved|none}
Merge: squash → {base_branch}
Production: {status}
- {monitoring_detail_1}
- {monitoring_detail_2}
If production verification reveals issues, flag immediately and offer to investigate.
Error Handling
- CI flake: If a check fails but the failure looks transient (network timeout, flaky test), offer to re-run:
gh run rerun {run_id} --repo {repo} --failed - Merge conflict:
gh pr viewshows mergeable state. If conflicted, report to user — don't attempt auto-resolution - Rate limiting: If
ghcommands hit rate limits, back off and retry with increasing intervals
Rules
- Never force-push during landing — the PR branch is shared state
- Never skip CI checks without explicit user approval
- Always verify merge succeeded before reporting completion
- If production monitoring reveals a regression, prioritize flagging over completing the skill
- Respect repo-specific merge policies ({PRODUCT}:
bun run pr:createfor creation, butgh pr mergefor merging is fine)
Signals
- GitHub stars
- 84
- Forks
- 15
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
land-indigoai-us- Source
- github.com/indigoai-us/hq-core