← Browse

@traftg/patch-notes

A

Generate player-facing patch notes from git history, sprint data, and internal changelogs. Translates developer language into clear, engaging player communication.

skillclaude

Install

agr install @traftg/patch-notes --target claude

Writes 1 file into .claude/skills/, pinned to git-5ebd5b07.

  • .claude/skills/patch-notes/SKILL.md

Document


name: patch-notes description: "Generate player-facing patch notes from git history, sprint data, and internal changelogs. Translates developer language into clear, engaging player communication." argument-hint: "[version] [--style brief|detailed|full]" user-invocable: true allowed-tools: Read, Glob, Grep, Write, Bash

When this skill is invoked:

  1. Parse the arguments:

    • version: the release version to generate notes for (e.g., 1.2.0)
    • --style: output style — brief (bullet points), detailed (with context), full (with developer commentary). Default: detailed.
  2. Gather change data from multiple sources:

    • Read the internal changelog at production/releases/[version]/changelog.md if it exists
    • Run git log between the previous release tag and current tag/HEAD
    • Read sprint retrospectives in production/sprints/ for context
    • Read any balance change documents in design/balance/
    • Read bug fix records from QA if available
  3. Categorize all changes into player-facing categories:

    • New Content: new features, maps, characters, items, modes
    • Gameplay Changes: balance adjustments, mechanic changes, progression changes
    • Quality of Life: UI improvements, convenience features, accessibility
    • Bug Fixes: grouped by system (combat, UI, networking, etc.)
    • Performance: optimization improvements players might notice
    • Known Issues: transparency about unresolved problems
  4. Translate developer language to player language:

    • "Refactored damage calculation pipeline" → "Improved hit detection accuracy"
    • "Fixed null reference in inventory manager" → "Fixed a crash when opening inventory"
    • "Reduced GC allocations in combat loop" → "Improved combat performance"
    • Remove purely internal changes that don't affect players
    • Preserve specific numbers for balance changes (damage: 50 → 45)
  5. Generate the patch notes using the appropriate style:

Brief Style

# Patch [Version] — [Title]

**New**
- [Feature 1]
- [Feature 2]

**Changes**
- [Balance/mechanic change with before → after values]

**Fixes**
- [Bug fix 1]
- [Bug fix 2]

**Known Issues**
- [Issue 1]

Detailed Style

# Patch [Version] — [Title]
*[Date]*

## Highlights
[1-2 sentence summary of the most exciting changes]

## New Content
### [Feature Name]
[2-3 sentences describing the feature and why players should be excited]

## Gameplay Changes
### Balance
| Change | Before | After | Reason |
| ---- | ---- | ---- | ---- |
| [Item/ability] | [old value] | [new value] | [brief rationale] |

### Mechanics
- **[Change]**: [explanation of what changed and why]

## Quality of Life
- [Improvement with context]

## Bug Fixes
### Combat
- Fixed [description of what players experienced]

### UI
- Fixed [description]

### Networking
- Fixed [description]

## Performance
- [Improvement players will notice]

## Known Issues
- [Issue and workaround if available]

Full Style

Includes everything from Detailed, plus:

## Developer Commentary
### [Topic]
> [Developer insight into a major change — why it was made, what was considered,
> what the team learned. Written in first-person team voice.]
  1. Review the output for:

    • No internal jargon (replace technical terms with player-friendly language)
    • No references to internal systems, tickets, or sprint numbers
    • Balance changes include before/after values
    • Bug fixes describe the player experience, not the technical cause
    • Tone matches the game's voice (adjust formality based on game style)
  2. Save the patch notes to production/releases/[version]/patch-notes.md, creating the directory if needed.

  3. Output to the user: the complete patch notes, the file path, a count of changes by category, and any internal changes that were excluded (for review).

Trustgrade A

  • passBody integrity

    Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.

  • passType matchnot applicable to this artifact type

    Whether the artifact is really the kind of thing its metadata claims it is.

  • passFreshness

    How long since the source repository was last pushed to.

  • passPrompt injection

    Scans the artifact's own text for instructions aimed at your agent rather than at you.

  • passLicense

    Whether the source repository declares an SPDX license permissive enough to redistribute.

How the grade is calculated

Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:

  • Aevery check passed
  • Bone warning
  • Ctwo warnings
  • Dprompt injection or body integrity failed, or three warnings
  • Fone of those failed, and something else is wrong

These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.

Versions

  • git-5ebd5b076b6a2026-07-31