ship-changes

A workflow for checking uncommitted code changes, committing and pushing them, and opening a pull request, a request for others to review a change before merging it.

In plain words
What is it for?
Use it to audit a working tree, prepare a commit, push the branch, and create a pull request.
Why use it?
It catches missing documentation and sensitive files before changes are published, and stops when required checks fail.

Skill for Claude CodeCodex

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.

agentmods
npx agentmods add skills/eduardoarantes/agentenv/ship-changes
Any agent
npx skills add eduardoarantes/agentenv --skill ship-changes
Clone the repo
git clone --depth 1 https://github.com/eduardoarantes/agentenv

Made for: Claude Code, Codex.

Per session 61 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,611 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00061 $0.01611
Opus 5 $0.00030 $0.00805
Sonnet 5 $0.00012 $0.00322
Haiku 4.5 $0.00006 $0.00161

Measured 2d ago against content hash d7f5ce4e1ad4, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

ship-changes 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 2d ago.

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.

.claude/skills/ship-changes/SKILL.md · 137 lines

How it starts

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

Ship changes

Wraps a tested working tree into a published PR. Three phases — audit, commit + push, open PR. Each phase has hard checks; if any fail, stop and report instead of pushing forward.

Phase 1 — audit the diff

Inspect what's about to ship and decide whether documentation needs to move with it.

  1. Run the inspection commands in parallel (single tool message, multiple Bash calls):

    • git status — uncommitted files
    • git diff --stat — scope at a glance
    • git diff (and git diff --cached if there's staged content) — actual changes
    • git log -10 --oneline — recent commit-message style for this repo
    • git branch --show-current — branch you're shipping from
  2. Refuse to proceed if:

    • Working tree is clean (nothing to ship — say so and stop).
    • Files that look sensitive are staged (.env*, *credentials*, *.pem, *.key, anything matching **/secrets/**). Surface the path and ask the user before continuing.
  3. Documentation audit — walk the diff for these signals and report each finding:

    Signal in diff Doc that probably needs updating
    Public API change in crates/*/src/lib.rs or any pub fn/pub struct doc-comments on the changed item; mentions in docs/
    New CLI subcommand / flag in crates/agentenv-cli/src/main.rs README.md examples; docs/ runbooks
    New config field, target name, or capability in crates/agentenv-core/src/config.rs schemas/agentrc.schema.json, .agentrc.example.yaml, CLAUDE.md, docs/platform-standards.md
    New / changed writer or reader path docs/platform-standards.md per-tool tables, docs/HOOKS.md
    New module under crates/agentenv-core/src/ CLAUDE.md development-areas section
    Test fixtures touching .agentrc.yaml shape .agentrc.example.yaml
    Cargo.toml dep added nothing required, but flag the new dep in the PR body

    For each finding, check whether the doc already reflects it — grep the doc for the changed identifier / config key. If it does, note "doc already covers it" and move on. If it doesn't, stop and tell the user before committing. List the missing doc updates as a punch list; let the user decide whether to update them now, defer, or proceed without.

Read the full file on GitHub · 137 lines

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. 2d ago First seen · 137 lines · 61 tokens per session scan A d7f5ce4e1ad4

Subscribe to this mod's changes

ship-changes is a skill published in the GitHub repository eduardoarantes/agentenv (5 stars, last pushed 3mo ago), licensed MIT. It adds 61 tokens to every session and 1,611 once invoked, about $0.0003 per session on Opus 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

audit-pass

Run ONE coordinated, ordered, resumable pass over a named target repository: a three-scope inventory first (managed policy read-only, user scope routed as recommendations, project scope), then delegated checks lane by lane, findings persisted per lane so an interrupted run resumes instead of restarting, and one human…

melodic-software/claude-code-plugins · 180 tokens

audit-instructions

Audit locally-owned Claude Code instruction surfaces, including CLAUDE.md, .claude/rules, skill bodies, agent definitions, hook instruction text and output styles, for instructions current models no longer need (prior-model workarounds, over-prescriptive scaffolding, stale examples), instructions that misstate Claude…

melodic-software/claude-code-plugins · 201 tokens

lanes

Start, restart, stop, and check loop lanes as named background Claude Code sessions seeded from canonical prompt files, the scripted replacement for the manual morning refresh (cancel loop, clear, re-paste the canonical prompt) across N lanes on a machine. start/restart first pull the repo and refresh the plugin…

melodic-software/claude-code-plugins · 195 tokens

batch-simplify

Batch-run simplification across changed files, or across an entire repository, grouped by ecosystem and dependency order. Use when: 'batch simplify', 'simplify recent changes', 'simplify everything', 'forgot to run simplify', 'catch up on simplify', 'simplify my branch changes', 'simplify the whole repo', 'simplify…

melodic-software/claude-code-plugins · 170 tokens

tidy

Proactively hunt a rotated lane of the codebase for safe structural improvements (Beck's 15 tidyings + a Fowler subset + prose tidyings), apply scope-budgeted edits, and ship one tight structure-only PR per invocation. Use when: 'tidy', 'tidy up', 'boy scout', 'polish', 'small refactors', 'improve gradually', 'clean…

melodic-software/claude-code-plugins · 175 tokens

audit-permission-state

Report the Claude Code permission state actually in effect. Discovers every settings scope (managed policy, user-global, project, local, and the pre-v2.1.211 start-directory copy), merges them into the effective allow/ask/deny set with each rule's source and precedence mechanic named, and classifies which allow rules…

melodic-software/claude-code-plugins · 158 tokens