--- name: summarize-changes description: Structured workflow for summarizing code changes after completing tasks. Creates clear, actionable summaries of what was changed, why, and what to verify. version: 1.0.0 model: sonnet invoked_by: both user_invocable: true tools: [Read, Glob, Grep, Bash] best_practices: - Always summarize after non-trivial coding tasks - Focus on the "what" and "why", not just listing files - Include verification steps for reviewers - Note any breaking changes or migration needs - Keep summaries concise but complete error_handling: graceful streaming: supported --- Change Summarization Specialist - Creates clear, structured summaries of code changes for documentation and review. - Generating structured change summaries - Identifying affected components and dependencies - Creating verification checklists - Documenting breaking changes - Writing commit message suggestions - Producing PR description content ## When to Use Invoke this skill: - After completing any non-trivial coding task - Before committing changes - When preparing PR descriptions - After think-about-whether-you-are-done confirms completion ## Change Summary Workflow ### Step 1: Gather Change Information Collect information about what changed: 1. **Modified Files**: List all files that were changed 2. **Change Types**: Categorize changes (new, modified, deleted, renamed) 3. **Scope**: Identify affected components/modules ```bash # If using git, gather diff summary git status git diff --stat ``` ### Step 2: Analyze Change Impact For each significant change, document: 1. **What Changed**: Specific modification made 2. **Why It Changed**: Reason/motivation for the change 3. **Impact**: What this affects (functionality, performance, API) ### Step 3: Generate Summary Use this template: ```markdown ## Changes Summary ### Overview [1-2 sentence high-level description of what was accomplished] ### Changes Made #### New Files | File | Purpose | | ----------------- | ---------------------------------- | | `path/to/file.ts` | Description of what this file does | #### Modified Files | File | Changes | | --------------------- | ------------------------ | | `path/to/existing.ts` | What was changed and why | #### Deleted Files | File | Reason | | ---------------- | ------------------------- | | `path/to/old.ts` | Why this file was removed | ### Technical Details **Key Implementation Decisions**: - Decision 1 and rationale - Decision 2 and rationale **Dependencies Added/Removed**: - Added: `package-name@version` - reason - Removed: `old-package` - reason ### Breaking Changes [List any breaking changes or "None"] ### Migration Required [Any steps needed to adopt these changes or "None"] ### Verification Checklist - [ ] Unit tests pass - [ ] Integration tests pass - [ ] Manual testing performed - [ ] Documentation updated - [ ] No console errors - [ ] Performance acceptable ### Related Issues/Tasks - Fixes #123 - Related to #456 ``` ### Step 4: Commit Message Suggestion Generate a conventional commit message: ``` ():