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/jdpalumbo2/workbench/clodex-shipnpx skills add jdpalumbo2/workbench --skill clodex-shipgit clone --depth 1 https://github.com/jdpalumbo2/workbenchWrote 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/skills/jdpalumbo2/workbench/clodex-ship)<a href="https://agentmods.dev/skills/jdpalumbo2/workbench/clodex-ship"><img src="https://agentmods.dev/badge/skills/jdpalumbo2/workbench/clodex-ship.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.00065 | $0.33265 |
| Opus 5 | $0.00032 | $0.16633 |
| Sonnet 5 | $0.00013 | $0.06653 |
| Haiku 4.5 | $0.00006 | $0.03327 |
Grade D, and why
clodex-ship scanned grade D with 4 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 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.
Sends data to an external URLmediumData exfiltration
A POST to an outside endpoint may be telemetry or may be exfiltration; either way the mod talks to somewhere, and you should know where.
`curl -d '{"ref":"main"}'`, a `docker --format '{{.ID}}'`, a `kubectl -o Enumerates the file system for secretshighData exfiltration
Searching home directories for .env, .ssh, .aws or credential files is reconnaissance for credential theft.
for path in sorted(glob.glob(os.path.join(runner_state, "*", "*.envelope.json")) Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`curl -d '{"ref":"main"}'`, a `docker --format '{{.ID}}'`, a `kubectl -o Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
snap = json.loads(subprocess.check_output(["python3", state, "rebuild", run_dir])) How it starts
The opening of the file, as written. The whole thing — 2,313 lines — stays where its author put it; the contents beside it link to each section on GitHub.
clodex-ship — one authorization, then two-phase steps that reconcile before they retry
Overview
This is the only stage in clodex that changes anything outside the repository, so it is the only one whose mistakes cannot be undone by editing a file. It owes the run three things, all of them fact in the event log:
| Fact | Event | In the run manifest |
|---|---|---|
| exactly what the user authorized — actions and accepted debt | approval:granted |
approvals[] with scope: "release-authorization" |
| every external step, before and after it happened | release:step:pending → release:step:done / :failed |
release.steps[] |
| where the release ended up | release:updated |
release.state, .tag, .deployed, .verified_live |
This is the single binding debt gate in clodex
clodex-plan declared the evidence classes. clodex-verify produced what it
could and recorded the rest as verification debt — deliberately without
gating on it, because there is exactly one place in this system where a human
accepts debt, and it is here, inside the release authorization (§5), in the
same message as the exact commands the release will run.
So: non-empty debt is itemised in the authorization, class by class, with its
reason and its risk, and it is accepted in words. Never inferred from
silence, never rolled into "approve?", never assumed because the user already saw
it at verify. They did not accept it at verify. Nobody has.
Where this stage ends
In the repository tree you write two files and no others: the profile's
changelog.path and its version.source (§2). Working artifacts — a diff, a
prompt, a log — go in the run directory, which is gitignored. You do not edit
code, tests, or docs: those were clodex-build's under a batch contract, and a
change to one here is a finding, not a quiet edit. You cannot send the run
backwards: the reducer refuses it.
You arrive here from clodex or from clodex-verify, which hands you an
absolute run directory. If you were invoked without one, stop and invoke
clodex — do not go looking for a run yourself.
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.
- 5d ago First seen · 2,313 lines · 65 tokens per session scan D 250ed3ad9092
clodex-ship is a skill published in the GitHub repository jdpalumbo2/workbench (1 stars, last pushed 3d ago), licensed MIT. It adds 65 tokens to every session and 33,265 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it D with 4 findings (sends data to an external url, enumerates the file system for secrets, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
release
Release pipeline for CLI, mobile, web, and server. Guides through version bumping, building, testing, publishing, and deploying. Replaces the old interactive release-it flow with a Claude Code-native experience. Use when user types /release or asks to release, publish, deploy, or ship any component.
cut-release
Use this skill to cut an APM release from the current worktree: assess whether the cycle since the last tag warrants a patch or minor bump (semver discipline against the merged-since-last-tag diff), sanitize the [Unreleased] CHANGELOG block into a dated version block with one concise "so what" entry per merged PR…
deploy
Use when shipping a release of Agent Sessions — bumping version, updating CHANGELOG, building, signing, notarizing, publishing appcast, and creating a GitHub release.
release-notes
Use when writing or curating the user-facing release copy for an Agent Sessions release — README "What's New", GitHub release notes, Sparkle release notes, or website/launch copy. Not for the internal CHANGELOG, which stays a full development history.
codexu-release
Run this skill from the repository root. Treat the release as a real public publish: verify the current remote state first, keep unrelated user changes out of release commits, and report exactly what was built, pushed, and released.
git-workflow
Git 工作流专家。规范化版本控制,确保提交历史清晰可追溯。支持 Conventional Commits 规范、Pull Request 最佳实践、分支管理策略和自动化工作流。.