一键导入
vmemo-release-skill
Prepare a Vmemo release PR with explicit config-change confirmation gates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Prepare a Vmemo release PR with explicit config-change confirmation gates.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Unified Vmemo local development workflow: setup-state check, reset decision, and temporary port conflict handling.
Run the full GitHub PR lifecycle: create, update, assign, and keep PR content in sync with new commits.
Create concise incident postmortems at others/postmortem/YYYY-MM-DD-title.md for non-trivial bugs or issues.
开发时必须遵守 Vmemo 的编码规范与工程约束。
Use when working on Phoenix projects with Tidewave MCP. Prefer Tidewave tools for code discovery, docs lookup, runtime checks, and database verification instead of ad-hoc guessing.
Use this skill when publishing or updating the Vmemo Zeabur template, including pre-publish validation, manual Zeabur console steps, and post-publish link updates.
| name | vmemo-release-skill |
| description | Prepare a Vmemo release PR with explicit config-change confirmation gates. |
Use this skill when the user asks to prepare a release PR for version bump.
Prepare a release PR safely while making config changes explicit before merge.
mix.exs versionmainmix.exs version updatedCHANGELOG.md release section updatedmainRun:
mise trust && mise install
git fetch --tags --prune
git rev-parse --abbrev-ref HEAD
git status --porcelain
Guardrails:
main.Use script:
mix run --no-start .agents/skills/vmemo/release/scripts/resolve_release_version.exs [VERSION]
Rules:
YYYY.M.Patch (month 1..12, patch >=1, no leading zero).YYYY.M.Patch-fix.N (N >= 1, no leading zero), for example 2026.5.18-fix.1.VERSION is provided, validate it against one of the two formats above.Asia/Tokyo current date in YYYY.M.D and show it to user.Use script:
mix run --no-start .agents/skills/vmemo/release/scripts/check_config_changes.exs [BASE_REF] [TARGET_REF]
Defaults:
BASE_REF: latest release tag matching YYYY.M.Patch or YYYY.M.Patch-fix.N; fallback origin/main, then origin/master.TARGET_REF: HEAD.Required behavior:
mix.exs versionmix.exs project version to the resolved release version.project/0 version field in mix.exs.CHANGELOG.md for the release section ## [Vmemo - <VERSION>] - <YYYY-MM-DD>.Example check:
mix run --no-start -e 'IO.puts(Mix.Project.config()[:version])'
rg -n 'version:\s*"' mix.exs
rg -n '^## \[Vmemo - ' CHANGELOG.md
git diff -- mix.exs CHANGELOG.md
Consistency gate (must pass before PR):
VERSION="$(grep -Eo 'version:\s*"[0-9]{4}\.[0-9]{1,2}\.[0-9]+(-fix\.[1-9][0-9]*)?"' mix.exs | head -n1 | sed -E 's/.*"([0-9]{4}\.[0-9]{1,2}\.[0-9]+(-fix\.[1-9][0-9]*)?)".*/\1/')"
RELEASE_LINE="$(grep -E '^## \[Vmemo - [0-9]{4}\.[0-9]{1,2}\.[0-9]+(-fix\.[1-9][0-9]*)?\] - [0-9]{4}-[0-9]{2}-[0-9]{2}$' CHANGELOG.md | head -n1)"
echo "mix.exs version: ${VERSION}"
echo "changelog line: ${RELEASE_LINE}"
echo "${RELEASE_LINE}" | grep -q "Vmemo - ${VERSION}] - " || (echo "Version mismatch between mix.exs and CHANGELOG.md" && exit 1)
mainmix.exs version, create a dedicated release PR targeting main.release/<VERSION>).<VERSION>.Typical commands:
git switch -c release/<VERSION>
git add mix.exs CHANGELOG.md
git commit -m "chore(release): 发布 <VERSION>"
git push -u origin release/<VERSION>
gh pr create --base main --title "chore(release): 发布 <VERSION>" --body-file <PR_BODY_FILE>
Required behavior:
Return:
mix.exs version was updated to <VERSION>main) and merge statusmix.exs version when running this release workflow.CHANGELOG.md (English entries).main after version bump.git, gh, mix) are missing, report and stop.CHANGELOG.mddocs/guides/development/setup.md