Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Guides for writing and editing Remotion documentation. Use when adding docs pages, editing MDX files in packages/docs, or writing documentation content.
.claude/skills/foryourhealth111-pixel-writing-docs/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 5% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -37% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -15% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 38% | 0% |
Documentation lives in packages/docs/docs as .mdx files.
.mdx file in packages/docs/docspackages/docs/sidebars.tsbun render-cards.ts in packages/docs to generate social preview cardsOne 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. This is the established pattern throughout the codebase.
Public API only: Documentation is for public APIs only. Do not mention, reference, or compare against internal/private APIs or implementation details. Users should only see what is exported and intended for public use.
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.
Basic syntax highlighting:
`md
const x = 1;
Use twoslash to check snippets against TypeScript:
`md
import {useCurrentFrame} from 'remotion'; const frame = useCurrentFrame();
Use // ---cut--- to hide setup code - only content below is displayed:
`md
import {useCurrentFrame} from 'remotion'; // ---cut--- const frame = useCurrentFrame();
`md
console.log('Hello');
md- <Step>1</Step> First step - <Step>2</Step> Second step
md<ExperimentalBadge> <p>This feature is experimental.</p> </ExperimentalBadge>
md<Demo type="rect"/>
Demos must be implemented in packages/docs/components/demos/index.tsx.
After adding or editing a page, generate social media preview cards:
bashcd packages/docs && bun render-cards.ts
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.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-05 | pass→pass | 8,674 | 2,032 | -77% | 1 | 1 | 0% | 1,406 | 1,137 | -19% | 0 | 0 | — |
case-01 | fail→pass | 14,549 | 10,055 | -31% | 1 | 1 | 0% | 2,663 | 2,793 | +5% | 0 | 0 | — |
case-02 | fail→fail | 12,593 | 9,528 | -24% | 1 | 1 | 0% | 2,341 | 2,574 | +10% | 0 | 0 | — |
case-03 | fail→pass | 13,434 | 12,441 | -7% | 1 | 1 | 0% | 3,120 | 3,544 | +14% | 0 | 0 | — |
case-04 | pass→pass | 10,377 | 1,744 | -83% | 1 | 1 | 0% | 1,780 | 1,040 | -42% | 0 | 0 | — |
case-06 | fail→pass | 12,250 | 3,151 | -74% | 1 | 1 | 0% | 2,115 | 1,322 | -37% | 0 | 0 | — |
case-07 | pass→pass | 7,340 | 3,900 | -47% | 1 | 1 | 0% | 1,566 | 1,479 | -6% | 0 | 0 | — |
case-08 | pass→fail | 6,627 | 2,985 | -55% | 1 | 1 | 0% | 1,215 | 1,265 | +4% | 0 | 0 | — |
case-09 | pass→pass | 6,895 | 2,522 | -63% | 1 | 1 | 0% | 1,128 | 1,142 | +1% | 0 | 0 | — |
case-14 | fail→pass | 6,134 | 1,275 | -79% | 1 | 1 | 0% | 1,117 | 944 | -15% | 0 | 0 | — |
case-10 | pass→pass | 6,969 | 8,646 | +24% | 1 | 1 | 0% | 1,214 | 2,411 | +99% | 0 | 0 | — |
case-11 | fail→pass | 6,750 | 3,895 | -42% | 1 | 1 | 0% | 1,050 | 1,450 | +38% | 0 | 0 | — |
case-12 | fail→pass | 8,527 | 3,449 | -60% | 1 | 1 | 0% | 1,255 | 1,387 | +11% | 0 | 0 | — |
case-13 | fail→pass | 6,408 | 1,903 | -70% | 1 | 1 | 0% | 1,110 | 1,040 | -6% | 0 | 0 | — |
case-15 | pass→pass | 8,971 | 3,831 | -57% | 1 | 1 | 0% | 1,688 | 1,442 | -15% | 0 | 0 | — |
case-16 | fail→pass | 4,760 | 2,115 | -56% | 1 | 1 | 0% | 787 | 1,008 | +28% | 0 | 0 | — |
case-17 | fail→pass | 3,969 | 2,273 | -43% | 1 | 1 | 0% | 766 | 959 | +25% | 0 | 0 | — |
case-18 | pass→pass | 5,283 | 1,667 | -68% | 1 | 1 | 0% | 841 | 1,021 | +21% | 0 | 0 | — |
case-19 | pass→pass | 5,487 | 4,268 | -22% | 1 | 1 | 0% | 1,020 | 1,555 | +52% | 0 | 0 | — |
case-20 | fail→pass | 7,025 | 2,440 | -65% | 1 | 1 | 0% | 1,204 | 953 | -21% | 0 | 0 | — |
case-21 | fail→fail | 12,922 | 3,399 | -74% | 1 | 1 | 0% | 2,204 | 1,368 | -38% | 0 | 0 | — |
case-22 | fail→pass | 9,513 | 2,032 | -79% | 1 | 1 | 0% | 1,482 | 1,049 | -29% | 0 | 0 | — |
case-23 | pass→pass | 15,970 | 6,988 | -56% | 1 | 1 | 0% | 3,938 | 2,409 | -39% | 0 | 0 | — |
case-24 | pass→fail | 18,404 | 6,481 | -65% | 1 | 1 | 0% | 3,554 | 1,954 | -45% | 0 | 0 | — |
case-25 | pass→pass | 16,815 | 11,825 | -30% | 1 | 1 | 0% | 3,387 | 3,179 | -6% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 25 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.