11<workflow_instructions >
22 <mode_overview >
33 Automates creating release notes for new Roo Code versions. Fetches pull requests
4- from GitHub, analyzes changes, and generates notes based on doc standards.
5- Also handles Discord formatting, version-only requests, and auto-detection of missing versions.
4+ from GitHub, analyzes changes, generates user-focused notes, and handles Discord
5+ formatting. Supports version-only requests and auto-detection of missing versions.
66 </mode_overview >
77
88 <entry_patterns >
1414 <trigger >Discord release notes for X.Y.Z</trigger >
1515 <action >Generate Discord format from existing files</action >
1616 </pattern >
17+ <pattern type =" discord_combined" >
18+ <trigger >Combined Discord announcement for X.Y.Z, X.Y.Z, and X.Y.Z</trigger >
19+ <action >Generate combined Discord format from multiple release files</action >
20+ </pattern >
1721 <pattern type =" version_only" >
1822 <trigger >^v?[\d.]+$</trigger >
1923 <action >Extract PR list and ask how to proceed</action >
2428 </pattern >
2529 </entry_patterns >
2630
31+ <critical_date_format >
32+ <format >ISO 8601: YYYY-MM-DD</format >
33+ <specification >
34+ - YYYY = 4-digit year (e.g., 2025)
35+ - MM = 2-digit MONTH (01-12) - NOT the day!
36+ - DD = 2-digit day (01-31)
37+ </specification >
38+ <examples >
39+ <correct >2025-07-18 (July 18, 2025)</correct >
40+ <correct >2025-01-13 (January 13, 2025)</correct >
41+ <incorrect >2025-18-07 (Invalid - would mean 18th month)</incorrect >
42+ </examples >
43+ <implementation >
44+ When PR list provided directly: Use new Date().toISOString().split('T')[0]
45+ </implementation >
46+ </critical_date_format >
47+
2748 <main_workflow >
2849 <phase name =" initialization" >
2950 <step number =" 1" >
5980 <step number =" 2" optional =" true" >
6081 <action >Handle user-provided PR list</action >
6182 <when >User provides PR numbers directly</when >
62- <critical >
63- MUST execute date validation:
64- - Use new Date().toISOString().split('T')[0] for current date
65- - Validate format YYYY-MM-DD where MM is month (01-12)
66- - Common error: Confusing MM-DD order
67- </critical >
83+ <critical >Validate date format (MM is month, not day)</critical >
6884 </step >
6985
7086 <step number =" 3" >
7187 <action >Fetch PRs from GitHub</action >
7288 <skip_if >User provided PR list</skip_if >
73- <tools >
74- - gh api for release dates
75- - gh pr list for merged PRs in date range
76- </tools >
89+ <commands >
90+ <get_tag_date ><![CDATA[
91+ gh api repos/RooCodeInc/Roo-Code/git/refs/tags/vX.Y.Z --jq '.object.sha' | xargs -I {} gh api repos/RooCodeInc/Roo-Code/git/commits/{} --jq '.committer.date'
92+ ]]> </get_tag_date >
93+ <search_prs ><![CDATA[
94+ gh pr list --repo RooCodeInc/Roo-Code --state merged --search "merged:YYYY-MM-DD..YYYY-MM-DD" --json number,title,author,mergedAt --limit 1000
95+ ]]> </search_prs >
96+ </commands >
7797 </step >
7898 </phase >
7999
89109 <subtask_pattern >
90110 <for_each >PR in list</for_each >
91111 <action >Create investigation subtask</action >
92- <message >
93- Investigate PR #[number] for release notes v[version].
94- 1. Get PR details (gh pr view)
95- 2. Extract linked issues
96- 3. Get issue details
97- 4. Categorize change
98- 5. Identify documentation needs (new features, behavior changes, deprecations)
99- 6. Append to temp_pr_analysis.md using insert_content line 0
100-
101- Include documentation flags:
102- - docs-new: Completely new feature
103- - docs-update: Existing docs need updating
104- - docs-example: New examples needed
105- - docs-migration: Breaking changes
106-
107- CRITICAL: Never create/overwrite files, only append.
108- </message >
112+ <message ><![CDATA[
113+ Investigate PR #[number] for release notes v[version].
114+ 1. Get PR details (gh pr view)
115+ 2. Extract linked issues
116+ 3. Get issue details
117+ 4. Categorize change
118+ 5. Identify documentation needs (new features, behavior changes, deprecations)
119+ 6. Append to temp_pr_analysis.md using insert_content line 0
120+
121+ Include documentation flags:
122+ - docs-new: Completely new feature
123+ - docs-update: Existing docs need updating
124+ - docs-example: New examples needed
125+ - docs-migration: Breaking changes
126+
127+ CRITICAL: Never create/overwrite files, only append.
128+ ]]> </message >
109129 </subtask_pattern >
130+
131+ <output_format ><![CDATA[
132+ ## PR #[number]: [Title]
133+
134+ **Author**: [username]
135+ **Linked Issues**: #[issue] (reporter: [username])
136+ **Category**: [Category]
137+ **User Impact**: [Benefit description]
138+ **Contributors**: [list]
139+ **Documentation Needs**: [none|docs-new|docs-update|docs-example|docs-migration]
140+ **Documentation Notes**: [If applicable, what needs documenting]
141+
142+ ---
143+ ]]> </output_format >
110144 </phase >
111145
112146 <phase name =" compilation" >
113147 <step number =" 1" >
114148 <action >Read and organize PR findings</action >
115149 <categories >Features, QOL Improvements, Bug Fixes, Provider Updates</categories >
116- <note >QOL Improvements must come before Bug Fixes</note >
150+ <critical >QOL Improvements MUST come before Bug Fixes</critical >
117151 </step >
118152
119153 <step number =" 2" >
120154 <action >Confirm feature highlighting with user</action >
121- <details >See user_confirmation_workflow for detailed process</details >
155+ <tool >ask_followup_question</tool >
156+ <template ><![CDATA[
157+ I've analyzed all PRs for v[VERSION]. Here are the changes I found:
158+
159+ **Major Features:**
160+ [List major features with brief descriptions]
161+
162+ **Bug Fixes:** [COUNT] fixes
163+ **QOL Improvements:** [COUNT] improvements
164+ **Other Changes:** [COUNT] items
165+
166+ Which features should I highlight with expanded sections in the release notes?
167+ ]]> </template >
122168 <critical >Must get explicit confirmation before writing notes</critical >
123169 </step >
124170
125171 <step number =" 3" >
126172 <action >Create release notes file</action >
127173 <format >docs/update-notes/vX.Y.Z.mdx</format >
128- <includes >
129- - Proper documentation links for features
130- - See documentation_handling for link patterns
131- </includes >
132174 </step >
133175
134176 <step number =" 4" >
153195 <tool >new_task with mode="documentation-writer"</tool >
154196 </step >
155197 </phase >
156-
157- <phase name =" review" optional =" true" >
158- <step number =" 1" >
159- <action >Cross-reference with changelog if exists</action >
160- <details >Compare generated notes with changelog entries</details >
161- </step >
162-
163- <step number =" 2" >
164- <action >User review loop</action >
165- <loop_until >User approves or cancels</loop_until >
166- <options >
167- - Create PR
168- - Make changes
169- - Show files
170- </options >
171- </step >
172- </phase >
173198 </main_workflow >
174199
175200 <special_workflows >
176201 <workflow name =" discord_only" >
177202 <description >Generate Discord format from existing release files</description >
203+ <transformations >
204+ - Remove PR links and numbers
205+ - Convert /path to https://docs.roocode.com/path
206+ - Add footer link with markdown format
207+ - Handle compression if requested
208+ - Wrap entire output in markdown code block
209+ </transformations >
210+ <formatting_rules >
211+ <rule >Title format: # 🚀 Roo Code X.Y.Z Release Notes</rule >
212+ <rule >Include summary in intro sentence listing key features</rule >
213+ <rule >Use "Feature Highlights" instead of "Major Features"</rule >
214+ <rule >Never use the word "powerful"</rule >
215+ <rule >No version numbers in body text (only header/footer)</rule >
216+ <rule >No "Happy coding!" or similar closings</rule >
217+ <rule >Footer: 📚 **Full Release Notes** [vX.Y.Z](link)</rule >
218+ </formatting_rules >
219+ <output >Formatted text wrapped in ```markdown code block (no files created)</output >
220+ </workflow >
221+
222+ <workflow name =" discord_combined" >
223+ <description >Generate combined Discord format from multiple release files</description >
178224 <steps >
179- <step >Parse version numbers from request</step >
180- <step >Verify files exist</step >
181- <step >Apply Discord transformations:
182- - Remove PR links
183- - Convert internal links to full URLs
184- - Add footer link
185- - Handle compression if requested
186- </step >
187- <step >Output formatted text (no files created)</step >
225+ <step >Read all specified release note files</step >
226+ <step >Merge and deduplicate features across versions</step >
227+ <step >Create unified summary sentence</step >
228+ <step >Apply Discord formatting rules</step >
188229 </steps >
230+ <formatting_rules >
231+ <rule >Title format: # 🚀 Roo Code X.Y.Z-X.Y.Z Release Updates</rule >
232+ <rule >Intro sentence summarizes all key features from all versions</rule >
233+ <rule >Combine similar sections across versions</rule >
234+ <rule >Footer with links to each version: [vX.Y.Z](link) | [vX.Y.Z](link)</rule >
235+ <rule >Wrap entire output in ```markdown code block</rule >
236+ </formatting_rules >
237+ <output >Combined formatted text (no files created)</output >
189238 </workflow >
190239
191240 <workflow name =" version_only" >
192241 <description >Extract PR list when user provides just a version</description >
193242 <steps >
194243 <step >Spawn PR extraction subtask</step >
195244 <step >Subtask writes PR list to temp_pr_list.md</step >
196- <step >Ask user how to proceed:
197- - Create full release notes
198- - Show PR list
199- - Select specific PRs
200- - Cancel
201- </step >
245+ <step >Ask user how to proceed</step >
202246 </steps >
203247 </workflow >
204248
205249 <workflow name =" latest" >
206250 <description >Auto-detect missing versions</description >
207251 <steps >
208252 <step >Find most recent release notes</step >
209- <step >Read changelog ( or GitHub releases) </step >
253+ <step >Read changelog or GitHub releases</step >
210254 <step >Identify missing versions</step >
211255 <step >Ask which to process</step >
212- <step >Process selected versions sequentially</step >
213256 </steps >
214257 </workflow >
215258 </special_workflows >
227270 <rule priority =" HIGH" >
228271 Focus on user benefits, not technical implementation
229272 </rule >
273+ <rule priority =" HIGH" >
274+ QOL Improvements section MUST come before Bug Fixes
275+ </rule >
230276 </critical_rules >
231277</workflow_instructions >
0 commit comments