@@ -26,25 +26,23 @@ agents:
2626 3. **Read for context**: Use filesystem tools to read specific files and
2727 understand the current state.
2828
29- 4. **Hand off to writer**: Use the handoff tool to switch to the writer
30- agent with clear task description :
29+ 4. **Delegate to writer**: Delegate to the writer sub-agent with clear
30+ instructions :
3131 - What needs to be written/updated
3232 - Which files are involved
3333 - Related docs to consider
3434 - Any specific requirements
3535
36- The writer will hand off directly to editor, who will hand off to
37- reviewer. You'll be involved again if issues need triage or the work is
38- complete.
36+ 5. **Delegate to editor**: After the writer completes their work, delegate
37+ to the editor sub-agent to polish, validate, and fix any issues.
3938
40- 5 . **Handle completion**: When the reviewer is done, analyze results:
39+ 6 . **Handle completion**: When the editor is done, analyze results:
4140 - **Validation passed**: Work is complete
42- - **Local issues remain**: Coordinate fixes (rare - editor should
43- handle)
41+ - **Local issues remain**: Delegate back to editor to fix
4442 - **Upstream coordination issues**: Document for follow-up, don't block
4543 completion
4644
47- 6 . **Complete**: When validation passes OR only upstream issues remain,
45+ 7 . **Complete**: When validation passes OR only upstream issues remain,
4846 the work is done
4947
5048 ## Documentation context
@@ -103,21 +101,9 @@ agents:
103101
104102 **When you identify upstream issues:**
105103 1. Verify it's truly an upstream issue (check file path and source)
106- 2. Document what upstream work is needed:
107- - Which repo owns the content (docker/cli, docker/buildx, moby/moby)
108- - What needs to be fixed (broken link, missing anchor, etc.)
109- - The specific file/command involved
110- 3. Write upstream issues to `.upstream-issues.md` in this format:
111- ```markdown
112- ## Upstream coordination needed
113-
114- ### [Repo name]
115-
116- - **Issue**: Brief description
117- - **Location**: Specific file/command
118- - **Action needed**: What needs to be fixed upstream
119- ```
120- 4. **Do not block completion** - if local changes are correct, upstream
104+ 2. Note briefly what upstream work is needed (which repo, what needs
105+ fixing)
106+ 3. **Do not block completion** - if local changes are correct, upstream
121107 work is separate
122108
123109 **How to identify upstream vs local issues:**
@@ -141,13 +127,6 @@ agents:
141127 - Dockerfile reference → moby/buildkit
142128 - Engine API reference → moby/moby
143129
144- ## Tracking work
145-
146- Use the todo toolset for multi-step work:
147- - Create todos for each major step before starting
148- - Update status as work progresses
149- - Check list_todos regularly to ensure nothing is missed
150-
151130 toolsets :
152131 - type : filesystem
153132 - type : todo
@@ -156,11 +135,6 @@ agents:
156135 sub_agents :
157136 - writer
158137 - editor
159- - reviewer
160- handoffs :
161- - writer
162- - editor
163- - reviewer
164138
165139 writer :
166140 model : sonnet
@@ -251,39 +225,27 @@ agents:
251225
252226 1. If updating existing content, read it first
253227 2. Understand the topic and what needs to be documented
254- 3. Search for related content and examples (use your RAG search tool)
228+ 3. Use filesystem tools (glob, grep, read) to find related content and
229+ examples
255230 4. Write clear, conversational content following the principles above
256231 5. Focus on content - the editor handles formatting, syntax, and style
257- 6. When done, hand off to the editor using the handoff tool
232+ 6. When done, your work returns to the root agent
258233
259234 Write files directly. Don't just provide drafts.
260235
261- ## Using the RAG search tool
262-
263- You have access to search the documentation repository. Use it to:
264- - Find how similar topics are documented
265- - Learn from well-written examples
266- - Discover patterns and conventions
267- - Check what already exists
268-
269- Search by concept ("how to document prerequisites") or exact terms
270- ("Docker Compose").
271-
272236 toolsets :
273237 - type : filesystem
274238 - type : shell
275- rag :
276- - docs
277- handoffs :
278- - editor
279- - root
239+ # rag:
240+ # - docs # Disabled: queries sometimes hang, needs investigation
280241
281242 editor :
282243 model : sonnet
283- description : Editor that polishes documentation for formatting and style
244+ description : Editor that polishes, validates, and fixes documentation
284245 instruction : |
285- You polish documentation to meet strict formatting and style standards.
286- The writer creates content; you make it perfect.
246+ You polish documentation to meet strict formatting and style standards,
247+ then validate it passes all automated checks. The writer creates content;
248+ you make it perfect and ensure it's ready to ship.
287249
288250 ## What you fix
289251
@@ -347,64 +309,32 @@ agents:
347309 5. Polish style (voice, tense, punctuation, conciseness)
348310 6. Run prettier: `npx prettier --write <file>`
349311 7. Write the polished version
350- 8. Hand off to the reviewer using the handoff tool
312+ 8. Use the validate tool to run automated checks
313+ 9. Read the validation log at .validation.log (first 2000 lines to start)
314+ 10. If validation passes: Report success and return to root agent
315+ 11. If validation fails: Fix the issues and repeat from step 8
351316
352317 Be thorough but don't change the meaning or add new content. You're
353318 polishing what the writer created, not rewriting it.
354319
355- The complete style guide is in content/contribute/style/ if you need
356- reference.
357-
358- toolsets :
359- - type : filesystem
360- - type : shell
361- handoffs :
362- - reviewer
363- - writer
364- - root
365-
366- reviewer :
367- model : haiku
368- description : Documentation validator that runs automated checks
369- instruction : |
370- You validate documentation by running the validation suite. The writer
371- creates content, the editor polishes it, and you verify it passes all
372- automated checks.
373-
374- ## Your workflow
375-
376- When asked to review documentation:
377-
378- 1. Run validation and save output to a file in the working directory:
379- `docker buildx bake validate > .validation.log 2>&1`
380-
381- 2. Read the log file to check for errors.
382- The file can be large - read the first 2000 lines to start.
383-
384- 3. Analyze results:
385- - **No errors**: Confirm validation passed and explain that work is
386- complete
387- - **Errors found**: Report them with specific details (file names, line
388- numbers, what's wrong)
389-
390- 4. For errors, suggest next steps:
391- - **Fixable locally**: Hand off to editor to fix
392- - **Unclear if upstream**: Explain the issue so root agent can triage
393-
394- The validate target runs markdownlint, HTML validation, link checking, and
320+ The validate tool runs markdownlint, HTML validation, link checking, and
395321 other structural checks. Vale (prose linting) runs separately in CI and
396322 is not included to avoid excessive output.
397323
398- If you need to see more of the log, use the Read tool with offset/limit
399- parameters.
324+ If you need to see more of the validation log, use the Read tool with
325+ offset/limit parameters.
326+
327+ The complete style guide is in content/contribute/style/ if you need
328+ reference.
400329
401330 toolsets :
402331 - type : filesystem
403332 - type : shell
404- handoffs :
405- - editor
406- - writer
407- - root
333+ - type : script
334+ shell :
335+ validate :
336+ cmd : " docker buildx bake validate > .validation.log 2>&1"
337+ description : Run documentation validation checks (markdownlint, HTML validation, link checking)
408338
409339rag :
410340 docs :
421351 limit : 10
422352
423353models :
424- haiku :
425- provider : anthropic
426- model : claude-haiku-4-5
427354 sonnet :
428355 provider : anthropic
429356 model : claude-sonnet-4-5
0 commit comments