core: Skill for Claude Code

.agents/skills/publish/SKILL.md

publish is a skill for Claude Code, Codex from agent-tower/core. It costs 29 tokens per session (1,956 once invoked), scanned A, original, Apache-2.0.

A release procedure for publishing the agent-tower package to the npm registry, where JavaScript and Node.js packages are distributed.

In plain words
What is it for?
Choosing a version change, building the package, inspecting its tarball, running a smoke test, and publishing the npm package.
Why use it?
It checks the version, build output, package contents, and isolated installation before making a release available to users.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

This is agent-tower/core's own configuration. It tells Claude Code and Codex how to work on core itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything core configures →

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is npm pack ./packages/server/publish --json --pack-destination ./packages/server/publish > ./packages/server/publish/pack-result.json.

Reuse

Borrowing it

Nothing to install: this file belongs to agent-tower/core. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/agent-tower/core/main/.agents/skills/publish/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/agent-tower/core

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for publish

README.md
[![agentmods](https://agentmods.dev/badge/skills/agent-tower/core/publish/github.svg)](https://agentmods.dev/skills/agent-tower/core/publish)
Your own site
<a href="https://agentmods.dev/skills/agent-tower/core/publish"><img src="https://agentmods.dev/badge/skills/agent-tower/core/publish/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.

agentmods 80×15 button for publish

Your own site · 80×15
<a href="https://agentmods.dev/skills/agent-tower/core/publish"><img src="https://agentmods.dev/badge/skills/agent-tower/core/publish.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 29 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,956 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00029 $0.01956
Opus 5.5 $0.00012 $0.00782
Sonnet 5.5 $0.00006 $0.00391
Haiku 4.5 $0.00003 $0.00196

Measured yesterday against content hash 6145f0d399ee, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

publish 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 yesterday.

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.

.agents/skills/publish/SKILL.md · 79 lines

How it starts

The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Publish to npm

1. 集中预检与版本处理

  • 集中检查 Git 状态、server 版本、npm whoami、registry dist-tags 和目标版本是否已存在,记录发布前的 latest。若上一次发布记录为「registry 可见性待确认」,先查清那次的版本是否已落库,再决定本次版本号,避免撞号。
  • 用户明确要求“新 beta”时,递增当前 beta 系列的序号,并与 registry 核对;不再询问 patch/minor/major。新系列或升级范围不明确时才询问。明确版本号优先;转正式版去掉 prerelease 后缀。
  • 更新 packages/server/package.json 的版本。发布前必须提交版本变更并保持源码工作区干净;需要 Git 提交授权时在此一次询问,已有明确授权则不重复问。
  • 记录构建所用的提交 SHA。不要假设 npm 会自动写入 gitHead,来源追溯使用提交 SHA、安装包 integrity 和验证记录。

2. 按变更选择验证等级

比较上一次完整冒烟通过的提交与本次提交,不能只检查未提交 diff,也不能把 npm beta 标签自动视为验证基线。基线来自可信的发版任务记录或 CI 结果,包含提交、验证环境和结果;找不到基线、基线不适用或影响不明时走完整验证。

等级 条件 必做验证
快速 beta 仅 UI/业务逻辑调整,生产依赖与安装链路未变,有适用的完整验证基线 构建、包内容检查、相关回归测试;可省略全新全局安装
完整验证 生产依赖/相关锁文件、打包脚本、postinstall、Prisma、原生模块、Pi/ACP 或 CLI 启动链路变化;或无可信基线 快速检查 + 最终 tarball 的隔离全局安装冒烟
正式版 非 prerelease 发布 完整验证 + macOS、Windows、Linux 安装和 CLI 启动验证
  • 比较 package.json 时忽略纯 version 变化;锁文件改动无法确认仅影响开发依赖时按完整验证处理。
  • 快速验证不等价于新机器安装验证,不能在后续发布中充当完整基线;定期完整验证或用户要求完整检查时不得走快速模式。
  • cloudflared 的真实首次下载检查仅在相关依赖/下载逻辑变化、正式版或定期完整检查时执行,不随每个 beta 重复联网下载。

3. 构建、打包一次并复用

从仓库根目录执行:

pnpm build:publish
npm pack ./packages/server/publish --json --pack-destination ./packages/server/publish > ./packages/server/publish/pack-result.json

从 pack-result.json 读取 filename、version、integrity 和 files,后续检查、安装、发布和交付均复用这一个 tarball。不要额外运行 npm pack --dry-run,不要从目录再次发布,也不要为了交付重新打包。已有有效 tarball 时,安装/发布网络失败不触发重新打包;产物内容修改后则必须重新构建、打包和验证。

构建前置条件:build-publish.mjs 要求 packages/server/prebuilds/linux-x64 与 linux-arm64 下都有进程域 supervisor agent-tower-scope(Linux 用户靠它避免整机进程表采样)。脚本会自动尝试构建,依次使用 zig cc(brew install zig,可交叉编译两种架构)、宿主 cc、Docker(alpine)。没有任何工具链时构建失败;面向单一已知主机的 beta 可用 AGENT_TOWER_SCOPE_HELPER_TARGETS=linux-x64 缩小要求;只有明确接受 Linux 退回兼容后端时才设置 AGENT_TOWER_ALLOW_MISSING_SCOPE_HELPER=1,两种情况都要在汇报中说明。

包内容检查保留以下不变量:

  • CLI/MCP 入口、前端和 Prisma schema 齐全,版本正确,不夹带 .env、数据库或发布机运行数据。
  • prebuilds/linux-x64/agent-tower-scope 与 prebuilds/linux-arm64/agent-tower-scope 存在且可执行(--probe 输出 "subreaper":true)。
  • bundled @prisma/client 移除 generate/postinstall 和可选 prisma peer;普通 dependency 的 Prisma CLI 与 Client 精确同版本,由根 postinstall 唯一生成本机 Client。包内不含 node_modules/prisma 或预生成的 node_modules/.prisma。
  • Pi 的完整运行时依赖树和 node-pty 多平台 prebuilds 齐全;cloudflared 仅包含无 postinstall 的 JS wrapper,不含 node_modules/cloudflared/bin。

Read the full file on GitHub · 79 lines

Changes

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.

  1. yesterday Changed · +3 lines 6145f0d399ee
  2. 24d ago Changed · +13 lines 7faabb7509e6
  3. 2mo ago First seen · 63 lines · 29 tokens per session scan A b5dcbd258cff

Subscribe to this mod's changes

publish is a skill published in the GitHub repository agent-tower/core (397 stars, last pushed yesterday), licensed Apache-2.0. It adds 29 tokens to every session and 1,956 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.

Related

publish compared with skills from other repositories

publish next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
publishagent-tower/coreSkill397yesterdayApache-2.0A29Claude Code, Codex
release-announcementpaperclipai/paperclipSkill111kyesterdayMITA42Claude Code, Codex
releasethedotmack/claude-memSkill114kyesterdayApache-2.0A13Claude Code
release-notesphuryn/pm-skillsSkill28k8d agoMITA57Claude Code
multi-agent-release-managerchromium/chromiumSkill25kyesterdayBSD-3-ClauseA27Claude Code, Codex
pack-submitaeonfun/aeonSkill788yesterdayMITA27Claude Code, Codex
updater_guidesiddsachar/row-botSkill1.7ktodayApache-2.0A22Claude Code, Codex