跳到主内容
智客 ZICQ

技能库 智客分类:Agent 工作流 remotion-markup

Remotion Markup

内容、动画和效果最佳做法

74230 安装量

官方网址:skills.sh

技能介绍

先看中文介绍;官方 description 原文单独保留,不改写 SKILL.md。

做什么

内容、动画和效果最佳做法

何时用

官方 description 未单独写出 Use when。按规范,代理会在用户任务与这段 description 的关键词匹配时激活本技能。

代理如何加载

按 Agent Skills 渐进披露:启动时只加载 name 与 description(约 100 token);任务匹配后才读入整份 SKILL.md 正文;scripts/、references/、assets/ 仅在需要时再读。 本文件正文结构:Preserve user changes、General rules、Assets、Media components、Example scene、Delaying, trimming。 其中含规范建议的小节:输入输出示例。

文件分析

文件分析:这是一份仅含 SKILL.md 的指令型技能,代理激活后整份正文进入上下文。

官方 description(原文)

Content, animation and effects best practices

Preserve user changesGeneral rulesAssetsMedia componentsExample sceneDelaying, trimmingfromdurationInFrames`trimBefore`FallbackMapsText highlights and annotations

来源分类:skills.sh agent-skill

SKILL.md 与 Agent 调用

官方规范 ↗
name
remotion-markup
description
Content, animation and effects best practices
  1. 发现技能客户端向 Agent 提供名称与描述目录。
  2. 匹配与调用用户指定或任务匹配后,载入 SKILL.md 指令。
  3. 按需加载按步骤读取参考文档、使用脚本与素材。

具体调用语法与可用工具以目标 Agent 客户端为准。 查看调用机制说明 ↗

安装这个技能

Skills CLI ↗

先选择目标 Agent 和安装范围,保留技能包的附属文件,安装后检查客户端能否发现该技能。

交给 Agent 安装

复制安装指令给支持 Agent Skills 的代理,确认其中的目标目录与客户端匹配。

把 Agent Skill「remotion-markup」安装到我的项目:SKILL.md 原文与官方 description 见 https://zicq.com/zh/skills/skl-5f89fe2d62215d9f-Remotion-Markup.html
请存为 .cursor/skills/remotion-markup/SKILL.md 或 .claude/skills/remotion-markup/SKILL.md,frontmatter 的 name 与 description 保持原样,不要改写。

GitHub 完整包 ↗

终端安装 · Skills CLI

需要 Node.js 与 npx。先查看仓库技能列表,确认实际名称。

npx skills add 'https://github.com/remotion-dev/skills' --list

npx skills add 'https://github.com/remotion-dev/skills' --skill 'remotion-markup'

CLI 会交互选择目标 Agent,默认安装到项目;用户级安装使用 -g。先通过查看命令核对仓库内容,再用 npx skills list 检查已安装技能。

