GitHub Review Iteration
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
Push py4vasp changes to origin and open a PR. An agent skill from vasp-dev/py4vasp.
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vasp-dev/py4vasp push-py4vasp --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vasp-dev/py4vasp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/push-py4vasp .claude/skills/push-py4vasp && rm -rf skills-srcUse ~/.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/
Install the "push-py4vasp" agent skill from https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vasp into .claude/skills/push-py4vasp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "push-py4vasp", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vaspType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vasp-dev/py4vasp push-py4vasp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vasp-dev/py4vasp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/push-py4vasp .agents/skills/push-py4vasp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "push-py4vasp" agent skill from https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vasp into .agents/skills/push-py4vasp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "push-py4vasp", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vasp-dev/py4vasp push-py4vasp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vasp-dev/py4vasp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/push-py4vasp .cursor/skills/push-py4vasp && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "push-py4vasp" agent skill from https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vasp into .cursor/skills/push-py4vasp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "push-py4vasp", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vasp-dev/py4vasp.git --path .claude/skills/push-py4vasp--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vasp-dev/py4vasp push-py4vasp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vasp-dev/py4vasp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/push-py4vasp .gemini/skills/push-py4vasp && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "push-py4vasp" agent skill from https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vasp into .gemini/skills/push-py4vasp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "push-py4vasp", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vasp-dev/py4vasp push-py4vaspInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vasp-dev/py4vasp.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/push-py4vasp .github/skills/push-py4vasp && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "push-py4vasp" agent skill from https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vasp into .github/skills/push-py4vasp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "push-py4vasp", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vasp-dev/py4vasp push-py4vasp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vasp-dev/py4vasp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/push-py4vasp .opencode/skills/push-py4vasp && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "push-py4vasp" agent skill from https://github.com/vasp-dev/py4vasp/tree/master/.claude/skills/push-py4vasp into .opencode/skills/push-py4vasp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "push-py4vasp", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
push-py4vaspPush py4vasp changes to origin and open a PR. An agent skill from vasp-dev/py4vasp.
Push Py4vasp is an agent skill from vasp-dev/py4vasp. Push py4vasp changes to origin and open a PR. Use when asked to push, publish the branch, ship the changes, or open a pull request for py4vasp. Reviews code changes first (dispatches /review-py4vasp to a subagent unless already done), applies black + isort, pushes a fresh descriptive branch to origin, and hands back a PR compare link plus a draft PR message.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `push_prep.py`).
It sits in Development, covering Pull requests and Subagents. The repository describes itself as: Python interface for VASP. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 83a1168. It shows what the files ask for, not the result of running them.
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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
gituvpythonghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, uv and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Push Py4vasp loads about 1.5k tokens when it runs. Until then it costs about 93 tokens; SKILL.md has 793 words of instructions outside code blocks.
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.
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.
The full file from vasp-dev/py4vasp at commit 83a1168, republished under its Apache-2.0 licence (© vasp-dev). 793 words, ~1,494 tokens.
.claude/skills/push-py4vasp/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Orchestrates the last mile: review → format → push → PR link. The deterministic
prep (classify changes, decide if review is needed, suggest a branch name, build
the PR URL and draft message) is done by the read-only driver
.claude/skills/push-py4vasp/push_prep.py; the side-effecting steps (dispatch
review, apply fixes, format, push) are orchestrated here. origin is the main
repo vasp-dev/py4vasp, so pushing publishes to upstream. Paths are relative to
the repo/worktree root.
python .claude/skills/push-py4vasp/push_prep.pyIt prints: changed files split into CODE (*.py under src/ or tests/) vs
non-code (docs/CI/tooling); whether a review is required; whether a user
simulation is required (and why); a suggested branch name; the PR compare URL;
and a draft PR message. Read this first — it drives every decision below.
If the driver reports no code changes (only docs/CI/tooling), skip to Step 2 — a docs change still faces the user simulation gate.
If code changed, a py4vasp review must exist for this diff:
/review-py4vasp on this diff earlier in the session and
its findings were addressed, skip re-running it.subagent_type: general-purpose) and instruct it to follow the
/review-py4vasp skill on the current diff and return the findings.Then address the findings — fix the code, or record why a finding is a
non-issue. Re-run the affected tests (see /review-py4vasp for the invocation).
If the driver reports USER SIMULATION REQUIRED: NO, skip to Step 3.
Otherwise somebody who may read only the documentation must have tried this diff. The internal gates cannot see a feature that works perfectly and cannot be found, or one whose defaults quietly produce the wrong physics:
/simulate-user-py4vasp for this diff earlier in the session
and its blockers were addressed, skip re-running it./simulate-user-py4vasp skill — it writes the premise and
dispatches the subagent itself. Do not hand-roll the dispatch, and never run it
from plan mode (the subagent inherits plan mode and cannot write an input file,
which silently removes most of the surface a user touches).Then act on the report: blockers and documentation gaps are fixed before the push;
a documentation gap larger than this change is recorded in backlog/ as a short
markdown file; annoyances go into the PR message so the human reviewer inherits
them.
STOP and ask the user to confirm before formatting and pushing. Pushing
publishes the branch to origin (vasp-dev/py4vasp) — do not proceed without
an explicit go-ahead.
Apply the project's formatters to src and tests (no-op if pre-commit already
ran):
uv run --active black src testsuv run --active isort src testsThen look at the reformatted diff: black sometimes introduces awkward line breaks (a long call or expression wrapped across several lines). Where that hurts readability, extract a well-named helper variable so the line fits naturally, and re-run black to confirm it stays put.
If either step changed files, commit that:
git commit -am "Apply black and isort"Create a fresh descriptive branch (start from the driver's suggestion, refine if it misses the point), then push it and set upstream:
git switch -c feat/<descriptive-name>git push -u origin feat/<descriptive-name>Give the user the compare URL and the draft message from Step 0 (the driver already built both, using the real branch name if you kept its suggestion — else swap the branch segment). The URL opens GitHub's "Open a pull request" page:
https://github.com/vasp-dev/py4vasp/compare/master...<branch>?expand=1Present the draft PR message in a copy-paste block.
origin is upstream, not a fork. git@github.com:vasp-dev/py4vasp.git.
Pushing goes straight to the main repo (the user is a maintainer). A fork
remote private (martin-schlipf/py4vasp) also exists — only use it if the
user asks.gh is not installed here (only glab). Do not reach for gh pr create;
hand over the constructed compare URL instead — the driver builds it from
remote.origin.url.push_prep.py never pushes, commits, or edits;
re-run it freely. The only publishing action is git push in Step 5.A developer does the same by hand: review the diff, uv run --active black src tests && uv run --active isort src tests, git push -u origin <branch>, then
open the compare URL in a browser.
© vasp-dev, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/push-py4vasp of vasp-dev/py4vasp.
Open the folder on GitHubat commit 83a1168
Push Py4vasp 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Push Py4vasp this skillvasp-dev/py4vasp | 100 | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| GitHub Review Iterationprisma/orm | 48k | — | ~2.2k | Automated safety check: Pass | Apache-2.0 | |
| Cherry Studio PR ReviewCherryHQ/cherry-studio | 52k | — | ~3.9k | Automated safety check: Pass | AGPL-3.0 | |
| PR Cyclejaemk/cached | 2.1k | — | ~4.8k | Automated safety check: Notes | MIT | |
| PR Reviewjaemk/self_update | 961 | — | ~1.5k | Automated safety check: Notes | MIT | |
| Agentic Reviewdxos/dxos | 525 | — | ~4.4k | Automated safety check: Pass | Custom licence |
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
CherryHQ/cherry-studio
Reviews Cherry Studio branches, pull requests, commits, files and docs against the project's own architecture, naming, API-boundary and UI rules, report-only by default.
jaemk/cached
PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.
jaemk/self_update
Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.
dxos/dxos
Run the rule-driven agentic code review — discover rule blocks in the repo's .mdl files, prepare per-rule review groups (full project by default; diff-only with --pr-only), spawn one focused Sonnet…
ava-labs/firewood
A skill your agent uses when reviewing ava-labs/firewood code changes — pull request or local workspace.
vasp-dev/py4vasp
Plan a py4vasp change as an ordered list of test-first chunks — that chunk list is the plan.
vasp-dev/py4vasp
Code review for py4vasp changes. An agent skill from vasp-dev/py4vasp.
vasp-dev/py4vasp
Carry out ONE chunk of a py4vasp change test-first: RED (watch the test fail for the right reason) → GREEN → refactor → one local commit.
vasp-dev/py4vasp
Validate a py4vasp change from the outside by dispatching a subagent to role-play a user who may read only the documentation, never the source.
Categories
Push py4vasp changes to origin and open a PR. An agent skill from vasp-dev/py4vasp. Push Py4vasp is an agent skill from vasp-dev/py4vasp. Push py4vasp changes to origin and open a PR.
Push Py4vasp fits situations like: publish the branch; ship the changes; open a pull request for py4vasp.
Run `npx skills add vasp-dev/py4vasp --skill push-py4vasp -a claude-code`. Or copy the skill folder (.claude/skills/push-py4vasp in vasp-dev/py4vasp) into .claude/skills/push-py4vasp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vasp-dev/py4vasp --skill push-py4vasp -a codex`. Or copy the skill folder (.claude/skills/push-py4vasp in vasp-dev/py4vasp) into .agents/skills/push-py4vasp in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vasp-dev/py4vasp --skill push-py4vasp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/push-py4vasp, .gemini/skills/push-py4vasp, .github/skills/push-py4vasp and .opencode/skills/push-py4vasp in your project.
Going by SKILL.md and its folder, Push Py4vasp needs Python for the scripts in its folder and the command-line tools its instructions call (git, uv, python and gh). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git, uv and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Push Py4vasp is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Push Py4vasp: GitHub Review Iteration (prisma/orm, 48k stars), Cherry Studio PR Review (CherryHQ/cherry-studio, 52k stars), PR Cycle (jaemk/cached, 2.1k stars) and PR Review (jaemk/self_update, 961 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vasp-dev (a GitHub organization) maintains it in vasp-dev/py4vasp, which has 100 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 7, 2026.
Source: vasp-dev/py4vasp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.