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 commands/aadivar/shiplog/upgradegit clone --depth 1 https://github.com/aadivar/shiplogWrote 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.
[](https://agentmods.dev/commands/aadivar/shiplog/upgrade)<a href="https://agentmods.dev/commands/aadivar/shiplog/upgrade"><img src="https://agentmods.dev/badge/commands/aadivar/shiplog/upgrade.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00256 |
| Opus 5 | $0.00000 | $0.00128 |
| Sonnet 5 | $0.00000 | $0.00051 |
| Haiku 4.5 | $0.00000 | $0.00026 |
Grade B, and why
upgrade scanned grade B with 1 finding 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 5d 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.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
find ~/.claude/plugins -type d -name "shiplog" 2>/dev/null | head -1 What it actually says
/shiplog upgrade
Upgrade Shiplog to the latest version from GitHub.
Trigger
User runs /shiplog upgrade
Behavior
Step 1: Find plugin install path
Run:
find ~/.claude/plugins -type d -name "shiplog" 2>/dev/null | head -1
If not found, try:
find ~/.claude/plugins -type d -name "aadivar-shiplog*" 2>/dev/null | head -1
If still not found:
"Could not find Shiplog plugin directory. Try reinstalling with
/plugin install shiplog@shiplog."
Step 2: Pull latest
cd into the plugin directory and pull:
cd <plugin_path> && git pull origin main
Step 3: Confirm
Display:
Shiplog upgraded to latest!
To see what changed:
https://github.com/aadivar/shiplog/commits/main
Restart Claude Code to apply changes.
Rules
- Never modify the user's project files — this only updates the plugin itself
- If
git pullfails (dirty state, merge conflict), suggest reinstalling instead
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.
- 5d ago First seen · 42 lines · 0 tokens per session scan B 3b48b6352987
upgrade is a command published in the GitHub repository aadivar/shiplog (3 stars, last pushed 6mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 256 tokens. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
review
Cold re-quiz on code that already shipped — your own session commits, not the change in front of you.
sm-sail
Command "sm-sail" from ScienceIsNeato/slop-mop, covering /sm-sail — drive a pr to green, autonomously, the loop, when sail parks on review threads, when to stop before "pr ready" — only two reasons and expect convergence, not one pass.
sm-buff
You usually don't run buff directly — run sm sail. sm sail drives the whole PR to green and calls buff watch / triage for you, stopping only when it needs you to act (see /sm-sail). Reach for sm buff here only for surgical work: inspecting a specific failure, or resolving a single review thread when sail has parked on…
sm-wake-angry-drunk-captain
The last-resort verb. Use it ONLY when the loop is genuinely exhausted: barnacles filed, gates green or truly unfixable, and the single remaining move is a human judgment call no sm verb can make for you.
sm-barnacle
Use when sm itself gives invalid guidance, blocks valid work, produces confusing output, or breaks install/upgrade/refit flow. Do not use this for real target-repo failures; fix those through the normal rail.
sm-init
Run when you find a repo with sm installed but no .sbconfig.json — or after upgrading slopmop to pick up new gates.