Changelog Orchestrator
changelog-orchestrator
Draft changelog PRs by collecting GitHub/Slack/Git changes, formatting with templates, running quality gates, and preparing a branch/PR. Use when generating weekly/monthly release notes or when the user asks to create a changelog from recent merges. Trigger with "changelog weekly", "generate rele...
SKILL.md
Full skill instructions
Changelog Orchestrator
Overview
This skill turns raw repo activity (merged PRs, issues, commits, optional Slack updates) into a publishable changelog draft and prepares a branch/PR for review.
Prerequisites
- A project config file at
.changelog-config.jsonin the target repo. - Required environment variables set (at minimum
GITHUB_TOKENfor GitHub source). - Git available in PATH;
ghoptional (used for PR creation if configured).
Instructions
- Read
.changelog-config.jsonfrom the repo root. - Validate it with
{baseDir}/scripts/validate_config.py. - Decide date range:
- Load the configured markdown template (or fall back to
{baseDir}/assets/weekly-template.md). - Render the final markdown using
{baseDir}/scripts/render_template.py. - Ensure frontmatter contains at least
date(ISO) andversion(SemVer if known; otherwise0.0.0). - Run deterministic checks using
{baseDir}/scripts/quality_score.py. - If score is below threshold:
- Write the changelog file to the configured
output_path. - Create a branch
changelog-YYYY-MM-DD, commit withdocs: add changelog for YYYY-MM-DD. - If
ghis configured, open a PR; otherwise, print the exact commands the user should run.
See {baseDir}/references/implementation.md for detailed implementation guide.
Output
- A markdown changelog draft (usually
CHANGELOG.md), plus an optional PR URL. - A quality report (score + findings) from
{baseDir}/scripts/quality_score.py.
Error Handling
See {baseDir}/references/errors.md for comprehensive error handling.
Examples
See {baseDir}/references/examples.md for detailed examples.
Resources
- Validate config:
{baseDir}/scripts/validate_config.py - Render template:
{baseDir}/scripts/render_template.py - Quality scoring:
{baseDir}/scripts/quality_score.py - Default templates:
{baseDir}/assets/default-changelog.md{baseDir}/assets/weekly-template.md{baseDir}/assets/release-template.md
