|
| 1 | +--- |
| 2 | +name: code-review |
| 3 | +description: >- |
| 4 | + Review pull requests in the Temporal documentation repository against AGENTS.md |
| 5 | + and docs style conventions. Use when reviewing docs, MDX, sidebar, redirect, or |
| 6 | + Docusaurus changes in temporalio/documentation. |
| 7 | +--- |
| 8 | + |
| 9 | +# Temporal documentation code review |
| 10 | + |
| 11 | +Review this PR as a Temporal docs change. Prefer concrete, actionable comments. |
| 12 | +Cite paths when asking for a fix. Do not nitpick optional style that Vale does not |
| 13 | +enforce in CI unless it hurts clarity or correctness. |
| 14 | + |
| 15 | +## Read these first (when relevant to the diff) |
| 16 | + |
| 17 | +| Topic | File | |
| 18 | +| ----- | ---- | |
| 19 | +| Agent / repo guidance | [AGENTS.md](../../../AGENTS.md) | |
| 20 | +| Where content belongs | [readme/INFORMATION-ARCHITECTURE.md](../../../readme/INFORMATION-ARCHITECTURE.md) | |
| 21 | +| Style | [readme/STYLE.md](../../../readme/STYLE.md) | |
| 22 | +| React components in MDX | [readme/COMPONENTS.md](../../../readme/COMPONENTS.md) | |
| 23 | +| Component → Markdown mapping | [readme/COMPONENT_REGISTRY.md](../../../readme/COMPONENT_REGISTRY.md) | |
| 24 | +| Mermaid | [readme/MERMAID.md](../../../readme/MERMAID.md) | |
| 25 | +| LLM Markdown pipeline | [MARKDOWN_PIPELINE.md](../../../MARKDOWN_PIPELINE.md) | |
| 26 | +| CI / automations | [readme/AUTOMATIONS.md](../../../readme/AUTOMATIONS.md) | |
| 27 | + |
| 28 | +## Must-check for every docs PR |
| 29 | + |
| 30 | +### Correctness and scope |
| 31 | + |
| 32 | +- Claims match current product behavior (no future promises unless tied to a version or release stage). |
| 33 | +- New or moved pages land in the right IA section. |
| 34 | +- Changing `id` or `slug` includes a `vercel.json` redirect plan. |
| 35 | +- Adding or moving pages updates `sidebars.js` and fixes inbound links when needed. |
| 36 | +- Draft PRs are appropriate when blocked on upstream/SDK/other-team work (see AGENTS.md Pull requests). |
| 37 | + |
| 38 | +### Temporal terminology (flag these) |
| 39 | + |
| 40 | +- Capitalize Temporal core terms as proper nouns (Workflow, Activity, Worker, Namespace, etc.). |
| 41 | +- Prefer **Temporal Service** over **Cluster** / **Temporal Cluster** in body prose (exceptions: Multi-Cluster Replication, code/config identifiers, CLI names). |
| 42 | +- Outside core terms, spell out "identifier." For core terms use `Id` (not `ID` / `id`), e.g. Workflow Id. |
| 43 | +- Prefer **use** over utilize/leverage; avoid filler and vague intensifiers (powerful, robust, seamless, unlock, streamline). |
| 44 | + |
| 45 | +### Headings and frontmatter |
| 46 | + |
| 47 | +- Headings: sentence case; prefer infinitive or questions; Develop pages use task-oriented headings. |
| 48 | +- Frontmatter: clear one-sentence `description`; match `tags` to siblings; do **not** add unused `keywords`. |
| 49 | +- Do not invent new tags/keywords unless this is a genuinely new feature area. |
| 50 | + |
| 51 | +### MDX and components |
| 52 | + |
| 53 | +- Prefer shared imports from `@site/src/components`. |
| 54 | +- Reuse existing components (`Tabs`, `SdkTabs`, `CaptionedImage`, etc.) instead of one-off HTML. |
| 55 | +- New public components should be exported from `src/components/index.js` when needed. |
| 56 | +- Check COMPONENTS.md / COMPONENT_REGISTRY.md before blessing a new pattern. |
| 57 | + |
| 58 | +### Code samples |
| 59 | + |
| 60 | +- Prefer Snipsync from CI-enabled sample repos when a matching snippet exists. |
| 61 | +- Snip edits belong in the **source** sample repo, then `yarn snipsync`. |
| 62 | + |
| 63 | +### Style / CI bar |
| 64 | + |
| 65 | +- CI-scoped Vale is the merge bar: `vale --config .vale-ci.ini` on touched files (Headings + RelativeLinks). |
| 66 | +- Do not require fixing the full Vale suggestion set unless the author opted into it. |
| 67 | +- Relative internal links preferred where Vale RelativeLinks applies. |
| 68 | + |
| 69 | +## Diff-type checklists |
| 70 | + |
| 71 | +### New or heavily rewritten MDX page |
| 72 | + |
| 73 | +- [ ] IA placement and sidebar entry |
| 74 | +- [ ] Redirects if URL changed |
| 75 | +- [ ] Terminology + headings + description |
| 76 | +- [ ] Components reused appropriately |
| 77 | +- [ ] Samples: Snipsync or justified docs-owned code |
| 78 | + |
| 79 | +### `sidebars.js` / navigation only |
| 80 | + |
| 81 | +- [ ] IDs resolve to real pages |
| 82 | +- [ ] Nesting and labels match section conventions |
| 83 | + |
| 84 | +### `vercel.json` redirects |
| 85 | + |
| 86 | +- [ ] Old public paths covered |
| 87 | +- [ ] Destinations are current canonical URLs |
| 88 | + |
| 89 | +### UI / React (`src/components`, theme, CSS) |
| 90 | + |
| 91 | +- [ ] Fits existing design system; no one-off layout inventions without need |
| 92 | +- [ ] Accessibility basics (labels, contrast) when relevant |
| 93 | +- [ ] Public exports updated if a new shared component is introduced |
| 94 | + |
| 95 | +### Config / build (`docusaurus.config.js`, plugins) |
| 96 | + |
| 97 | +- [ ] Internal footer/`to:` links are real routes (plugin-generated files like `/llms.txt` need absolute URLs or they break `onBrokenLinks: 'throw'`) |
| 98 | + |
| 99 | +## How to leave comments |
| 100 | + |
| 101 | +- Group related nits; lead with blockers (wrong term, broken URL, missing redirect/sidebar). |
| 102 | +- Separate **blocking** vs **suggestion**. |
| 103 | +- If unsure about product behavior, ask rather than inventing. |
| 104 | + |
| 105 | +## Out of scope for this skill |
| 106 | + |
| 107 | +- Rewriting the entire PR in review comments |
| 108 | +- Enforcing full Vale / Google style beyond AGENTS.md and CI-scoped rules |
0 commit comments