用途:确保 vigiles 新能力真正交付到用户手中。适用场景是准备新增导出、公共函数、子路径(package.json exports)、CLI flag 或 hook 词汇时,避免功能虽已测试提交却无法被外部访问、文档缺失或稳定性未标注。
写代码前需确定三件事:功能从哪个门进入,免费确定性用 .(src/test.ts),调用模型用 ./eval(paid_ 前缀),hook 词汇用 ./hook;符号是否稳定,未稳定需加 @experimental 标签并使用 experimental_ 前缀;公开 WHY 放在 docs/*.md 对应章节而非 README。
主要能力:运行 npm run build 后执行 node .claude/skills/ship-a-feature/scripts/ship-check.mjs <symbol> [--stable "<why it is stable>"],含五项检查:REACHABLE 验证符号可从构建产物的 exports 子路径导入;SURFACE 重新生成 api-surface 并读取 git diff 检查未文档化改动;DOCUMENTED 要求符号出现在 docs/**/*.md 或 README.md;FINDABLE 要求至少两个页面提及,或一个页面提及另一页面链接到该锚点;MARKED 要求声明 JSDoc 含 @experimental、名称带前缀或传入 --stable。
完整门禁:node .claude/skills/ship-a-feature/scripts/ship-check.mjs --gate 等价于冻结树上的 npm run check。资料强调在前台运行并检查真实退出码,运行期间不得改动文件树;不要用 pgrep -f 匹配自身命令行;不要在门禁后接管道,退出码会变成 tail 的。已有机制应直接调用:experimental-name 由 ESLint 规则维护,paid_ 由 npm run exports:check 维护,表面漂移由 npm run api:check 维护,docs ts 代码块由 npm run docs:check 维护。
限制:本技能绑定 vigiles 仓库结构与脚本路径;具体安装方式、收费与版本信息暂未提供。