From 7f9169269c0d465fc562c0fe65d3ded7f4c5b9cb Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Mon, 9 Mar 2026 10:45:33 -0400 Subject: [PATCH] Improve changelog skill: prioritize user-facing language and update example changelog --- .claude/skills/changelog/SKILL.md | 16 +++++++++++++++- changelog/3953.added.md | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.claude/skills/changelog/SKILL.md b/.claude/skills/changelog/SKILL.md index 1ef8f324e..4ef6a8dc2 100644 --- a/.claude/skills/changelog/SKILL.md +++ b/.claude/skills/changelog/SKILL.md @@ -32,6 +32,20 @@ Create changelog files for the important commits in this PR. The PR number is pr 6. Use ⚠️ emoji prefix for breaking changes. +7. **Write changes in user-facing terms first.** Lead with what users of the framework will notice: new APIs, changed behavior, new parameters, fixed bugs they might have hit, etc. Implementation details (internal refactoring, how something is wired up under the hood) can be included as secondary context after the user-facing description, but should never be the *only* content of a changelog entry when there is a user-visible effect. + + **Good** (user-facing first, implementation detail as context): + ``` + - Turn completion instructions now persist correctly across full context updates when using `system_instruction`. Previously they were injected as a context system message, which caused warning spam and didn't survive context updates. + ``` + + **Bad** (implementation detail only, no user-facing framing): + ``` + - Fixed turn completion instructions being injected as a context system message instead of using `system_instruction`. + ``` + + Ask yourself: "If I'm a developer building on Pipecat, what would I notice changed?" Start there. + ## Example For PR #3519 with a new feature and a bug fix: @@ -43,5 +57,5 @@ For PR #3519 with a new feature and a bug fix: `changelog/3519.fixed.md`: ``` -- Fixed an issue where something was not working correctly. +- Fixed an issue where something was not working correctly in some user-visible scenario. The root cause was an internal implementation detail. ``` diff --git a/changelog/3953.added.md b/changelog/3953.added.md index d540ff125..f30c31733 100644 --- a/changelog/3953.added.md +++ b/changelog/3953.added.md @@ -1 +1 @@ -- Added on-the-fly `Configure` support for `DeepgramFluxSTTService`. The `keyterm`, `eot_threshold`, `eager_eot_threshold`, and `eot_timeout_ms` settings can now be updated mid-stream via `STTUpdateSettingsFrame` without requiring a WebSocket reconnect. +- Deepgram Flux STT settings (`keyterm`, `eot_threshold`, `eager_eot_threshold`, `eot_timeout_ms`) can now be updated mid-stream via `STTUpdateSettingsFrame` without triggering a reconnect. The new values are sent to Deepgram as a Configure WebSocket message on the existing connection.