一键导入
smaqitrelease-analysis
Collect changes, assess severity, and suggest next version for a release
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Collect changes, assess severity, and suggest next version for a release
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Execute git operations for PR-based releases (commit, push via report_progress)
Validate git state and prepare all files (CHANGELOG.md, version files) for release
End session by documenting the entire conversation. Use at session completion to create history entries.
Start a new chat with full project context. Use when beginning a session to load README, recent history, and task planning.
Generate a succinct title for the current session based on work accomplished. Use when finishing sessions to create history file titles.
Mark a task as completed with verification. Use when finishing tasks to update status and verify criteria.
| name | smaqit.release-analysis |
| description | Collect changes, assess severity, and suggest next version for a release |
| metadata | {"version":"0.3.0"} |
Analyze repository changes since the last release, assess their severity, and suggest the next semantic version.
Use this skill at the start of a release workflow to:
Run git tag --sort=-v:refname to list existing tags in descending version order.
git tag --sort=-v:refname | head -1
If no tags exist, the repository is at version 0.0.0 and the suggested version will be v0.1.0.
Collect changes from three sources:
A. Git commit history:
git log <last-tag>..HEAD --pretty=format:"%s"
If no tags exist:
git log --pretty=format:"%s"
B. File changes analysis: Analyze actual file modifications to supplement commit messages. This is especially important in grafted/shallow repositories where commit history may be incomplete.
# If tags exist:
git diff <last-tag>..HEAD --stat --name-status
# If no tags exist (compare against empty tree):
git diff 4b825dc5c39fd418cd129ae01eb94d5aa75a7d7f..HEAD --stat --name-status
Extract key insights:
C. Session history (if exists):
Read markdown files in .smaqit/history/ directory. These contain documented session work with completed tasks and decisions.
Analyze the collected changes from commit messages, file changes, and session history to determine severity level:
MAJOR (X.0.0) - Breaking changes:
MINOR (0.X.0) - New features, non-breaking changes:
PATCH (0.0.X) - Bug fixes only:
Based on the assessed severity and latest tag, calculate the next semantic version:
Special case: If current version is 0.Y.Z:
Provide a structured summary in YAML format:
changes:
- type: Added
description: "Release agent for automated workflow"
reference: "#123"
- type: Fixed
description: "Bug in version detection"
reference: "#124"
severity: MINOR
latest_tag: v0.2.0
suggested_version: v0.3.0
rationale: "New features added (release agent), no breaking changes detected"
Output fields:
changes: List of changes with type, description, and optional referenceseverity: MAJOR, MINOR, or PATCHlatest_tag: Most recent git tag (or "none" if no tags exist)suggested_version: Next version following semver rulesrationale: Brief explanation of the severity assessment.smaqit/history/) are optional - if they don't exist, rely solely on git log4b825dc5c39fd418cd129ae01eb94d5aa75a7d7f is a Git constant for comparing against an empty state