Agent skill

Publish Release

by Ayuilos in Ayuilos/Miffan

Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges.

AGPL-3.0Auto-check passedDevelopment

Install Publish Release

skills CLI
$ npx skills add Ayuilos/Miffan --skill publish-release -a claude-code

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

GitHub CLI
$ gh skill install Ayuilos/Miffan publish-release --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/Ayuilos/Miffan.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/publish-release .claude/skills/publish-release && 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
publish-release
GitHub stars
217
Token cost
~680 tokens
SKILL.md length
198 words
Files
2 (incl. scripts)
Skills in repo
4
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges.

  • Works in 4 steps: 确认 origin 指向个人 fork,upstream… → 在生成日志前更新 origin、upstream 和… → 优先从当前 fork 的 GitHub Releases 中选择目标… → …
  • The user asks to prepare
  • SKILL.md covers 确定发布范围, 按来源分类提交, 编写更新日志 and 发布
  • Runs Shell scripts from its folder; calls gh, bash and git

What it does

Publish Release is an agent skill from Ayuilos/Miffan. Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges. Use when the user asks to prepare or publish a release update.

Its SKILL.md is about 680 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/classify_release_commits.sh`).

It sits in Development, covering Translation and Changelog and release notes. It works with GitHub. The repository describes itself as: RikkaHub fork,Android AI 客户端。支持 ChatGPT 订阅登录使用、跨应用划词悬浮翻译、助手工作区文件隔离、远程云电脑控制、文档与 HTML 预览、可定制动态角色。 The licence is AGPL-3.0.

When your agent uses it

  • The user asks to prepare
  • Publish a release update

Example prompts

  • “/publish-release”

Requirements

  • A Bash shell

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. 确认 origin 指向个人 fork,upstream 指向原项目,并记录当前发布目标 commit。默认目标为 HEAD,不要静默切换到其他 commit。
  2. 在生成日志前更新 origin、upstream 和 tags;若无法访问远端,应明确说明当前判断仅基于本地 remote-tracking refs。
  3. 优先从当前 fork 的 GitHub Releases 中选择目标 commit 祖先链上最近一次已发布 Release 的 tag 作为起点。不要直接选择仓库中排序最新的 tag,因为合并上游后,上游项目的 tag 也可能出现在本地提交图中。
  4. 若无法唯一确定上一次 fork Release,先请用户确认起始 tag。

What it can do on your machine

Read from SKILL.md and the folder at commit 36c7f3e. 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

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • gh
    • bash
    • git

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

  • Network

    No URLs in SKILL.md. Its commands use gh and git, 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

Publish Release loads about 680 tokens when it runs. Until then it costs about 56 tokens; SKILL.md has 198 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from Ayuilos/Miffan at commit 36c7f3e, republished under its AGPL-3.0 licence (© Ayuilos). 198 words, ~680 tokens.

Download SKILL.mdSave it as .claude/skills/publish-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
publish-release
description
Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges. Use when the user asks to prepare or publish a release update.

Publish Release

为当前 fork 准备并发布 GitHub Release。整个流程分为“生成并确认更新日志”和“正式发布”两个阶段;用户确认前,不得创建 tag、Release 或上传 APK。

确定发布范围

  1. 确认 origin 指向个人 fork,upstream 指向原项目,并记录当前发布目标 commit。默认目标为 HEAD,不要静默切换到其他 commit。
  2. 在生成日志前更新 origin、upstream 和 tags;若无法访问远端,应明确说明当前判断仅基于本地 remote-tracking refs。
  3. 优先从当前 fork 的 GitHub Releases 中选择目标 commit 祖先链上最近一次已发布 Release 的 tag 作为起点。不要直接选择仓库中排序最新的 tag,因为合并上游后,上游项目的 tag 也可能出现在本地提交图中。
  4. 若无法唯一确定上一次 fork Release,先请用户确认起始 tag。

按来源分类提交

运行随技能提供的脚本:

bash
bash .agents/skills/publish-release/scripts/classify_release_commits.sh <上次发布tag> <目标commit> <上游ref>

通常上游 ref 为 upstream/HEAD 或 upstream/master。脚本按提交拓扑分类,而不是按作者或提交语言猜测:

  • Fork commits:发布范围内未由上游同步 merge 引入的非 merge 提交,包括个人直接提交及普通功能分支中的提交。
  • Upstream commits:上游同步 merge 的上游父分支相对于其第一父分支新引入、且确实落在本次发布范围内的非 merge 提交。
  • Upstream sync merges:识别出的上游同步点,用于复核实际合入效果和 merge 冲突处理。
  • Other merges:普通本地合并;不要把 merge 标题本身写成更新项,应总结其中实际改动。

对每个上游同步点,额外检查 git diff <merge>^1 <merge>,确保只存在于 merge 冲突处理中的用户可见改动没有遗漏。普通本地 merge 如有冲突处理,也同样检查其第一父分支 diff。

若上游同步采用了 squash、rebase 或 cherry-pick,原始拓扑已经丢失,脚本无法可靠判定来源。此时不要根据作者、日期或相似标题强行分类;应先请用户提供同步 commit 或明确范围,再继续生成日志。

编写更新日志

结合分类结果检查相关提交和 diff,按用户实际能感知的功能、修复和体验变化进行总结:

  • 自有改动与上游改动必须放在不同小节,任何一条都不能混合两个来源。
  • 相似的 BUG 修复和 UI 调整可在各自来源小节内合并,但不得为了压缩数量而跨来源合并。
  • 每种语言最多 10 条实质更新,两个语言版本逐条对应。
  • 不写 commit hash、PR 编号、构建流程、重构细节或不必要的技术名词。
  • 纯发布准备、版本号更新和无用户影响的内部改动通常不进入日志。
  • 某个来源没有面向用户的改动时仍保留该小节,并明确写“本次无面向用户的改动”,不要省略来源分类。

使用以下格式;项目名分别取自 origin 和 upstream 的仓库名,本项目通常为 Miffan 与 RikkaHub:

markdown
更新内容:

### Miffan 自有改动

- xxx

### 同步自 RikkaHub

- xxx

Updates:

### Miffan changes

- xxx

### Synced from RikkaHub

- xxx

展示草案时,同时给出一段不属于 Release 正文的来源核对摘要:起始 tag、目标 commit、识别到的上游同步点,以及两类原始提交数量。随后请求用户确认日志和版本号。只有用户明确确认可以发布后,才进入下一阶段;如日志发生实质修改,需要再次确认。

发布

  1. 版本号同时作为 Release 标题和 tag;tag 不加 v。
  2. 确认目标 commit 已存在于 origin,且相同 tag 或 Release 尚不存在。不要覆盖、移动或删除已有 tag/Release。
  3. 从 app/release/ 中只选择 arm64-v8a APK。若没有唯一候选,停止并请用户指出正确文件。
  4. 在临时目录创建带版本号的上传副本,文件名使用 <项目名>-<版本号>-arm64-v8a.apk,并在同一目录用 shasum -a 256 <文件名> > <文件名>.sha256 生成校验文件;不要改动或上传其他架构的 APK。
  5. 使用 gh release create 在目标 commit 上创建 Release,标题为版本号,正文必须是用户最后确认的双语更新日志,并在同一条命令里同时上传 APK 和 .sha256 校验文件。本仓库的 Release 发布后不可修改:之后无法补传文件,删除后同一版本号也不能再用;下载站同步流程缺少校验文件会失败。
  6. 发布后用 gh release view 核对 tag、目标 commit、Release 正文、唯一的 arm64 APK 及其 .sha256,并确认 “Publish APK to R2” 工作流成功;向用户返回 Release 链接与资源文件名。

任何发布前检查失败时停止,不得用强制覆盖、删 tag 或替换已有 Release 的方式继续。

© Ayuilos, 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

SKILL.md and 1 other file (scripts) in .agents/skills/publish-release of Ayuilos/Miffan.

  • SKILL.md
  • scripts/classify_release_commits.sh

Open the folder on GitHubat commit 36c7f3e

Compare with similar skills

Publish Release 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.

Publish Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Publish Release this skillAyuilos/Miffan217—~680Automated safety check: PassAGPL-3.0
Pre ReleaseZhuoZhuoCrayon/throttled-py651—~1.1kAutomated safety check: PassMIT
Release WorkflowCaldis/react-zmage945—~3.6kAutomated safety check: NotesMIT
Release New Versionniki914/zafiro235—~2.1kAutomated safety check: PassMIT
Navop Release NotesfeigeCode/navop1.8k—~2.4kAutomated safety check: PassCustom licence
Workclaw Release Publishhaojing8312/WorkClaw141—~786Automated safety check: PassApache-2.0

Similar skills

  • Pre Release

    ZhuoZhuoCrayon/throttled-py

    Automates release preparation for throttled-py. An agent skill from ZhuoZhuoCrayon/throttled-py.

    651 GitHub stars~1.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Release Workflow

    Caldis/react-zmage

    A skill your agent uses when the user wants to ship a new version of react-zmage to npm.

    945 GitHub stars~3.6k tokensUpdated 4 mo ago
    DevelopmentAuto-check: notes
  • Release New Version

    niki914/zafiro

    A skill your agent uses when the user wants to release a new Zafiro version — drafting bilingual release notes, deciding the next version number, bumping app/build.gradle.kts, tagging, and…

    235 GitHub stars~2.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Navop Release Notes

    feigeCode/navop

    A skill your agent uses when working in the Navop repository on CHANGELOG.md, version-tag preparation, GitHub Releases, or R2 updater release notes, especially when bilingual Chinese and English…

    1.8k GitHub stars~2.4k tokensUpdated today
    DevelopmentAuto-check passed
  • Workclaw Release Publish

    haojing8312/WorkClaw

    A skill your agent uses when publishing a confirmed WorkClaw desktop release after the version number and bilingual Chinese plus English release notes have already been reviewed and approved by a…

    141 GitHub stars~786 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.

    70k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed

More from Ayuilos/Miffan

  • A skill your agent uses when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses…

    217 GitHub stars~4.6k tokensUpdated yesterday
    Auto-check passed
  • Gemini API Dev

    Ayuilos/Miffan

    A skill your agent uses when building applications with Gemini API hosted models, including Gemini and Gemma 4, working with multimodal content (text, images, audio, video), implementing function…

    217 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when users request i18n/localization updates for Android string resources: adding localized keys, translating strings.xml, filling missing translations, or moving hardcoded…

    217 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Publish Release

What does Publish Release do?

Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges. Publish Release is an agent skill from Ayuilos/Miffan. Publish a GitHub release for this fork, with a bilingual changelog that separates fork-owned changes from changes introduced by upstream merges.

When should I use Publish Release?

Publish Release fits situations like: the user asks to prepare; publish a release update.

How do I install Publish Release in Claude Code?

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

How do I install Publish Release in Codex?

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

Can I use Publish Release 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 Ayuilos/Miffan --skill publish-release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/publish-release, .gemini/skills/publish-release, .github/skills/publish-release and .opencode/skills/publish-release in your project.

What does Publish Release need to run?

Going by SKILL.md and its folder, Publish Release needs a shell for the scripts in its folder and the command-line tools its instructions call (gh, bash and git). Our summary lists: A Bash shell.

Does Publish Release access the network?

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

Is Publish Release 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Publish Release use?

Publish Release 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 Publish Release use?

About 680 tokens (SKILL.md is roughly 2.7k 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 Publish Release?

Skills that share tags, products or a category with Publish Release: Pre Release (ZhuoZhuoCrayon/throttled-py, 651 stars), Release Workflow (Caldis/react-zmage, 945 stars), Release New Version (niki914/zafiro, 235 stars) and Navop Release Notes (feigeCode/navop, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Publish Release?

Ayuilos (a GitHub user) maintains it in Ayuilos/Miffan, which has 217 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 9, 2026.

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