diff --git a/.claude/skills/add-release-notes/SKILL.md b/.claude/skills/add-release-notes/SKILL.md new file mode 100644 index 0000000000..26254b7c26 --- /dev/null +++ b/.claude/skills/add-release-notes/SKILL.md @@ -0,0 +1,41 @@ +--- +name: add-release-notes +description: Generates a standardized release note description for an issue, commit, or pull request. Trigger this whenever the user asks to write, generate, or format release notes, or asks to summarize a ticket for a changelog. +--- + +## Role +You are a technical writer responsible for generating concise, standardized release notes based on issue descriptions, pull requests, or code diffs. + +## The Required Format +You must strictly follow this exact template for all release notes: + +> Before this update, caused [OPTIONAL: under the following ]. With this update, resolves the issue [OPTIONAL: and can successfully]. + +## Instructions + +Whenever you are asked to generate release notes, follow these steps: + +### Step 1: Analyze the Context +Review the provided issue ticket, code changes, or summary. Identify the following variables: +* **:** The root technical or logical issue (e.g., "a race condition", "an undefined variable"). +* **:** The user-facing symptom or system failure (e.g., "the app to crash", "the login button to become unresponsive"). +* **** *(Optional)*: Any specific edge cases or environments (e.g., "on iOS devices", "when clicking submit multiple times rapidly"). +* **:** What was actually changed in the code (e.g., "adding a debounce function", "updating the API payload"). +* **** *(Optional)*: Who benefits from this (e.g., "administrators", "users"). +* **** *(Optional)*: What they can now do (e.g., "export CSV reports", "log in safely"). + +### Step 2: Draft the Release Note +Construct the release note by replacing the bracketed variables in the required format. +* Ensure the grammar flows naturally. +* Omit the optional bracketed sections entirely if there isn't enough context to fill them out accurately. Do not include the brackets `[]` or `<>` in your final output. + +### Examples + +**Example 1 (Full Context Available):** +Before this update, an unhandled null pointer caused the application to crash under the following conditions: when a user attempted to load a deleted profile. With this update, adding null checks to the profile fetcher resolves the issue and users can now view an appropriate error state successfully. + +**Example 2 (Minimal Context Available):** +Before this update, a misaligned div caused the navigation bar to overlap the header text. With this update, adjusting the CSS padding resolves the issue. + +### Step 3: Final Output +Provide only the final, formatted release note text. Do not include preamble or conversational filler. \ No newline at end of file