Create a reno release note for a PR or change
72
67%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/create-release-note/SKILL.mdCreate a release note file using the reno format. Release notes are mandatory for all PRs unless labeled changelog/no-changelog.
Use AskUserQuestion to collect the following. If $ARGUMENTS provides the topic, skip that question.
Topic: A short kebab-case identifier for the change (e.g. fix-ntp-timeout, add-gpu-metrics). Used in the filename.
Section: Which section does this change belong to?
features — New functionality (e.g. "Add support for GPU metrics collection")enhancements — Small improvements to existing features (e.g. "Improve log rotation performance")fixes — Bug fixes (e.g. "Fix memory leak in forwarder")deprecations — Deprecation notices (e.g. "Deprecate log_enabled in favor of logs_enabled")upgrade — Breaking changes requiring user action (must include steps for users to identify if affected)security — Security fixes or improvementsissues — Known issues or limitationsother — Miscellaneous (rarely used)Content: A user-facing description of the change. This is read by customers, not developers. Ask the user to describe what changed and why.
Target: Which release notes directory?
releasenotes/notes/ — Main agent (default, most common)releasenotes-dca/notes/ — Cluster Agent (DCA)releasenotes-installscript/notes/ — Install scriptAPM-related?: If the change affects cmd/trace-agent or pkg/trace, the content must be prefixed with APM : and the topic should be prefixed with apm-.
Generate the file using reno:
reno new <topic> --no-editOr for non-default directories:
reno --rel-notes-dir <directory> new <topic> --no-editThis creates a file at <directory>/notes/<topic>-<hash>.yaml with a template.
Then replace the template content with only the relevant section. Remove all unused sections (don't leave them commented out — reno template comments are noisy).
Final file format:
---
<section>:
- |
Description of the change written for end users.
Can span multiple lines.Release note content must follow these rules:
ReStructuredText (RST) format, NOT Markdown:
`link text <https://example.com>`_ (NOT [text](url))**text**``code`` (double backticks, NOT single).. code-block:: <lang> directiveUser-facing language: Write for Datadog customers, not developers. Describe the impact, not the implementation.
Self-contained: Each note must be readable independently. Don't reference other release notes.
For APM changes: Prefix with APM : (e.g. APM : Fix trace sampling rate calculation).
Multiple items: Use separate list items in the same section:
fixes:
- |
Fix memory leak when collecting Docker container metrics.
- |
Fix panic in log agent when file is rotated during read.Run the release note linter to validate:
dda inv linter.releasenoteThis checks:
[text](url), headers #, or single-backtick codeIf linting fails, fix the issues and re-run.
| Section | When to use | Example |
|---|---|---|
features | Wholly new capabilities | "Add Windows support for the Process Agent" |
enhancements | Improvements too small to be features | "Add PDH data to Windows flare" |
fixes | Bug fixes | "Fix EC2 tags collection with multiple marketplaces" |
deprecations | Deprecation notices | "The log_enabled config option is deprecated, use logs_enabled" |
upgrade | Breaking changes needing user action | "The --config flag format has changed. Users must update..." |
security | Security fixes | "Enforce bearer token authentication for API endpoints" |
issues | Known issues | "Kubernetes 1.3 is not fully supported in this release" |
other | Misc (rarely used) | "Update internal CI tooling" |
changelog/no-changelog label)/create-release-note — Interactive: prompts for all details/create-release-note fix-ntp-timeout — Pre-fills the topic0f36ad4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.