writing-docs
π―Skillfrom remotion-dev/remotion
Guides developers in writing and editing Remotion documentation with specific guidelines for creating clear, concise, and type-safe API documentation pages.
Installation
npx skills add https://github.com/remotion-dev/remotion --skill writing-docsSkill Details
Guides for writing and editing Remotion documentation. Use when adding docs pages, editing MDX files in packages/docs, or writing documentation content.
Overview
# Writing Remotion Documentation
Documentation lives in packages/docs/docs as .mdx files.
Adding a new page
- Create a new
.mdxfile inpackages/docs/docs - Add the document to
packages/docs/sidebars.ts - Write the content following guidelines below
- Run
bun render-cards.tsinpackages/docsto generate social preview cards
One API per page: Each function or API should have its own dedicated documentation page. Do not combine multiple APIs (e.g., getEncodableVideoCodecs() and getEncodableAudioCodecs()) on a single page.
Public API only: Documentation is for public APIs only. Do not mention, reference, or compare against internal/private APIs or implementation details.
Use headings for all fields: When documenting API options or return values, each property should be its own heading. Use ### for top-level properties and #### for nested properties within an options object. Do not use bullet points for individual fields.
Language guidelines
- Keep it brief: Developers don't like to read. Extra words cause information loss.
- Link to terminology: Use [terminology](/docs/terminology) page for Remotion-specific terms.
- Avoid emotions: Remove filler like "Great! Let's move on..." - it adds no information.
- Separate into paragraphs: Break up long sections.
- Address as "you": Not "we".
- Don't blame the user: Say "The input is invalid" not "You provided wrong input".
- Don't assume it's easy: Avoid "simply" and "just" - beginners may struggle.
Code snippets
Basic syntax highlighting:
````md
```ts
const x = 1;
```
````
Type-safe snippets (preferred)
Use twoslash to check snippets against TypeScript:
````md
```ts twoslash
import {useCurrentFrame} from 'remotion';
const frame = useCurrentFrame();
```
````
Hiding imports
Use // ---cut--- to hide setup code - only content below is displayed:
````md
```ts twoslash
import {useCurrentFrame} from 'remotion';
// ---cut---
const frame = useCurrentFrame();
```
````
Adding titles
````md
```ts twoslash title="MyComponent.tsx"
console.log('Hello');
```
````
Special components
Steps
```md
1 First step2 Second step
```
Experimental badge
```md
This feature is experimental.
```
Interactive demos
```md
```
Demos must be implemented in packages/docs/components/demos/index.tsx.
AvailableFrom
Use to indicate when a feature or parameter was added. No import needed - it's globally available.
```md
myFunction()<AvailableFrom v="4.0.123" />
```
For section headings:
```md
Saving to another cloud<AvailableFrom v="3.2.23" />
```
Optional parameters
For optional parameters in API documentation:
- Add
?to the heading - this indicates the parameter is optional
--> Don't do it if it is a CLI flag (beginning with --) - CLI flags are always optional
- Do NOT add
_optional_text - the?suffix is sufficient - Include default value in description - mention it naturally in the text
```md
onError?
Called when an error occurs. Default: errors are thrown.
```
Do NOT do this:
```md
onError?
_optional_
Called when an error occurs.
```
Combining optional and AvailableFrom
When a parameter is both optional and was added in a specific version:
```md
onError?<AvailableFrom v="4.0.50" />
Called when an error occurs.
```
"Optional since" pattern
If a parameter became optional in a specific version (was previously required):
```md
codec?
Optional since
```
Generating preview cards
After adding or editing a page, generate social media preview cards:
```bash
cd packages/docs && bun render-cards.ts
```
Verifying docs compile
To check that documentation builds without errors:
```bash
# from the monorepo root
bun run build-docs
```
This validates MDX syntax, twoslash snippets, and broken links.
More from this repository2
Renders and tests web-based React components using visual snapshot testing with Vitest for the web renderer.
Based on the README, I cannot definitively determine the specific functionality of the "make-pr" Claude Code skill. The README provides an overview of Remotion, a framework for creating videos prog...