Automated summary
Covers the entire pull request lifecycle: branching from origin/main, pre-push verification, self-reviewing the diff, opening the PR, then tracking CI and review threads until everything is handled.
Strengths
- Enforces verification on every push (formatting plus both test suites run locally) and forbids skipping, disabling, or weakening a failing test.
- Structures self-review: clean worktree, diff always taken against origin/main, codex review optionally backed by three independent sub-agents (correctness, style, tests).
- Defines a realistic watch loop — roughly one check every 10 minutes covering CI status, unresolved threads, and the formal review decision together.
- Sets clear guardrails: the maintainer merges, no amend or force push, and no local paths or private notes leaking into the PR body.
Limitations
- Tightly coupled to one stack (pixi tasks, a C++ style skill, codex with gpt-5.6-sol), so it needs adaptation before reuse elsewhere.
- Assumes a fully equipped environment: authenticated gh, available codex, and an agent able to schedule wake-ups and run parallel sub-agents.
- Review quality rests entirely on codex or the sub-agents; the skill ships no review checklist of its own.
Reach for it once the code is ready, before committing or pushing, when opening a PR, or when checking the state of an open one in this repository.
Skip it for a trivial typo fix or in a repository that does not use pixi, gh, and codex, since most of the described steps would not apply.
Security analysis
CautionThe skill is a conventional PR workflow: branch from origin/main, run format/tests, self-review, open PR, watch CI. It uses powerful tools (git push, gh, external review agent, subagents) but for clearly legitimate purposes, and it explicitly forbids destructive shortcuts — no force push except a maintainer-approved rebase, never amend, never merge, never weaken/skip tests. No exfiltration, obfuscation, curl|sh, or filesystem destruction. Hence caution rather than safe or risky.
- •Instructs agents to run git push and gh CLI commands against a real repository (branching, committing, pushing, resolving review threads) — legitimate but write-capable remote operations.
- •Delegates review to an external 'codex exec' / gpt-5.6-sol tool and spawns parallel subagents, expanding the tool surface beyond the skill's own instructions.
- •Directs a sustained polling loop (~10 min cadence, multiple rounds) of gh API calls, which consumes credentials/quota; it does mitigate by batching and spacing calls.
- •References repo-local rule files (.claude/CLAUDE.md, cpp-style skill) whose contents are trusted implicitly by the reviewer prompt.
Examples
I've finished the queue-cancel fix. Run the PR pipeline: verify formatting and both test suites, self-review the diff against origin/main, and open the PR once it's clean.Check on PR #412 — CI status, unresolved review threads, and review decision — and tell me whether it's ready to merge.Pull the unresolved review threads on my branch via resolve-comments, fix them at the root, re-run the pre-push checks, and push an ordinary commit.name: pr description: The full pipeline from "code is ready" to "ready to merge" — pre-push verification, three-way self-review, opening the PR, watching CI and review threads. Read BEFORE committing, opening a PR, or checking on an open one.
PR Pipeline
The development flow is: branch off main → write code (discussing requirements with the maintainer) → self-review and fix → open the PR → watch CI and reviews until everything is handled → report that it is ready. The maintainer merges — never merge yourself.
Branch
- Always branch from freshly fetched
origin/main—git fetch origin && git checkout -b <type>/<short-topic> origin/main— never from the localmain.<type>uses the conventional-commit types, e.g.fix/queue-cancel,refactor/codec-macros.
Pre-push verification (every push, not just the first)
Never push anything unverified — "it compiles" is not verified, and CI is not a debugger.
pixi run format.- Both test suites pass locally (the test skill): unit tests via
pixi run test(builds thedebugpreset and runs ctest, which handles the snapshot dir), andpixi run integration-test. Every failure on the branch is yours to fix now — even if it looks pre-existing (main is green), and never by skipping, disabling, or weakening the test.
Self-review (before opening)
Commit all work first — the review diff only sees commits, so a dirty worktree means the reviewers inspect an incomplete patch (git status must be clean). Then review the full diff (git diff origin/main...HEAD — never against the local main, which goes stale) and fix everything confirmed before opening:
- Primary: codex review (the codex skill) — the canonical rules-aware review command: plain
codex execwith gpt-5.6-sol at xhigh and a prompt that reads.claude/CLAUDE.mdplus the cpp-style skill and reviewsgit diff origin/main...HEAD(the built-incodex exec review --basecannot take a prompt, so it never sees the repo rules). Treat findings as hypotheses: verify each concrete claim before fixing it. - Supplement — when codex is unavailable, or as an extra pass on high-risk diffs: 3 parallel subagents reviewing independently — correctness (logic errors, edge cases, undefined behavior; coroutine lifetime and cancellation paths deserve extra suspicion), style (naming, cpp-style skill rules), tests (new functionality covered, no existing tests broken or weakened).
Opening
- Confirm with the maintainer before creating the PR.
- Title follows the conventional commit format — it becomes the squash-merge commit on
main. - Body: a concise summary of what changed and why. Never reference local file paths, private notes, or other material a reader without this machine cannot see.
Watching
This is a sustained loop, not a single check — reviews and CI both take time, and a PR typically needs several rounds of check-and-fix before it is truly settled. Do not stop at the first green check.
- Cadence: one check every ~10 minutes by default, via timed wake-ups — never background shell loops. Decide the total number of rounds yourself based on elapsed time and remaining activity.
- Every check covers all three: CI status, unresolved review threads, and the formal review decision (
gh pr view --json reviewDecision). A green pipeline with open review comments is not done — review threads must be at zero before the maintainer merges. - Threads go through the resolve-comments skill: it pulls unresolved threads (by
isResolved, never timestamps), applies root-cause fixes in the worktree, resolves the threads, and returns a compact summary — the GraphQL plumbing and comment bodies stay out of the main conversation. A fixed thread is resolved outright; a rebutted thread gets a short reply stating why, then is resolved. - If resolve-comments left changes in the worktree: run the pre-push verification, then push an ordinary commit — never
--amend, never force push. History rewrites destroy review anchors and reviewers' incremental diffs. - Force push has essentially no legitimate use on a PR branch. The usual temptation — amending fixes into the previous commit to keep the branch "one tidy commit" — buys nothing: the squash merge flattens the branch anyway and only the PR title lands in
mainhistory. The single real case is rebasing onto a newermain(e.g. to resolve a conflict), and that requires asking the maintainer first. - CI failure: reproduce and fix locally, verify, then push. Digest CI logs via a subagent; don't pull raw logs into the main conversation.
- Keep API calls sparse — one batch per check,
sleep 1betweenghcalls.
Done
- CI fully green, zero unresolved review threads, and no blocking review decision (
reviewDecisionmust not beCHANGES_REQUESTED— a top-level "changes requested" review blocks the merge even after every inline thread is resolved; address its feedback and request a re-review) → report to the maintainer that the PR is ready to merge: a one-paragraph summary of what review found and how it was addressed, plus every design decision taken while resolving threads (chosen vs. alternative), so the maintainer can accept or overturn them in one pass. Then stop — merging is the maintainer's call. - The default bar stays high: elegant code, edge cases considered. "Merge now, clean up in a dedicated refactor PR later" is a real move in this project, but that trade-off is the maintainer's call, made case by case — never the agent's default.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/pr-pipeline-mtpag6bu/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/pr-pipeline-mtpag6bu' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/pr-pipeline-mtpag6bu/download' --output '.skill-downloads/pr-pipeline-mtpag6bu/SKILL.md.part' && mv '.skill-downloads/pr-pipeline-mtpag6bu/SKILL.md.part' '.skill-downloads/pr-pipeline-mtpag6bu/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/pr-pipeline-mtpag6bu/SKILL.md' && test -s '.skill-downloads/pr-pipeline-mtpag6bu/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/pr' && cp -R '.skill-downloads/pr-pipeline-mtpag6bu' '.claude/skills/pr'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/pr-pipeline-mtpag6bu'openskills read 'pr-pipeline-mtpag6bu'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/pr-pipeline-mtpag6bu/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
Configure a Chat Channel with SecretRefs
DevOps
Set up chat channels using non-interactive commands, with secrets only as SecretRefs. Covers gather, mutate, repair, and prove steps for reliable delivery.
Investigate ClickHouse CI Failures
DevOps
Investigate a ClickHouse CI failure end-to-end from a PR or S3 report URL. Fetches failed tests, classifies flaky vs real regression, and checks for existing issues/fixes.
Ansible PR Review
DevOps
Reviews an Ansible PR following the project's standardized process, including changelog checks, test coverage validation, and feedback tracking.