Agent skill

Package Patch Release

by swjybky in swjybky/deepwrite

为 DeepWrite 桌面端递增一个 SemVer 补丁版本,安全清理上一个版本的测试打包残留,使用项目规定的 pnpm pack:test 命令构建并验证新安装包,按用户要求决定是否创建并发布 GitHub Release;Release 完整可下载后更新根目录 update.json,并通过路径限定提交和推送,保证该提交只包含…

Apache-2.0Auto-check passedDevelopment

Install Package Patch Release

skills CLI
$ npx skills add swjybky/deepwrite --skill package-patch-release -a claude-code

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

GitHub CLI
$ gh skill install swjybky/deepwrite package-patch-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/swjybky/deepwrite.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/package-patch-release .claude/skills/package-patch-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
package-patch-release
GitHub stars
571
Token cost
~1.2k tokens
SKILL.md length
312 words
Files
2
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

为 DeepWrite 桌面端递增一个 SemVer 补丁版本,安全清理上一个版本的测试打包残留,使用项目规定的 pnpm pack:test 命令构建并验证新安装包,按用户要求决定是否创建并发布 GitHub Release;Release 完整可下载后更新根目录 update.json,并通过路径限定提交和推送,保证该提交只包含…

  • Works in 5 steps: 建立基线 → 清理旧版本打包残留 → 提高版本并打包 → …
  • Development work in your project
  • SKILL.md covers 不可破坏的边界, 1. 建立基线, 2. 清理旧版本打包残留 and 3. 提高版本并打包, plus 3 more sections
  • Calls git, pnpm and gh

What it does

Package Patch Release is an agent skill from swjybky/deepwrite. 为 DeepWrite 桌面端递增一个 SemVer 补丁版本,安全清理上一个版本的测试打包残留,使用项目规定的 pnpm pack:test 命令构建并验证新安装包,按用户要求决定是否创建并发布 GitHub Release;Release 完整可下载后更新根目录 update.json,并通过路径限定提交和推送,保证该提交只包含 update.json。用于用户提出“打包新版本”“提高一小个版本并打包”“清理旧包后发 Release”“更新 update.json 并只提交该文件”等版本交付请求。

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Development. It works with GitHub, pnpm, Git and npm. The licence is Apache-2.0.

When your agent uses it

  • Development work in your project

Example prompts

  • “提高一小个版本并打包”
  • “清理旧包后发 Release”
  • “更新 update.json 并只提交该文件”
  • “/package-patch-release”

Workflow steps

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

  1. 建立基线
  2. 清理旧版本打包残留
  3. 提高版本并打包
  4. 按用户要求处理 GitHub Release
  5. 最后更新并只提交 update.json

What it can do on your machine

Read from SKILL.md and the folder at commit 8c49bf2. 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:

    • git
    • pnpm
    • gh

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

  • Network

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

Package Patch Release loads about 1.2k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 312 words of instructions outside code blocks.

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

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 swjybky/deepwrite at commit 8c49bf2, republished under its Apache-2.0 licence (© swjybky). 312 words, ~1,160 tokens.

Download SKILL.mdSave it as .claude/skills/package-patch-release/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
package-patch-release
description
为 DeepWrite 桌面端递增一个 SemVer 补丁版本,安全清理上一个版本的测试打包残留,使用项目规定的 pnpm pack:test 命令构建并验证新安装包,按用户要求决定是否创建并发布 GitHub Release;Release 完整可下载后更新根目录 update.json,并通过路径限定提交和推送,保证该提交只包含 update.json。用于用户提出“打包新版本”“提高一小个版本并打包”“清理旧包后发 Release”“更新 update.json 并只提交该文件”等版本交付请求。

打包补丁版本并按需发布

从仓库根目录执行 DeepWrite 测试版交付。把“提高一小个版本”解释为 SemVer 补丁位加一,例如 1.2.0 -> 1.2.1。不得把测试包描述为正式签名、公证后的发布包。

