| name | kookr-post-push |
| description | Repo delivery-cycle follow-through after push or PR creation — verify mergeability, checklist state, CI, and early feedback by composing pr-lifecycle and pr-review-triage. |
| keywords | post-push, after push, after PR, PR follow-up, CI, merge conflict, review comments, delivery cycle |
| related | kookr-pre-push, kookr-pr-lifecycle, pr-review-triage, pre-pr-review |
Post-Push
Use this immediately after pushing a branch that has a PR, and again after any follow-up push. This skill does not create a parallel workflow. It is the repo-local reminder to keep driving the existing PR workflow until the branch is actually in a good state.
What This Skill Composes
[[kookr-pr-lifecycle]] for PR creation, checklist updates, and CI monitoring
[[pr-review-triage]] for comment triage, fixes, and thread resolution
This skill fills the gap between "push succeeded" and "the PR is actually ready."
Workflow
1. Find the current PR
If the branch already has a PR:
gh pr view --json number,url,mergeable,mergeStateStatus,reviewDecision
If the PR does not exist yet, create or update it via [[kookr-pr-lifecycle]] after [[kookr-pre-push]] has completed.
Listing PRs for the post-merge rebase scan: use gh prs (alias: pr list --limit 200) or pass --limit 200 explicitly — the bare gh pr list default of 30 silently truncates and misses PRs in busy repos. Set the alias once with gh alias set prs 'pr list --limit 200' (older gh versions without --clobber: gh alias delete prs 2>/dev/null; gh alias set prs 'pr list --limit 200').
2. Check mergeability first
Read mergeable / mergeStateStatus right away.
- If GitHub reports merge conflicts or the branch is behind the base branch in a way that needs action, fix that branch state before calling the task done.
- After resolving conflicts locally, push again and restart this skill.
3. Verify the PR checklist
Read the PR body and clear any checklist items that are already complete.
Typical Kookr checklist items:
- Server type-check clean:
pnpm build:server
- E2E type-check clean:
pnpm check:e2e
- Tests pass:
pnpm test
- Manual verification: describe what was actually checked
Use the [[kookr-pr-lifecycle]] REST-update flow to keep the PR body current. Do not leave stale unchecked items behind.
Also re-read the PR title and summary against the current branch diff after every follow-up push:
- If the diff scope changed, update the title/body immediately
- If verification changed (new tests, different commands, CI-specific reruns), update the test plan immediately
- Do not leave a stale description that reflects an earlier version of the branch
4. Check CI and early feedback
Run:
gh pr checks
gh pr view --json comments,reviews
Also inspect inline review comments when needed:
gh api repos/{owner}/{repo}/pulls/{number}/comments
If checks are still pending, poll for a short window rather than walking away. A practical default is up to about 5 minutes after PR creation or after a review-fix push.
If the push changed tests, test helpers, mocks, or build/test harness code, re-run verification in the same runtime/version CI uses before considering the branch healthy. For example:
- match the CI tool version when local and CI differ
- treat platform-specific test setup as higher risk, especially for Windows
- prefer one matrix-aligned rerun over assuming a targeted local pass is enough
5. Hand off to the right existing flow
- If CI fails, fix the problem, push again, and repeat this skill
- If bots or reviewers left actionable comments, switch to [[pr-review-triage]]
- If checklist items or PR metadata are stale, switch to [[kookr-pr-lifecycle]]
6. Wait-then-merge (substitute for gh pr merge --auto)
GitHub auto-merge is unavailable on this repo (private + Free plan, no branch
protection — see issue #29). gh pr merge <PR> --auto --squash --delete-branch
fails with Auto merge is not allowed for this repository.
Use the repo wrapper instead:
pnpm merge <PR_NUMBER>
bash scripts/kookr-merge.sh <PR_NUMBER>
The wrapper performs gh pr checks --watch and then squash-merges with
--delete-branch once checks pass. It refuses to merge a closed, draft, or
changes-requested PR. Use it instead of writing one-off sleep polling loops
or scheduling wakeups. Do not invoke gh pr merge --auto on this repo.
7. Report PR health explicitly
Before you say the branch is in good shape, report:
- PR: number + URL (or "no PR yet")
- mergeability: clean / conflicted / unknown
- checklist/body: current / stale
- CI: passing / failing / pending
- feedback: none / bot comments pending / review comments pending
- next action: wait / fix / triage / merge-ready
Do not leave the user to ask whether CI, mergeability, or the post-push workflow was checked.
Done Criteria
Do not declare the task complete while any of these remain true:
- The PR has merge conflicts
- The PR body still has checklist items that should already be checked off
- CI is failing on known issues you can address now
- Early bot or reviewer comments are waiting without triage