| name | changelog |
| description | Write or update CHANGELOG.md entries following the project's established style. Use when adding features, fixing bugs, or making any changes that need changelog documentation. Trigger on "/changelog" or when the user asks to update the changelog. |
Changelog Skill
Write concise, user-facing changelog entries that match the project's existing style.
When to Use
- User asks to update the changelog
- After implementing a feature or fix that should be documented
- User says "/changelog"
Rules
- Add to the CURRENT dev version — don't create new version headers unless asked.
- Group under existing section headers:
Code Quality — refactors, cleanup, deprecations
Behavioral Changes — defaults changed, new behaviors
Security — redaction, data protection, vulnerability fixes
Bug Fixes — resolved issues
Improvements — new features, UI enhancements, DX improvements
CI — pipeline, workflow changes
Tests — new or updated tests
- Format: Single
- bullet per entry, one or two lines max.
- Bold the feature name at the start:
- **Feature name:** Brief description.
- Use backticks for class/method/parameter names.
- No implementation details — describe what changed for the user, not how it was built internally.
- No sub-bullets or nested lists.
Examples
Good:
- **HTTP transaction grouping** enabled by default — correlated request/response/error logs displayed as expandable transaction cards with duration and status badges. Configurable via `ISpectViewController(groupHttpLogs:)`.
- **Search** now matches across all log fields: key, title, log level, time, message, exception, error, and additional data.
- **Desktop layout:** Resizable split view for log details, column resizing, keyboard navigation, sticky headers, and persistent split ratio.
- **Log cards:** Context menu on long press, improved action buttons with tooltips, conditional background on expand.
Bad (too detailed):
- **Request-Response correlation via `requestId`** — HTTP request, response, and error logs are now explicitly linked with a unique transaction ID generated by `RequestIdGenerator` using a monotonic counter with session prefix format `net-{session6hex}-{counter}`.
- **Dio**: `requestId` injected via `RequestOptions.extra['_ispect_rid']`, preserved through redaction using `ignoredKeys` set in `DioRequestData.toJson()`.
Steps
- Read the current
CHANGELOG.md to find the active version and existing sections.
- Determine which section the change belongs to.
- Write the entry matching the style above.
- Add it under the correct section header.