不可破坏的边界

  • 先读 .codex/skills/windows-macos-test-package/SKILL.md 和 docs/GitHub-Release测试版自动更新发布说明.md;测试安装包规则与本技能冲突时,以测试安装包技能为准。
  • 当前工作树可以很脏。把已有修改全部视为用户资产,不得还原、覆盖、删除、暂存或混入提交。
  • 只修改版本交付所需的 package.json、apps/desktop/package.json 和发布成功后的 update.json。不得顺手修改业务代码或打包配置。
  • 最终 Git 提交只能包含根目录 update.json。两个 package.json 的版本修改留在工作树中,不得暂存或提交;这是本技能的明确交付约束。
  • 不得使用 git add .、git add -A、git commit -a、git stash、git reset、git checkout -- 或 git clean。
  • GitHub Release 是外部发布动作。用户已明确说“发布、上传 Release、发 GitHub”时执行;用户明确说不发布时不执行;用户未表态时必须在打包完成后询问,不得自行发布。
  • 没有已发布且资产完整可下载的对应 Release 时,不得提高、提交或推送 update.json,否则客户端会发现一个无法下载的版本。用户要求“不发 Release 但更新清单”时,说明矛盾并等待决定。

1. 建立基线

  1. 读取 Git 状态、当前分支、远端、根目录 package.json、apps/desktop/package.json、update.json、现有 tag 和 apps/desktop/release/ 清单。
  2. 记录开始前每个允许修改文件的内容或 diff,以便区分本轮修改与用户已有修改;不得用恢复命令回滚用户内容。
  3. 要求两个 package.json 的 version 一致且为三段 SemVer。若不一致,先判断是否存在一次尚未完成的版本准备;无法可靠判断时停止并询问,禁止盲目覆盖。
  4. 以两个 package.json 的共同版本为旧版本,将补丁位加一得到新版本。确认新版本大于 update.json.version,并确认远端不存在冲突的 v<新版本> Release/tag;存在冲突时不得覆盖或删除,报告并等待用户决定。
  5. 用户指定了明确版本时优先使用该版本,但仍要求它大于当前版本,并说明这不再是默认的补丁递增。

2. 清理旧版本打包残留

只处理固定目录 apps/desktop/release/ 内可证明属于旧版本或 electron-builder 的生成物。

  1. 先列出候选项并解析为绝对路径,确认目录没有越界、候选不含源码或用户文档。
  2. 删除名称含旧版本的 DeepWrite-<旧版本>-* 产物,以及本次目标会重建的已知中间输出:mac/、mac-arm64/、win-unpacked/、.icon-icns/、latest.yml、latest-mac.yml、builder-debug.yml、builder-effective-config.yaml。
  3. 对随机名、未知名或无法证明来源的条目不做删除,只报告。不得对仓库根目录、工作区或未解析的变量执行递归删除,也不得使用 git clean。
  4. 删除后再次列目录,确认旧版本安装包和旧更新清单不再残留。说明删除了什么,以及生成物只能通过重新打包恢复。

3. 提高版本并打包

  1. 只把两个 package.json 的顶层 version 同步改为新版本,保持其他内容和格式不变。暂时不要修改 update.json。
  2. 重新读取两个值并确认一致。打包命令必须从仓库根目录运行,不能直接调用 electron-builder,也不能跳过内置的 pnpm verify:
    • 未指定平台或要求全部:pnpm pack:test
    • Windows x64:pnpm pack:test:win
    • macOS arm64:pnpm pack:test:mac:arm64
    • macOS x64:pnpm pack:test:mac:x64
    • 两种 macOS 架构:pnpm pack:test:mac
  3. 命令失败时保留终端关键输出,报告失败的平台、架构和步骤;不得继续发布,也不得声称包可用。
  4. 成功后检查请求平台对应的安装包、ZIP、blockmap 和 latest*.yml 均存在且非空。核对文件名版本、更新清单版本和清单内引用文件名一致。
  5. Mac 产物还要确认 DMG 校验通过、App 为完整 ad-hoc 签名,并检查本地 DMG 是否意外带有 com.apple.quarantine;存在时仅从明确的新 DMG 发布产物移除该属性。不得声称接收端不会重新添加隔离属性。
  6. 记录打包脚本的冒烟结果。受主机系统限制跳过目标平台运行时,明确写“只完成构建,未完成目标平台运行验证”。

4. 按用户要求处理 GitHub Release

用户不发布时,到本地打包交付为止,不修改 update.json,也不创建 tag、Release 或提交。

