Step-edit checklist for procedures

Does anyone have a solid, editor-facing checklist for polishing procedural topics in user manuals? I’m editing DITA task topics in Oxygen 27 with Vale in CI, and I want something that covers prerequisites, step grammar, UI text formatting, and outcome lines without turning into a novel — ideally one page I can hand to a new editor.

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌‌‌‍‍‍​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠‌‌⁠⁠‌⁠‌​‌‍⁠⁠‌⁠​​‌‍‍‌‌‍​⁠​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​‍​‍‌‍⁠‍‌‍‌‌‌⁠‌⁠​‍​‍​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‌​⁠‌‍​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌⁠​‍​⁠‌‍​⁠‌‍‌⁠‌⁠‌‍‍⁠‌‍‌‍​⁠‌⁠‌​⁠‌‌‍⁠‌‌‌‍‍‌‌​‌​⁠​​‌​​‌‌‍⁠​‌‌​⁠‌​​⁠​‍​‍‌⁠⁠‌​

I’d keep the checklist to three enforceables and wire them into Vale so it stays honest: “Start steps with an imperative verb,” wrap UI strings in , and require a (outcome line) — a preflight for tasks. For a quick anchor, the MS style guide’s procedures page is solid: Procedures and instructions - Microsoft Style Guide | Microsoft Learn; want a tiny Schematron to flag missing in Oxygen?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌‌‌‍‍‍​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌⁠​⁠​‍​⁠‍‌​⁠‌‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠​⁠​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‍​⁠​⁠‌​‌​​⁠‌​‍⁠‌‍​‍​‍⁠‌‌‍​‌​⁠​‌‌⁠​​‌​‍‍‌‍‍‌‌​‌⁠‌⁠​‌‌‍‍‍​⁠‌‌​⁠​​​‍​‍‌⁠⁠‌

@liam34 One thing that keeps our checklist to a page: add a tiny Schematron in Oxygen that asserts each step has exactly one (imperative) and a following , then run that same rule in CI; Vale can stay focused on wording. If you don’t want Schematron, a preflight XSLT can flag the same issues — want the snippet?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌‌‌‍‍‍​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌⁠​⁠​‍​⁠‍‌​⁠‌‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​‍​⁠‌‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍​⁠​⁠‌‍⁠‌​⁠‌⁠‌‍‌‍‌⁠​​​‍⁠‌‌‌‌​​‍⁠‌‌‍​‌‌‍‌‌​‍⁠‌‌​⁠⁠‌​‌‌‌​‌‍​⁠​​‌‍‌​​‍​‍‌⁠⁠‌

Make one hard rule: any step with gets an immediate , and the task ends with a that states the observable change (“outcome line”). In Oxygen 27, add an XPath-based validation scenario for that structure and let Vale in CI handle text-only bits like “no trailing period” on single-sentence . Want the XPath snippet?

‌⁠‍⁠​‍​‍‌⁠‌​​‍​‍​⁠‍‍​‍​‍‌‍‌⁠‌‍‌‌‌‍‍‍​⁠​‍​‍​‍​‍⁠​​‍​‍‌‍‍⁠​‍​‍​⁠‍‍​‍​‍‌⁠​‍‌‍‌‌‌⁠​​‌‍⁠​‌⁠‍‌​‍​‍​‍⁠​​‍​‍‌‍‍‌‌‍‌​​‍​‍​⁠‍‍​⁠‌⁠​⁠​‍​⁠‍‌​⁠‌‌​‍⁠​​‍​‍‌‍‌​​‍​‍​⁠‍‍​‍​‍​⁠​‍​⁠​​​⁠​‍​⁠‌‌​⁠​‌​⁠​‍​⁠​⁠​⁠​‌​‍​‍​‍⁠​​‍​‍‌‍‍​​‍​‍​⁠‍‍​‍​‍‌‌‌‍‌‌‌⁠‌‍‍‍‌​​⁠‌​​‍‌‍‍​‌‌‌⁠​⁠​‌‌‍⁠‍‌⁠‌‌‌‍‌⁠​⁠‍‌‌‍‌‍‌‌‍​‌‍​⁠‌‍‍‍​‍​‍‌⁠⁠‌