web-renderer-test
SkillDev toolsweb-renderer-test is a skill that lets an AI agent add or update tests for the Remotion web renderer using visual snapshot testing. It guides the agent through creating fixture components, registering them for preview, writing vitest snapshot tests, and running them, so test coverage in packages/web-renderer can grow without manual setup.
Use web-renderer-test in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add web-renderer-test and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the web-renderer-test skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have the Remotion repository available, since the skill works on packages/web-renderer.
What your AI can do with it
- Add or update tests for the Remotion web renderer in packages/web-renderer
- Create fixture components for visual snapshot testing
- Register fixture components for preview
- Write vitest snapshot tests
- Run tests with bunx vitest
- Update the docs page on limitations when new properties become supported
Getting started
- Have the Remotion repository available, since the skill works on packages/web-renderer.
- Add the web-renderer-test skill to your agent so it can be invoked.
- Ask the agent to add or update a test for the web renderer.
- The agent will create fixtures, write vitest snapshot tests, and run them with bunx vitest.
What this skill tells your AI
The instructions your AI receives, as published by remotion-dev/remotion in .agents/skills/web-renderer-test/SKILL.md and read by ahel’s review.
Use this skill to update existing web renderer tests when needed for implementation changes. Add new tests only when the user explicitly requests them.
The web renderer is in packages/web-renderer and the test suite is in packages/web-renderer/src/test.
It uses visual snapshot testing using vitest. A test file can for example be executed using:
bunx vitest src/test/video.test.tsx
Example
Each test is powered by a fixture in packages/web-renderer/src/test/fixtures.
A fixture looks like this for example:
import {AbsoluteFill} from 'remotion';
const Component: React.FC = () => {
return (
<AbsoluteFill
style={{
justifyContent: 'center',
alignItems: 'center',
}}
>
<div
style={{
backgroundColor: 'red',
width: 100,
height: 100,
borderRadius: 20,
}}
/>
</AbsoluteFill>
);
};
export const backgroundColor = {
component: Component,
id: 'background-color',
width: 200,
height: 200,
fps: 25,
durationInFrames: 1,
} as const;
The corresponding test looks like this:
import {test} from 'vitest';
import {renderStillOnWeb} from '../render-still-on-web';
import {backgroundColor} from './fixtures/background-color';
import {testImage} from './utils';
test('should render background-color', async () => {
const blob = await renderStillOnWeb({
licenseKey: 'free-license',
composition: backgroundColor,
frame: 0,
inputProps: {},
imageFormat: 'png',
});
await testImage({blob, testId: 'background-color'});
});
Adding a new test
- Add a new fixture in
packages/web-renderer/src/test/fixtures. - Important: Add the fixture to
packages/web-renderer/src/test/Root.tsxto add a way to preview it. - Add a new test in
packages/web-renderer/src/test. - Run
bunx vitest src/test/video.test.tsxto execute the test. - Important: Update
packages/docs/docs/client-side-rendering/limitations.mdxto reflect the newly supported property.
Signals
- GitHub stars
- 61k
- Forks
- 5k
- Last commit
- Sep 2026
Questions
- What does the skill do when new properties become supported?
- It updates the docs page on limitations to reflect newly supported properties.
- Where does the skill make its changes?
- In packages/web-renderer of the Remotion repository.
- How are the tests run?
- The agent runs the vitest snapshot tests with bunx vitest.
Advanced
- Item type
- skill
- Key
web-renderer-test-remotion-dev- Source
- github.com/remotion-dev/remotion
github.com/remotion-dev/remotion