Software_development_department patch-notes
install
source · Clone the upstream repo
git clone https://github.com/tranhieutt/software_development_department
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/tranhieutt/software_development_department "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/patch-notes" ~/.claude/skills/tranhieutt-software-development-department-patch-notes && rm -rf "$T"
manifest:
.claude/skills/patch-notes/SKILL.mdsource content
When this skill is invoked:
-
Parse the arguments:
: the release version to generate notes for (e.g.,version
)1.2.0
: output style —--style
(bullet points),brief
(with context),detailed
(with developer commentary). Default:full
.detailed
-
Gather change data from multiple sources:
- Read the internal changelog at
if it existsproduction/releases/[version]/changelog.md - Run
between the previous release tag and current tag/HEADgit log - Read sprint retrospectives in
for contextproduction/sprints/ - Read any balance change documents in
design/balance/ - Read bug fix records from QA if available
- Read the internal changelog at
-
Categorize all changes into user-facing categories:
- New Content: new features, maps, characters, items, modes
- Business Logic 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 users might notice
- Known Issues: transparency about unresolved problems
-
Translate developer language to user 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 users
- Preserve specific numbers for balance changes (damage: 50 → 45)
-
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 users should be excited] ## Business Logic 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 users experienced] ### UI - Fixed [description] ### Networking - Fixed [description] ## Performance - [Improvement users 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.]
-
Review the output for:
- No internal jargon (replace technical terms with user-friendly language)
- No references to internal systems, tickets, or sprint numbers
- Balance changes include before/after values
- Bug fixes describe the user experience, not the technical cause
- Tone matches the product's voice (adjust formality based on product style)
-
Save the patch notes to
, creating the directory if needed.production/releases/[version]/patch-notes.md -
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).
Protocol
- Question: Reads version and
argument; defaults to--style
if style is omitteddetailed - Options: Style choice if unspecified —
/brief
/detailedfull - Decision: Skip — style drives output format
- Draft: Full patch notes shown in conversation before saving
- Approval: "May I write to
?"production/releases/[version]/patch-notes.md
Output
Deliver exactly:
- Patch notes file saved to
production/releases/[version]/patch-notes.md - Change count by category (Features: X, Fixes: Y, Balance: Z, etc.)
- Excluded internal items — list of changes omitted from user-facing notes