Agent skill

Loop Revise

by getlago in getlago/lago-front

Post-PR revision phase of the loop pipeline for lago-front. An agent skill from getlago/lago-front.

AGPL-3.0Auto-check passedDevelopment

Install Loop Revise

skills CLI
$ npx skills add getlago/lago-front --skill loop-revise -a claude-code

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

GitHub CLI
$ gh skill install getlago/lago-front loop-revise --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/getlago/lago-front.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/loop-revise .claude/skills/loop-revise && 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-revise
GitHub stars
163
Token cost
~2.5k tokens
SKILL.md length
1,278 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Post-PR revision phase of the loop pipeline for lago-front. An agent skill from getlago/lago-front.

  • Works in 10 steps: Record the feedback: append it to… → Evaluate the feedback CRITICALLY —… → Apply — ONLY the agreed points, in the… → …
  • User says /loop-revise <ISSUE-ID <feedback
  • SKILL.md covers Steps and Hard rules
  • Calls gh, pnpm and git

What it does

Loop Revise is an agent skill from getlago/lago-front. Post-PR revision phase of the loop pipeline for lago-front. Takes an ISSUE-ID (or nothing, when run inside the checkout that owns the PR) and feedback, applies ONLY the requested changes in the worktree recorded in state.md — a lago-worktree worktree or, in the in-place layout, the current checkout — re-runs gates, commits, pushes, and watches CI. Use when user says "/loop-revise <ISSUE-ID <feedback", or asks to change something in a PR the loop opened.

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Git worktrees. The repository describes itself as: Open Source Metering and Usage Based Billing. The licence is AGPL-3.0.

When your agent uses it

  • User says /loop-revise <ISSUE-ID <feedback
  • Asks to change something in a PR the loop opened

Example prompts

  • “/loop-revise <ISSUE-ID <feedback”
  • “/loop-revise”

Workflow steps

