iso-push

iso-push is a skill for Claude Code, Codex from IsaiaScope/ai. It costs 135 tokens per session (9,388 once invoked), scanned A, original, MIT.

A Git workflow for pushing committed changes, opening pull requests against the `dev` branch, and promoting code through environment branches such as `test` and `prod`. A pull request is a request to review and merge a set of changes.

In plain words
What is it for?
Use it to push a branch, open and merge pull requests after CI passes, promote `dev` to `test` or `prod`, or open pull requests without merging them.
Why use it?
It keeps releases in a linear history and defines how changes move from a feature branch into shared environments without rewriting published commits.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions Claude Code.

Good fit Use it to push a branch, open and merge pull requests after CI passes, promote dev to test or prod, or open pull requests without merging them.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/isaiascope/ai/iso-push
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add IsaiaScope/ai --skill iso-push
Clone the repo
git clone --depth 1 https://github.com/IsaiaScope/ai

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for iso-push

README.md
[![agentmods](https://agentmods.dev/badge/skills/isaiascope/ai/iso-push/github.svg)](https://agentmods.dev/skills/isaiascope/ai/iso-push)
Your own site
<a href="https://agentmods.dev/skills/isaiascope/ai/iso-push"><img src="https://agentmods.dev/badge/skills/isaiascope/ai/iso-push/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for iso-push

Your own site · 80×15
<a href="https://agentmods.dev/skills/isaiascope/ai/iso-push"><img src="https://agentmods.dev/badge/skills/isaiascope/ai/iso-push.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 135 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 9,388 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00135 $0.09388
Opus 5.5 $0.00054 $0.03755
Sonnet 5.5 $0.00027 $0.01878
Haiku 4.5 $0.00014 $0.00939

Measured 6d ago against content hash 62e5dcf41e33, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

iso-push scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/push.sh, scripts/push.test.sh), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/iso-push/SKILL.md · 748 lines

How it starts

The opening of the file, as written. The whole thing — 748 lines — stays where its author put it; the contents beside it link to each section on GitHub.

iso-push

Push what is committed, open a PR a person can read, and promote it through the environment branches — leaving a single linear history and rewriting nothing that has been published without asking first.

Invocation: /iso-push [--pr] [--cascade test|prod] [--no-merge] [--stay].

flag effect
(none) push the current branch, nothing else
--pr push, open a PR against dev, integrate it once CI is green, then cut the release
--cascade test promote dev → test
--cascade prod promote dev → test → prod
--no-merge open the PRs and stop; integrate nothing
--stay stay on the feature branch after a landing instead of returning to the base

--cascade works with or without --pr. Without it, dev is promoted exactly as it currently stands.

The work is finished at dev. The landing there is where the ticket closes, the version is cut and tagged, and you are put back on dev. test and prod are a cascade of that same commit, run once dev has proved itself; they cut nothing and close nothing.

A pure cascade — --cascade with no --pr — runs from the base, not from a feature branch. It has no branch to land: it reads only origin/* refs and promotes dev as it is. That is also where step 9 leaves you at the end of the previous run, so the two compose. With --pr the opposite holds — there is a branch to land, and dev cannot open a PR into itself.

you are on --cascade --cascade --pr
dev / develop ✅ the right place ❌ refused, or rescued¹
a feature branch ❌ refused, "add --pr" ✅ the right place
test / prod ❌ refused, or rescued¹ ❌ refused, or rescued¹

¹ A protected branch carrying its own commits is rescued, not refused.

A commit made while standing on dev, test or prod is stranded: iso-push cannot push those branches, and a cascade promotes origin/* and so never sees it. The only way out used to be a hand-typed git reset --hard at the end of a working session, which is the worst possible moment to improvise one.

So preflight names a branch after the work, moves the commits onto it, resets the protected branch back to its remote, and leaves you on the new branch. The run then continues normally — preflight echoes the new branch, so every later step sees it.

The name comes from the oldest commit above the base, read as a conventional subject — the one that started the work, not whatever you happened to commit last:

subject branch
feat(wiki)!: add note and supersede, delete destroys bytes feat/wiki-add-note-and-supersede-delete-destroys
fix: reject tokens with a future iat fix/reject-tokens-with-a-future-iat
random subject with no type at all chore/random-subject-with-no-type-at-all

An unrecognised type becomes chore/, which is what the version bump would treat it as anyway — the branch name agrees with what the release will do rather than guessing something prettier. The slug is cut at a word boundary at 48 characters, never mid-word.

On test or prod this is also the documented remedy for an environment defect: the stray commit lands on a feature branch whose base is dev, which is exactly where step 1 says to get it.

Two states are still refused:

  • Dirty tree. The move ends in git reset --hard, which would discard uncommitted work. Commit or stash first.
  • The target branch already exists. Check it out and merge, or rename it.

The branch is created before the reset, so every commit is reachable from a second ref before anything moves. A failure between the two steps loses nothing.

A protected branch with no commits of its own is refused exactly as before — there is nothing to move, and the invocation is simply wrong.

After anything lands, you end up on the base. A merged feature branch is a dead lane — GitHub will never move it again, so a commit made there starts a second head and git pull fetches a ref frozen at the merge. --stay keeps you on it, for the case where the branch is a base for follow-up work you are about to push again.

Read the full file on GitHub · 748 lines

Files

What ships with it

4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago Changed · +31 lines · +17 tokens per session 62e5dcf41e33
  2. 1mo ago Changed · +7 lines fcf690b084a7
  3. 1mo ago First seen · 710 lines · 118 tokens per session scan A b2c6c9a63db0

Subscribe to this mod's changes

iso-push is a skill published in the GitHub repository IsaiaScope/ai (2 stars, last pushed 7d ago), licensed MIT. It adds 135 tokens to every session and 9,388 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

release-testing-workflow

Use this skill when you need release-phase QA workflow from T-14 planning to go/no-go and post-release monitoring; triggers include release testing workflow and go/no-go QA.

naodeng/awesome-qa-skills · 40 tokens

hermes-mr-watch

Use when adding GitLab MRs to the Hermes watcher on ssh-vhs, editing or redeploying watchgitlabmrfindings.py, diagnosing missed/duplicate MR status messages in Telegram, or verifying the Hermes no-agent cron.

Lu1sDV/skillsmd · 54 tokens

git-workflow-and-versioning

Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, splitting uncommitted work in a messy working tree into clean atomic commits, opening or reviewing a pull request (PR), pushing to a remote, or when you need to organize work across multiple…

addyosmani/agent-skills · 89 tokens

comet-archive

A workflow for the fifth stage of Comet Classic: archiving a completed change, merging its specification updates, and finishing the branch. It uses Comet commands and a fixed layout for tracking the change.

rpamis/comet · 34 tokens

finishing-a-development-branch

A process for finishing a completed development branch. A branch is a separate line of code changes that can later be merged or submitted as a pull request.

jnMetaCode/superpowers-zh · 25 tokens

skillshare-release

Prepare and review skillshare releases using the Release Please PR, verify the proposed version and changelog, inspect draft assets, and publish through the manual Publish Release workflow when explicitly authorized. Use when the user says "release", "prepare release", "cut a release", or asks to publish a new…

runkids/skillshare · 77 tokens