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.
npx agentmods add skills/batteryshark/rekit/gitopsnpx skills add batteryshark/rekit --skill gitopsgit clone --depth 1 https://github.com/batteryshark/rekitWhat 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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00181 | $0.01500 |
| Opus 5 | $0.00090 | $0.00750 |
| Sonnet 5 | $0.00036 | $0.00300 |
| Haiku 4.5 | $0.00018 | $0.00150 |
Grade A, and why
gitops 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.
How it starts
The opening of the file, as written. The whole thing — 94 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Git Operations
A safe, structured wrapper over git for harnesses (or smaller models) that need to
use version control without knowing git's syntax, refspecs, or worktree plumbing.
You call plain verbs; the skill runs git non-interactively and hands back one JSON
object describing what happened.
When to use
Reach for this when an agent needs to commit, branch, stash, push, or set up a
worktree, but you don't want it improvising raw git — e.g. a model that knows it
should "save my work on a new branch" but would fumble git switch -c, git add,
git commit, upstream tracking, or git worktree add. It removes whole classes of
footguns: no interactive prompts, no accidental --force, structured errors instead
of raw git stderr.
It operates on your own trusted repo — it does not analyse or execute samples.
How it works
gitops <op> [args]. Every op prints exactly one line of JSON to stdout:
{"ok": true, "op": "commit", "commit": "a1b2c3d", "branch": "feature-x", ...}
{"ok": false, "op": "commit", "error": "nothing to commit (no staged changes)", "hint": "..."}
So a caller never parses git's human output — it reads ok, then the fields it needs.
Add -C <dir> to any op to target a repo other than the current directory.
Operations
| op | what it does |
|---|---|
status |
branch, upstream, ahead/behind, and staged / unstaged / untracked file lists |
log [-n N] |
recent commits (hash, subject, author, when) |
diff [--staged] [paths] |
a diff as text, plus a --stat summary |
branches |
local branches + which is current |
add [paths] |
stage paths (default: everything) |
commit "<msg>" [--path ...] [--author ...] |
stage (all by default) then commit; returns the new hash |
branch <name> [start] |
create a new branch and switch to it |
switch <name> |
switch to an existing branch |
stash [-m msg] [-u] |
stash uncommitted changes (-u includes untracked) |
stash-pop / stash-list |
restore the latest stash / list stashes |
push [--remote origin] [--force] |
push the current branch; sets upstream automatically on first push |
pull [--rebase] / fetch [--remote] |
sync with the remote |
clone <url> [dir] [--branch B] [--depth N] |
clone a remote repo into a new directory |
remote-add <url> [--name origin] |
add a remote to the current repo (default name origin) |
remotes |
list configured remotes (name → url) |
merge <branch> [--no-ff] [-m msg] / merge --abort |
merge a branch into the current one; conflicts come back as {conflicts:[...]} |
cherry-pick <commit> / cherry-pick --abort |
apply one commit onto the current branch |
tag <name> [-m msg] [--ref] [--delete] [--push] |
create (annotated if -m), delete, or push a tag |
tags |
list tags (newest first) |
worktree-add <path> (--branch B | --new-branch B [--start]) |
check a branch out into another directory |
worktree-list / worktree-remove <path> --force |
list / remove worktrees |
undo |
undo the last commit but keep its changes (soft reset — safe) |
discard [paths] --force |
destructive: drop uncommitted changes |
reset-hard [ref] --force |
destructive: move HEAD + working tree to ref |
init [path] [--initial-branch main] |
start a new repo |
What ships with it
1 file 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.
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.
- 2d ago First seen · 94 lines · 181 tokens per session scan A 03b8b99f8496
gitops is a skill published in the GitHub repository batteryshark/rekit (11 stars, last pushed 23d ago), licensed Apache-2.0. It adds 181 tokens to every session and 1,500 once invoked, about $0.0009 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-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…