Analyze test coverage and identify gaps with actionable recommendations
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Reviews git history and updates CHANGELOG.md with entries for [Unreleased] section (converted from agent)
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
When invoked, perform the following changelog management tasks: analyze git history and update CHANGELOG.md with well-written entries for the [Unreleased] section following the Keep a Changelog format.
No external skills are required. This skill operates independently.
Execute these steps in order:
Look for CHANGELOG.md in the repository root:
ls -la CHANGELOG.md
If not found, check common locations or prompt the user:
docs/CHANGELOG.mdCHANGES.mdRead the changelog and identify:
## [0.2.0])## [Unreleased]If no CHANGELOG.md exists, ask the user if they want one created.
Path filter note: If a path filter is provided in the prompt (e.g., -- agent-alchemy/sdd/), append it to all git log commands in this step to scope results to that sub-project.
Find the tag for the last release:
git tag --list 'v*' --sort=-version:refname | head -5
Get commits with extended format including body (for breaking change notices):
git log v{version}..HEAD --format="%H|%s|%b" --no-merges [path_filter]
If no tags exist, get recent commits with warning:
git log --format="%H|%s|%b" --no-merges -50 [path_filter]
Extract PR/issue references for later enrichment:
git log v{version}..HEAD --no-merges --oneline [path_filter] | grep -oE '#[0-9]+' | sort -u
For more context on specific commits, use:
git show --stat {commit_sha}
Purpose: Understand scope and impact of changes.
Get files changed with status (A=Added, M=Modified, D=Deleted, R=Renamed):
git diff v{version}..HEAD --name-status [path_filter]
Get summary by directory:
git diff v{version}..HEAD --dirstat [path_filter]
Categorize files by area:
| Path Pattern | Category | Changelog Relevance |
|---|---|---|
src/, lib/ | Core code | High |
tests/, __tests__/ | Tests | Low (skip) |
docs/, *.md | Documentation | Medium |
Root configs (*.json, *.toml) | Configuration | High |
.github/, CI files | CI/CD | Low (skip) |
Flag cross-cutting changes: If 5+ directories affected, note "wide-ranging changes" in summary.
Purpose: Detect API changes and breaking changes.
Detect new public interfaces:
# Python: new functions/classes (public only, skip underscore-prefixed)
git diff v{version}..HEAD -- "*.py" | grep -E "^\+\s*(def |class )" | grep -v "_"
# JS/TS: new exports
git diff v{version}..HEAD -- "*.ts" "*.js" | grep -E "^\+.*export"
Detect removed interfaces (BREAKING):
# Python
git diff v{version}..HEAD -- "*.py" | grep -E "^-\s*(def |class )" | grep -v "_"
# JS/TS
git diff v{version}..HEAD -- "*.ts" "*.js" | grep -E "^-.*export"
Detect dependency changes:
git diff v{version}..HEAD -- pyproject.toml package.json requirements*.txt
Track findings internally:
new_apis[] - new public functions/classesremoved_apis[] - BREAKINGmodified_apis[] - potentially breakingdependency_changes[]Purpose: Get richer context from PRs and issues.
Check gh CLI availability:
which gh && gh auth status 2>/dev/null
If gh is available, fetch PR context for each PR number found:
gh pr view {number} --json title,body,labels,files
Fallback: If gh unavailable, continue with git data only (log this to user).
Extract from PR data:
breaking-change, bug, feature, security)Primary: Use conventional commit prefixes:
| Prefix | Category | Include in Changelog |
|---|---|---|
feat: | Added | Yes |
fix: | Fixed | Yes |
refactor: | Changed | Yes (if user-facing) |
change: | Changed | Yes |
perf: | Changed | Yes |
security: | Security | Yes |
deprecate: | Deprecated | Yes |
remove: | Removed | Yes |
docs: | - | No (internal) |
chore: | - | No (internal) |
test: | - | No (internal) |
ci: | - | No (internal) |
style: | - | No (internal) |
build: | - | No (internal) |
Secondary signals (override/augment when detected):
| Signal | Category | Priority |
|---|---|---|
| Removed export detected | Removed + BREAKING | High |
PR label breaking-change | Add BREAKING flag | High |
PR label security | Security | High |
| New export detected | Added | Medium |
For commits without conventional prefixes, use diff analysis results to determine the appropriate category.
Entry sources (priority order):
Entry Format:
Add support for (authentication)Breaking change format:
### Removed
- **BREAKING**: Remove deprecated `oldFunction` (use `newFunction` instead)
Group related changes when multiple commits touch same feature (>50% file overlap).
Show summary stats:
Analyzed N commits since vX.Y.Z:
- Files changed: X (Y core, Z tests)
- New APIs detected: X
- Removed APIs detected: X (BREAKING)
- PR context enriched: X of Y
Prominent breaking changes section (if any detected):
BREAKING CHANGES DETECTED:
- Removed `oldFunction` from module.py
- Changed signature of `processData()`
Show the user:
Prompt the user:
Based on {N} commits since v{version}, I suggest these changelog entries:
### Added
- Entry 1
- Entry 2
### Fixed
- Entry 3
### Changed
- Entry 4
Would you like to:
Options:
Once approved, update CHANGELOG.md:
[Unreleased]Category Order (per Keep a Changelog):
Sub-project headings: When a scope is provided in the prompt, place entries under a sub-project heading within [Unreleased]:
## [Unreleased]
### sdd
#### Added
- New entry scoped to sdd
### agent-alchemy-tools
#### Fixed
- Fix scoped to agent-alchemy-tools
Use ### for sub-project names and #### for categories within them. If no scope is provided (default behavior), use ### for categories directly as usual.
| Scenario | Handling |
|---|---|
| No commits since release | Report "No new commits found since {version}" and exit gracefully |
| No tags exist | Use last 50 commits with warning to user |
| gh CLI unavailable | Skip PR enrichment, proceed with git data only |
| PR not found | Continue without that PR's context |
| Massive refactor (100+ files) | Warn about scope, suggest grouping entries |
| No conventional prefix | Use diff analysis for categorization |
| Merge commits in history | Skip merge commits (use --no-merges) |
| Commits already in changelog | Compare and skip duplicates |
| Squash-merged PRs | Treat as single entry, check PR for details |
Auto-flag as BREAKING:
Flag for review (ask user):
**BREAKING**: prefixThis skill requires the ability to read files, edit files, search for files and content, and execute shell commands (for git operations and gh CLI). It modifies CHANGELOG.md as its primary output.
This skill was converted from the changelog-manager agent in the dev-tools plugin package. It is typically delegated to by the release skill during Step 5 (Changelog Update Check). It can also be invoked independently to update the changelog at any time.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Analyze test coverage and identify gaps with actionable recommendations
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Analyze an existing spec for inconsistencies, missing information, ambiguities, and structure issues. Use when user says "analyze spec", "review spec", "spec quality check", "validate requirements", "audit spec", or "check spec quality".
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Provides architectural pattern knowledge for designing feature implementations including MVC, event-driven, microservices, and CQRS patterns. Use when designing system architecture or choosing implementation patterns.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Executes diagnostic investigation tasks to test debugging hypotheses. Runs tests, traces execution, checks git history, and reports evidence. (converted from agent)
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Systematic, hypothesis-driven debugging workflow with triage-based track routing. Use when asked to "fix this bug", "debug this", "why is this failing", "this is broken", "investigate this error", "track down this issue", or any debugging situation. Supports --deep flag to force full investigation.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Systematic, hypothesis-driven debugging workflow with triage-based track routing. Use for debugging, fixing bugs, and investigating errors.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.