OpenClaw Refactor Docs
Overview
Use this skill when the user gives a target OpenClaw docs page and asks to
rewrite, refactor, reorganize, split, shorten, or improve it.
This skill builds on technical-documentation: use that skill for style, page types,
structure, examples, discoverability, and verification. This skill adds the
rewrite workflow needed to avoid losing accurate behavior during a major docs
refactor.
Inputs
Required:
- A target docs page path, such as
docs/plugins/codex-harness.md.
Optional:
- Desired page type, such as topic page, guide, reference, or troubleshooting.
- Specific goals, such as shorter main page, move details to reference pages, or
align with current CLI behavior.
- Related source files, schemas, commands, tests, specs, or PRs.
If the target page is missing or ambiguous, ask one concise question before
editing. Otherwise, proceed.
Working Contract
Refactor the target page to be more useful, concise, and comprehensive within
its stated scope.
Do not treat a rewrite as permission to discard behavior facts. Preserve,
verify, move, or explicitly retire existing material. Incorrect docs are worse
than verbose docs.
Prefer this split:
- Topic or guide pages cover the 80/20 path, decisions readers must make, safe
setup, smallest reliable verification, common failures, and links onward.
- Reference pages cover exhaustive fields, defaults, enums, limits, precedence
rules, API contracts, narrow internals, and rare debugging details.
- Troubleshooting pages start from observable symptoms and map to checks,
causes, and fixes.
Workflow
1. Load the doc standard
Read ../technical-documentation/SKILL.md first. Apply its page-type, style,
examples, navigation, and verification guidance throughout the refactor.
Run pnpm docs:list when available, then read only the target page and the
likely entry points, references, or related pages needed for the refactor.
2. Classify the page
Before editing, decide the intended page type from technical-documentation.
If the current page mixes page types, choose the main page type and plan where
the other material belongs:
- Move exhaustive contracts to an existing or new reference page.
- Move symptom-driven material to an existing or new troubleshooting page.
- Move narrow setup workflows to a guide when they interrupt the main path.
- Keep concise routing, decision, and safety details in the main page when
readers need them to complete the workflow.
3. Preserve and audit existing facts
Create a working inventory from the old page before rewriting. Include:
- Config fields, flags, commands, slash commands, env vars, defaults, enums,
nullable values, and constraints.
- Precedence rules, fallback behavior, caps, limits, rate limits, timeouts,
lifecycle states, queueing behavior, and compatibility rules.
- Auth, permission, approval, sandbox, safety, privacy, and destructive-action
behavior.
- Setup requirements, supported versions, dependencies, operating systems,
credentials, and account requirements.
- Error messages, troubleshooting symptoms, diagnostics, and recovery steps.
- Examples, expected output, command routing tables, and cross-links.
For each fact, choose one outcome:
- Keep it in the refactored target page.
- Move it to a specific existing page.
- Move it to a specific new page.
- Delete it because current source proves it is obsolete or out of scope.
Do not infer defaults, permissions, policy, timeout behavior, or safety posture
from names or intent. Verify them.
4. Find source of truth
Use the nearest authoritative source for each behavior-sensitive claim:
- Public schema, plugin manifest, generated config docs, or exported types for
config fields.
- CLI implementation, slash-command handlers, help text, and command tests for
commands and flags.
- Runtime source and tests for lifecycle, queueing, permission, fallback,
timeout, and provider behavior.
- Protocol docs, SDK facades, and contract tests for APIs and plugin surfaces.
- Existing docs only as secondary evidence unless the target is purely
conceptual.
If a page promises a reference, compare its tables against the schema,
manifest, CLI help, generated docs, or exported types. Missing public fields,
defaults, precedence rules, caps, or side effects are correctness bugs.
5. Plan moved material
When moving detail out of the target page, record the destination before
editing:
- Existing page: name the page and section.
- New page: choose the page type, slug, title, frontmatter summary,
doc-schema-version: 1, and read_when hints.
- Target page: keep a short summary and link from the point where readers need
the deeper detail.
Avoid duplicate truth. If the same contract appears in multiple places, choose
one canonical page and link to it.
6. Rewrite
Rewrite in this order:
- Make the first screen answer what the reader can do and why this page exists.
- Put the recommended path before alternatives.
- Keep only decision-making and common operational detail in the main flow.
- Move exhaustive tables and rare details to the planned reference pages.
- Preserve concise routing tables when they help readers choose commands,
config paths, harnesses, plugins, providers, or references.
- Add troubleshooting from observable symptoms, not internal guesses.
- Link related concepts, guides, references, diagnostics, and adjacent tools.
Add doc-schema-version: 1 to the YAML frontmatter of every docs page that the
refactor migrates, creates, or materially rewrites. Apply it only to docs page
files, not docs.json, glossary JSON, or other non-page metadata. If a
migrated page is generated, update the generator so regeneration preserves the
marker instead of hand-editing generated output.
Do not leave placeholders such as "TODO", "TBD", or "see docs" unless the user
explicitly asks for a draft.
7. Compare old and new
After editing, compare the old and new page:
- Confirm all behavior-sensitive facts were kept, moved, or intentionally
deleted with source-backed reason.
- Check that the main page still covers the 80/20 scenario end to end.
- Check that reference pages remain exhaustive for the scope they claim.
- Check that links from the target page reach moved details.
- Check that headings are stable, searchable, and action-oriented.
If the refactor deliberately removes relevant material, say where it went or why
it was removed in the final report.
8. Verify
Run the smallest reliable docs checks for the touched surface:
pnpm docs:list
git diff --check -- <touched-files>
- Targeted
pnpm exec oxfmt --check --threads=1 <touched-files>
pnpm docs:check-mdx
pnpm docs:check-links
pnpm docs:check-i18n-glossary when link text, navigation, labels, or glossary
surfaces changed
- Generated-doc checks when schemas, generated config docs, API docs, or
generated baselines are touched
Run commands and examples from the page whenever feasible. If you cannot verify
a behavior-sensitive claim, either remove the claim, mark the uncertainty in the
work-in-progress report, or ask for the missing source.
Final Report
Report:
- What changed in the target page.
- What details moved and their destination pages.
- What source-of-truth checks backed behavior-sensitive claims.
- What validation ran and what failed for unrelated reasons.
Do not include a long rewrite diary. Lead with remaining risks only if there are
any.
1---2name: openclaw-refactor-docs3description: Refactor an existing OpenClaw docs page with source-audited preservation, restructuring, and verification.4---5
6# OpenClaw Refactor Docs
7
8## Overview
9
10Use this skill when the user gives a target OpenClaw docs page and asks to
11rewrite, refactor, reorganize, split, shorten, or improve it.
12
13This skill builds on `technical-documentation`: use that skill for style, page types,
14structure, examples, discoverability, and verification. This skill adds the
15rewrite workflow needed to avoid losing accurate behavior during a major docs
16refactor.
17
18## Inputs
19
20Required:
21
22- A target docs page path, such as `docs/plugins/codex-harness.md`.
23
24Optional:
25
26- Desired page type, such as topic page, guide, reference, or troubleshooting.
27- Specific goals, such as shorter main page, move details to reference pages, or
28 align with current CLI behavior.
29- Related source files, schemas, commands, tests, specs, or PRs.
30
31If the target page is missing or ambiguous, ask one concise question before
32editing. Otherwise, proceed.
33
34## Working Contract
35
36Refactor the target page to be more useful, concise, and comprehensive within
37its stated scope.
38
39Do not treat a rewrite as permission to discard behavior facts. Preserve,
40verify, move, or explicitly retire existing material. Incorrect docs are worse
41than verbose docs.
42
43Prefer this split:
44
45- Topic or guide pages cover the 80/20 path, decisions readers must make, safe
46 setup, smallest reliable verification, common failures, and links onward.
47- Reference pages cover exhaustive fields, defaults, enums, limits, precedence
48 rules, API contracts, narrow internals, and rare debugging details.
49- Troubleshooting pages start from observable symptoms and map to checks,
50 causes, and fixes.
51
52## Workflow
53
54### 1. Load the doc standard
55
56Read `../technical-documentation/SKILL.md` first. Apply its page-type, style,
57examples, navigation, and verification guidance throughout the refactor.
58
59Run `pnpm docs:list` when available, then read only the target page and the
60likely entry points, references, or related pages needed for the refactor.
61
62### 2. Classify the page
63
64Before editing, decide the intended page type from `technical-documentation`.
65
66If the current page mixes page types, choose the main page type and plan where
67the other material belongs:
68
69- Move exhaustive contracts to an existing or new reference page.
70- Move symptom-driven material to an existing or new troubleshooting page.
71- Move narrow setup workflows to a guide when they interrupt the main path.
72- Keep concise routing, decision, and safety details in the main page when
73 readers need them to complete the workflow.
74
75### 3. Preserve and audit existing facts
76
77Create a working inventory from the old page before rewriting. Include:
78
79- Config fields, flags, commands, slash commands, env vars, defaults, enums,
80 nullable values, and constraints.
81- Precedence rules, fallback behavior, caps, limits, rate limits, timeouts,
82 lifecycle states, queueing behavior, and compatibility rules.
83- Auth, permission, approval, sandbox, safety, privacy, and destructive-action
84 behavior.
85- Setup requirements, supported versions, dependencies, operating systems,
86 credentials, and account requirements.
87- Error messages, troubleshooting symptoms, diagnostics, and recovery steps.
88- Examples, expected output, command routing tables, and cross-links.
89
90For each fact, choose one outcome:
91
92- Keep it in the refactored target page.
93- Move it to a specific existing page.
94- Move it to a specific new page.
95- Delete it because current source proves it is obsolete or out of scope.
96
97Do not infer defaults, permissions, policy, timeout behavior, or safety posture
98from names or intent. Verify them.
99
100### 4. Find source of truth
101
102Use the nearest authoritative source for each behavior-sensitive claim:
103
104- Public schema, plugin manifest, generated config docs, or exported types for
105 config fields.
106- CLI implementation, slash-command handlers, help text, and command tests for
107 commands and flags.
108- Runtime source and tests for lifecycle, queueing, permission, fallback,
109 timeout, and provider behavior.
110- Protocol docs, SDK facades, and contract tests for APIs and plugin surfaces.
111- Existing docs only as secondary evidence unless the target is purely
112 conceptual.
113
114If a page promises a reference, compare its tables against the schema,
115manifest, CLI help, generated docs, or exported types. Missing public fields,
116defaults, precedence rules, caps, or side effects are correctness bugs.
117
118### 5. Plan moved material
119
120When moving detail out of the target page, record the destination before
121editing:
122
123- Existing page: name the page and section.
124- New page: choose the page type, slug, title, frontmatter summary,
125 `doc-schema-version: 1`, and `read_when` hints.
126- Target page: keep a short summary and link from the point where readers need
127 the deeper detail.
128
129Avoid duplicate truth. If the same contract appears in multiple places, choose
130one canonical page and link to it.
131
132### 6. Rewrite
133
134Rewrite in this order:
135
1361. Make the first screen answer what the reader can do and why this page exists.
1372. Put the recommended path before alternatives.
1383. Keep only decision-making and common operational detail in the main flow.
1394. Move exhaustive tables and rare details to the planned reference pages.
1405. Preserve concise routing tables when they help readers choose commands,
141 config paths, harnesses, plugins, providers, or references.
1426. Add troubleshooting from observable symptoms, not internal guesses.
1437. Link related concepts, guides, references, diagnostics, and adjacent tools.
144
145Add `doc-schema-version: 1` to the YAML frontmatter of every docs page that the
146refactor migrates, creates, or materially rewrites. Apply it only to docs page
147files, not `docs.json`, glossary JSON, or other non-page metadata. If a
148migrated page is generated, update the generator so regeneration preserves the
149marker instead of hand-editing generated output.
150
151Do not leave placeholders such as "TODO", "TBD", or "see docs" unless the user
152explicitly asks for a draft.
153
154### 7. Compare old and new
155
156After editing, compare the old and new page:
157
158- Confirm all behavior-sensitive facts were kept, moved, or intentionally
159 deleted with source-backed reason.
160- Check that the main page still covers the 80/20 scenario end to end.
161- Check that reference pages remain exhaustive for the scope they claim.
162- Check that links from the target page reach moved details.
163- Check that headings are stable, searchable, and action-oriented.
164
165If the refactor deliberately removes relevant material, say where it went or why
166it was removed in the final report.
167
168### 8. Verify
169
170Run the smallest reliable docs checks for the touched surface:
171
172- `pnpm docs:list`
173- `git diff --check -- <touched-files>`
174- Targeted `pnpm exec oxfmt --check --threads=1 <touched-files>`
175- `pnpm docs:check-mdx`
176- `pnpm docs:check-links`
177- `pnpm docs:check-i18n-glossary` when link text, navigation, labels, or glossary
178 surfaces changed
179- Generated-doc checks when schemas, generated config docs, API docs, or
180 generated baselines are touched
181
182Run commands and examples from the page whenever feasible. If you cannot verify
183a behavior-sensitive claim, either remove the claim, mark the uncertainty in the
184work-in-progress report, or ask for the missing source.
185
186## Final Report
187
188Report:
189
190- What changed in the target page.
191- What details moved and their destination pages.
192- What source-of-truth checks backed behavior-sensitive claims.
193- What validation ran and what failed for unrelated reasons.
194
195Do not include a long rewrite diary. Lead with remaining risks only if there are
196any.