阅读排版
--- name: remotion-markup description: Content, animation and effects best practices version: 4.0.523 --- This is guidance for writing Remotion React Markup. If this is not relevant, load Remotion Best Practices instead. ## Preserve user changes Users may make edits in the code outside of the conversation. If you detect a surprising change made in the meanwhile, don't overwrite it, assume it was intentional or ask for confirmation. ## General rules Drive animations using `useCurrentFrame()` and `interpolate()`. CSS `transition` or `animation` will not render correctly, they need to refactored. Tailwind animation class will not render correctly, they need to be refactored. Use `Easing.bezier()` and `Easing.spring()` to customize timing. Structure your markup according to Remotion Interactivity Best Practices ```tsx import { useCurrentFrame, Easing, interpolate, Interactive } from "remotion"; export const FadeIn = () => { const frame = useCurrentFrame(); return ( Hello World! ); }; ``` Keep the `interpolate()` call inline in the `style` prop. Use `scale`, `translate`, `rotate` CSS properties over `transform`. ```tsx // 👍 Inline editable keyframes and transform shorthands style={{ scale: interpolate(frame, [0, 100], [0, 1], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', easing: Easing.spring({damping: 200}), output: 'perceptual-scale' // For `scale` animations, use "output: 'perceptual-scale'" }), translate: interpolate(frame, [0, 100], ["0px 0px", "100px 100px"], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', easing: Easing.spring({damping: 200}), }), rotate: interpolate(frame, [0, 100], ["20deg", "90deg"], { extrapolateLeft: 'clamp', extrapolateRight: 'clamp', easing: Easing.spring({damping: 200}), }), }} // 👎 Non-inline values and transform strings become harder to edit in Studio const scale = interpolate(frame, [0, 100], [0, 1]); style={{ transform: `scale(${scale})`, }} ``` ## Assets Place assets in the `public/` folder at your project root. Use `staticFile()` to reference files from the `public/` folder. ## Media components Add video and audio using `` and `` from `@remotion/media`. Add images using the `` component. Add animated GIFs, APNG, WebP or AVIF images using ``, use `@remotion/gif` if not using Chrome. Use `staticFile()` for files in `public/` or pass a remote URL directly: ```tsx import { Audio, Video } from "@remotion/media"; import { staticFile, CanvasImage, AnimatedImage } from "remotion"; export const MyComposition = () => { return ( <> ); }; ``` ## Example scene ```tsx import { AbsoluteFill, Easing, Interactive, interpolate, useCurrentFrame, useVideoConfig } from "remotion"; export const Empty = () => { const {fps} = useVideoConfig(); const frame = useCurrentFrame(); return ( Title Subtitle ); } ``` ## Delaying, trimming Most components (``, `` ``, ``, ``, ``, ``, `` from `remotion`, `` and `` from `@remotion/media`, ``, and more) support the following props: ### from ```tsx ``` When the element starts appearing in the timelien. ### durationInFrames ```tsx ``` For how long the layer plays in the timeline. For media, pass the natural duration of the media: `` ### `trimBefore` Useful for components whose internal clock should start later: ```tsx // Trim away first 2 seconds of footage // `useCurrenFrame()` for children starts at `10 * fps` ``` ### Fallback If a component does not support these props, wrap it in`` from `remotion`, which has them. - `layout="absolute-fill"` makes the Sequence behave like AbsoluteFill - `layout="none"` is "headless" mode, no wrapper element is used. ## Maps See [Remotion Maps](./remotion-maps/REFERENCE.md) if wanting to include maps in the video. ## Text highlights and annotations See [text-highlights.md](text-highlights.md) for text highlights (highlight markers), circles, underlines, strike-throughs, crossed-off text, boxes. ## Multi-scene videos See [multi-scene-video.md](multi-scene-video.md) if planning to make a video with multiple subsequent scenes. ## Voiceover See [voiceover.md](voiceover.md) for adding an AI-generated voiceover to Remotion compositions using ElevenLabs TTS. ## Embedding Videos See [embedding-videos.md](embedding-videos.md) for advanced knowledge about embedding videos - trimming, volume, speed, looping, pitch. ## Embedding Audio See [audio.md](audio.md) for advanced audio features like trimming, volume, speed, pitch. ## Video editing See [video-editing.md](video-editing.md) for structuring editable video timelines in Remotion Studio. ## Cropping See [cropping.md](cropping.md) if needing to crop the visible rectangle of a component. ## Transitions See [transitions.md](transitions.md) for scene transition patterns. ## Visual and pixel effects When creating a visual effect, consider whether it is feasible using CSS and HTML, or whether a shader is needed. Order or preference: 1. Regular HTML + CSS or other web techniques 2. An effect applied to the element directly (``, ``), or by wrapping the content in [``](html-in-canvas.md), which also accepts `effects`: - A listed effect via [effects.md](effects.md) - A custom `createEffect()` via [effects.md](effects.md) when no preset is available. ## 3D content See [./3d.md](./3d.md) for 3D content in Remotion using Three.js and React Three Fiber. ## Sound effects When needing to use sound effects, load the [./sfx.md](./sfx.md) file for more information. ## Audio visualization When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the [./audio-visualization.md](./audio-visualization.md) file for more information. ## Maps For static maps, animated routes and markers, geographic explainers, Mapbox, MapLibre, MapTiler, GeoJSON, or 3D geographic flyovers, load [Remotion Maps](./remotion-maps/REFERENCE.md). ## Captions When dealing with captions or subtitles, load the Remotion Captions skill for more information. ## Google Fonts Is the recommended way to load fonts in Remotion. See [google-fonts.md](google-fonts.md) for how to load Google Fonts. ## Local fonts See [local-fonts.md](local-fonts.md) for how to load local fonts. ## GIFs See [gifs.md](gifs.md) for how to display GIFs synchronized with Remotion's timeline. ## Advanced Images See [images.md](images.md) for sizing and positioning images, dynamic image paths, and getting image dimensions. ## Lottie animations See [lottie.md](lottie.md) for embedding Lottie animations in Remotion. ## Timing See [timing.md](timing.md) for more timing techniques for `interpolate()`. ## Parameterized videos See [parameters.md](parameters.md) for making a composition parametrizable by adding a Zod schema. ## Measuring DOM nodes See [measuring-dom-nodes.md](measuring-dom-nodes.md) for measuring DOM element dimensions in Remotion. ## Measuring text See [measuring-text.md](measuring-text.md) for measuring text dimensions, fitting text to containers, and checking overflow. ## Using FFmpeg For some video operations, such as trimming videos or detecting silence, FFmpeg should be used. Load the [./ffmpeg.md](./ffmpeg.md) file for more information. ## Silence detection When needing to detect and trim silent segments from video or audio files, load the [./silence-detection.md](./silence-detection.md) file. ## Dynamic duration, dimensions and data See [calculate-metadata.md](calculate-metadata.md) for dynamically set composition duration, dimensions, and props. ## Advanced compositions See [compositions.md](compositions.md) for how to define stills, folders, default props and for how to nest compositions. ## Advanced sequencing See [sequencing.md](sequencing.md) for more sequencing patterns - delay, trim, limit duration of items. ## Install modules Use `npx remotion add` to add new packages with the right version: ``` npx remotion add @remotion/media ``` This goes for `@remotion/*` packages, `mediabunny`, `@mediabunny/*`, `zod`, and `@huggingface/transformers`. ## Previewing markup ``` npx remotion studio --no-open ``` This will start a long-running process and print the server URL for the preview. If server is already started, it will print the URL. You can visit a specific composition by navigating to `/[composition-id]`, for example `http://localhost:3000/MapAnimation`. ## Optional: one-frame render check You can render a single frame with the CLI to sanity-check layout, colors, or timing. Skip it for trivial edits, pure refactors, or when you already have enough confidence from Studio or prior renders. ```bash npx remotion still [composition-id] --scale=0.25 --frame=30 ``` At 30 fps, `--frame=30` is the one-second mark (`--frame` is zero-based).