10 steps, taken from the first numbered list in SKILL.md.

  1. Record the feedback: append it to feedback.md in the state dir with a timestamp header (keep prior rounds).
  2. Evaluate the feedback CRITICALLY — before touching any code. You are a senior peer, not an executor. Check each point against: the spec's…
  3. Apply — ONLY the agreed points, in the worktree: path from state.md (the cwd itself in in-place)
  4. Gates (in that same path, all must pass): pnpm lint, pnpm types, pnpm translations:inspect, pnpm translations:ensure-consistency…
  5. Restart the app: "$SCRIPTS/loop-restart.sh" /state.md (no container → warning, never a blocker).
  6. Commit and push on the existing branch
  7. CI gate: gh pr checks --watch. Red → same recovery as loop-run, INCLUDING its pre-budget triage of special cases (codegen companion PR…
  8. ALWAYS reply to every finding, technical question, requested change or HOLD, applied or not, regardless of whether a human or bot…
  9. Journal & flywheel — SILENT bookkeeping, before the report
  10. Report: what changed per feedback point, replies posted, commit SHA, CI status. NO new #frontend post — the PR was already announced.

What it can do on your machine

Read from SKILL.md and the folder at commit d4cb9fe. 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:

    • gh
    • pnpm
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use gh, pnpm and git, 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 Revise loads about 2.5k tokens when it runs. Until then it costs about 118 tokens; SKILL.md has 1,278 words of instructions outside code blocks.

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

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 getlago/lago-front at commit d4cb9fe, republished under its AGPL-3.0 licence (© getlago). 1,278 words, ~2,498 tokens.

Download SKILL.mdSave it as .claude/skills/loop-revise/SKILL.md (or your agent's skills folder).
name
loop-revise
description
Post-PR revision phase of the loop pipeline for lago-front. Takes an ISSUE-ID (or nothing, when run inside the checkout that owns the PR) and feedback, applies ONLY the requested changes in the worktree recorded in state.md — a lago-worktree worktree or, in the `in-place` layout, the current checkout — re-runs gates, commits, pushes, and watches CI. Use when user says "/loop-revise <ISSUE-ID> <feedback>", or asks to change something in a PR the loop opened.

Loop Revise — apply feedback to an open loop PR

Input: a task reference + feedback. The reference can be ANY of:

  • an ISSUE-ID (<TEAM>-<N>) — direct key of the state dir;
  • a PR number (4065 / #4065) or PR URL — resolve it: gh pr view <n> --json headRefName → branch → the $LOOP_STATE_DIR/*/state.md whose branch: matches → that dir's ISSUE-ID;
  • nothing at all, when the session already sits in the checkout that owns the PR (the in-place layout): resolve from git rev-parse --abbrev-ref HEAD → the state dir whose branch: matches.

Layout: read layout: from state.md (worktree | in-place, written by loop-build; missing key = worktree). Scripts live in <worktree>/scripts in in-place and in front/scripts in the worktree layout; $SCRIPTS below means whichever applies.

State dir: $LOOP_STATE_DIR/<ISSUE-ID>/ (default ~/.claude/loop-state/<ISSUE-ID>/).

Resolution fails (no matching state dir) → STOP: this PR was not produced by the loop; say so. Feedback comes in two forms, both handled:

  • The operator's free text (chat, Slack reply) — the operator is the developer running the loop, i.e. the PR author.
  • GitHub PR comments from others — colleagues or bots. Fetch them:
    bash
    gh api repos/getlago/lago-front/pulls/<PR>/comments   # review comments (inline)
    gh pr view <PR> --json comments,reviews                # issue comments and review verdicts
    Skip feedback authored by the operator (gh api user --jq .login) and unchanged, already-answered feedback. Every comment raising a finding, technical question or requested change from a human or bot requires evaluation and a reply, including SonarQube findings and false positives. Never comment merely to announce or acknowledge green CI or SonarQube results; success/status reports without findings require no reply. Praise, approvals and courtesy-only messages without findings or change requests receive no written reply, at most an optional thumbs-up reaction. Evaluate concrete findings even when the overall gate is green.

No free-text feedback given → default to unanswered substantive feedback, including HOLD verdicts and SonarQube findings. None present → report "nothing to revise" to the operator and stop without a PR comment.

Preconditions: state.md exists in the state dir and the PR for <ISSUE-ID> is OPEN (gh pr view <branch> --json state). PR MERGED or CLOSED → STOP: nothing to revise, suggest a new ticket instead.

Steps

  1. Record the feedback: append it to feedback.md in the state dir with a timestamp header (keep prior rounds).

  2. Evaluate the feedback CRITICALLY — before touching any code. You are a senior peer, not an executor. Check each point against: the spec's acceptance criteria and ## Ticket, plan.md, the design system, .agents/docs/frontend-coding-styleguide.md, and the actual code. Then classify it:

    • Sound → say why in one line, proceed.
    • Sound but better done differently → propose the alternative with reasoning; let the operator pick.
    • Breaks an acceptance criterion, duplicates the design system, contradicts the styleguide, or degrades the code → PUSH BACK with what it breaks and what you'd do instead. Do NOT apply it unless the operator confirms after hearing the objection — then note the override in feedback.md.
    • Verify claims before agreeing ("this rerenders twice" → check). Never implement performatively to please.
    • Any HOLD, regardless of author: compare its claim and referenced commit with the current code. Classify it as a real issue, a false positive or already fixed. Apply valid fixes within scope and ALWAYS give the brief reply in step 8, including when no code change is needed. Only an updated verdict from the author lifts their HOLD; a fix or green CI alone does not.
    • SonarQube findings: investigate and attempt a focused code fix within the PR's scope. A large refactor or unrelated change belongs in separate work: explain that to the operator instead of expanding the PR. Do not dismiss or suppress a finding merely to make the gate green; existing CI failure handling still applies.
    • External comments (colleagues/bots) get identical scrutiny; for them "push back" is the polite not-applied reply of step 8 — escalate to the operator only when the comment is sound but conflicts with the spec.
  3. Apply — ONLY the agreed points, in the worktree: path from state.md (the cwd itself in in-place):

    • No opportunistic refactors, no scope creep beyond the agreed feedback.
    • Same build rules as loop-build: existing mechanism first, reuse translations/base.json labels, no dead keys, no dead code, no comment that answers the reviewer. A new file or export goes into plan.md ## Deviations with its reason.
    • Feedback ambiguous → STOP and ask before coding.
  4. Gates (in that same path, all must pass): pnpm lint, pnpm types, pnpm translations:inspect, pnpm translations:ensure-consistency, "$SCRIPTS/diff-hygiene.sh" origin/main <worktree> <state dir>/plan.md (a comment the revision keeps goes into plan.md ## Comments kept with its category, or goes). If the change touched testable logic: re-invoke the make-tests skill on the affected paths, then scoped jest on those paths only. NEVER the full suite.

  5. Restart the app: "$SCRIPTS/loop-restart.sh" <state dir>/state.md (no container → warning, never a blocker).

  6. Commit and push on the existing branch:

    fix(<context>): address review feedback
    
    ## Description
    
    <bullet list: each feedback point → what changed>
    
    <!-- Linear link -->
    Refs <ISSUE-ID>

    Then git push — the open PR updates itself.

  7. CI gate: gh pr checks <PR> --watch. Red → same recovery as loop-run, INCLUDING its pre-budget triage of special cases (codegen companion PR, code-scanning re-fingerprint, inherited base red); neither applies → "$SCRIPTS/iter-budget.sh" <ISSUE-ID> ci-revise (exit 1 = exhausted → STOP path), then "$SCRIPTS/loop-ci-log.sh" <ISSUE-ID> <run-id> <N>, write the distilled ci-failure.md, fix, recommit. On STOP: impediment.md + "$SCRIPTS/loop-notify.sh" exactly as loop-run's exit notification.

  8. ALWAYS reply to every finding, technical question, requested change or HOLD, applied or not, regardless of whether a human or bot (including SonarQube) authored it. One or two concise sentences in English, no AI attribution. No written replies to success/status reports, praise, approvals or courtesy-only messages without findings or change requests; at most an optional thumbs-up reaction. Never post a green-CI/SonarQube acknowledgement or a duplicate answer to unchanged feedback:

    • Applied / already fixed → Fixed in <short-sha>: <brief change>.
    • False positive / not applied → No change: <one-line technical reason based on the current code>.
    • Valid but out of scope → Requires separate work: <brief scope reason>. Report the follow-up to the operator; do not present the HOLD or failing gate as resolved.
    • Inline review comments: gh api repos/getlago/lago-front/pulls/<PR>/comments/<comment-id>/replies -f body='...'. Issue-level: gh pr comment <PR> --body '...'.
  9. Journal & flywheel — SILENT bookkeeping, before the report:

    • "$SCRIPTS/loop-journal.sh" <ISSUE-ID> "<N> points" <ci-revise N/3> "<gates red, or none>" <outcome> "<fail-checks or none>" "<one short phrase>". <N> points = feedback points applied. <outcome> is the way this revision actually ended: revised (pushed, CI green), stopped-ci (budget exhausted), or needs-operator-adjudication. fail-checks: for each external comment that was a real defect, the loop-review check that should have caught it (review#1 … review#7, or none-covers when no check addresses that defect class) — this is how the flywheel learns which checks miss what colleagues catch.
    • Flywheel: the operator's and colleagues' feedback is the highest-value signal, and it enters _flywheel.md under the SAME governance as loop-run: a proposal only when a better instruction would have prevented the defect and you can name a second, different plausible occurrence; written as a script or lint rule if it can be one; a new check only naming the check it replaces; no ticket ID in the rule. Both conditions met → append the dated target / evidence / proposed edit block. Proposals ONLY: never edit skill files, never ping the operator. One condition → append nothing.
  10. Report: what changed per feedback point, replies posted, commit SHA, CI status. NO new #frontend post — the PR was already announced.

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

Hard rules

  • No AI attribution: commit message contains exactly the template above.
  • Only the existing worktree and branch from state.md — never a new branch, never the main checkout, and in in-place never $CONDUCTOR_ROOT_PATH, another workspace, or a branch rename.
  • Only the changes the feedback asks for.
  • Humans merge. Never merge, never approve. Never run the full jest suite. No #frontend repost.
  • Two communication registers: messages to humans (chat report, notifications, GitHub PR comment replies) = short, direct, plain language, no deep-tech jargon. Internal state files (spec.md, plan.md, review.md, histories, working notes) = written for the AI of a later iteration: dense, precise, full paths/symbols/error strings — optimize for machine effectiveness, not human readability.

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

Files

Just SKILL.md in .agents/skills/loop-revise of getlago/lago-front.

Open the folder on GitHubat commit d4cb9fe

Compare with similar skills

Loop Revise 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 Revise compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Loop Revise this skillgetlago/lago-front163—~2.5kAutomated safety check: PassAGPL-3.0
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Migrate Core Code to Submodulestinyhumansai/openhuman42k—~2.6kAutomated safety check: PassGPL-3.0
Finishing A Development Branchfarm-fe/farm5.6k34 repos~1.8kAutomated safety check: PassMIT
Git Worktree Cleanuplobehub/lobehub83k—~2.8kAutomated safety check: PassCustom licence
Keep Codex Fastvibeforge1111/keep-codex-fast1.6k—~3.1kAutomated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Migrate Core Code to Submodules

    tinyhumansai/openhuman

    Plans and carries out moving non-host-specific code and its tests from the OpenHuman core into vendored tiny submodule libraries, then releases the submodule and re-pins the host.

    42k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • A skill your agent uses when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for…

    5.6k GitHub starsUsed in 34 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Git Worktree Cleanup

    lobehub/lobehub

    Audits stale Git worktrees and branches with a bundled script, classifies each one, and deletes only after you approve the exact candidates.

    83k GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Keep Codex Fast

    vibeforge1111/keep-codex-fast

    A skill your agent uses when Codex feels slow or bloated, when local sessions/logs/worktrees/config have grown over time, or when a user wants safe maintenance for Codex Desktop/CLI state.

    1.6k GitHub stars~3.1k tokensUpdated 5 mo ago
    DevelopmentAuto-check passed
  • Pre-Release PR Triage

    jamiepine/voicebox

    Sorts a backlog of open pull requests into must-merge, candidate, superseded and deferred, writes a triage doc and works the merge loop before a release.

    57k GitHub stars~3.1k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from getlago/lago-front

All 17 skills in this repo
  • Babysit

    getlago/lago-front

    A skill your agent uses when asked to babysit, monitor, shepherd, or keep working on a GitHub pull request until it is green, review-ready, approved, mergeable, or ready to merge.

    163 GitHub stars~5.2k tokensUpdated today
    Auto-check passed
  • Cve Doctor

    getlago/lago-front

    Triage a CVE / Dependabot alert in a JS/TS project and recommend the least-invasive fix.

    163 GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Extract Section To Drawer

    getlago/lago-front

    Extract a Formik form section into a TanStack Form drawer with Zod validation, following the plan form migration pattern.

    163 GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Loop Build

    getlago/lago-front

    Phase 2 of the loop pipeline for lago-front. An agent skill from getlago/lago-front.

    163 GitHub stars~3.5k tokensUpdated today
    Auto-check: notes
  • Loop Clean

    getlago/lago-front

    Cleanup phase of the loop pipeline for lago-front, for the worktree layout only.

    163 GitHub stars~816 tokensUpdated today
    Auto-check passed
  • Docker Expert

    getlago/lago-front

    You are an advanced Docker containerization expert with comprehensive, practical knowledge of container optimization, security hardening, multi-stage builds, orchestration patterns, and production…

    163 GitHub starsUsed in 10 repos~3.6k tokens
    Auto-check passed

Categories

Questions about Loop Revise

What does Loop Revise do?

Post-PR revision phase of the loop pipeline for lago-front. An agent skill from getlago/lago-front. Loop Revise is an agent skill from getlago/lago-front. Post-PR revision phase of the loop pipeline for lago-front.

When should I use Loop Revise?

Loop Revise fits situations like: user says /loop-revise <ISSUE-ID <feedback; asks to change something in a PR the loop opened.

How do I install Loop Revise in Claude Code?

Run `npx skills add getlago/lago-front --skill loop-revise -a claude-code`. Or copy the skill folder (.agents/skills/loop-revise in getlago/lago-front) into .claude/skills/loop-revise in your project. Claude Code loads it when a task matches its description.

How do I install Loop Revise in Codex?

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

Can I use Loop Revise 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 getlago/lago-front --skill loop-revise -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-revise, .gemini/skills/loop-revise, .github/skills/loop-revise and .opencode/skills/loop-revise in your project.

What does Loop Revise need to run?

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

Does Loop Revise access the network?

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

Is Loop Revise 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 Revise use?

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

How many tokens does Loop Revise use?

About 2.5k tokens (SKILL.md is roughly 10k 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 Revise?

Skills that share tags, products or a category with Loop Revise: Finishing a Development Branch (obra/superpowers, 296k stars), Migrate Core Code to Submodules (tinyhumansai/openhuman, 42k stars), Finishing A Development Branch (farm-fe/farm, 5.6k stars) and Git Worktree Cleanup (lobehub/lobehub, 83k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Loop Revise?

getlago (a GitHub organization) maintains it in getlago/lago-front, which has 163 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.

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