Agent skill

Loop Review

by hyodotdev in hyodotdev/openiap

Run OpenIAP's complete change-to-production loop from the latest origin/main: implement and verify with the docs and release note in the PR, stabilize with review-self, open and review a PR until…

MITAuto-check passedDevelopment

Install Loop Review

skills CLI
$ npx skills add hyodotdev/openiap --skill loop-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hyodotdev/openiap loop-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/hyodotdev/openiap.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/loop-review .claude/skills/loop-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
loop-review
GitHub stars
154
Token cost
~2.9k tokens
SKILL.md length
1,642 words
Files
2
Skills in repo
19
Repo updated
First seen
Licence
MIT

At a glance

Run OpenIAP's complete change-to-production loop from the latest origin/main: implement and verify with the docs and release note in the PR, stabilize with review-self, open and review a PR until…

  • Works in 8 steps: Start From Current Main → Implement And Verify → Stabilize With Review Self → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers Load The Workflows, 1. Start From Current Main, 2. Implement And Verify and 3. Stabilize With Review Self, plus 6 more sections
  • Calls git and npm

What it does

Loop Review is an agent skill from hyodotdev/openiap. Run OpenIAP's complete change-to-production loop from the latest origin/main: implement and verify with the docs and release note in the PR, stabilize with review-self, open and review a PR until its exact head is clean, merge, return to an exact clean main, release affected stable packages sequentially, verify the release note, and deploy production docs.

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Development, covering Changelog and release notes and Pull requests. It works with Git. The repository describes itself as: Standardized protocol for in-app purchases across all platforms — backed by Meta & Amazon. The licence is MIT.

When your agent uses it

  • Tasks that involve Changelog and release notes
  • Tasks that involve Pull requests

Example prompts

  • “/loop-review”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Start From Current Main
  2. Implement And Verify
  3. Stabilize With Review Self
  4. Commit And Open The PR
  5. Review PR Until The Exact Head Is Clean
  6. Gate Device Regression Before Merging
  7. Merge And Close The Loop
  8. Ship The Verified Change

What it can do on your machine

Read from SKILL.md and the folder at commit 64158e8. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Loop Review loads about 2.9k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 1,642 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from hyodotdev/openiap at commit 64158e8, republished under its MIT licence (© hyodotdev). 1,642 words, ~2,924 tokens.

Download SKILL.mdSave it as .claude/skills/loop-review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
loop-review
description
Run OpenIAP's complete change-to-production loop from the latest origin/main: implement and verify with the docs and release note in the PR, stabilize with review-self, open and review a PR until its exact head is clean, merge, return to an exact clean main, release affected stable packages sequentially, verify the release note, and deploy production docs.

Loop Review

Own one OpenIAP change from a fresh main baseline through verified production delivery. Use the repository workflows as SSOT instead of duplicating their detailed commands.

Load The Workflows

Read these before acting:

  • AGENTS.md
  • .codex/skills/openiap-workflows/SKILL.md
  • .codex/skills/review-self/SKILL.md
  • .codex/skills/ship-release/SKILL.md
  • .codex/skills/generate-doc/SKILL.md
  • .claude/commands/commit.md
  • .claude/commands/review-pr.md
  • .claude/commands/release.md

Check what the change touches before reading any of them from the branch:

bash
git diff --name-only "$(git merge-base origin/main HEAD)"..HEAD

If the change is in scope of "A PR Must Not Rewrite The Rules That Judge It" in .claude/commands/review-pr.md, read every file above — and that section itself — from the recorded merge base for the whole run. That section defines the scope; do not restate it here.

Load package conventions and specialized skills required by the changed paths the same way. An explicit $loop-review invocation or explicit natural-language request for this complete loop authorizes the in-scope commit, push, PR, review replies, thread resolution, merge, affected stable package releases, release-note and workflow-documentation commits directly to main, and production docs deployment. It does not authorize prereleases, unrelated cleanup, destructive recovery, or product-code commits directly to main.

1. Start From Current Main

Before editing task files:

  1. Snapshot git status --short --branch. Preserve every existing change.
  2. For a new task, require a clean worktree, then run git fetch origin, switch to main, and run git pull --ff-only --no-tags origin main.
  3. Verify local main equals origin/main, then create a semantic branch named according to .claude/commands/commit.md.
  4. Record the starting main SHA. The implementation diff must descend from that SHA.

