tldraw/write-docs
Writing SDK documentation for tldraw. Use when creating new documentation articles, updating existing docs, or when documentation writing guidance is needed. Applies to docs in apps/docs/content/.
npx skills add https://github.com/tldraw/tldraw --skill write-docs
This skill covers how to write and update tldraw SDK documentation.
All documentation lives in apps/docs/content/. The main categories are:
| Directory | Purpose |
| ------------------ | --------------------------------------------- |
| docs/ | SDK documentation articles |
| releases/ | Release notes (see write-release-notes skill) |
| examples/ | Example documentation |
| getting-started/ | Quickstart and setup guides |
Before writing:
apps/examples/Create a new .mdx file in the appropriate directory with frontmatter:
---
title: Feature name
status: published
author: steveruizok
date: 3/22/2023
order: 1
keywords:
- keyword1
- keyword2
---
Follow the structure:
Use ClassName or ClassName#methodName for API references:
The [Editor](?) class has many methods. Use [Editor#createShapes](?) to create shapes.
Use <FocusLines> to highlight specific lines:
<FocusLines lines={[2,6,10]}>
\`\`\`tsx
import { Tldraw } from 'tldraw'
import { useSyncDemo } from '@tldraw/sync'
\`\`\`
</FocusLines>
<Image
src="/images/api/events.png"
alt="A diagram showing an event being sent to the editor."
title="Caption text here."
/>
Use tables for listing methods, options, or properties:
| Method | Description |
| ------------------------ | ---------------------------------------------- |
| [Editor#screenToPage](?) | Convert a point in screen space to page space. |
| [Editor#pageToScreen](?) | Convert a point in page space to screen space. |
| Value | Description |
| --------- | ---------------------------------------------------- |
| `default` | Sets the initial zoom to 100%. |
| `fit-x` | The x axis will completely fill the viewport bounds. |
Check that:
../shared/docs-guide.md for voice, tone, and formatting conventions.Take tldraw/write-docs from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.