一键导入
changelog-manager
Create and update CHANGELOG.md with entries that include AI model/CLI attribution, PRD context, and task references.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create and update CHANGELOG.md with entries that include AI model/CLI attribution, PRD context, and task references.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Argue against proposed actions to test judgment quality. Not "is the code correct" but "should we be doing this at all?" Aligned with robustness, not performance.
Orchestrate Claude Code agent teams for parallel multi-agent collaboration
Learn and integrate new APIs, creating permanent skills for external service access.
Create and update CHANGELOG.md with entries that include AI model/CLI attribution, PRD context, and task references.
Audit decisions for judgment quality, compliance bias, and manipulation vulnerability. Inspired by Anthropic's Project Vend Phase 2 finding that helpfulness training creates exploitable attack surface.
Extract visual style from reference UI screenshot and codify into reusable design system.
| name | changelog-manager |
| description | Create and update CHANGELOG.md with entries that include AI model/CLI attribution, PRD context, and task references. |
| category | quality |
Maintain a comprehensive CHANGELOG.md that tracks all changes with attribution to the AI model/CLI that made them, linked to PRDs and tasks when applicable.
CHANGELOG.md at repository rootDetect AI Model/CLI
# Auto-detect which AI is running
# Gemini CLI: Check for CLAUDE_CODE_VERSION env var or .claude directory
# Gemini: Check for .gemini directory
# Codex: Check for .codex directory
# Default: "AI Assistant"
if [[ -d ".claude" ]] || [[ -n "$CLAUDE_CODE_VERSION" ]]; then
AI_SYSTEM="Gemini CLI"
elif [[ -d ".gemini" ]]; then
AI_SYSTEM="Gemini CLI"
elif [[ -d ".codex" ]]; then
AI_SYSTEM="Codex"
else
AI_SYSTEM="AI Assistant"
fi
Check if CHANGELOG.md exists
if [[ ! -f CHANGELOG.md ]]; then
echo "CHANGELOG.md not found. Creating..."
# Initialize new changelog (see template below)
fi
Gather Entry Details
Ask the user:
What type of change is this?
a) Added (new feature)
b) Fixed (bug fix)
c) Changed (refactor, improvement)
d) Deprecated (feature marked for removal)
e) Removed (feature removed)
f) Security (security fix)
g) Documentation (docs only)
Gather Context
Ask the user:
Related to a PRD? (optional)
- If yes: path to PRD file (e.g., tasks/0001-prd-feature.md)
Related to a task? (optional)
- If yes: task reference (e.g., Task 1.2 from tasks-0001-prd-feature.md)
Related to a PR? (optional)
- If yes: PR number
Capture Description
Prompt:
Describe the change in one line:
(e.g., "User profile editing with avatar upload")
Generate Entry
Format:
- [Description] ([AI System], YYYY-MM-DD)
- **Context:** [PRD link] | Task [reference] | PR #[number]
If no context:
- [Description] ([AI System], YYYY-MM-DD)
Parse Existing Changelog
[Unreleased] sectionInsert Entry
# Insert under appropriate category in [Unreleased]
# Maintain chronological order (newest first)
Validate Format
Commit Changes
# Verify CHANGELOG.md exists and was modified
[[ -f CHANGELOG.md ]] || {
echo "❌ Error: CHANGELOG.md not found"
exit 1
}
# Check if file was actually modified
git diff CHANGELOG.md | grep -q . || {
echo "⚠️ Warning: CHANGELOG.md not modified. Entry may already exist."
echo "Skipping commit."
exit 0
}
# Stage the changelog
git add CHANGELOG.md || {
echo "❌ Error: Failed to stage CHANGELOG.md"
exit 1
}
# Commit with error handling
git commit -m "docs(changelog): add entry for [description]
Added by $AI_SYSTEM
" || {
echo "❌ Error: git commit failed"
echo "This may be due to:"
echo " - Pre-commit hooks failing"
echo " - No git user configured"
echo " - Repository in bad state"
git status
exit 1
}
# Verify commit succeeded
git log -1 --oneline | grep -q "docs(changelog)" || {
echo "❌ Error: Commit verification failed"
exit 1
}
echo "✅ CHANGELOG.md updated and committed successfully"
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
with enhanced attribution to track which AI model/CLI made each change.
## [Unreleased]
### Added
### Fixed
### Changed
### Deprecated
### Removed
### Security
---
## Format Notes
Each entry includes:
- **Description** - What was changed
- **Attribution** - Which AI model/CLI made the change (Gemini CLI, Gemini CLI, etc.)
- **Date** - When the change was made (YYYY-MM-DD)
- **Context** (optional) - Links to PRD, task reference, or PR number
Example:
---
*Changelog initialized YYYY-MM-DD*
### Added
- Real-time notifications via WebSocket (Gemini CLI, 2025-01-16)
- **Context:** [PRD](tasks/0003-prd-notifications.md) | Task 2.1 | PR #45
- **Details:** Implemented server-sent events with fallback to polling
### Fixed
- Login session timeout on mobile (Gemini CLI, 2025-01-15)
- **Context:** [PRD](tasks/0001-prd-auth.md)
### Changed
- Refactored database connection pooling (Gemini CLI, 2025-01-14)
- **Context:** Task 3.4 from [tasks-0005-prd-performance.md](tasks/tasks-0005-prd-performance.md)
### Security
- Patched XSS vulnerability in message rendering (Gemini CLI, 2025-01-13)
- **Context:** PR #49
### Documentation
- Updated API documentation (Codex, 2025-01-12)
For updating changelog from multiple PRs or commits:
Scan Git History
# Get commits since last changelog update
git log --oneline --since="$(git log -1 --format=%ai CHANGELOG.md)" --no-merges
Parse Each Commit
Generate Entries
Present for Review
When releasing a new version:
Move [Unreleased] to Version Section
## [1.2.0] - 2025-01-16
### Added
[All entries from Unreleased/Added]
### Fixed
[All entries from Unreleased/Fixed]
...
## [1.1.0] - 2025-01-10
...
Reset [Unreleased]
## [Unreleased]
### Added
### Fixed
### Changed
### Deprecated
### Removed
### Security
Commit
git add CHANGELOG.md
git commit -m "docs(changelog): release v1.2.0"
git tag v1.2.0
The pr-review-loop skill automatically calls this skill after merging:
# After PR merge:
changelog-manager \
--type "Added" \
--description "Feature from PR title" \
--pr 123 \
--auto
This adds an entry without user prompting.
reference.md for format examples