6060 </step >
6161
6262 <step number =" 3" >
63- <title >Process Each Version</title >
64- <action >Generate Discord format for each existing version</action >
63+ <title >Process Each Version Using Subtasks</title >
64+ <action >Create Discord formatting subtask for each existing version</action >
65+ <details >
66+ For each version that exists, create a subtask to handle the Discord formatting.
67+ This ensures consistency with the standard workflow's Discord formatting approach.
68+ </details >
6569 <substeps >
6670 <substep number =" 1" >
67- <action >Read release notes file</action >
68- <tool >read_file</tool >
69- <file >docs/update-notes/vX.Y.Z.mdx</file >
71+ <action >Create temporary results file</action >
72+ <tool >write_to_file</tool >
73+ <file >temp_discord_results.md</file >
74+ <content ># Discord Release Notes Results
75+
76+ </content >
77+ <details >Initialize a file to collect results from subtasks</details >
7078 </substep >
7179 <substep number =" 2" >
72- <action >Apply Discord transformations</action >
73- <transformations >
74- <transform >Remove frontmatter</transform >
75- <transform >Strip PR links and numbers</transform >
76- <transform >Convert internal links to full URLs</transform >
77- <transform >Preserve emoji and formatting</transform >
78- <transform >Add version-specific footer</transform >
79- </transformations >
80+ <action >Create Discord formatting subtask for each version</action >
81+ <tool >new_task</tool >
82+ <details >
83+ For each existing version, create a release-notes-writer subtask.
84+ </details >
85+ <message_format >
86+ Generate Discord-formatted release notes for version X.Y.Z.
87+
88+ Requirements:
89+ 1. Strip all PR links and numbers (#XXXX).
90+ 2. Keep structure and content.
91+ 3. Prepend https://docs.roocode.com/ to all internal doc links.
92+ 4. If compressing, summarize with this format:
93+ ## :wrench: [Other Improvements and Fixes](https://docs.roocode.com/update-notes/vX.Y.Z#section-anchor)
94+ This release includes X other fixes covering [list key areas]. Thanks to contributors: [list contributors].
95+ 5. Add footer link:
96+ [Full X.Y.Z Release Notes](https://docs.roocode.com/update-notes/vX.Y.Z)
97+
98+ Convert docs/update-notes/vX.Y.Z.mdx to Discord format.
99+ Write the result to temp_discord_release_notes.md.
100+
101+ Special handling: [Include any compression or highlights-only requests from user]
102+ </message_format >
80103 </substep >
81104 <substep number =" 3" >
82- <action >Handle special requests</action >
83- <options >
84- <option name =" compression" >
85- <trigger >User mentions "compress" or "summarize"</trigger >
86- <action >Compress minor sections into summary</action >
87- </option >
88- <option name =" highlights_only" >
89- <trigger >User mentions "highlights" or "major features"</trigger >
90- <action >Include only major features and important fixes</action >
91- </option >
92- </options >
105+ <action >Wait for subtask completion</action >
106+ <details >
107+ The subtask will handle reading the file, applying transformations, and writing results.
108+ </details >
109+ </substep >
110+ <substep number =" 4" >
111+ <action >Read subtask results and append to collection</action >
112+ <tool >read_file</tool >
113+ <file >temp_discord_release_notes.md</file >
114+ <details >
115+ After each subtask completes, read its output and append to the results collection.
116+ </details >
93117 </substep >
94118 </substeps >
95119 </step >
132156 </step >
133157
134158 <step number =" 5" >
135- <title >Format Output</title >
136- <action >Present Discord-ready text based on version count</action >
137- <single_version_format ><![CDATA[
138- # Roo Code X.Y.Z Release Notes
139-
140- [Summary sentence from original]
141-
142- ## [Major Feature Name]
143-
144- [Feature description without PR links]
145-
146- ## Bug Fixes
147-
148- * **[Fix Name]**: [Description] (thanks [contributors]!)
149- * **[Another Fix]**: [Description] (thanks [contributors]!)
150-
151- [Full X.Y.Z Release Notes](https://docs.roocode.com/update-notes/vX.Y.Z)
152- ]]> </single_version_format >
153- <multiple_versions_combined_format ><![CDATA[
154- # Roo Code Release Notes (vX.Y.Z - vA.B.C)
155-
156- Combined release notes for versions X.Y.Z through A.B.C.
157-
158- ## Major Features
159-
160- * **[Feature Name]** (vX.Y.Z): [Description without PR links]
161- * **[Another Feature]** (vA.B.C): [Description]
162-
163- ## Bug Fixes
164-
165- * **[Category]**: [Fix description] (vX.Y.Z) (thanks [contributor]!)
166- * **[Category]**: [Another fix] (vA.B.C) (thanks [contributor]!)
167-
168- ## Improvements
169-
170- * **[Improvement Type]**: [Description] (vX.Y.Z)
171- * **[Another Type]**: [Description] (vA.B.C)
172-
173- ---
174- Full release notes:
175- - [X.Y.Z Release Notes](https://docs.roocode.com/update-notes/vX.Y.Z)
176- - [A.B.C Release Notes](https://docs.roocode.com/update-notes/vA.B.C)
177- ]]> </multiple_versions_combined_format >
178- <multiple_versions_separate_format ><![CDATA[
179- # Roo Code Release Notes
180-
181- ## Version X.Y.Z
182-
183- [Summary and key changes]
184-
185- ## Version A.B.C
186-
187- [Summary and key changes]
188-
189- ---
190- Full release notes:
191- - [X.Y.Z Release Notes](https://docs.roocode.com/update-notes/vX.Y.Z)
192- - [A.B.C Release Notes](https://docs.roocode.com/update-notes/vA.B.C)
193- ]]> </multiple_versions_separate_format >
194- <format_selection >
195- <rule >Use combined format when user explicitly requests "combined" or "merge"</rule >
196- <rule >Use combined format for 2-3 closely related patch versions (e.g., 3.23.14, 3.23.15)</rule >
197- <rule >Use separate format for many versions or major/minor releases</rule >
198- <rule >Ask user preference if unclear</rule >
199- </format_selection >
159+ <title >Compile and Format Final Output</title >
160+ <action >Read all subtask results and format based on version count</action >
161+ <substeps >
162+ <substep number =" 1" >
163+ <action >Read collected results</action >
164+ <tool >read_file</tool >
165+ <file >temp_discord_results.md</file >
166+ <details >Read all Discord-formatted content from subtasks</details >
167+ </substep >
168+ <substep number =" 2" >
169+ <action >Determine output format</action >
170+ <details >
171+ Based on number of versions and user preferences, choose appropriate format:
172+ - Single version: Present as-is from subtask
173+ - Multiple versions with "combine" request: Merge into unified sections
174+ - Multiple versions default: Present separately
175+ </details >
176+ </substep >
177+ <substep number =" 3" >
178+ <action >Apply final formatting if needed</action >
179+ <details >
180+ For multiple versions, may need to:
181+ - Combine sections by category
182+ - Add version indicators to items
183+ - Consolidate duplicate contributors
184+ - Create unified header and footer
185+ </details >
186+ </substep >
187+ </substeps >
188+ <single_version_note >
189+ For single versions, the subtask output can be used directly without additional formatting.
190+ </single_version_note >
191+ <multiple_versions_note >
192+ For multiple versions, additional processing may be needed to combine or organize the content appropriately.
193+ </multiple_versions_note >
200194 </step >
201195
202196 <step number =" 6" >
@@ -215,17 +209,24 @@ Full release notes:
215209 </workflow_steps >
216210
217211 <implementation_details >
218- <detail name =" no_file_creation " >
219- <description >This workflow does not create or modify any files</description >
220- <reason >It only reads existing files and outputs formatted text </reason >
212+ <detail name =" no_permanent_files " >
213+ <description >This workflow does not create or modify any permanent files</description >
214+ <reason >It only reads existing files and uses temporary files for subtask coordination </reason >
221215 </detail >
222216 <detail name =" no_github_api" >
223217 <description >No GitHub API calls are needed</description >
224218 <reason >All information comes from existing release note files</reason >
225219 </detail >
226- <detail name =" immediate_response" >
227- <description >Workflow completes quickly without subtasks</description >
228- <reason >Simple file reading and text transformation</reason >
220+ <detail name =" subtask_based" >
221+ <description >Uses subtasks for consistency with standard workflow</description >
222+ <reason >Ensures Discord formatting logic remains consistent across all workflows</reason >
223+ </detail >
224+ <detail name =" temporary_files" >
225+ <description >Uses temporary files for subtask communication</description >
226+ <files >
227+ <file >temp_discord_results.md - Collects all subtask outputs</file >
228+ <file >temp_discord_release_notes.md - Individual subtask output</file >
229+ </files >
229230 </detail >
230231 </implementation_details >
231232
@@ -235,8 +236,9 @@ Full release notes:
235236 <workflow >
236237 1. Parse version: 3.23.14
237238 2. Check file exists: docs/update-notes/v3.23.14.mdx ✓
238- 3. Read file and transform
239- 4. Output Discord-formatted text
239+ 3. Create Discord formatting subtask
240+ 4. Subtask reads file and transforms content
241+ 5. Read subtask output and present to user
240242 </workflow >
241243 </example >
242244
@@ -246,9 +248,10 @@ Full release notes:
246248 1. Parse versions: 3.23.14, 3.23.15, 3.23.16
247249 2. Check files: v3.23.14.mdx ✓, v3.23.15.mdx ✓, v3.23.16.mdx ✗
248250 3. Ask user how to proceed with missing v3.23.16
249- 4. Process existing versions
250- 5. Determine format: separate sections for each version
251- 6. Output Discord announcement with version sections
251+ 4. Create subtasks for existing versions
252+ 5. Collect subtask outputs
253+ 6. Format as separate sections for each version
254+ 7. Output Discord announcement with version sections
252255 </workflow >
253256 </example >
254257
@@ -257,10 +260,11 @@ Full release notes:
257260 <workflow >
258261 1. Parse versions: 3.23.14, 3.23.15
259262 2. Check both files exist
260- 3. Read and process both versions
261- 4. Detect "combine" keyword - use combined format
262- 5. Merge features, fixes, and improvements with version tags
263- 6. Output single combined announcement
263+ 3. Create subtasks for each version
264+ 4. Collect subtask outputs
265+ 5. Detect "combine" keyword - use combined format
266+ 6. Merge features, fixes, and improvements with version tags
267+ 7. Output single combined announcement
264268 </workflow >
265269 </example >
266270
@@ -269,8 +273,9 @@ Full release notes:
269273 <workflow >
270274 1. Parse version and compression request
271275 2. Check file exists
272- 3. Read and transform with compression
273- 4. Output condensed Discord format
276+ 3. Create subtask with compression instructions
277+ 4. Subtask applies compression during transformation
278+ 5. Output condensed Discord format
274279 </workflow >
275280 </example >
276281
@@ -279,9 +284,10 @@ Full release notes:
279284 <workflow >
280285 1. Parse range: 3.23.14 to 3.23.16
281286 2. Find all versions in range
282- 3. Process each version's content
283- 4. Combine into unified sections with version indicators
284- 5. Output merged announcement
287+ 3. Create subtasks for each version
288+ 4. Collect all subtask outputs
289+ 5. Combine into unified sections with version indicators
290+ 6. Output merged announcement
285291 </workflow >
286292 </example >
287293 </examples >
0 commit comments