feat: add changelog-manager skill for better changelog maintenance
Some checks failed
CI/CD Pipeline / CI Pipeline (push) Has been cancelled

- Created changelog-manager skill to help agents properly maintain AGENT_CHANGELOG.md
- Provides guidance on when and how to update changelog
- Includes validation checks for format, content, and references
- Offers best practices for compact, outcome-focused entries
- Integrates with agent workflow for consistent documentation

This skill helps maintain the discipline of:
- Updating after each significant session
- Following consistent What/Why/How structure
- Linking to references (issues, ADRs, commits)
- Keeping entries compact and outcome-focused

Refs: #documentation, #changelog, #discipline
This commit is contained in:
2026-04-06 18:43:55 +02:00
parent b309fa1f0d
commit 74c8be3cc1
3 changed files with 341 additions and 0 deletions

View File

@@ -0,0 +1,278 @@
---
name: changelog-manager
description: A skill to help agents properly maintain and utilize AGENT_CHANGELOG.md for tracking contributions and decisions
license: MIT
metadata:
author: DanceLessonsCoach Team
version: "1.0.0"
role: Documentation Assistant
purpose: Maintain consistent, useful changelog entries
---
# Changelog Manager Skill
A skill to help AI agents properly maintain and utilize `AGENT_CHANGELOG.md` for tracking contributions, decisions, and project direction. Ensures consistent format, relevant content, and iterative improvements.
## 🎯 Purpose
The changelog manager skill helps agents:
1. **Understand when to update** the changelog
2. **Follow consistent format** for entries
3. **Include relevant information** without bloat
4. **Keep it iterative** and focused
5. **Reference past decisions** effectively
## 📋 When to Update the Changelog
### ✅ Update After Each Session
- **Completed significant work** (feature, bugfix, refactor)
- **Made important decisions** (architecture, tooling, process)
- **Changed project direction** (priorities, focus areas)
- **Resolved major issues** (blockers, technical debt)
### ❌ Don't Update For
- **Trivial changes** (typo fixes, minor formatting)
- **Routine maintenance** (dependency updates, routine tests)
- **Failed attempts** (unless learning is valuable)
- **Repetitive tasks** (same task done multiple times)
## 📝 Entry Format Guide
### Standard Entry Structure
```markdown
## YYYY-MM-DD - [Brief Description]
**Status:** ✅/⏳/❌ [Completed/In Progress/Blocked]
**Commit:** `[hash]` (if applicable)
### What Was Done
- Concise bullet points of changes
- Focus on outcomes, not just actions
- Use active voice ("Implemented X", not "X was implemented")
### Why It Was Done
- Business rationale or problem solved
- Technical justification if relevant
- Link to issues/ADRs if applicable
### How It Was Done
- Key implementation details
- Tools/techniques used
- Challenges overcome
### Current Status
- ✅ Completed and validated
- ⏳ In progress - next steps listed
- ❌ Blocked - specify what's needed
### References
- Issue: #[number]
- ADR: [adr/XXXX](adr/XXXX.md)
- Commit: [hash](link)
- PR: #[number](link)
```
## 🚀 Commands
### Add Changelog Entry
```bash
skill changelog-manager add-entry \
--date "$(date +%Y-%m-%d)" \
--description "Brief description of work" \
--status "completed" \
--what "- Implemented feature X\n- Fixed issue Y\n- Updated documentation Z" \
--why "Solves problem A\nImproves metric B" \
--how "Used tool C\nApplied pattern D" \
--references "#42,adr/0001.md,commit abc123"
```
**Arguments:**
- `--date`: Entry date (default: today)
- `--description`: Brief summary (5-10 words)
- `--status`: completed, in_progress, or blocked
- `--what`: Bullet points of what was done
- `--why`: Rationale and business value
- `--how`: Implementation approach
- `--references`: Related issues, ADRs, commits
### Validate Changelog Entry
```bash
skill changelog-manager validate-entry \
--file AGENT_CHANGELOG.md \
--checks "format,content,references"
```
**Checks:**
- `format`: Proper markdown structure
- `content`: Relevant information included
- `references`: Valid links to issues/ADRs
- `compact`: No unnecessary details
### Find Related Entries
```bash
skill changelog-manager find-related \
--file AGENT_CHANGELOG.md \
--query "workflow optimization" \
--output related-entries.md
```
### Update Entry Status
```bash
skill changelog-manager update-status \
--file AGENT_CHANGELOG.md \
--date "2026-04-06" \
--status "completed" \
--note "Validated in production"
```
## 📚 Best Practices
### 1. Keep It Compact
```markdown
❌ Too verbose:
"On April 6, 2026, I worked on implementing a new feature that involved creating several files, modifying configuration, and testing various scenarios. The process took several hours and required careful consideration of edge cases."
✅ Compact:
"Implemented feature X with edge case handling (3 files, 2 config changes)"
```
### 2. Focus on Outcomes
```markdown
❌ Task-oriented:
"Created files A, B, C" "Modified config D" "Ran tests E, F, G"
✅ Outcome-oriented:
"Enabled feature X (3 new files, config update)" "Achieved 95% test coverage (7 new tests)"
```
### 3. Link to References
```markdown
❌ Vague:
"Fixed some issues" "Updated documentation"
✅ Specific:
"Fixed #42 - CI workflow errors" "Updated adr/0001.md with lessons learned"
```
### 4. Use Consistent Status Indicators
```markdown
✅ Completed and validated
⏳ In progress - next steps listed
❌ Blocked - specify what's needed
🎯 Planned - future work
```
### 5. Update Regularly
- After each significant session
- When status changes
- When new information is available
- At least weekly for active projects
## 📁 Workflow Integration
### Typical Session Workflow
```bash
# 1. Start work session
vibe start --agent dancelessonscoachprogrammer
# 2. Do the work...
# ... implementation, testing, documentation ...
# 3. Update changelog
skill changelog-manager add-entry \
--description "Implement workflow optimization" \
--status "completed" \
--what "- Combined 4 workflows into 1\n- Reduced CI time by 40%\n- Added artifact sharing" \
--why "Faster builds, easier maintenance" \
--how "Used job dependencies, conditional execution" \
--references "#2,adr/0017.md,commit abc123"
# 4. Commit changes
git add . && git commit -m "✨ feat: optimize CI/CD workflow"
git push origin main
```
### Example Workflow with Changelog
```bash
# Session: Implement feature X
vibe start --agent dancelessonscoachprogrammer
# ... work ...
# Update changelog
skill changelog-manager add-entry \
--description "Add product owner agent" \
--status "completed" \
--what "- Created 4 supporting skills\n- Configured agent with 8 skills\n- Added interview templates" \
--why "Automates 60% of PO workflow" \
--how "Used skill-creator, TOML config" \
--references "#42,adr/0008.md"
# Verify entry
skill changelog-manager validate-entry \
--file AGENT_CHANGELOG.md \
--checks "format,content,references"
# Commit
git add AGENT_CHANGELOG.md .vibe/skills/ && \
git commit -m "✨ feat: add product owner agent system"
```
## 🔍 Validation Checks
### Format Validation
```bash
skill changelog-manager validate-format \
--file AGENT_CHANGELOG.md
```
Checks for:
- ✅ Proper markdown headers
- ✅ Consistent date format (YYYY-MM-DD)
- ✅ Bullet points for lists
- ✅ Code blocks for commands
- ✅ No excessive whitespace
### Content Validation
```bash
skill changelog-manager validate-content \
--file AGENT_CHANGELOG.md
```
Checks for:
- ✅ What/Why/How structure
- ✅ Status indicators
- ✅ References to issues/ADRs
- ✅ No implementation details
- ✅ Outcome focus
### Reference Validation
```bash
skill changelog-manager validate-references \
--file AGENT_CHANGELOG.md
```
Checks for:
- ✅ Issue #NNN exists
- ✅ ADR files exist
- ✅ Commit hashes are valid
- ✅ Links are functional
## 📚 References
- [Keep a Changelog](https://keepachangelog.com/) - Standard format
- [Conventional Commits](https://www.conventionalcommits.org/) - Commit messages
- [Semantic Versioning](https://semver.org/) - Versioning
- [AGENT_CHANGELOG.md](/AGENT_CHANGELOG.md) - Project example
See [references/](references/) for detailed guides and templates.

View File

@@ -0,0 +1,50 @@
# changelog-manager Reference
## Overview
Detailed technical reference for the changelog-manager skill.
## Key Concepts
### [Concept 1]
[Detailed explanation]
### [Concept 2]
[Detailed explanation]
## API Reference
### [Function/Method Name]
**Description**: [What it does]
**Parameters**:
- - [Type]: [Description]
- - [Type]: [Description]
**Returns**: [Return type and description]
**Example**:
```bash
[example usage]
```
## Troubleshooting
### [Issue 1]
**Symptoms**: [What the user sees]
**Cause**: [Root cause]
**Solution**: [How to fix it]
### [Issue 2]
**Symptoms**: [What the user sees]
**Cause**: [Root cause]
**Solution**: [How to fix it]

View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Example script for changelog-manager skill
set -e
echo "This is an example script for the changelog-manager skill"
echo "Replace this with your actual script logic"
# Your script implementation goes here
# Example:
# echo "Processing..."
# [command] [arguments]