Ship a PR until green
Implement a change, open the PR with gh, then keep fixing CI failures until every check passes, all in one goal loop.
/goal a PR is open for this change and every CI check passes — implement it, test locally, push, open the PR with `gh pr create`, then keep fixing failures (re-check with `gh pr checks`) until green; stop after 10 turns
claude-code · codex
Implementation note
Run from a feature branch with gh authenticated. The 10-turn cap keeps a stubborn CI failure from becoming an expensive stalemate.
More git loops
Verify agent output before it ships
Run one agent in an isolated worktree and release its staged output only after a second agent verifies the work.
Use Loop Harness for scheduled repository work such as CI triage, issue grooming, dependency updates, or docs sync. Set [retry limit], then start an isolated git worktree. Let one Claude session stage a patch or outbox message and a second Claude session verify it against explicit criteria. Ship only after a pass; otherwise preserve the findings and retry only within the limit. Finish with the source revision, staged output, verifier result, delivery status, and next run.
gitmedium risk
Stale branch report
Every Monday, list remote branches with no commits in 30 days, classify each as merged, abandoned, or unclear, and file a cleanup checklist issue — deleting nothing.
/schedule every Monday at 9am, list remote branches with no commits in the last 30 days; for each, note whether it is fully merged into main, who last touched it, and any open PR; post the list as a checklist in a single `branch-cleanup` issue, and do not delete any branch yourself
gitlow risk
Commit message hygiene on a branch
Rewrite the commit messages on your feature branch to conventional-commit format with meaningful bodies before opening the PR, leaving the code untouched.
/goal every commit on this branch (ahead of main) has a conventional-commit subject under 72 characters and a body explaining why — use interactive rebase to reword only (no code changes, no commits dropped), verify with `git log main..HEAD`, and confirm the diff against the original branch tip is empty; stop after 5 turns
gitlow risk