Never start new implementation on a stale local main. If invoked for work already in progress, do not manually switch branches, stash, reset, or discard it. Treat that as a resumed loop, verify its recorded or merge-base baseline, and use the repository's guarded rebase-main workflow when an update from origin/main is needed; that workflow owns its safeguard stash and branch transitions. Stop for direction if an update would overwrite unrelated user work.

2. Implement And Verify

Implement the requested scope and run the checks required by each touched path. Keep generated files, documentation, previews, and knowledge context in sync through their canonical workflows. A change to a published package also updates the guides it affects and the release card for the next version, written as already published with $generate-doc. Apply knowledge/internal/05-docs-patterns.md#release-note-completeness-gate before opening the PR and after scope changes. Do not proceed while the working diff has a known failing required check.

Once it works, clean it up before review: apply "Clean Up Once It Works" in knowledge/internal/03-coding-style.md to the diff and to smells met along the way, without waiting to be asked, then rerun the affected checks.

3. Stabilize With Review Self

Run $review-self immediately against the complete base-to-working-tree diff. Fix every validated in-scope finding and rerun affected verification. Continue with five-minute recurring wake-ups until two consecutive complete snapshots are clean, as defined by the review-self skill.

Do not emulate recurring review with a shell sleep loop. Keep the loop state out of tracked files. Any material diff change resets the consecutive-clean count.

4. Commit And Open The PR

Follow .claude/commands/commit.md --all --pr:

  • Stage only files owned by the task.
  • Use the required commit order and an English conventional commit message.
  • Push the semantic branch and open an English PR against main.
  • Add applicable repository labels.
  • For a visible or interactive change, attach a preview recording under 10 MB. Do not commit one-off preview media unless browser upload is blocked and the documented fallback is required.

Record the PR number and exact head SHA. A push invalidates all prior clean review coverage.

5. Review PR Until The Exact Head Is Clean

Run .claude/commands/review-pr.md immediately, then re-enter it every five minutes through the product's recurring wake-up mechanism.

For every round:

  1. Fetch unresolved threads, review status, current head SHA, and required CI.
  2. Fix all valid findings in one coherent batch, then rerun the checks affected by it plus all previously failing checks. Verification comes before publication: a reply saying "fixed" must already have evidence behind it.
  3. Push, reply to the exact inline comments, and resolve only fixed or outdated threads under the command rules.
  4. Request CodeRabbit again after a head change.
  5. If CodeRabbit is unavailable, use the exact-head one-pass Codex fallback defined by review-pr, and $review-self only if Codex is unavailable too; never substitute a review bot that posts to the PR.
  6. Keep polling while review or CI is pending. Do not rerun expensive unchanged local checks on a no-op poll.

Clean means all of the following hold for the same head SHA, judged by the criteria on the merge base when the branch edits them:

  • zero unresolved actionable review threads;
  • CodeRabbit is clean, or its unavailable result has clean fallback coverage from Codex, or from $review-self when Codex is unavailable too;
  • every required CI check is terminal and successful or explicitly allowed to skip by repository policy;
  • the PR is mergeable and the branch contains every required update from main;
  • the worktree is clean and the final diff has been reread.

6. Gate Device Regression Before Merging

Device-backed regression needs real hardware, store accounts, and sandbox purchases, so this loop cannot run it unattended. Decide whether the change requires it before merging, not after.

