Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/vinta/hal-9000npx agentmods add skills/vinta/hal-9000/publish-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/vinta/hal-9000/publish-plugins)<a href="https://agentmods.dev/skills/vinta/hal-9000/publish-plugins"><img src="https://agentmods.dev/badge/skills/vinta/hal-9000/publish-plugins/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/vinta/hal-9000/publish-plugins"><img src="https://agentmods.dev/badge/skills/vinta/hal-9000/publish-plugins.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Excessive Agency · line 5 Skill selects an external model or provider that may use a different account or billing plan than the operator expects. Undisclosed model switches can cause unexpected cost or quota consumption.Fix: Remove the model/provider override or disclose it prominently and require explicit operator approval before invoking an external coding CLI or billed model.
- medium MCP Rug Pull · line 14 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 83 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 86 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00026 | $0.01257 |
| Opus 5.5 | $0.00010 | $0.00503 |
| Sonnet 5.5 | $0.00005 | $0.00251 |
| Haiku 4.5 | $0.00003 | $0.00126 |
Grade A, and why
publish-plugins 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 3d 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 — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Publish Plugins
Prepare the repo's plugins for release: work out which ones changed, bump their versions, and check the manifests still describe what is on disk.
Each plugin owns its version in its own .claude-plugin/plugin.json, and the repo-root .claude-plugin/marketplace.json carries no version fields:
| Plugin | Manifest |
|---|---|
hal-skills |
skills/.claude-plugin/plugin.json |
hal-output-styles |
plugins/hal-output-styles/.claude-plugin/plugin.json |
hal-grammar-check |
plugins/hal-grammar-check/.claude-plugin/plugin.json |
hal-session-auto-rename |
plugins/hal-session-auto-rename/.claude-plugin/plugin.json |
hal-voice |
plugins/hal-voice/.claude-plugin/plugin.json |
1. Find the changed plugins
git diff --name-only origin/main...
skills/** belongs to hal-skills, plugins/<name>/** to that plugin. Only the plugins with changes are candidates for a bump.
2. Check what is already bumped
For each candidate, compare the working-tree version against origin/main:
git show origin/main:skills/.claude-plugin/plugin.json
If a plugin's version already differs from origin/main, it was bumped for unreleased work. Do not bump it again. Only bump a plugin whose version still matches origin/main. Check each candidate independently — a change under skills/ says nothing about whether hal-voice needs a bump.
3. Bump
- Patch (0.2.0 -> 0.2.1): bug fixes, config changes, style cleanup.
- Minor (0.2.0 -> 0.3.0): new features, new hooks, new commands.
- Major (0.2.0 -> 1.0.0): breaking changes to hook behavior or config format.
Commit a bump made on its own through the commit skill with no argument: its subject already says why a bump exists.
What ships with it
2 files 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.
- 3d ago Changed · +10 lines 5aca8775c88e
- 5d ago Changed · +9 lines 09d918dcb06a
- 8d ago Changed · +2 lines 7193e3052cda
- 17d ago Changed · +2 lines 9e4906bbc87c
- 27d ago Changed b4225a861c7f
- 1mo ago Changed · -3 lines 30271382dcb7
- 1mo ago Changed · +2 lines 006795fdf629
- 1mo ago First seen · 87 lines · 26 tokens per session scan A 547381960d8c
publish-plugins is a skill published in the GitHub repository vinta/hal-9000 (141 stars, last pushed today), licensed MIT. It adds 26 tokens to every session and 1,257 once invoked, about $0.0001 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-30.
Other skills, from other repositories
release
Prepare, verify, and publish Sutando engine releases. Use when asked to prepare a release proposal, determine a version bump, audit release documentation, validate release gates, create a release PR, tag a confirmed release, or publish GitHub release notes. Preparation is safe and non-publishing; tagging and…
Release Notes Generator
Generate professional software release notes from a commit log: classify changes, write user-facing summaries, draft a publishable announcement, and assess release readiness. Use for release, changelog, version, and deploy requests.
pinned-release-checklist
Minimal guidance-only Skill used by release-pinned compatibility examples.
Release Readiness Reviewer
Reviews a release candidate and produces a go/no-go readiness decision.
git-workflow
Git operations: commits, branches, PRs, and conflict resolution.
Release Checklist
Check release readiness and record a release note. Use for release and rollback requests.