用途:在 Hugo 博客仓库中正式发布并上线文章,并在发布后验证部署结果。仅当文章已推送、对应 GitHub Pages 部署成功、规范 URL 能访问时,才视为发布完成。
主要能力与用法:先解析 content/posts/ 下的目标文件及其 frontmatter,确认标题、YAML frontmatter 和稳定的规范 URL。预检阶段运行 git status --short 确认分支为 main,执行 git fetch origin/main 并检查 git log --oneline origin/main..HEAD;存在无关工作区改动时按仓库的 -c / -i 规则处理,不把无关路径加入发布提交。工作区干净时可运行 pnpm publish:article <post-path> --dry-run 做仅站点试运行;正式发布运行 pnpm publish:article <post-path>,该命令会校验内容、将 draft 设为 false 并写入当前时间戳、执行 Hugo 生产构建、提交文章、推送 main 并等待规范 URL。工作区不干净时按 -i 路径手工完成站点部分:仅将目标文章日期改为当前本地时间戳、draft 设为 false,运行 hugo --gc --minify,确认文章出现在 hugo list published 中,仅暂存该文章,提交信息为 chore: publish <slug>,再推送 main。发布后记录 HEAD,找到该 SHA 对应的 GitHub Actions 运行与 Hugo Pages 工作流,等待构建和部署任务成功,抓取规范 URL 确认包含文章标题,并确认 main 不再领先 origin/main。
外部同步:仅对用户明确授权的平台操作。掘金使用 publish.juejin.category、publish.juejin.tags、publish.cover,X 使用 publish.x.text;先通过 Wechatsync MCP 上传本地图片并替换为返回 URL,用 list_platforms 或 check_auth 确认主 Chrome 中目标平台已认证。掘金先调用 sync_article 创建草稿,再用 Chrome 控制技能在主 Chrome 中定位该草稿、设置分类标签封面并发布。X 发一条标准帖子并附上规范 URL,不发送全文,也不调用 sync_article。
限制:必须使用 .nvmrc 指定的 Node 版本和 pnpm,不得用 npm 或 yarn。不得为同步启动 Playwright、Chromium、内置浏览器或独立浏览器配置,主 Chrome 不可用时停止并请用户重连。需要登录、验证码或账号确认时保留标签页交由用户完成,不得复制 cookie 或指向 Chrome 配置目录。Wechatsync 草稿视为未完成,只有平台暴露最终公开 URL 才算发布成功。Hacker News 相关流程使用 ../publish-hacker-news/SKILL.md,不通过 Wechatsync 或定时队列。推送、部署或线上验证失败时,上报为失败或不完整并说明已完成阶段,不得将本地提交描述为“正式发布”。