Acerca de
Esta habilidad de Claude ayuda a los desarrolladores a mantener un registro de cambios de proyecto siguiendo el estándar Keep a Changelog. Gestiona la categorización de entradas (Agregado, Cambiado, Corregido, etc.) y maneja las secciones de versiones, incluyendo la promoción de entradas No Publicadas a secciones versionadas durante los lanzamientos. Úsala al iniciar un nuevo proyecto, agregar entradas después de cambios, preparar lanzamientos o convertir registros de cambios existentes al formato estándar.
Instalación rápida
Claude Code
Recomendadonpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/manage-changelogCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Manage Changelog
Maintain project changelog per Keep a Changelog. Create new, categorize entries, manage [Unreleased], promote to versioned on release. Adapts R convention (NEWS.md) when detected.
Use When
- Start new project needing changelog
- Add entries after features / fixes / other changes
- Prep release → move Unreleased → versioned section
- Review completeness before publish
- Convert free-form → Keep a Changelog format
In
- Req: Project root dir
- Req: Change description (or git log to extract from)
- Opt: Target version # (release promotion)
- Opt: Release date (default today)
- Opt: Format pref (Keep a Changelog / R NEWS.md)
Do
Step 1: Locate / Create Changelog
Search existing changelog in project root.
# Check for common changelog filenames
ls -1 CHANGELOG.md CHANGELOG NEWS.md CHANGES.md HISTORY.md 2>/dev/null
None exists → create w/ std header:
# 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.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
R pkgs → use NEWS.md w/ R convention:
# packagename (development version)
## New features
## Bug fixes
## Minor improvements and fixes
→ Changelog located / created w/ proper header + Unreleased section.
If err: Exists in non-std format → don't overwrite. Note format diff + adapt entries to match existing style.
Step 2: Parse Existing Entries
Read + ID structure:
- Header/preamble (project name, format desc)
[Unreleased]w/ pending changes- Versioned in reverse chron order (
[1.2.0]before[1.1.0]) - Comparison links at bottom (opt)
Per section → ID categories:
- Added — new features
- Changed — changes in existing fn
- Deprecated — soon-to-be removed
- Removed — now removed
- Fixed — bug fixes
- Security — vulnerability fixes
→ Structure understood, existing entries inventoried.
If err: Malformed (missing sections, wrong order) → note issues, don't restructure w/o confirmation. Add new correctly + flag structural issues for manual review.
Step 3: Categorize New Changes
Per change → classify into 1 of 6:
| Category | When to Use | Example Entry |
|---|---|---|
| Added | New feature or capability | - Add CSV export for summary reports |
| Changed | Modification to existing feature | - Change default timeout from 30s to 60s |
| Deprecated | Feature marked for future removal | - Deprecate old_function()in favor ofnew_function()`` |
| Removed | Feature or capability removed | - Remove legacy XML parser |
| Fixed | Bug fix | - Fix off-by-one error in pagination |
| Security | Vulnerability fix | - Fix SQL injection in user search (CVE-2026-1234) |
Entry writing guidelines:
- Start w/ imperative verb (Add, Change, Fix, Remove)
- Specific enough user understands impact w/o reading code
- Ref issue #s / CVEs where applicable
- One line; sub-bullets only for complex changes
→ Each change in exactly one category w/ well-written entry.
If err: Change spans multi categories (feature + bug fix) → separate entries per category. Unclear → default "Changed".
Step 4: Add Entries to Unreleased
Insert under [Unreleased]. Maintain category order: Added, Changed, Deprecated, Removed, Fixed, Security.
## [Unreleased]
### Added
- Add batch processing mode for large datasets
- Add `--dry-run` flag to preview changes without applying
### Fixed
- Fix memory leak when processing files over 1GB
- Fix incorrect timezone handling in date parsing
Only add categories w/ entries; don't include empty category headings.
→ New entries added under [Unreleased] in correct categories, consistent formatting.
If err: Unreleased section missing → create immediately below header/preamble + above first versioned section.
Step 5: Promote to Versioned on Release
Release cut → move Unreleased → new versioned section:
- New heading:
## [1.3.0] - 2026-02-17 - Move all entries from
[Unreleased]→ new section - Leave
[Unreleased]empty (keep heading) - Update comparison links at bottom
## [Unreleased]
## [1.3.0] - 2026-02-17
### Added
- Add batch processing mode for large datasets
### Fixed
- Fix memory leak when processing files over 1GB
## [1.2.0] - 2026-01-15
### Added
- Add CSV export for summary reports
Update comparison links (if present):
[Unreleased]: https://github.com/user/repo/compare/v1.3.0...HEAD
[1.3.0]: https://github.com/user/repo/compare/v1.2.0...v1.3.0
[1.2.0]: https://github.com/user/repo/compare/v1.1.0...v1.2.0
R NEWS.md → use R convention:
# packagename 1.3.0
## New features
- Add batch processing mode for large datasets
## Bug fixes
- Fix memory leak when processing files over 1GB
# packagename 1.2.0
...
→ Unreleased entries moved to dated versioned section; Unreleased cleared; comparison links updated.
If err: Version # conflicts w/ existing → already released. Check apply-semantic-versioning for correct version.
Step 6: Validate Format
Verify meets format requirements:
- Versions in reverse chron (newest first)
- Dates ISO 8601 (YYYY-MM-DD)
- Each versioned has ≥1 categorized entry
- No dup version sections
- Comparison links match version sections
# Check for duplicate version sections
grep "^## \[" CHANGELOG.md | sort | uniq -d
# Verify date format
grep "^## \[" CHANGELOG.md | grep -v "Unreleased" | grep -vE "\d{4}-\d{2}-\d{2}"
→ Passes all format checks w/ no warnings.
If err: Fix format issues: reorder, correct dates, remove dups. Report issues requiring human judgment (missing entries for known changes).
Check
- File exists w/ proper header ref Keep a Changelog + SemVer
-
[Unreleased]at top (below header) - All new entries categorized into Added/Changed/Deprecated/Removed/Fixed/Security
- Entries start w/ imperative verb + describe user-facing impact
- Versioned sections reverse chron
- Dates ISO 8601 (YYYY-MM-DD)
- No dup version sections
- Comparison links (if used) correct + up to date
- Empty categories not included (no heading w/o entries)
Traps
- Internal-only entries: "Refactored DB module" not useful to users. Focus on user-facing. Internal refactors → commit msgs, not changelogs.
- Vague entries: "Various bug fixes" tells user nothing. Each fix → specific descriptive entry.
- Forget Unreleased: Adding directly to versioned = changes documented as released when not.
- Wrong category: "Fix" actually adds feature. Fix restores expected behavior; new capability = "Added" even if requested as bug report.
- Missing Security: Security fixes always documented w/ CVE ids when avail. Users need to know if should upgrade urgently.
- Changelog drift: Not updating at time of change. Batch-writing before release → missed / poorly described changes. Write entries alongside code changes.
→
apply-semantic-versioning— determine version # pairing w/ entriesplan-release-cycle— define when entries promoted to versionedcommit-changes— commit changelog updates w/ proper msgsrelease-package-version— R-specific release workflow incl NEWS.md updatescreate-github-release— use changelog content as GitHub release notes
Repositorio GitHub
Preguntas frecuentes
¿Qué es el Skill manage-changelog?
manage-changelog es un Skill de Claude creado por pjt222. Los Skills agrupan instrucciones y recursos que Claude carga cuando los necesita para realizar tareas relacionadas con manage-changelog sin indicaciones adicionales.
¿Cómo instalo manage-changelog?
Usa los comandos de instalación de esta página: añade manage-changelog a Claude Code como plugin o clona su repositorio en tu directorio de skills y reinicia Claude para cargarlo.
¿A qué categoría pertenece manage-changelog?
manage-changelog pertenece a la categoría Diseño.
¿Se puede usar manage-changelog gratis?
Sí. manage-changelog aparece en AIMCP y se puede instalar gratis.
Habilidades relacionadas
Utilice la habilidad executing-plans cuando tenga un plan de implementación completo para ejecutar en lotes controlados con puntos de revisión. Esta habilidad carga y revisa críticamente el plan, luego ejecuta tareas en pequeños lotes (por defecto 3 tareas) mientras reporta el progreso entre cada lote para la revisión del arquitecto. Esto asegura una implementación sistemática con puntos de control de calidad integrados.
Esta habilidad despacha un subagente revisor de código para analizar los cambios en el código frente a los requisitos antes de proceder. Debe usarse después de completar tareas, implementar funciones principales o antes de fusionar con la rama principal. La revisión ayuda a detectar problemas de forma temprana al comparar la implementación actual con el plan original.
Esta habilidad proporciona una guía integral para que los desarrolladores conecten servidores MCP a Claude Code mediante transportes HTTP, stdio o SSE. Cubre la instalación, configuración, autenticación y seguridad para integrar servicios externos como GitHub, Notion y APIs personalizadas. Úsala al configurar integraciones MCP, al configurar herramientas externas o al trabajar con el Protocolo de Contexto del Modelo de Claude.
Esta habilidad ayuda a los desarrolladores a elegir entre las interfaces web y CLI de Claude Code mediante el análisis de tareas, y luego permite la teletransportación fluida de sesiones entre estos entornos. Optimiza el flujo de trabajo gestionando el estado y el contexto de la sesión al cambiar entre web, CLI o móvil. Úsala para proyectos complejos que requieren diferentes herramientas en varias etapas.
