بنقرة واحدة
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