Manus에서 모든 스킬 실행
원클릭으로
원클릭으로
원클릭으로 Manus에서 모든 스킬 실행
시작하기$pwd:
$ git log --oneline --stat
stars:29
forks:5
updated:2026년 1월 30일 17:15
SKILL.md
Cut a new release with changelog updates and GitHub Release
Generate release notes from CHANGELOG.md without cutting a release
Preview a release without making changes (dry-run)
| name | release-notes-from-git |
| description | Generate release notes from git history and pull requests |
| allowed-tools | Read, Bash(git log:*), Bash(git describe:*), Bash(gh pr:*), Bash(gh api:*) |
Generate release notes by analyzing git history and pull requests. This is useful when:
git describe --tags --abbrev=0 2>/dev/null || echo "No tags yet"git log $(git describe --tags --abbrev=0 2>/dev/null)..HEAD --pretty=format:"%h %s (%an)" 2>/dev/null | head -50 || echo "No previous tags - showing recent commits" && git log --oneline -20gh pr list --state merged --limit 20 --json number,title,author,mergedAt --jq '.[] | "#\(.number) \(.title) (@\(.author.login))"' 2>/dev/null || echo "gh CLI not available or not authenticated"Generate comprehensive release notes by analyzing git history and pull requests. This complements the changelog-based /release-notes command by working directly from source control.
Present the generated release notes:
═══════════════════════════════════════════════════════════════════
GENERATED RELEASE NOTES
(from git history)
═══════════════════════════════════════════════════════════════════
Based on X commits since vY.Z.A
### Features (feat:)
- Description from commit/PR (#123) - @author
### Bug Fixes (fix:)
- Description from commit/PR (#124) - @author
### Documentation (docs:)
- Description from commit
### Refactoring (refactor:)
- Description from commit
### Other Changes
- Commits that don't follow conventional commits
### Contributors
Thanks to the following contributors:
- @username1
- @username2
═══════════════════════════════════════════════════════════════════
Map conventional commit prefixes to changelog categories:
| Commit Prefix | Changelog Category | Include? |
|---|---|---|
feat: | Added | Yes |
fix: | Fixed | Yes |
docs: | Changed (Documentation) | Yes |
refactor: | Changed | Yes |
perf: | Performance | Yes |
test: | Changed (Testing) | Optional |
chore: | Changed | Depends on impact |
ci: | (skip) | Usually no |
style: | (skip) | Usually no |
After generating notes, identify potential issues:
═══════════════════════════════════════════════════════════════════
QUALITY CHECKS
═══════════════════════════════════════════════════════════════════
⚠ Commits without conventional commit format:
- abc1234 "Update readme"
- def5678 "Fix thing"
⚠ PRs merged without changelog entries:
- #142 "Add new feature" (@contributor)
⚠ Breaking changes detected (look for ! or BREAKING CHANGE):
- feat!: Remove deprecated API endpoint
✓ Large changes that may warrant detailed notes:
- #145 "Refactor authentication system" (12 files changed)
═══════════════════════════════════════════════════════════════════
If CHANGELOG.md exists, compare and report discrepancies:
═══════════════════════════════════════════════════════════════════
CHANGELOG COMPARISON
═══════════════════════════════════════════════════════════════════
Commits WITHOUT corresponding changelog entry:
✗ abc1234 feat: add user preferences (#142)
✗ def5678 fix: memory leak in cache handler
Changelog entries WITHOUT corresponding commit:
? "Added dark mode support" - no matching commit found
Entries that match:
✓ feat: adversarial review mode (#140) → "Adversarial Review Mode"
✓ fix: stale status detection (#141) → "False Positive Stale Detection"
Summary: 2 missing from changelog, 1 orphaned entry, 5 matched
═══════════════════════════════════════════════════════════════════
| Use Case | Command |
|---|---|
| Generate notes from well-maintained CHANGELOG | /release-notes |
| Audit changelog completeness | /release-notes-from-git |
| CHANGELOG is incomplete or missing | /release-notes-from-git |
| Need contributor acknowledgments | /release-notes-from-git |
| Want PR links and numbers | /release-notes-from-git |
| Need specific output format (Slack, Discord) | /release-notes |
gh to be authenticated