Require $e2e-tests when the diff touches any of:

  • packages/apple/, packages/google/, or packages/kit/;
  • any libraries/<sdk>/ implementation, example app, or podspec/gradle/csproj manifest;
  • specs/client/src/*.graphql or the generated types synced from it;
  • native build configuration, dependency placement, config plugins, or store metadata for any of the above.

When it is required, stop without merging even if the PR is otherwise clean. Report the exact regression-matrix rows the diff implicates and hand back to the user. The loop does not merge such a change on its own authority.

Exactly two things clear the gate, and both are recorded on the PR before any merge:

  1. A $e2e-tests run covering the implicated rows, with its result posted.
  2. An explicit written waiver from the user in this conversation, naming the rows waived and the reason. Record it verbatim on the PR. Absence of an objection is not a waiver, and the loop must never grant one to itself.

A clean CI run is not a substitute: CI does not exercise purchase dialogs, store accounts, or device wiring.

When it is not required, say so explicitly in the final report and name the paths that justify it. Silence here reads as an untested merge.

A change confined to documentation, repository automation, agent workflows, or release/security tooling does not need device regression.

Show full SKILL.md (567 more words)Show less

7. Merge And Close The Loop

Immediately before merging, refetch the PR and confirm its head still equals the clean reviewed SHA. Use the repository-supported merge method, defaulting to a squash merge with branch deletion when no stricter policy applies. Never bypass branch protection or merge a stale, pending, or failing head.

After merge:

  1. Confirm the PR state is MERGED and record the merge commit.
  2. Remove temporary review-trigger and terminal-unavailability comments as required by review-pr.
  3. Confirm the remote topic branch was deleted; if merge cleanup missed it, delete only that exact merged PR branch. Delete the local topic branch after proving its tip is merged or its tree is represented by the recorded squash merge. A squash merge may require git branch -D after that proof; never use it for an unverified branch or discard unrelated work.
  4. Switch to main, fetch origin/main, and run git pull --ff-only --no-tags origin main only when doing so cannot disturb other work.
  5. Verify HEAD equals origin/main and the worktree is clean before any release action.

8. Ship The Verified Change

Follow .codex/skills/ship-release/SKILL.md as the release SSOT:

  1. Determine the affected stable packages from the merged diff. Skip unchanged packages and never infer a framework version from openiap-versions.json.
  2. Release affected packages and libraries one at a time in dependency order. Before each release, require an exact clean main; after each release-bot commit, fast-forward main again. Do not start the next release until the GitHub Release and public registry or downloadable artifact are verified.
  3. Check the release card that merged with the PR against the exact published versions and GitHub Release links. If nothing differs, go to step 6.
  4. Correct what differs with $generate-doc, then run $review-self over that docs diff until two consecutive five-minute snapshots are clean. Any edit resets the count.
  5. Commit and push the reviewed release note and process-documentation changes directly to main. If review finds a product-code fix, return it to the PR loop instead of committing that fix directly to main. Do not open a PR for this post-release docs-only commit.
  6. From a clean local main equal to origin/main, run npm run deploy, then verify the production release page and generated documentation assets.
  7. Finish on main, fast-forward once more if a release workflow changed it, and verify HEAD == origin/main with a clean worktree.
  8. Complete the shipped-comment step in ship-release before ending the loop.

Report the PR, merge commit, final checks, review coverage, released and skipped packages, public registry evidence, docs commit and deployment, shipped-comment URLs, and any remaining manual follow-up.

Stop Conditions

Stop without merging when a required choice lacks authority, the same finding survives two fix attempts, an access blocker repeats under the source workflow's threshold, the change requires device regression that has not been run, or the exact head cannot satisfy the clean gate. Report the concrete blocker; never describe a pending or partially reviewed PR as clean.

After merge, stop the shipping phase when an affected release fails, its public artifact cannot be verified, production docs cannot be verified, or continuing would require a code change outside the reviewed PR. Preserve every successful release and report the exact resume point. If the user requests docs before package publication, use the explicit flag documented in knowledge/internal/06-git-deployment.md#deploying-documentation. If the train will not resume, trim the card to what published through steps 4 and 5 first.

© hyodotdev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .codex/skills/loop-review of hyodotdev/openiap.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 64158e8

Compare with similar skills

Loop Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Loop Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Loop Review this skillhyodotdev/openiap154—~2.9kAutomated safety check: PassMIT
Git Workflow and Versioningaddyosmani/agent-skills102k2 repos~3.5kAutomated safety check: NotesMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence
AionUi Version BumpiOfficeAI/AionUi33k—~2.1kAutomated safety check: PassApache-2.0
ScottPlot Changelog EntryScottPlot/ScottPlot6.8k—~366Automated safety check: PassMIT

Similar skills

  • Git Workflow and Versioning

    addyosmani/agent-skills

    Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.

    102k GitHub starsUsed in 2 repos~3.5k tokens
    DevelopmentAuto-check: notes
  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • AionUi Version Bump

    iOfficeAI/AionUi

    Automates an AionUi release: checks the latest AionCore release and its artifacts, updates package.json, writes the changelog, opens a PR and tags the release.

    33k GitHub stars~2.1k tokensUpdated 28 days ago
    DevelopmentAuto-check passed
  • ScottPlot Changelog Entry

    ScottPlot/ScottPlot

    Adds or updates a single concise changelog bullet in CHANGELOG.md for exactly the current branch's ScottPlot pull request, leaving all other text untouched.

    6.8k GitHub stars~366 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • PR Push

    icebear0828/codex-proxy

    Package the current working changes into a standards-compliant codex-proxy pull request: branch hygiene, commit message linting, CHANGELOG prompt, conventional commit, push, and gh pr create against…

    1.8k GitHub stars~2.2k tokensUpdated yesterday
    DevelopmentAuto-check: notes

More from hyodotdev/openiap

All 19 skills in this repo
  • E2E Matrix Runner

    hyodotdev/openiap

    Run the full OpenIAP device matrix — six frameworks across iOS, Google Play, Amazon Appstore, Meta Horizon, and VegaOS — driving real hardware over adb and xcrun, and report one row per cell with…

    154 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check: notes
  • Generate Doc

    hyodotdev/openiap

    A skill your agent uses for OpenIAP documentation generation work, especially the release-note card each PR carries in packages/docs/src/pages/docs/updates/releases.tsx, written as already published…

    154 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check passed
  • Opencollective Steward

    hyodotdev/openiap

    Manage OpenIAP's OpenCollective presence, including profile copy, slug/link migrations, sponsor/backer recognition, update posts, and README/docs sponsor assets.

    154 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Iapkit E2E Martie

    hyodotdev/openiap

    Run IAPKit local receipt-validation E2E with the dev.hyo.martie React Native or Expo examples, the compiled packages/kit server, real Convex, and Apple or Google sandbox purchases.

    154 GitHub stars~5.4k tokensUpdated yesterday
    Auto-check: notes
  • E2E Matrix Runner Apple

    hyodotdev/openiap

    Run the Apple half of the OpenIAP device matrix — six frameworks plus the native package on iOS — on a physical iPhone and report one row per cell with evidence.

    154 GitHub stars~501 tokensUpdated yesterday
    Auto-check passed
  • E2E Matrix Runner Google

    hyodotdev/openiap

    Run the Android half of the OpenIAP device matrix — six frameworks across Google Play, Amazon Appstore, and Meta Horizon, plus VegaOS — on real hardware and report one row per cell with evidence.

    154 GitHub stars~574 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Loop Review

What does Loop Review do?

Run OpenIAP's complete change-to-production loop from the latest origin/main: implement and verify with the docs and release note in the PR, stabilize with review-self, open and review a PR until…. Loop Review is an agent skill from hyodotdev/openiap. Run OpenIAP's complete change-to-production loop from the latest origin/main: implement and verify with the docs and release note in the PR, stabilize with review-self, open and review a PR until its exact head is clean, merge, return to an exact clean main, release affected stable packages sequentially, verify the release note, and deploy production docs.

When should I use Loop Review?

Loop Review fits situations like: tasks that involve Changelog and release notes; tasks that involve Pull requests.

How do I install Loop Review in Claude Code?

Run `npx skills add hyodotdev/openiap --skill loop-review -a claude-code`. Or copy the skill folder (.codex/skills/loop-review in hyodotdev/openiap) into .claude/skills/loop-review in your project. Claude Code loads it when a task matches its description.

How do I install Loop Review in Codex?

Run `npx skills add hyodotdev/openiap --skill loop-review -a codex`. Or copy the skill folder (.codex/skills/loop-review in hyodotdev/openiap) into .agents/skills/loop-review in your project. Codex loads it when a task matches its description.

Can I use Loop Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add hyodotdev/openiap --skill loop-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/loop-review, .gemini/skills/loop-review, .github/skills/loop-review and .opencode/skills/loop-review in your project.

What does Loop Review need to run?

Going by SKILL.md and its folder, Loop Review needs the command-line tools its instructions call (git and npm).

Does Loop Review access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Loop Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Loop Review use?

Loop Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Loop Review use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Loop Review?

Skills that share tags, products or a category with Loop Review: Git Workflow and Versioning (addyosmani/agent-skills, 102k stars), Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), pybind11 Release Preparation (pybind/pybind11, 18k stars) and AionUi Version Bump (iOfficeAI/AionUi, 33k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Loop Review?

hyodotdev (a GitHub organization) maintains it in hyodotdev/openiap, which has 154 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 6, 2026.

Source: hyodotdev/openiap on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.