Agent skill

Push Py4vasp

by vasp-dev in vasp-dev/py4vasp

Push py4vasp changes to origin and open a PR. An agent skill from vasp-dev/py4vasp.

Apache-2.0Auto-check passedDevelopment

Install Push Py4vasp

skills CLI
$ npx skills add vasp-dev/py4vasp --skill push-py4vasp -a claude-code

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

GitHub CLI
$ gh skill install vasp-dev/py4vasp push-py4vasp --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/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-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
push-py4vasp
GitHub stars
100
Token cost
~1.5k tokens
SKILL.md length
793 words
Files
2
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Push py4vasp changes to origin and open a PR. An agent skill from vasp-dev/py4vasp.

  • Works in 7 steps: prep (run the driver) → review gate (only if CODE changed) → user simulation gate (only if the user… → …
  • Publish the branch
  • SKILL.md covers Step 0 — prep (run the driver), Step 1 — review gate (only if…, Step 2 — user simulation gate… and Step 3 — confirm (hard stop…, plus 5 more sections
  • Runs Python scripts from its folder; calls git, uv and python

What it does

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.

When your agent uses it

  • Publish the branch
  • Ship the changes
  • Open a pull request for py4vasp

Example prompts

  • “/push-py4vasp”

Requirements

  • Python 3

Workflow steps

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

  1. prep (run the driver)
  2. review gate (only if CODE changed)
  3. user simulation gate (only if the user interface changed)
  4. confirm (hard stop before publishing)
  5. format
  6. branch + push
  7. PR link + message

What it can do on your machine

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

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • uv
    • python
    • gh

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

  • Network

    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.

  • 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

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.

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
~1.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 vasp-dev/py4vasp at commit 83a1168, republished under its Apache-2.0 licence (© vasp-dev). 793 words, ~1,494 tokens.

Download SKILL.mdSave it as .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.
name
push-py4vasp
description
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.

Push py4vasp to origin

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.

Step 0 — prep (run the driver)

bash
python .claude/skills/push-py4vasp/push_prep.py

It 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.

Step 1 — review gate (only if CODE changed)

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:

  • If you already ran /review-py4vasp on this diff earlier in the session and its findings were addressed, skip re-running it.
  • If you cannot tell whether a review was done, ask the user before dispatching.
  • Otherwise dispatch a subagent to review: use the Agent tool (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).

Step 2 — user simulation gate (only if the user interface changed)

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:

  • If you already ran /simulate-user-py4vasp for this diff earlier in the session and its blockers were addressed, skip re-running it.
  • If you cannot tell whether a simulation was done, ask the user before dispatching.
  • Otherwise follow the /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.

Step 3 — confirm (hard stop before publishing)

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.

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

Step 4 — format

Apply the project's formatters to src and tests (no-op if pre-commit already ran):

bash
uv run --active black src tests
bash
uv run --active isort src tests

Then 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:

bash
git commit -am "Apply black and isort"

Step 5 — branch + push

Create a fresh descriptive branch (start from the driver's suggestion, refine if it misses the point), then push it and set upstream:

bash
git switch -c feat/<descriptive-name>
bash
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=1

Present the draft PR message in a copy-paste block.

Gotchas

  • 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.
  • Non-code = review-skipped, but not necessarily gate-free. A CI/tooling change goes straight from Step 0 to Step 4. A docs change skips the code review yet still requires the user simulation — the documentation is precisely what that gate reads.
  • The driver is read-only. push_prep.py never pushes, commits, or edits; re-run it freely. The only publishing action is git push in Step 5.
  • Worktree note: run inside the worktree you actually changed; the driver reports the checkout path so you can confirm.

Human path

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

Files

SKILL.md and 1 other file in .claude/skills/push-py4vasp of vasp-dev/py4vasp.

  • SKILL.md
  • push_prep.py

Open the folder on GitHubat commit 83a1168

Compare with similar skills

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.

Push Py4vasp compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Push Py4vasp this skillvasp-dev/py4vasp100—~1.5kAutomated safety check: PassApache-2.0
GitHub Review Iterationprisma/orm48k—~2.2kAutomated safety check: PassApache-2.0
Cherry Studio PR ReviewCherryHQ/cherry-studio52k—~3.9kAutomated safety check: PassAGPL-3.0
PR Cyclejaemk/cached2.1k—~4.8kAutomated safety check: NotesMIT
PR Reviewjaemk/self_update961—~1.5kAutomated safety check: NotesMIT
Agentic Reviewdxos/dxos525—~4.4kAutomated safety check: PassCustom licence

Similar skills

  • Official

    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.

    48k GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Cherry Studio PR Review

    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.

    52k GitHub stars~3.9k tokensUpdated today
    DevelopmentAuto-check passed
  • PR Cycle

    jaemk/cached

    PR review-and-update cycle — the orchestrator that takes a PR from review to resolved.

    2.1k GitHub stars~4.8k tokensUpdated 6 days ago
    DevelopmentAuto-check: notes
  • PR Review

    jaemk/self_update

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.

    961 GitHub stars~1.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes
  • 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…

    525 GitHub stars~4.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Firewood Review

    ava-labs/firewood

    A skill your agent uses when reviewing ava-labs/firewood code changes — pull request or local workspace.

    153 GitHub stars~2.1k tokensUpdated today
    DevelopmentAuto-check: notes

More from vasp-dev/py4vasp

  • Plan Py4vasp

    vasp-dev/py4vasp

    Plan a py4vasp change as an ordered list of test-first chunks — that chunk list is the plan.

    100 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Review Py4vasp

    vasp-dev/py4vasp

    Code review for py4vasp changes. An agent skill from vasp-dev/py4vasp.

    100 GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • TDD 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.

    100 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Simulate User Py4vasp

    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.

    100 GitHub stars~2.5k tokensUpdated today
    Auto-check passed

Questions about Push Py4vasp

What does Push Py4vasp do?

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.

When should I use Push Py4vasp?

Push Py4vasp fits situations like: publish the branch; ship the changes; open a pull request for py4vasp.

How do I install Push Py4vasp in Claude Code?

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.

How do I install Push Py4vasp in Codex?

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.

Can I use Push Py4vasp 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 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.

What does Push Py4vasp need to run?

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.

Does Push Py4vasp access the network?

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.

Is Push Py4vasp 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 Push Py4vasp use?

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.

How many tokens does Push Py4vasp use?

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.

What are the alternatives to Push Py4vasp?

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.

Who maintains Push Py4vasp?

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.