一键导入
release
Create a PHOTON Action Memory release branch, version bump, changelog update, tag, and GitHub Release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create a PHOTON Action Memory release branch, version bump, changelog update, tag, and GitHub Release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Plan and run Codex issue orchestration through CommandMate and git worktrees.
Safely remove merged or obsolete git worktrees for this repository
Create a develop-targeted pull request for the current issue worktree.
Implement one assigned issue in a dedicated git worktree.
Generate and record UAT checks, including manual GUI or real-device steps.
基于 SOC 职业分类
| name | release |
| description | Create a PHOTON Action Memory release branch, version bump, changelog update, tag, and GitHub Release. |
Use this skill when the user invokes:
/release patch/release minor/release major/release <version>This repository releases from main. Normal feature work may flow through
develop, but release tags must point at code already merged to main or at a
release PR merged into main.
main..env, local databases, workspace run artifacts, and raw logs out of release commits.Run from the main integration worktree or a clean release worktree:
git branch --show-current
git status --short
git fetch origin main --tags
If the current branch is not main, verify that a main worktree exists:
git worktree list
Use main as the release branch base.
Read the current version from both places and confirm they match:
python - <<'PY'
import re
from pathlib import Path
pyproject = Path("pyproject.toml").read_text()
init = Path("photon_action_memory/__init__.py").read_text()
print(re.search(r'^version = "([^"]+)"', pyproject, re.M).group(1))
print(re.search(r'__version__ = "([^"]+)"', init).group(1))
PY
Calculate the next version:
patch: increment PATCH.minor: increment MINOR and reset PATCH to 0.major: increment MAJOR and reset MINOR/PATCH to 0.X.Y.Z.Reject non-SemVer versions.
git rev-parse "v$new_version"
git ls-remote --tags origin "v$new_version"
If either command finds an existing tag, stop and report the collision.
WORKTREE_DIR="../photon-action-memory-release-v$new_version"
git worktree add -b "release/v$new_version" "$WORKTREE_DIR" origin/main
In the release worktree:
pyproject.toml project version.photon_action_memory/__init__.py __version__.CHANGELOG.md:
[Unreleased] entries under [X.Y.Z] - YYYY-MM-DD;[Unreleased] section;Run:
ruff format --check .
ruff check .
mypy photon_action_memory tests
pytest -q
python -m build
If a check fails, fix it in the release worktree or stop with the failure.
git add pyproject.toml photon_action_memory/__init__.py CHANGELOG.md README.md
git commit -m "chore: release v$new_version"
git push -u origin "release/v$new_version"
Create a PR to main with:
chore: release v$new_versionPrefer the GitHub connector for PR creation. Use gh pr create only when the
connector cannot create the PR and gh is authenticated.
After the user confirms the release PR was merged:
git fetch origin main --tags
git checkout main
git pull --ff-only origin main
git tag "v$new_version"
git push origin "v$new_version"
The tag push triggers .github/workflows/release.yml, which builds Python
distributions with python -m build and attaches dist/* to a GitHub Release.
Only after tag push and release workflow success:
git worktree remove "../photon-action-memory-release-v$new_version"
git branch -d "release/v$new_version"
git push origin --delete "release/v$new_version"
Use only non-forced deletion by default.
Confirm:
git tag -l "v$new_version"
gh release view "v$new_version"
gh run list --limit 3
If gh is unavailable or unauthenticated, use the GitHub connector or report
that local release verification could not be completed.