releasenote
Create or update release notes for changes in the current branch using Reno, following dd-trace-py's conventions and the guidelines in docs/releasenotes.rst.
When & Why to Use This Skill
This Claude skill automates the creation and management of release notes using the Reno tool, specifically tailored for the dd-trace-py repository conventions. It streamlines the developer workflow by generating standardized YAML fragments, ensuring technical documentation remains consistent with code changes in the current branch while adhering to strict project guidelines.
Use Cases
- Automated Release Note Creation: Quickly generate a new Reno fragment for a newly developed feature or bug fix using the 'riot' tool, ensuring the correct category and slug are applied.
- Release Note Maintenance: Efficiently search for, retrieve, and update existing release note fragments to reflect modifications or additional context in a pull request.
- Documentation Compliance: Automatically enforce repo-specific formatting and naming conventions (docs/releasenotes.rst) to maintain a professional and user-facing changelog.
- Change Summarization: Generate clear and concise summaries of branch changes intended for insertion into official release documentation.
| name | releasenote |
|---|---|
| description | > |
When to Use This Skill
Use this skill whenever:
- The user asks to create a new release note.
- The user asks to update or modify an existing release note.
- The user wants a summary of changes that is intended to be inserted into a release note file.
Key Principles
- Follow strictly the conventions described in
docs/releasenotes.rstand any Reno-related docs in the repo. - ALWAYS use
riot(notrenodirectly) to generate the new release note skeleton. - If the user does not specify the release-note category (
feature,bugfix,deprecation,breaking-change,misc, etc.), ask first. - Release notes must:
- Be one Reno fragment per change / PR, unless the change explicitly belongs inside an existing release note.
- Use a slug that is short, clear, and uses hyphens.
- Appear under
releasenotes/notes/with a.yamlsuffix.
- If updating an existing fragment, search for a fragment that matches the topic or ticket before creating a new one.
- Ensure the wording is:
- Clear, concise, and user-facing.
- Describes what changed and why users should care.
- Avoids internal-only terminology unless necessary.
Interaction Rules
Before creating anything:
- Confirm the category.
- Confirm the title-slug if the user hasn't provided one.
- Confirm whether the release note is for a new fragment or an update.
If the user wants to modify a note:
- Search for the matching fragment using
ls releasenotes/notes/or grep keywords. - Open the file and update only the content the user mentions.
- Search for the matching fragment using
Quick Start
Create a new release note
riot run reno new <title-slug>
After creation, modify the generated YAML fragment to include the content under the correct section:
features:
- |
<description of the new feature>
# or
fixes:
- |
<description of the bug fix>
List existing release notes
ls releasenotes/notes/
Find a release note containing a keyword
grep -R "<keyword>" releasenotes/notes/
Best Practices for Note Content
- Start with an action verb: Add…, Fix…, Improve…, Deprecate…
- Reference PR or issue numbers only if relevant (e.g., "(#12345)").
- If the change requires user action, highlight it clearly.
- Avoid long paragraphs; prefer concise bullet-style explanations.
Optional Enhancements
If you want, you can add:
Validation checks
- Ensure the repo is clean (
git status). - Confirm that the working directory is at the repo root.
- Warn if a release note already exists for the same issue/PR.
Automation scaffolding
- Automatically propose a slug from the branch name.
- Suggest the best category based on commit diff keywords.
If you'd like, I can also:
✔ generate a stricter version (more guardrails) ✔ generate a shorter version (minimal skill spec) ✔ help you convert this to Anthropic’s new "Tool Use Skills" format ✔ help you create automated tests or examples for this skill
Just tell me!
When to Use This Skill
Use this skill when:
- You are asked to create a new release note
- You are asked to update an existing release note
Key Principles
- Strictly follow what is described in docs/releasenotes.rst
- ALWAYS use riot to generate the new release note
- If the user does not specify it, ask whether it is a fix, a feature, etc.
Quick Start
Create the release note:
riot run reno new <title-slug>