🌙Agent

Nightly changelog

Cron-triggered agent that compiles a CHANGELOG from the last 24h of merged PRs, posts Slack, opens PR.

Surfaces
agent · skill · mcp
Complexity
intermediate
Trigger
cron
Est. tokens
7,500
Requires MCP
slack

What It Does

Runs at 02:00 UTC every night (or on demand). Lists merged PRs from the last 24 hours, groups them by conventional-commit label, writes a new CHANGELOG entry under today's date, posts a Slack digest, and opens a PR titled "chore: changelog YYYY-MM-DD".

Trigger

  • Cron: 0 2 * * * (UTC)
  • Or on demand: "Generate the changelog for the last 24 hours"

SKILL.md

markdown
---
name: nightly-changelog
description: Nightly cron job that compiles a CHANGELOG entry from the last 24h of merged PRs. Posts to Slack and opens a PR against the repo. Use when user says "generate changelog", or configure as a cron.
---

# Nightly Changelog

## Trigger
- Cron: `0 2 * * *` (02:00 UTC daily)
- Or manual: "Generate the changelog for the last 24 hours"

## Steps
1. `gh pr list --state merged --search "merged:>=$(date -u -v-1d +%F)"`
2. Group PRs by label: feat / fix / chore / docs
3. Write `CHANGELOG.md` entry under a new `## YYYY-MM-DD` heading
4. Post Slack digest via Slack MCP (if connected)
5. Open a PR: "chore: changelog YYYY-MM-DD"

Install as Cron

bash
# macOS launchd or Linux crontab
0 2 * * * cd /path/to/repo && claude -p "Run nightly-changelog"

Gotchas

  • If no PRs merged that day, skip the write and the Slack post — don't create noise.
  • Changelog format convention must be stable; edits break downstream release-notes generators.
  • Slack MCP token must have permission to post in the target channel.