Agent skill

Release Publisher

by LC044 in LC044/TrailSnap

发布并验收 TrailSnap 新版本:汇总提交、同步全项目版本号、更新官网日志与客户端更新清单、执行发布前测试、创建 GitHub Release、监控标签 CI、核验 Release 附件,并生成小红书和公众号文案。Use when the user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子。

AGPL-3.0Auto-check passedDevelopment

Install Release Publisher

skills CLI
$ npx skills add LC044/TrailSnap --skill release-publisher -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LC044/TrailSnap release-publisher --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LC044/TrailSnap.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-publisher .claude/skills/release-publisher && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release-publisher
GitHub stars
776
Token cost
~1.6k tokens
SKILL.md length
573 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
AGPL-3.0

At a glance

发布并验收 TrailSnap 新版本:汇总提交、同步全项目版本号、更新官网日志与客户端更新清单、执行发布前测试、创建 GitHub Release、监控标签 CI、核验 Release 附件,并生成小红书和公众号文案。Use when the user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子。

  • Works in 12 steps: 发布前检查 → 确定版本号 → 同步版本号 → …
  • The user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子
  • SKILL.md covers 1. 发布前检查, 2. 确定版本号, 3. 同步版本号 and 4. 分析提交并撰写内容, plus 8 more sections
  • Calls gh

What it does

Release Publisher is an agent skill from LC044/TrailSnap. 发布并验收 TrailSnap 新版本:汇总提交、同步全项目版本号、更新官网日志与客户端更新清单、执行发布前测试、创建 GitHub Release、监控标签 CI、核验 Release 附件,并生成小红书和公众号文案。Use when the user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子。

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with GitHub, Git, Tauri and npm. The repository describes itself as: TrailSnap (行影集) | AI-Powered open-source photo album for travel & life memories.(AI赋能的开源相册工具,珍藏旅行与生活点滴). The licence is AGPL-3.0.

When your agent uses it

  • The user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子

Example prompts

  • “/release-publisher”

Requirements

  • Docker

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. 发布前检查
  2. 确定版本号
  3. 同步版本号
  4. 分析提交并撰写内容
  5. 更新官网和客户端更新清单
  6. 发布前验证、提交与推送
  7. 确认并创建 Release
  8. 监控标签 CI
  9. 验收 Release 附件
  10. 生成安装包下载区并验证 Release 正文
  11. 社媒文案规范
  12. 完成报告

What it can do on your machine

Read from SKILL.md and the folder at commit 9d4b63e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Publisher loads about 1.6k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 573 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~54
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LC044/TrailSnap at commit 9d4b63e, republished under its AGPL-3.0 licence (© LC044). 573 words, ~1,576 tokens.

