Skip to content
Back to skills

Create Release Note

ASecurity

Create a reno release note for a PR or change

  • 3,754 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
devopsbashdockerkubernetesapici/cdsecurityperformancedocumentation

Works with

  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned September 3, 2026

npx -y skills add DataDog/datadog-agent --skill create-release-note --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Create Release Note?

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

Security grade badge for Create Release Note
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/datadog-create-release-note/badge)](https://www.skillsdirectory.com/skills/datadog-create-release-note)

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: create-release-note
description: Create a reno release note for a PR or change
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
argument-hint: "[topic]"
model: sonnet
---

Create a release note file using the reno format. Release notes are **mandatory** for all PRs unless labeled `changelog/no-changelog`.

## Instructions

### Step 1: Gather information from the user

Use `AskUserQuestion` to collect the following. If `$ARGUMENTS` provides the topic, skip that question.

1. **Topic**: A short kebab-case identifier for the change (e.g. `fix-ntp-timeout`, `add-gpu-metrics`). Used in the filename.

2. **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 improvements
   - `issues` — Known issues or limitations
   - `other` — Miscellaneous (rarely used)

3. **Content**: A user-facing description of the change. This is read by customers, not developers. Ask the user to describe what changed and why.

4. **Target**: Which release notes directory?
   - `releasenotes/notes/` — Main agent (default, most common)
   - `releasenotes-dca/notes/` — Cluster Agent (DCA)

5. **APM-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-`.

### Step 2: Create the release note file

Generate the file using reno:

```bash
reno new <topic> --no-edit
```

Or for non-default directories:
```bash
reno --rel-notes-dir <directory> new <topic> --no-edit
```

This creates a file at `<directory>/notes/<topic>-<hash>.yaml` with a template.

> **Always create the file with `reno`. The `<hash>` suffix is reno's unique note ID** — it must be a real, unique 16-character hex string that `reno` generates for you. Never hand-write a placeholder like `a1b2c3d4e5f6a7b8` or any sequential/guessed value: reno treats the suffix as the note's UID and fails `release-note-check` with a "UID collision" when two notes share one (this placeholder has broken `main` more than once).
>
> If `reno` is not installed, install it rather than creating the file by hand: `pip install reno` (see the [contributing guide](https://datadoghq.dev/datadog-agent/guidelines/contributing/#reno)). Only if you genuinely cannot install it, generate a real random suffix with `openssl rand -hex 8` and name the file `<topic>-<hash>.yaml` — never a placeholder.

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:**

```yaml
---
<section>:
  - |
    Description of the change written for end users.
    Can span multiple lines.
```

### Step 3: Content formatting rules

Release note content must follow these rules:

1. **ReStructuredText (RST) format**, NOT Markdown:
   - Links: `` `link text <https://example.com>`_ `` (NOT `[text](url)`)
   - Bold: `**text**`
   - Inline code: ``` ``code`` ``` (double backticks, NOT single)
   - Code blocks: use `.. code-block:: <lang>` directive

2. **User-facing language**: Write for Datadog customers, not developers. Describe the impact, not the implementation.

3. **Self-contained**: Each note must be readable independently. Don't reference other release notes.

4. **For APM changes**: Prefix with `APM : ` (e.g. `APM : Fix trace sampling rate calculation`).

5. **Multiple items**: Use separate list items in the same section:
   ```yaml
   fixes:
     - |
       Fix memory leak when collecting Docker container metrics.
     - |
       Fix panic in log agent when file is rotated during read.
   ```

### Step 4: Verify

Run the release note linter to validate:

```bash
dda inv linter.releasenote
```

This checks:
- Valid YAML structure
- Only known sections are used
- No empty items
- Valid RST formatting (no Markdown patterns)
- No Markdown links `[text](url)`, headers `#`, or single-backtick code

If linting fails, fix the issues and re-run.

## Section Guidelines

| 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" |

## When to skip (use `changelog/no-changelog` label)

- Documentation-only changes
- Test-only changes
- CI/CD configuration changes
- Code comment changes
- Developer tooling changes that don't affect the agent binary

## Usage

- `/create-release-note` — Interactive: prompts for all details
- `/create-release-note fix-ntp-timeout` — Pre-fills the topic

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.