Skip to content
Back to skills

Land

ASecurity

Land a ready branch - push, PR, pinned CI watch, squash-merge, issue verification, cleanup. Use for every PR landing; encodes the run-ID pinning and cleanup discipline.

  • 18 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
ai-agentspythongoshellbashgitdatabase

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add jamie8johnson/cqs --skill land --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Land?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Land
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jamie8johnson-land/badge)](https://www.skillsdirectory.com/skills/jamie8johnson-land)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: land
description: Land a ready branch - push, PR, pinned CI watch, squash-merge, issue verification, cleanup. Use for every PR landing; encodes the run-ID pinning and cleanup discipline.
argument-hint: "<branch> [worktree-path]"
---

# Land a Branch

Take a committed branch through push → PR → CI → merge → cleanup. One invocation per branch; serialize when branches share files.

## Arguments

- `$ARGUMENTS` — branch name; optionally the worktree path holding it (default: search `git worktree list`).

## Pre-flight

1. `pwd` + `git branch --show-current` in the branch's checkout — **CWD drift is real**: finished background agents move the orchestrator's shell CWD. Anchor every command with explicit `cd`.
2. Branch is committed and clean (`git status --short` empty).
3. Merge current main in: `git fetch origin main && git merge origin/main`. On conflict in triage tables → union-of-flips; in tests → usually keep both.
4. Re-gate after the merge: targeted tests for touched modules (`cargo test --features cuda-index --lib <filter>` with a private `CARGO_TARGET_DIR`), and the provenance lint:
   ```bash
   git diff origin/main...HEAD -- '*.rs' | python3 scripts/check_comment_provenance.py
   ```
   CI diffs the merge ref, so MOVED comment lines count as added — a local pass on the pre-merge diff can be a false negative.

## Push and PR

5. Push: `git push origin <branch>` (direct WSL usually works; on "could not read Username" fall back to `powershell.exe -Command "cd C:\Projects\cqs; git push origin <branch>"`).
6. Body to `/mnt/c/Projects/cqs/pr_body.md` (NEVER inline; must live on C: for Windows gh). Include `closes #N` for every issue the branch resolves. Delete the file after.
7. `powershell.exe -Command 'cd C:\Projects\cqs; gh pr create --head <branch> --title "..." --body-file pr_body.md'`

## CI — pin the run ID

`gh pr checks --watch` latches onto the PREVIOUS commit's completed run. Always:

```bash
sleep 50   # new run needs ~45s to register
powershell.exe -Command 'gh run watch $(gh run list -R jamie8johnson/cqs --branch <branch> --workflow CI --limit 1 --json databaseId --jq ".[0].databaseId") -R jamie8johnson/cqs --exit-status'
```

Background this (run_in_background) and do other work; the notification carries the exit code.

## Merge and verify

8. On green: `powershell.exe -Command 'gh pr merge <N> -R jamie8johnson/cqs --squash --delete-branch'`, then confirm `gh pr view <N> --json state` == MERGED.
9. **Verify every linked issue actually closed** (`gh issue view <N> --json state`); close manually with a PR pointer if GitHub missed it. "Partially addresses" PRs: comment the remaining scope on the issue instead.
10. Cleanup: `cd /mnt/c/Projects/cqs && git pull origin main --ff-only`, `git worktree remove <path> --force`, `git branch -D <branch>`, `cqs index` (inotify misses bulk git ops on /mnt/c).

## On CI failure

Read the failing job log before touching anything (`gh run view <id> --log-failed`). Provenance-lint failures → scrub audit IDs from comments (state the invariant instead). Don't retry CI blind.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.