Skip to main content

create-release-note

Write a Reno release-note fragment under `releasenotes/notes/` for a change, or determine that a change needs the `changelog/no-changelog` label instead. TRIGGER when: user asks for a release note, a changelog entry, or a changelog fragment; the release-note check has failed on a pull request; or user invokes `/create-release-note`. DO NOT TRIGGER when: user asks to publish or repair the release notes of an already-tagged release — that is the `Release notes` workflow's job, not a fragment.

설치로 이동

소스 정보

저장소
DataDog/saluki
최근 소스 활동
2026년 9월 2일 14:07
감지된 SKILL.md 언어
영어
스타
41
포크
13

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
create-release-note
description
Write a Reno release-note fragment under `releasenotes/notes/` for a change, or determine that a change needs the `changelog/no-changelog` label instead. TRIGGER when: user asks for a release note, a changelog entry, or a changelog fragment; the release-note check has failed on a pull request; or user invokes `/create-release-note`. DO NOT TRIGGER when: user asks to publish or repair the release notes of an already-tagged release — that is the `Release notes` workflow's job, not a fragment.
argument-hint
<topic> e.g. `fix-listener-shutdown-race`
allowed-tools
Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
# /create-release-note Every pull request records whether it has customer-visible release information. When it does, it carries a Reno note under `releasenotes/notes/`; when it does not, a maintainer applies the `changelog/no-changelog` label. The `Release note check` workflow requires one of the two before a pull request can merge. Notes are the source for the curated section of each tagged GitHub release: `reno report` renders them as reStructuredText, and `ci/tooling/release_notes.py render` converts that to GitHub-flavored Markdown. **The prose you write is reStructuredText, not Markdown** — see step 4. ## Step 1: Decide whether the change needs a note Read the change before asking the user anything: ```bash git diff $(git merge-base HEAD origin/main)...HEAD --stat ``` A note is needed when the change alters behavior someone operating Agent Data Plane could observe: new or changed configuration, metrics, telemetry, defaults, performance characteristics, error handling, or a fixed bug. A note is not needed for changes with no observable effect on the shipped binary: tests, documentation, CI configuration, developer tooling, dependency bumps that change no behavior, and pure refactors. In that case, don't invent one — tell the user the change looks like a `changelog/no-changelog` candidate and that a maintainer applies that label on the pull request. When it's genuinely ambiguous, ask the user with `AskUserQuestion` rather than guessing. ## Step 2: Choose the section and draft the content Propose a section and a draft entry from the diff, then confirm both with the user. Sections come from `releasenotes/config.yaml`: | Section | When to use | |---|---| | `upgrade` | A required operator action or a major behavior change on upgrade | | `features` | A wholly new customer-visible capability | | `enhancements` | A customer-visible improvement too small to be a feature | | `issues` | A known customer-visible limitation | | `deprecations` | A planned customer-visible removal | | `security` | A customer-relevant security change | | `fixes` | A customer-visible correction | | `other` | Customer-visible release information that fits no other section | The entry is read by people operating Agent Data Plane, not by reviewers of this pull request. Describe the observable effect, not the implementation, and make it self-contained: no references to pull requests, commits, internal type names, or other release notes. ## Step 3: Create the file with Reno ```bash make ensure-python-venv # only if .venv/bin/reno is missing .venv/bin/reno new <topic> --no-edit ``` `<topic>` is a short kebab-case slug describing the change, for example `fix-listener-shutdown-race`. Reno writes `releasenotes/notes/<topic>-<16 hex characters>.yaml`. **Never hand-write the file or its filename.** The hex suffix is Reno's unique identifier for the note. `make check-release-notes` rejects a filename that doesn't match `<topic>-<16 lowercase hex characters>.yaml`, and it rejects two notes that share an identifier — a collision that a guessed or copied suffix produces and that breaks `reno report` at release time. If `reno` can't be installed at all, generate a real suffix with `openssl rand -hex 8` rather than typing one. ## Step 4: Write the entry Keep only the section chosen in step 2 and delete every other section of the template, including its comments. The result is small: ```yaml fixes: - | Fix a listener shutdown race that could drop telemetry during process exit. ``` Prose is reStructuredText. `make check-release-notes` rejects the Markdown spellings: | Instead of Markdown | Write reStructuredText | |---|---| | `` `dogstatsd_port` `` | ``` ``dogstatsd_port`` ``` | | `[the docs](https://example.test)` | ``` `the docs <https://example.test>`_ ``` | | `__important__` | `**important**` | | `# Heading` | A title underlined with `===` | | A ` ``` `-fenced code block | A `.. code-block:: yaml` directive | | `> quoted text` | Indentation, or a `.. note::` directive | `**bold**` is the same in both, so it needs no change. Use a separate list item per distinct change, in the same section: ```yaml fixes: - | Fix a listener shutdown race that could drop telemetry during process exit. - | Fix a panic when a DogStatsD payload ends mid-tag. ``` ## Step 5: Validate ```bash make check-release-notes .venv/bin/reno lint ``` Fix anything either reports and re-run. Report to the user which file you created, its section, and its content.
GitHub에서 보기