Download SKILL.mdSave it as .claude/skills/release-publisher/SKILL.md (or your agent's skills folder).
name
release-publisher
description
发布并验收 TrailSnap 新版本:汇总提交、同步全项目版本号、更新官网日志与客户端更新清单、执行发布前测试、创建 GitHub Release、监控标签 CI、核验 Release 附件,并生成小红书和公众号文案。Use when the user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子。

TrailSnap 版本发布与验收

严格按顺序执行。完整性优先于打标签;未经用户确认,不得创建 GitHub Release。

1. 发布前检查

  1. 确认位于 TrailSnap 仓库根目录。
  2. 运行 gh auth status,确认 GitHub CLI 已登录。
  3. 运行 git status --short --branch。保护用户已有改动;工作区不干净时先判断归属,不得覆盖。
  4. 获取远程标签,并只选择严格语义化标签:
    • 接受正则 ^v[0-9]+.[0-9]+.[0-9]+$
    • 排除 pr-preview、app-v*、预发布标签等
    • 不要直接信任 git describe --tags;它可能选中非版本标签
  5. 确认目标标签和 Release 均不存在:
    • 检查本地标签、git ls-remote --tags origin 和 gh release view
  6. 获取上个正式版本到 HEAD 的提交。若为空,停止并提示先提交代码。
  7. 运行 git grep 搜索上个版本的带 v 和不带 v 形式,建立版本影响清单。

PowerShell 可按版本对象排序标签:

$lastTag = git tag --list |
  Where-Object { $_ -match '^v\d+\.\d+\.\d+$' } |
  Sort-Object { [version]($_ -replace '^v', '') } -Descending |
  Select-Object -First 1

2. 确定版本号

  • 用户已指定版本时直接采用。
  • 未指定时根据提交建议 patch、minor 或 major。
  • patch:修复和小优化。
  • minor:向后兼容的新功能。
  • major:不兼容变更;必须向用户确认影响与迁移方式。
  • 标签始终使用 v 前缀,项目文件使用不带 v 的版本号。

3. 同步版本号

以下是当前基线清单,不是完整清单。先更新这些位置,再用 git grep 发现新增位置。

AI 服务
  • package/ai/pyproject.toml
  • package/ai/uv.lock
  • package/ai/desktop_app.py
  • package/ai/app/services/photo_model_repository.py 中的 User-Agent
Server
  • package/server/pyproject.toml
  • package/server/uv.lock
  • package/server/app/core/config_manager.py 中的全部版本常量和默认值
Website 与 CLI
  • package/website/package.json
  • package/trailsnap-cli/package.json
  • package/trailsnap-cli/pyproject.toml
  • package/trailsnap-cli/trailsnap/cli.py
  • 仅在测试夹具表达“当前产品版本”时同步测试版本;不要误改依赖版本,例如 ts-node@10.9.2
Desktop 与 AI 扩展
  • package/desktop/package.json
  • package/desktop/src-tauri/Cargo.toml
  • package/desktop/src-tauri/Cargo.lock
  • package/desktop/src-tauri/tauri.conf.json
  • package/desktop/src-tauri/resources/ai-extensions.json
  • package/desktop/src-tauri/src/ai_extension.rs 中的扩展版本
  • .github/workflows/build-desktop-ai-extension.yml 中的 EXTENSION_VERSION

完成后再次搜索旧版本:

  • 历史 changelog 和 version.json 中的旧版本应保留。
  • 第三方依赖版本不得误改。
  • 所有当前产品版本、锁文件本地包版本和发布工作流版本必须一致。

4. 分析提交并撰写内容

按功能模块归并最终用户可见结果,不要机械罗列 commit。

  • 优先提炼 feat、fix、perf 和有用户影响的 refactor。
  • 忽略构建前端、构建后端、构建ai、构建cli 等 CI 触发词。
  • 忽略中间修复:如果同一功能先实现后优化,只描述最终能力。
  • 测试、内部重构和 CI 调整仅在影响稳定性、安装或发布体验时提及。
  • Release Notes 使用中文,按桌面端、移动端、照片浏览、设置、安装部署、修复稳定性等实际模块组织。
  • 避免无必要的实现术语。

5. 更新官网和客户端更新清单

必须在创建标签前完成:

  1. 在 package/official-site/docs/guide/changelog.md 顶部加入中文日志,使用“新增功能 / 优化功能 / Bug 修复”。
  2. 在 package/official-site/en/docs/guide/changelog.md 顶部加入等价英文日志,使用“New / Improvements / Bug Fixes”。
  3. 在 package/official-site/public/version.json 数组末尾加入新版本:
    • version 不带 v
    • update_info 使用面向用户的简洁中文 HTML,以 <br> 换行
    • download_url 指向本次 GitHub Release 地址
  4. 生成 releases/v{version}/:
    • release-notes.md
    • xiaohongshu.md
    • wechat.md

releases/ 通常被 git 忽略;确认三个文件存在即可,不强行提交。

6. 发布前验证、提交与推送

依次执行:

  1. 在 package/official-site 下解析 public/version.json。

  2. 在 package/official-site 下运行 pnpm docs:build。

  3. 在仓库根目录运行完整 E2E:

    pwsh .\tests\scripts\run-tests.ps1 -Layer e2e -Level full

  4. 若失败:

    • 区分代码失败与环境/启动器失败。
    • 修复属于本次发布范围的根因后,重新运行同一完整命令。
    • 不得把扫描准备通过或部分用例通过报告为完整通过。
  5. 审查 git diff、git diff --check 和工作区状态。

  6. 提交所有版本号、官网日志、version.json 及必要的发布测试修复。

  7. 使用 Conventional Commits,例如 chore(release): prepare vX.Y.Z。

  8. 除非用户明确要求,不在提交消息中加入镜像或包发布触发词。

  9. 推送当前分支,确认本地 HEAD 与远程一致且工作区干净。

7. 确认并创建 Release

  1. 向用户完整展示 release-notes.md。

  2. 明确说明官网构建和完整 E2E 结果。

  3. 等待用户确认。

  4. 确认后创建 Release:

    gh release create vX.Y.Z --title "vX.Y.Z" --notes-file "releases\vX.Y.Z\release-notes.md"

  5. 记录 Release URL、标签 SHA 和创建时间。

  6. 不要手动重复创建标签;gh release create 会创建并推送标签。

  7. 不得移动已发布标签或删除 Release,除非用户明确授权。

8. 监控标签 CI

创建 Release 后不要立即结束。持续监控该标签触发的工作流,直到全部进入 completed。

当前应关注的工作流基线:

  • Build and Push Frontend
  • Build and Push Server
  • Build and Push AI
  • Build Desktop Installers
  • Build Desktop AI Extension
  • Build Mobile App
  • Build and Publish CLI

使用 gh run list --branch vX.Y.Z 和 gh run view 检查状态、矩阵任务及失败步骤。

  • 记录本次标签触发的 run ID,避免混入同一提交的分支 push 任务。
  • 定期汇报状态变化,不重复播报无变化快照。
  • 工作流 queued 或 pending 时继续等待。
  • 任一工作流失败时,读取失败 job 和日志,报告根因。
  • 未经用户授权,不移动标签、重建 Release 或实施范围外修复。
  • Docker 镜像工作流成功不代表有 Release 附件;分别报告镜像与附件状态。
Show full SKILL.md (213 more words)Show less

9. 验收 Release 附件

从工作流定义推导预期附件,不只依赖固定数量。当前 v0.10.0 结构的基线为 12 个:

  • Desktop:Windows EXE、macOS DMG、Linux AppImage、Linux DEB
  • Mobile:Android APK
  • CLI:Windows、Linux、macOS 可执行文件
  • Desktop AI Extension:Windows、Linux、macOS 压缩包和 ai-extensions.json

验收要求:

  1. 运行 gh release view vX.Y.Z --json assets。
  2. 确认每个预期文件存在、size 大于 0、state 为 uploaded。
  3. 确认标签 SHA 与发布提交 SHA 一致。
  4. 确认 Release 不是 draft 或 prerelease,除非用户要求。
  5. 确认全部相关 CI 为 completed/success。

10. 生成安装包下载区并验证 Release 正文

多个上传工作流可能使用 generate_release_notes 更新同一个 Release,从而修改标题。

所有 CI 完成后必须:

  1. 检查 Release 标题和正文。

  2. 将其与用户确认过的 release-notes.md,追加的 “What's Changed”可以保留。

  3. 若标题或正文被改变,恢复:

    gh release edit vX.Y.Z --title "vX.Y.Z" --notes-file "releases\vX.Y.Z\release-notes.md"

  4. 从 gh release view vX.Y.Z --json assets 的 assets[].url 读取浏览器直链,在本地 release-notes.md 末尾生成或替换 ## 安装包下载:

    • Windows:EXE 安装包
    • macOS:DMG 安装包,并标注实际架构
    • Linux:AppImage 和 DEB 安装包
    • Android:APK 安装包
    • 只列面向普通用户的应用安装包;不要列 CLI 可执行文件、Desktop AI Extension 压缩包或 ai-extensions.json
    • 只使用 size 大于 0 且 state 为 uploaded 的附件;必须使用 url,不要使用 apiUrl
    • 链接文字包含文件名或明确格式;按平台归组,同一平台有多种格式时放在同一项
    • 操作必须幂等:已有 ## 安装包下载 时替换该节,不得重复追加
  5. 若任何预期安装包缺失,停止并报告,不得发布不完整的下载区或宣称验收成功。

  6. 使用更新后的 release-notes.md 再次恢复 Release 标题和正文:

    gh release edit vX.Y.Z --title "vX.Y.Z" --notes-file "releases\vX.Y.Z\release-notes.md"

  7. 再次确认正文与更新后的 release-notes.md 完全一致、安装包直链均来自已验收附件、附件数量不变且全部 uploaded。

11. 社媒文案规范

小红书
  • 300–500 字,产品向、口语化,活泼但不过分。
  • 标题突出核心价值,可使用一个 emoji,不做标题党。
  • 用【】标记重点功能,每段最多 1–2 个 emoji。
  • 描述用户收益,不解释 API、框架或内部实现。
  • 结尾邀请反馈,并附 5–8 个相关标签。
公众号
  • 800–1500 字,专业友好,使用 Markdown。
  • 标题包含版本号与主要更新。
  • 按功能模块解释“是什么、有什么价值、适用场景”。
  • 包含体验优化、升级方式和结尾感谢。
  • major 版本必须增加“⚠️ 升级注意事项”,说明影响与迁移方式。
  • 不凭空承诺下一版本;仅在提交或计划中有依据时预告。

Skill 不自动向社交平台发布内容,只生成文件并提醒用户审阅。

12. 完成报告

报告以下内容:

  • 版本号和 GitHub Release 链接
  • 发布提交与标签 SHA
  • 官网构建结果
  • 完整 E2E 汇总
  • 每个发布工作流的最终状态
  • Release 附件数量、分类和 uploaded 状态
  • Release 正文中的各平台安装包下载链接,以及已排除 CLI 和 AI 扩展下载链接
  • Release 标题与正文是否通过最终复核
  • 三份本地文案的绝对路径链接
  • 提醒用户审阅后再手动发布社媒内容

若任何 CI 或预期附件失败,不得宣称发布全部成功。

© LC044, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/release-publisher of LC044/TrailSnap.

Open the folder on GitHubat commit 9d4b63e

Compare with similar skills

Release Publisher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release Publisher compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Publisher this skillLC044/TrailSnap776—~1.6kAutomated safety check: PassAGPL-3.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Hunk Release Workflowmodem-dev/hunk9.6k—~3.8kAutomated safety check: PassMIT
ZCF Release AutomationUfoMiao/zcf6.1k—~3.4kAutomated safety check: PassMIT
Liveagent Code ReviewStack-Cairn/LiveAgent2.2k—~2kAutomated safety check: PassMIT
Deploy Docstryonlabs/opentryon551—~1.2kAutomated safety check: NotesCustom licence

Similar skills

  • Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.

    18k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.6k GitHub stars~3.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.

    6.1k GitHub stars~3.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Liveagent Code Review

    Stack-Cairn/LiveAgent

    Review an open GitHub pull request or the current local branch and working tree with parallel, independent reviewers and evidence-based validation.

    2.2k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Deploy Docs

    tryonlabs/opentryon

    Builds the OpenTryOn Docusaurus site in docs/, commits and pushes to the docs branch, and deploys GitHub Pages (gh-pages).

    551 GitHub stars~1.2k tokensUpdated today
    DevelopmentAuto-check: notes
  • ClawRouter Release Checklist

    BlockRunAI/ClawRouter

    Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.

    6.6k GitHub stars~1.4k tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from LC044/TrailSnap

All 10 skills in this repo
  • Trailsnap CLI

    LC044/TrailSnap

    Query photos, albums, locations, tags, and people from a TrailSnap instance through its command-line client.

    776 GitHub stars~365 tokensUpdated today
    Auto-check passed
  • Trailsnap Commit

    LC044/TrailSnap

    TrailSnap 仓库提交、推送、需求平台与 PR 工作流规则。Use when preparing commits, pushing branches, managing the corresponding platform requirement, creating or merging pull requests, or monitoring PR CI in this…

    776 GitHub stars~557 tokensUpdated today
    Auto-check passed
  • Trailsnap Agent

    LC044/TrailSnap

    Query a user's TrailSnap photo library through scoped MCP tools to find photos, reconstruct memories, build person timelines, create evidence-backed narratives, or propose an album plan for explicit…

    776 GitHub stars~445 tokensUpdated today
    Auto-check passed
  • Album Doctor

    LC044/TrailSnap

    对照片库或指定相册进行体检,并把结构、时间、地点、AI 元数据与安全清理问题转成可选择、可确认、尽量可撤销的计划. An agent skill from LC044/TrailSnap.

    776 GitHub stars~254 tokensUpdated today
    Auto-check passed
  • Memory Detective

    LC044/TrailSnap

    根据模糊的时间、地点、同行人、画面和文字线索找回可能的照片事件,并在用户确认后生成可追溯的回忆故事. An agent skill from LC044/TrailSnap.

    776 GitHub stars~233 tokensUpdated today
    Auto-check passed
  • Person Timeline

    LC044/TrailSnap

    按年份和事件整理指定人物出现过的照片,展示共同经历、成长变化、地点与同行人,并可生成可追溯的人物故事. An agent skill from LC044/TrailSnap.

    776 GitHub stars~200 tokensUpdated today
    Auto-check passed

Categories

Questions about Release Publisher

What does Release Publisher do?

发布并验收 TrailSnap 新版本:汇总提交、同步全项目版本号、更新官网日志与客户端更新清单、执行发布前测试、创建 GitHub Release、监控标签 CI、核验 Release 附件,并生成小红书和公众号文案。Use when the user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子。. Release Publisher is an agent skill from LC044/TrailSnap.

When should I use Release Publisher?

Release Publisher fits situations like: the user asks to 发布新版本、发版、创建或检查 GitHub Release、总结版本变更、监控发布 CI、检查发布产物,或撰写版本更新帖子.

How do I install Release Publisher in Claude Code?

Run `npx skills add LC044/TrailSnap --skill release-publisher -a claude-code`. Or copy the skill folder (.agents/skills/release-publisher in LC044/TrailSnap) into .claude/skills/release-publisher in your project. Claude Code loads it when a task matches its description.

How do I install Release Publisher in Codex?

Run `npx skills add LC044/TrailSnap --skill release-publisher -a codex`. Or copy the skill folder (.agents/skills/release-publisher in LC044/TrailSnap) into .agents/skills/release-publisher in your project. Codex loads it when a task matches its description.

Can I use Release Publisher in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LC044/TrailSnap --skill release-publisher -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-publisher, .gemini/skills/release-publisher, .github/skills/release-publisher and .opencode/skills/release-publisher in your project.

What does Release Publisher need to run?

Going by SKILL.md and its folder, Release Publisher needs the command-line tools its instructions call (gh). Our summary lists: Docker.

Does Release Publisher access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release Publisher safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release Publisher use?

Release Publisher is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Publisher use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release Publisher?

Skills that share tags, products or a category with Release Publisher: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Hunk Release Workflow (modem-dev/hunk, 9.6k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars) and Liveagent Code Review (Stack-Cairn/LiveAgent, 2.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Publisher?

LC044 (a GitHub user) maintains it in LC044/TrailSnap, which has 776 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 8, 2026.

Source: LC044/TrailSnap on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.