Skip to content
Back to skills

R Util Chg Gen

ASecurity

Generate changelog entries from the current diff or commit range. Read

  • 20 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
developmentgogit

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add rfxn/rdf --skill r-util-chg-gen --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of R Util Chg Gen?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for R Util Chg Gen
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/rfxn-r-util-chg-gen/badge)](https://www.skillsdirectory.com/skills/rfxn-r-util-chg-gen)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: r-util-chg-gen
description: >
  Generate changelog entries from the current diff or commit range. Read
---

Generate changelog entries from the current diff or commit range. Read
governance for changelog format rules.

## Arguments
- `$ARGUMENTS` — optional: commit range (e.g., `HEAD~3..HEAD`) or
  `--commit` to auto-apply and prepare a commit

## Setup

Read `.rdf/governance/index.md` to identify:
- Changelog format conventions (from governance/conventions.md)
- Changelog file locations (CHANGELOG, CHANGELOG.RELEASE, or equivalent)
- Tag conventions ([New], [Change], [Fix] or project-specific)

## 1. Determine scope

Priority order:
1. If there are staged changes (`git diff --cached`), use those
2. If an argument like `HEAD~3..HEAD` is provided, use that commit range
3. Otherwise, use unstaged changes (`git diff`)

If no changes found, report and exit.

## 2. Analyze the diff

For each changed file, classify the change:

| Tag | Criteria |
|-----|----------|
| `[New]` | New function, file, feature, config variable, test file |
| `[Change]` | Modified behavior, refactored logic, updated docs |
| `[Fix]` | Bug fix, corrected condition, fixed regression |

Read actual diff hunks (not just file names) to determine what changed.

## 3. Generate entries

Produce entries matching the project's changelog format from governance.

### Entry quality rules
- One entry per logical change (not per file, not per commit)
- Group related file changes into a single entry
- Keep entries under 100 characters when possible
- State what changed for the user, not implementation details

### Collapse rules
- Feature + config + docs for the same thing -> one `[New]` entry
- Bug fix + validation for the same field -> one `[Fix]` entry
- Multiple test additions for one feature -> one entry with count

### Entries to skip
- Copyright header updates
- Comment-only changes
- Whitespace/formatting-only changes
- Working file changes (CLAUDE.md, PLAN.md, MEMORY.md, .claude/)

### Never include tracking artifacts
No audit finding codes, phase markers, or internal tracking references.

## 4. Output

Display the proposed entries using structured formatting:

```
### Proposed CHANGELOG Entries

**Source**: `<staged diff / commit range / unstaged diff>`
**Files changed**: {N}

#### Tag Summary

| Tag | Count |
|-----|-------|
| `[New]` | {N} |
| `[Change]` | {N} |
| `[Fix]` | {N} |

#### Entries ({N})
```

Show the proposed entries themselves in a fenced code block so they
are copy-pasteable without formatting artifacts:

````
```
[Tag] entry one
[Tag] entry two
...
```
````

If there are ambiguities or items needing manual review, use a
blockquote callout:

```
> **Review Notes**
> - {ambiguity or item needing manual attention}
> - {additional note}
```

## 5. Apply mode

**Manual**: User says to apply after reviewing proposed entries.
**`--commit` flag**: Auto-apply, then stage and prepare a commit.

### Apply behavior
- CHANGELOG: append entries under the current version header
- CHANGELOG.RELEASE: place entries under appropriate section headers
- Do NOT duplicate entries that already exist — check first

### --commit mode additional steps
1. Stage changelog files explicitly by name
2. Generate a commit message following governance format
3. Show staged diff and proposed commit message
4. Ask user to confirm before committing

## Rules
- Do NOT read source files beyond the diff — the diff is your only input
- Do NOT invent changes not present in the diff
- Do NOT include working file changes in entries
- Do NOT include tracking codes in entries
- Without `--commit`: propose entries only
- If the diff is empty, say so and exit

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.