Borrowing it
Nothing to install: this file belongs to cboone/agent-harness-plugins. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/cboone/agent-harness-plugins/main/.claude/skills/check-versions/SKILL.mdgit clone --depth 1 https://github.com/cboone/agent-harness-pluginsWrote 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/cboone/agent-harness-plugins/check-versions)<a href="https://agentmods.dev/skills/cboone/agent-harness-plugins/check-versions"><img src="https://agentmods.dev/badge/skills/cboone/agent-harness-plugins/check-versions/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cboone/agent-harness-plugins/check-versions"><img src="https://agentmods.dev/badge/skills/cboone/agent-harness-plugins/check-versions.svg" alt="Reviewed on agentmods" width="80" 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.00945 |
| Opus 5.5 | $0.00026 | $0.00378 |
| Sonnet 5.5 | $0.00013 | $0.00189 |
| Haiku 4.5 | $0.00006 | $0.00094 |
Grade A, and why
check-versions 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 1mo 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 — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Check Versions
Verify that plugin versions and marketplace.json are correct and consistent after changes on the current branch.
Workflow
1. Determine the Comparison Base
Detect the default branch:
gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name'
Fall back to local detection if gh is unavailable:
git rev-parse --abbrev-ref origin/HEAD | sed 's@^origin/@@'
Find the merge base between the default branch and HEAD:
git merge-base <default-branch> HEAD
If HEAD equals the merge base (on the default branch or no divergent commits), compare against the state before the most recent merge instead -- use the most recent merge commit's first parent as the comparison base:
git rev-parse "$(git log --merges -1 --format='%H' HEAD)^1"
2. Identify Changed Plugins
List files changed since the comparison base and group them by plugin directory:
git diff --name-only <base>..HEAD
A file belongs to plugin foo if its path starts with plugins/foo/. For each plugin, track:
- Content changes: files other than
.claude-plugin/plugin.jsonthat were modified, added, or deleted - Version file changed: whether
.claude-plugin/plugin.jsonitself was modified
Also detect new plugins (directories at HEAD that did not exist at the base) and removed plugins (directories at the base that no longer exist).
3. Check Plugin Version Bumps
For each plugin with content changes:
- Read the current version from
plugins/<name>/.claude-plugin/plugin.json - Read the base version:
git show <base>:plugins/<name>/.claude-plugin/plugin.json - If
.codex-plugin/plugin.jsonexists, verify its currentversionmatches the Claude manifest. For an existing Codex manifest at the base, also verify it matches the base Claude manifest before comparing bump direction. - Compare:
- New plugin (file absent at base) -- version should be
1.0.0 - Content files changed but version unchanged -- flag as missing version bump
- Version changed -- verify the bump direction is forward, not a regression
- New plugin (file absent at base) -- version should be
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.
- 1mo ago Changed · -1 lines 32935f71b4eb
- 1mo ago Changed c0589ead04ce
- 1mo ago First seen · 118 lines · 65 tokens per session scan A 8c8b669fd9e2
check-versions is a skill published in the GitHub repository cboone/agent-harness-plugins (2 stars, last pushed today), licensed MIT. It adds 65 tokens to every session and 945 once invoked, about $0.0003 per session on Opus 5.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.
Other skills, from other repositories
factory-deferred-repositories
Use when a Factory task's frozen deferred repository inventory lists a repository needed for the task that is not already checked out. Verify current access and an unused target before checking it out on demand; never overwrite an existing checkout or expose credentials.
autopilot-triage
Vet open issues for autonomous resolution and queue the qualifying ones with the autopilot-queued label — the start-of-day "fill the queue" half of the triage → run split.
engine-conflict-resolve
Ask Sutando to resolve a conflicted update of a Sutando checkout. When pulling the latest release/main conflicts with local changes, Sutando reproduces the merge in a scratch git worktree, resolves the conflicts there, proposes the resolution to the owner, and fast-forwards the live checkout only after explicit…
create-pr
Create a pull request with auto-generated description, issue linking, ROADMAP updates, and PR-metadata validation.
merge-pr
Merge a pull request with status checks, squash merge, and branch cleanup. Handles worktree contexts.
review-preflight
Review tooling for a PR: review-preflight prints REVIEW.md's criteria and the PR's live gate state before a review; ci-triage maps a PR's failing checks to already-filed issues.