用户要求发布时:

  1. 使用仓库 swjybky/deepwrite 和 tag v<新版本>。先检查 gh auth status、远端仓库、同名 tag/Release 和待上传资产,禁止覆盖已有 Release。
  2. 根据用户提供的说明编写 Release notes;用户未提供时,从本轮实际变更生成简洁中文说明,不虚构功能。
  3. 先创建 Draft Release,标题为 DeepWrite <新版本>,稳定版不得标为 prerelease。只上传本次请求平台实际成功构建且被更新清单引用的资产:
    • Windows x64:EXE、EXE blockmap、latest.yml。
    • macOS:各目标架构的 DMG、ZIP、ZIP blockmap,以及最终 latest-mac.yml。
  4. 同时发布两种 Mac 架构时,先检查最终 latest-mac.yml 是否同时正确引用两个 ZIP 及各自 SHA-512。若清单只包含一个架构,保持 Draft 并停止,不得发布残缺自动更新。
  5. 用 GitHub 返回的资产列表逐项核对名称、数量和非零大小;确认 Draft 完整后再发布,并确认不是 prerelease。
  6. 发布后再次读取 Release,确认 tag、标题、公开状态和每个下载 URL 可访问。任何检查失败时不更新 update.json。

5. 最后更新并只提交 update.json

仅在 Release 已公开且资产验证全部通过后执行:

  1. 保持 schemaVersion、enabled、channel、mandatory、minimumSupportedVersion 和 feedUrl 的既有语义,更新:
    • version 为新版本。
    • title 为 DeepWrite <新版本>。
    • publishedAt 为发布完成时的 Asia/Shanghai ISO 8601 时间。
    • releaseNotes 为与 Release 一致的真实说明。
    • releasePage 为 https://github.com/swjybky/deepwrite/releases/tag/v<新版本>。
  2. 校验 update.json 是合法 JSON,且其版本与两个 package.json、Git tag、latest.yml / latest-mac.yml 一致。
  3. 不改动现有暂存区。使用路径限定提交,例如 git commit --only -m "chore: update release manifest to v<新版本>" -- update.json;即使暂存区已有其他文件,也不得把它们带入该提交。
  4. 立即运行 git show --name-only --format= HEAD。结果必须恰好只有 update.json;若不是,停止且不得推送。
  5. 推送前获取远端并比较目标分支。origin/main..HEAD 必须恰好只有本次 update.json 提交;若还包含其他未推送提交,或当前历史不能快进目标分支,停止并询问,不得把额外历史一起推送。
  6. 推送当前提交到用户指定远端/分支。未指定时按项目发布约定推送到 origin/main;不得为此切换或清理脏工作树,禁止 force push。
  7. 推送后读取远程 main/update.json,确认版本和内容已生效;再报告提交 SHA、Release URL、产物清单与未被提交的两个 package.json 版本修改。

完成检查

  • 补丁版本只增加一次,两个 package.json 一致。
  • 旧版生成物已按明确清单清理,未知文件未动。
  • 使用规定的 pnpm pack:test:* 命令且验证结果真实。
  • 只有用户授权时才发布 GitHub Release。
  • Release 未完成时绝不提前更新更新清单。
  • Git 提交文件列表恰好是 update.json,其他工作树和暂存区内容保持原状。
  • 推送范围恰好只有该清单提交,不夹带当前分支的其他未推送提交。
  • 对签名、公证、跨平台运行验证和 Gatekeeper 限制作出准确说明。

© swjybky, Apache-2.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 in .claude/skills/package-patch-release of swjybky/deepwrite.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 8c49bf2

Compare with similar skills

Package Patch 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.