相关技能

Agent 工作流

Skill Creator

创造有效技能指南。 当用户想创造出新的技能(或更新现有的技能),以专业知识,工作流程,或工具集成来扩展克洛德的能力时,应该使用这种技能.

Agent 工作流

Clawdhub

使用ClawdHub CLI搜索,安装,更新并发布从taladhub.com的代理技能. 需要获取苍蝇上的新技能时使用,将安装的技能同步到最新版本或特定版本,或者发布 npm-instainddhub CLI 的新/更新的技能文件夹.

Agent 工作流

Agent Team Orchestration

管弦乐团多代理团队,任务设定周期,交接协议,审查工作流程. 使用时间: (1)建立2+特派员队伍,具有不同专业,(2)确定任务路线和生命周期(收录框_ spec_建设_审查_完成),(3)在特派员之间制定交接协议,(4)建立审查和质量关口,(5)管理特派员之间的交流和文物共享.

Agent 工作流

Superpowers

Spec-first,TDD,子代理驱动的软件开发工作流程. 当:(1)构建任何新功能或应用——触发脑暴_计划_子代理执行回路,(2)调试出一个bug或测试失败——触发系统性的根起过程,(3)用户说"让我们构建","帮助我计划","我想添加X",或"这个被打破",(4)完成一个功…