# Claude Code VOC 技能包 npm 打包与发布说明 ## 当前包名 VOC 技能包当前对外 npm 包名: ```bash @vocmarket/voc-skill ``` CLI 命令保持不变: ```bash claude-voc ``` 插件安装目录也保持不变: ```text voc-intelligence ``` 这样做的目的:对外包名更短、更适合课程和市场传播;同时不破坏已经沉淀好的 Claude Code 插件目录、MCP server 名称和 skill 入口。 ## 用户安装方式 推荐给 VSCode Claude Code 使用工作区安装: ```powershell npx --yes @vocmarket/voc-skill@latest workspace --smoke ``` 工作区安装会写入: ```text .\.mcp.json .\.claude\plugins\voc-intelligence .\.claude\skills\xiaohongshu-trend-intelligence\SKILL.md .\.claude\skills\douyin-trend-intelligence\SKILL.md .\.claude\skills\voc-issue-pool\SKILL.md .\.claude\skills\voc-problem-deep-dive\SKILL.md .\.claude\skills\voc-content-plan\SKILL.md .\.claude\skills\voc-speaking-script\SKILL.md .\.claude\skills\voc-competitor-map\SKILL.md .\.claude\skills\voc-business-workflow\SKILL.md ``` 全局安装: ```powershell npm install -g @vocmarket/voc-skill claude-voc install ``` npx 免全局安装: ```powershell npx --yes @vocmarket/voc-skill@latest install ``` ## package.json 要点 ```json { "name": "@vocmarket/voc-skill", "bin": { "claude-voc": "bin/claude-voc.js" }, "publishConfig": { "access": "public" } } ``` `files` 必须显式包含: - `.claude-plugin/` - `.mcp.json` - `bin/` - `docs/` - `install.js` - `mcp/` - `memory-templates/` - `package.json` - `scripts/` - `skill-package-manifest.json` - `skills/` 不要发布: - `.env` - `.env.local` - `.npmrc` - `node_modules/` - `memory/` - `outputs/` - 本地 smoke 临时目录 ## 发布前验证 在仓库根目录执行: ```powershell npm --prefix claude-code/claude-code-voc-intelligence run mcp:smoke npm --prefix claude-code/claude-code-voc-intelligence run smoke:package npm run claude-voc:acceptance npm run claude-voc:build npm run claude-voc:npm-pack ``` `npm run claude-voc:npm-pack` 会做三类验证: 1. 校验 npm package metadata、CLI 入口和必要文件。 2. 生成 `dist/npm/vocmarket-voc-skill-.tgz`。 3. 在临时目录模拟 npm install、npx install、workspace install,并执行 `--smoke`。 `npm run claude-voc:acceptance` 是更完整的发布前验收,会额外断言 workspace 安装后的: - `.mcp.json` 已生成 - 8 个 `.claude/skills/*/SKILL.md` 入口已生成 - MCP server 路径是安装后插件目录里的绝对路径 - `npm pack --dry-run` 能看到关键文件 ## 正式发布 推荐使用 release 脚本: ```powershell powershell -ExecutionPolicy Bypass -File release/npm/claude-code-voc-intelligence/publish.ps1 ``` 也可以直接执行: ```powershell npm run claude-voc:npm-publish ``` 发布脚本会读取以下位置的 token: ```text release/npm/claude-code-voc-intelligence/.env.local ``` 文件内容格式: ```text NPM_TOKEN=你的 npm automation token ``` 也支持环境变量: ```powershell $env:NPM_TOKEN="你的 npm automation token" ``` 不要提交 `.env.local`、npm token、VOC session token、模型 API key 或任何真实用户凭证。 ## 发布后验证 确认 npm latest: ```powershell npm view @vocmarket/voc-skill name version dist-tags.latest --registry=https://registry.npmjs.org/ ``` 线上安装 smoke: ```powershell $test = Join-Path $env:TEMP ("vocmarket-online-smoke-" + [guid]::NewGuid()) New-Item -ItemType Directory -Path $test | Out-Null Push-Location $test npm exec --yes --package @vocmarket/voc-skill@latest -- claude-voc workspace --smoke Pop-Location ``` ## npm 发布假失败处理 有时 `npm publish` 已经返回成功,例如: ```text + @vocmarket/voc-skill@0.3.15 ``` 但脚本紧接着执行 `npm view` 时,registry 还没同步完成,会短暂返回 404。 处理方式: 1. 等 20-60 秒后重新执行: ```powershell npm view @vocmarket/voc-skill@0.3.15 version --registry=https://registry.npmjs.org/ ``` 2. 如果返回版本号,说明发布已经成功,不要重复发布同一个版本。 3. 如果持续 404,再检查 npm 组织权限、token 权限和包名 scope。 当前发布脚本已经把后置校验等待次数从 6 次增加到 12 次,减少这种假失败。 ## 当前发布记录 - 2026-06-05:已发布 `@vocmarket/voc-skill@0.3.15`。 - `npm view @vocmarket/voc-skill name version dist-tags.latest` 返回 `0.3.15`。 - 线上 `npm exec --yes --package @vocmarket/voc-skill@latest -- claude-voc workspace --smoke` 已通过。 - 旧包 `@gangvy/claude-code-voc-intelligence@*` 已标记为 deprecated,安装旧包时会提示改用 `@vocmarket/voc-skill`。 - 已新增 `npm run claude-voc:acceptance` 一键发布前验收,覆盖包级 smoke、MCP smoke、npm pack dry-run 和 workspace 安装断言。 - 包内包含 8 个 skill、12 个 MCP tools。 - smoke 覆盖 sample report、证据卡、图片缓存、xsec URL 规范化、偏好记忆、no-token 充值提示、祖先 `.env.local` token 读取、抖音搜索入参错误保护、跨行业样例和 MCP tool discovery。 ## 后续版本同步 升级版本时同步修改: - `claude-code/claude-code-voc-intelligence/package.json` - `claude-code/claude-code-voc-intelligence/package-lock.json` - `claude-code/claude-code-voc-intelligence/skill-package-manifest.json` - `claude-code/claude-code-voc-intelligence/.claude-plugin/plugin.json` - 如涉及 MCP server 或记忆 schema,同步对应版本字段 - `dist/npm/claude-code-voc-npm-package-manifest.json` - `dist/claude-code-voc-intelligence-suite-manifest.json` - `release/npm/claude-code-voc-intelligence/README.md` - `release/npm/claude-code-voc-intelligence/release-checklist.md` ## 体验原则 - 用户侧不要暴露 `profile`、`output`、`collectionMode` 等底层参数。 - 用户用自然语言触发 VOC 采集、问题池、单点深挖、内容计划和口播脚本。 - 第一轮真实采集只输出“初步判断 / 机会假设 / 待校准”,不要包装成最终结论。 - 无 token、余额不足、业务权限未开通时,返回开通/充值引导,不直接暴露底层 403、余额接口或 stack trace。