Package Patch Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Package Patch Release this skillswjybky/deepwrite571—~1.2kAutomated safety check: PassApache-2.0
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
ZCF Release AutomationUfoMiao/zcf6.1k—~3.4kAutomated safety check: PassMIT
Release Clawpatchopenclaw/clawpatch813—~1.1kAutomated safety check: PassMIT
Releasecyanfish-x/tellux207—~1.3kAutomated safety check: PassMIT
Releaseemanuelcasco/pi-mono-extensions106—~2.3kAutomated safety check: PassMIT

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 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
  • Release Clawpatch

    openclaw/clawpatch

    clawpatch release: version/changelog, CI, npm publish, GitHub release, verify.

    813 GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Release

    cyanfish-x/tellux

    Cut and publish a new tellux release — bump version, curate a changelog summary from recent commits, pause for the user to manually pnpm publish (browser 2FA), then push the tag and create the…

    207 GitHub stars~1.3k tokensUpdated 17 days ago
    DevelopmentAuto-check passed
  • Release

    emanuelcasco/pi-mono-extensions

    Release a new version of pi-extensions: bump individual package versions (independent mode), update CHANGELOGs and READMEs, create per-package git tags, publish a GitHub release, and publish…

    106 GitHub stars~2.3k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • 自分の依存ライブラリにバグや欠けている機能があり、上流に PR を出して取り込まれるまで下流プロジェクトを動かしたいときの運用。git ref pin(branch HEAD SHA → merge SHA)、link: への退避判断、SHA 取り扱い、pnpm v10 の build script gating まで含む。

    356 GitHub stars~1k tokensUpdated 6 days ago
    DevelopmentAuto-check passed

More from swjybky/deepwrite

  • Package Patch Release

    swjybky/deepwrite

    为 DeepWrite 递增补丁版本、清理旧产物、修复错误并继续打包;按授权发布 GitHub Release,发布验证后仅提交推送 update.json。用于打包新版本、提高一小个版本、清理旧包发布或更新发布清单。

    571 GitHub stars~675 tokensUpdated 4 days ago
    Auto-check passed
  • 构建并验证 DeepWrite Windows、macOS 测试安装包,排查打包错误、修复后继续。用于打包、测试包、Win/Mac 包及相关流程修改;版本递增和发布另用 package-patch-release。

    571 GitHub stars~574 tokensUpdated 4 days ago
    Auto-check passed
  • Git Commit

    swjybky/deepwrite

    在 DeepWrite 创建 Git 提交、推送、Pull Request 或合并时使用,核对变更范围、项目校验、提交身份与署名。

    571 GitHub stars~250 tokensUpdated 4 days ago
    Auto-check passed
  • 按 DeepWrite 桌面端约定构建 Windows 与 macOS 测试安装包:使用 electron-builder 与 pnpm pack:test:,经 tools/run-test-package.mjs 编排,Mac 测试包做 ad-hoc 签名且不做 Apple 公证。用于用户提出“打包”“打测试包”“打 Win 包”“打 Mac…

    571 GitHub stars~778 tokensUpdated 4 days ago
    Auto-check passed

Categories

Questions about Package Patch Release

What does Package Patch Release do?

为 DeepWrite 桌面端递增一个 SemVer 补丁版本,安全清理上一个版本的测试打包残留,使用项目规定的 pnpm pack:test 命令构建并验证新安装包,按用户要求决定是否创建并发布 GitHub Release;Release 完整可下载后更新根目录 update.json,并通过路径限定提交和推送,保证该提交只包含…. Package Patch Release is an agent skill from swjybky/deepwrite.

When should I use Package Patch Release?

Package Patch Release fits situations like: development work in your project.

How do I install Package Patch Release in Claude Code?

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

How do I install Package Patch Release in Codex?

Run `npx skills add swjybky/deepwrite --skill package-patch-release -a codex`. Or copy the skill folder (.claude/skills/package-patch-release in swjybky/deepwrite) into .agents/skills/package-patch-release in your project. Codex loads it when a task matches its description.

Can I use Package Patch 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 swjybky/deepwrite --skill package-patch-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/package-patch-release, .gemini/skills/package-patch-release, .github/skills/package-patch-release and .opencode/skills/package-patch-release in your project.

What does Package Patch Release need to run?

Going by SKILL.md and its folder, Package Patch Release needs the command-line tools its instructions call (git, pnpm and gh).

Does Package Patch Release access the network?

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

Is Package Patch 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. Review the folder before installing.

What licence does Package Patch Release use?

Package Patch Release is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Package Patch Release use?

About 1.2k tokens (SKILL.md is roughly 4.6k 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 Package Patch Release?

Skills that share tags, products or a category with Package Patch Release: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), Release Clawpatch (openclaw/clawpatch, 813 stars) and Release (cyanfish-x/tellux, 207 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Package Patch Release?

swjybky (a GitHub user) maintains it in swjybky/deepwrite, which has 571 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 4, 2026.

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