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/naanyabiz/haggle/releasegit clone --depth 1 https://github.com/NaanyaBiz/haggleWrote 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/naanyabiz/haggle/release)<a href="https://agentmods.dev/commands/naanyabiz/haggle/release"><img src="https://agentmods.dev/badge/commands/naanyabiz/haggle/release.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.00562 |
| Opus 5 | $0.00000 | $0.00281 |
| Sonnet 5 | $0.00000 | $0.00112 |
| Haiku 4.5 | $0.00000 | $0.00056 |
Grade A, and why
release 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 today.
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 — 58 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/release
Cut a new semantic-versioned release.
Usage
/release <version>
Example:
/release 0.1.0
Pre-conditions (checked before proceeding)
-
Working tree is clean (
git status --porcelainreturns empty). -
On
mainbranch. -
Latest CI run on
mainis green (gh run list --branch main --limit 1). -
Stable versions only (no
-in the version): the acceptance gate ofdocs/releasing.mdpasses — a. Beta soak ≥ 7 days since the newestv<version>-beta.*release (compute below), OR Dave supplies an explicit hotfix-validation statement to embed in the release PR; b.gh issue list --label beta-blocker --state openis empty; c. Dave confirms the app-reconciliation result and downgrade-test result to record (ask; do not invent numbers).LAST_BETA_DATE=$(gh release list --limit 40 --json tagName,publishedAt \ --jq "[.[] | select(.tagName | startswith(\"v$VERSION-\"))] | first | .publishedAt // empty") if [ -n "$LAST_BETA_DATE" ]; then python3 -c "from datetime import datetime,timezone;d=datetime.fromisoformat('$LAST_BETA_DATE'.replace('Z','+00:00'));print('soak days:',(datetime.now(timezone.utc)-d).days)" fi
If any pre-condition fails, report the failure and stop.
Delegates to
The release-manager subagent, providing it:
- The target version string
- The current CHANGELOG.md
## [Unreleased]section as context - Instructions to update
manifest.json+CHANGELOG.md(including the escaped-defect count line — release-manager "Files to update" step 4), route the bump through a short-lived PR (theprotect-mainruleset blocks direct commits to main), then create a signed tag on the squash-merge commit and push it - For stable releases, the acceptance evidence gathered above, to be embedded verbatim in the release PR body
After completion
Print the GitHub Release URL and confirm the seven attested assets exist (haggle.zip + provenance/SBOM sigstore bundles + SBOMs + check-runs.json)
(haggle-<ver>.zip + .zip.sigstore; verify with gh attestation verify).
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.
- today First seen · 58 lines · 0 tokens per session scan A 3da067544c9b
release is a command published in the GitHub repository NaanyaBiz/haggle (13 stars, last pushed 2d ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 562 tokens. 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-09-04.
Other commands, from other repositories
release
Cut a release: follow the ha-release skill's procedure end to end.
issues
Triage/fix the GitHub issue backlog via branch + PR, with auto-merge on green CI for this session.
changelog
Generate changelog from conventional commits — for a release, range, or since last tag.
release
Interactive release workflow — beta, rc, or stable.
create-pr
Rebase from the latest origin/main, squash the commits from it, and then create a PR on github with intelligent commit messages based on staged changes. Invoke with /create-pr.
push-and-release
Git pull, resolve conflicts, push, fix hook errors, then release.