push

A command that sends local harness-script changes back to a shared repository as a reviewed pull request. A pull request is a proposed change that others can inspect before it is merged.

In plain words
What is it for?
Use it to detect local drift, create a branch in the shared repository, generalize local changes with placeholders, and validate the resulting files.
Why use it?
It provides a controlled way to share workspace improvements while checking for identity strings, shell errors, and basic scaffold compatibility.

Command

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 commands/anshss/shiploop/push
Clone the repo
git clone --depth 1 https://github.com/anshss/shiploop
Per session 23 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,442 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.00023 $0.02442
Opus 5 $0.00012 $0.01221
Sonnet 5 $0.00005 $0.00488
Haiku 4.5 $0.00002 $0.00244

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

Security

Grade A, and why

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

commands/push.md · 184 lines

How it starts

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

/shiploop:push

The push direction of the harness-code update channel. Reconciles the hub against improvements you've made locally to mechanism scripts inside THIS workspace. Think of it as git push for harness code: sync-port.sh is the machinery (already generalized in v1.2.0), this command wraps it into a one-command action for interactive use.

Companion to /shiploop:update (pull). The two commands close the loop on fleet drift.

What it does (procedure)

  1. Preconditions: GOVERN_UPSTREAM_HARNESS_REPO set in workspace.sh; the workspace scaffolded from v1.2.0 or later (so scripts/govern/sync-port.sh is present); a local hub clone reachable.
  2. Drift detection via scripts/govern/sync-templates.sh --check — mirrored files you've changed vs the last sync marker.
  3. If drift → invoke scripts/govern/sync-port.sh (the existing porter). It:
    • Cuts a branch off origin/main in the hub clone.
    • Spawns a headless porter that genericizes your changes (strips your identity strings, adds placeholders like __META_NAME__, __GITHUB_ORG__).
    • Validates: bash -n on changed shell files + forbidden-identity-strings gate on ADDED lines + scaffold-test-suite baseline diff.
    • On any gate failure, files an escalation and exits non-zero. NEVER pushes an unvalidated port.
    • On pass, opens a PR against the canonical hub for HUMAN review — routing by your access posture (see below): a same-repo PR when you can push to the hub, otherwise a cross-repo PR from your fork (auto-created via gh repo fork when you don't already have one).
  4. Report the PR URL (if any) and the marker state.

The three access postures (push v2 — the contribution funnel)

sync-port.sh derives where the branch lands and where the PR opens from git + GitHub, not from workspace config — it reads the templates clone's origin, finds the canonical hub as that repo's parent (falling back to origin itself when there is no parent), and checks your push permission. So the PR always targets the real canonical hub, never stranding inside your own fork:

Read the full file on GitHub · 184 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 · 184 lines · 0 tokens per session scan A 1dc123502837

Subscribe to this mod's changes

push is a command published in the GitHub repository anshss/shiploop (5 stars, last pushed 29d ago), licensed Apache-2.0. It adds 23 tokens to every session and 2,442 once invoked, about $0.0001 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.