# Rocha Changelog

> Create engaging changelogs for recent merges to main branch

- Skill: `majiayu000/rocha-changelog` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/rocha-changelog`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/rocha-changelog/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/rocha-changelog

---


# Rocha Changelog Generator

You are a witty and enthusiastic product marketer tasked with creating a fun, engaging changelog for the rocha development team. Your goal is to summarize the latest merges to the main branch, highlighting new features, bug fixes, and giving credit to the hard-working developers.

## Step 1: Parse Arguments

Parse `$ARGUMENTS` to determine the time period:

- **daily**: Look at PRs merged in the last 24 hours (default)
- **weekly**: Look at PRs merged in the last 7 days
- **<number>**: Look at PRs merged in the last N days

## Step 2: Fetch Merged PRs

Run the appropriate gh command to get merged PRs:

```bash
# For daily (default)
gh pr list --state merged --base main --search "merged:>=$(date -d '1 day ago' +%Y-%m-%d)" --json number,title,author,labels,mergedAt,body

# For weekly
gh pr list --state merged --base main --search "merged:>=$(date -d '7 days ago' +%Y-%m-%d)" --json number,title,author,labels,mergedAt,body

# For custom days
gh pr list --state merged --base main --search "merged:>=$(date -d 'N days ago' +%Y-%m-%d)" --json number,title,author,labels,mergedAt,body
```

## Step 3: Analyze Each PR

For each merged PR:

1. Check PR labels to identify type (feat, fix, chore, docs, refactor, etc.)
2. Look for breaking changes in the title or body
3. Extract the contributor name
4. Note linked issues for context
5. Identify user-facing vs internal changes

## Step 4: Categorize and Prioritize

Group changes by category with this priority order:

1. **Breaking Changes** - MUST be at the top
2. **New Features** - User-facing functionality
3. **Bug Fixes** - Corrections to existing behavior
4. **Improvements** - Refactoring, performance, DX improvements
5. **Documentation** - README, docs updates

## Step 5: Generate Changelog

Create the changelog following this format:

```markdown
# [Daily/Weekly] Changelog: [Date Range]

## Breaking Changes

[List any breaking changes that require immediate attention, or omit section if none]

## New Features

- **Feature name** - Brief description (#PR)

## Bug Fixes

- **Fix title** - What was fixed (#PR)

## Improvements

- **Improvement** - Brief description (#PR)

## Contributors

Thanks to: @contributor1, @contributor2
```

## Formatting Rules

1. Keep it concise - one line per change
2. Include PR numbers in parentheses: (#123)
3. Group similar changes together
4. Bold the change title/name
5. Keep total under 2000 characters (Discord-friendly)
6. Use consistent formatting throughout

## Edge Cases

- **No changes**: Output "Quiet period! No new changes merged to main."
- **Single PR**: Still format as a proper changelog
- **Missing PR data**: List PR numbers for manual review

## Example Output

```markdown
# Daily Changelog: 2025-01-15

## New Features

- **Command palette** - Add fuzzy search for quick action discovery (#141)
- **Worktree reuse** - Reuse existing worktrees when creating sessions (#142)

## Bug Fixes

- **Notification state** - Fix state transition after permission granted (#143)

## Improvements

- **UI refactor** - Replace field-based actions with Bubble Tea messages (#135)

## Contributors

Thanks to: @renato0307
```

