agentleFS
vekzz-devvekzz-dev/opencode-skills/skills/changelog-maintenance/SKILL.md

changelog-maintenance

Skill4 starsChanged 40 days agoMITView on GitHub

Organize and document software releases with semantic versioning and standardized changelog formats. Trigger: When user asks to update changelog, create release notes, or prepare a release.

  • Sends data out
  • Commits and pushes

3 other projects use a version of this, 3 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. 2 are common, 1 is distinctive, and 0 are very specific to this project.

  • 2

    Common

    Most of the 3 edited versions we read keep these.

  • 1

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Before release: organize changes before shipping a version

    line 14
  2. Common:

    No copying Git logs: write from the user's perspective

    line 293
  3. Common:

    Keep a Changelog: follow the standard format

    line 298

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

When to Use

  • Before release: organize changes before shipping a version
  • Continuous: update whenever significant changes occur
  • Migration guide: document breaking changes

Instructions

Step 1: Keep a Changelog format

CHANGELOG.md:

# 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/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- New user profile customization options
- Dark mode support

### Changed
- Improved performance of search feature

### Fixed
- Bug in password reset email

## [1.2.0] - 2025-01-15

### Added
- Two-factor authentication (2FA)
- Export user data feature (GDPR compliance)
- API rate limiting
- Webhook support for order events

### Changed
- Updated UI design for dashboard
- Improved email templates
- Database query optimization (40% faster)

### Deprecated
- `GET /api/v1/users/list` (use `GET /api/v2/users` instead)

### Removed
- Legacy authentication method (Basic Auth)

### Fixed
- Memory leak in background job processor
- CORS issue with Safari browser
- Timezone bug in date picker

### Security
- Updated dependencies (fixes CVE-2024-12345)
- Implemented CSRF protection
- Added helmet.js security headers

## [1.1.2] - 2025-01-08

### Fixed
- Critical bug in payment processing
- Session timeout issue

## [1.1.0] - 2024-12-20

### Added
- User profile pictures
- Email notifications
- Search functionality

### Changed
- Redesigned login page
- Improved mobile responsiveness

## [1.0.0] - 2024-12-01

Initial release

### Added
- User registration and authentication
- Basic profile management
- Product catalog
- Shopping cart
- Order management

[Unreleased]: https://github.com/username/repo/compare/v1.2.0...HEAD
[1.2.0]: https://github.com/username/repo/compare/v1.1.2...v1.2.0
[1.1.2]: https://github.com/username/repo/compare/v1.1.0...v1.1.2
[1.1.0]: https://github.com/username/repo/compare/v1.0.0...v1.1.0
[1.0.0]: https://github.com/username/repo/releases/tag/v1.0.0

Step 2: Semantic Versioning

Version number: MAJOR.MINOR.PATCH

Given a version number MAJOR.MINOR.PATCH, increment:

MAJOR (1.0.0 → 2.0.0): Breaking changes
  - API changes break existing code
  - Example: adding required parameters, changing response structure

MINOR (1.1.0 → 1.2.0): Backward-compatible features
  - Add new features
  - Existing functionality continues to work
  - Example: new API endpoints, optional parameters

PATCH (1.1.1 → 1.1.2): Backward-compatible bug fixes
  - Bug fixes
  - Security patches
  - Example: fixing memory leaks, fixing typos

Examples:

  • 1.0.0 → 1.0.1: bug fix
  • 1.0.1 → 1.1.0: new feature
  • 1.1.0 → 2.0.0: Breaking change

Step 3: Release Notes (user-friendly)

# Release Notes v1.2.0
**Released**: January 15, 2025

## 🎉 What's New

### Two-Factor Authentication
You can now enable 2FA for enhanced security. Go to Settings > Security to set it up.

### Export Your Data
We've added the ability to export all your data in JSON format. Perfect for backing up or migrating your account.

## ✨ Improvements

- **Faster Search**: Search is now 40% faster thanks to database optimizations
- **Better Emails**: Redesigned email templates for a cleaner look
- **Dashboard Refresh**: Updated UI with modern design

## 🐛 Bug Fixes

- Fixed a bug where password reset emails weren't being sent
- Resolved timezone issues in the date picker
- Fixed memory leak in background jobs

## ⚠️ Breaking Changes

If you're using our API:

- **Removed**: Basic Authentication is no longer supported
  - **Migration**: Use JWT tokens instead

- **Deprecated**: `GET /api/v1/users/list`
  - **Migration**: Use `GET /api/v2/users` with pagination

## 🔒 Security

- Updated all dependencies to latest versions
- Added CSRF protection to all forms
- Implemented security headers with helmet.js

## 📝 Full Changelog

See [CHANGELOG.md](CHANGELOG.md) for complete details.

Step 4: Breaking Changes migration guide

# Migration Guide: v1.x to v2.0

## Breaking Changes

### 1. Authentication Method Changed

**Before** (v1.x):
```javascript
fetch('/api/users', {
  headers: {
    'Authorization': 'Basic ' + btoa(username + ':' + password)
  }
});

After (v2.0):

// 1. Get JWT token
const { accessToken } = await fetch('/api/auth/login', {
  method: 'POST',
  body: JSON.stringify({ email, password })
}).then(r => r.json());

// 2. Use token
fetch('/api/users', {
  headers: {
    'Authorization': 'Bearer ' + accessToken
  }
});

2. User List API Response Format

Before (v1.x):

{
  "users": [...]
}

After (v2.0):

{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 100
  }
}

Migration:

// v1.x
const users = response.users;

// v2.0
const users = response.data;

Deprecation Timeline

  • v2.0 (Jan 2025): Basic Auth marked as deprecated
  • v2.1 (Feb 2025): Warning logs for Basic Auth usage
  • v2.2 (Mar 2025): Basic Auth removed

## Commands

```bash
# Check current version
cat package.json | grep '"version"'

# Check git tags
git tag -l

# Create new tag
git tag -a v1.2.0 -m "Release v1.2.0"

# Push tag
git push origin v1.2.0

# Generate changelog from git log
git log --pretty=format:"- %s" v1.1.0..HEAD

Output format

CHANGELOG.md              # Developer-facing detailed log
RELEASES.md               # User-facing release notes
docs/migration/
  ├── v1-to-v2.md         # Migration guide
  └── v2-to-v3.md

Constraints

Required rules (MUST)

  1. Reverse chronological: latest version at the top
  2. Include dates: ISO 8601 format (YYYY-MM-DD)
  3. Categorize entries: Added, Changed, Fixed, etc.

Prohibited items (MUST NOT)

  1. No copying Git logs: write from the user's perspective
  2. Vague wording: "Bug fixes", "Performance improvements" (be specific)

Best practices

  1. Keep a Changelog: follow the standard format
  2. Semantic Versioning: consistent version management
  3. Breaking Changes: provide a migration guide

Resources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.