Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion skills/brand-guidelines/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ description: Applies Anthropic's official brand colors and typography to any sor
license: Complete terms in LICENSE.txt
upstream: anthropics/skills
upstreamPath: skills/brand-guidelines
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# Anthropic Brand Styling

Expand Down
3 changes: 2 additions & 1 deletion skills/canvas-design/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ description: Create beautiful visual art in .png and .pdf documents using design
license: Complete terms in LICENSE.txt
upstream: anthropics/skills
upstreamPath: skills/canvas-design
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

These are instructions for creating design philosophies - aesthetic movements that are then EXPRESSED VISUALLY. Output only .md files, .pdf files, and .png files.

Expand Down
3 changes: 2 additions & 1 deletion skills/doc-coauthoring/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ description: Guide users through a structured workflow for co-authoring document
similar documentation tasks.
upstream: anthropics/skills
upstreamPath: skills/doc-coauthoring
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# Doc Co-Authoring Workflow

Expand Down
3 changes: 2 additions & 1 deletion skills/docx/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ description: 'Use this skill whenever the user wants to create, read, edit, or m
license: Proprietary. LICENSE.txt has complete terms
upstream: anthropics/skills
upstreamPath: skills/docx
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# DOCX creation, editing, and analysis

Expand Down
3 changes: 2 additions & 1 deletion skills/frontend-design/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,11 @@ description: Guidance for distinctive, intentional visual design when building n
license: Complete terms in LICENSE.txt
upstream: anthropics/skills
upstreamPath: skills/frontend-design
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# Frontend Design

Expand Down
7 changes: 6 additions & 1 deletion skills/guizang-product-video-skill/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,21 @@ license: "AGPL-3.0; CodePilot fallback assets: BUSL-1.1 (see README.md)"

## 流程

<<<<<<< /home/runner/work/easycode-skills/easycode-skills/skills/guizang-product-video-skill/SKILL.md
1. **确认范围与三个选择。** 已有工程沿用 brief 和用户决定,只处理本次修改。新片先补齐产品/仓库、版本范围、发布平台、时长与画幅、语言和链接要求,再用一次 `ask_user_question` 问清三件会改变工作量的事:**风格**(`repo` 沿用产品设计/`default` 默认暖白炭黑/`hybrid` 保留产品识别并调整外层排版)、**动效**(界面操作动效 + 镜头 zoom in/out/只做界面动效/只做镜头推拉/全静态)、**旁白**(要 Gemini 画外音/只要字幕与音效/稍后再定)。用户已经指定、或已有工程里记过答案时不要重复问;旧工程缺 `motion` 或 `voiceoverRequired` 时补问一次写进 plan 再继续(脚本对缺失只告警,对自相矛盾才报错)。答案写进 `plan.json` 的 `motion.uiEffects`、`motion.cameraMove` 和 `voiceoverRequired`;用户否决的一项用 `motion.exceptionReason` 或 `voiceoverExceptionReason` 留下依据。旁白选定为「要」时**当场**解析 `EASYROUTER_API_KEY`(环境变量或视频工程 `.env`):缺就立刻向用户索取,不要等画面做完——申请 key 要用户花时间,而它挡的是混音不是渲染,拖到最后才发现等于让用户白等整轮制作。普通场景可建议横版、45–60 秒、中文。
2. **初始化后检查环境。** 风格确定后,按下方工具入口初始化独立视频目录,再运行环境检查。把第 1 步的旁白答案传给检查脚本(`--voiceover yes|no|undecided`):只有 `yes` 时 `EASYROUTER_API_KEY` 会作为 `prereqs` 报出来,`undecided` 只给告警。**不要改用 `plan.json` 的 `voiceoverRequired`**——此刻 plan 还是起步工程的技术样片,那个字段是过期的,读它会静默压掉提示。仅对报告的缺项加载 [依赖安装](references/onboarding.md) 并补装(`prereqs` 是用户提供的凭据,你装不了,只能索取),随后 `--force` 复查;`ready:true` 继续制作。已有工程直接检查,无需再次初始化。Python 本身缺失时先按依赖安装文档补齐 Python。检查每次执行,安装文档按缺项加载;browser 每次重查环境并实际启动浏览器,`cached:true` 仅表示环境指纹匹配上次成功记录;HyperFrames 指纹匹配时可跳过 doctor。
=======
1. **确认范围、平台与风格。** 已有工程沿用 brief 和用户决定,只处理本次修改。新片优先补齐产品/仓库、时长与画幅、语言和链接要求,再用一次提问问清**范围与平台**:宣传片覆盖**全量产品介绍、最新一个版本周期,还是用户指定的版本区间**?覆盖**哪些平台面**(桌面端/CLI/TUI/移动端/服务端 API)?仓库记录只能说明「有哪些版本」,说明不了「用户想宣传哪个范围和面」——这一项必须由用户拍板,不要默认替用户决定。答案写入 `plan.json` 的 `scope`(如 `{"versions":"v0.10.12..v0.11.0","platforms":["cli-tui"]}`)并同步进 BRIEF;未纳入的平台面在交付时明确声明,避免观众误以为宣传片覆盖产品全貌。范围与平台尚未确定时问一次;用户已经指定时直接执行。**风格**也在此一并确认:“沿用代码库自己的设计风格(推荐),还是默认的暖白/炭黑风格?” `repo` 使用产品设计;`default` 使用默认样式包装;`hybrid` 保留产品识别并调整外层排版。普通场景可建议横版、45–60 秒、中文。
2. **初始化后检查环境。** 风格确定后,按下方工具入口初始化独立视频目录,再运行环境检查。仅对报告的缺项加载 [依赖安装](references/onboarding.md) 并补装,随后复查;`ready:true` 继续制作。已有工程直接检查,无需再次初始化。Python 本身缺失时先按依赖安装文档补齐 Python。检查每次执行,安装文档按缺项加载;browser 每次重查环境并实际启动浏览器,`cached:true` 仅表示环境指纹匹配上次成功记录;HyperFrames 指纹匹配时可跳过 doctor。
>>>>>>> /tmp/easycode-skill-sync-20260925-2351-p6rqvi/op7418_guizang-product-video-skill-current/SKILL.md
3. **调查更新并接通组件。** 按 [仓库与风格审计](references/repo-and-style.md) 确定日期/版本、发布状态和 3–5 组核心变化。找到对应业务组件、完整样式和所需状态,先接通一个功能镜头。React 项目的依赖解析、CSS/Tailwind 接入见 [起步工程](references/starter.md),其他挂载路径见 [组件接入](references/component-pipeline.md)。
4. **编排画面与文案。** 按 [分镜与文案](references/story-and-copy.md) 写解释、标题、动作及阅读时间,交替安排字卡、组件特写、工作区和细节。用真实渲染路径输出 3–6 张关键静帧自检;用户要求先看方向时等反馈,否则继续。默认样式可先看 [标题预览](assets/fallback/title-preview.png) 与 [组件预览](assets/fallback/preview.png)。
5. **完成动效与声音。** 用主时间轴控制组件状态和镜头,支持前后 seek;界面动效与镜头推拉按 [分镜与文案](references/story-and-copy.md) 的镜头语言执行,动效对应真实状态变化,缩放后重新核对变换后的边界。按 [配乐与音效来源](references/audio-sourcing.md) 为当前影片代码原创配乐,先查找适合产品和动作的音效,缺项才用内置 WAV;用户要旁白时**先用候选音色各试一句、量出这部片子自己的语速**,再按它决定每句长度,然后用 `scripts/make_voiceover.py` 按镜头逐句生成并量出实际时长(旁白语速靠选音色和写短句子来调,见 [配乐与音效来源](references/audio-sourcing.md))。按 [混音与验收](references/audio-and-qa.md) 对齐 `audio.cues` 与 `audio.voiceover`、压低关键音效与人声期间的音乐并完成混音。
6. **验证并交付。** 检查最终 MP4 的裁切、字体、图片、Logo、阅读时间、声音和用户指定的链接处理。修改后重新导出并复查相关镜头。交付 MP4、可复现工程和少量预览;区分自动检查、实际观看/试听及仍受限部分。遇到历史同类问题可查 [案例复盘](references/case-study.md)。

## 硬约束

- **真实功能。** 正式片至少一项可追溯的更新主张;每项记录发布状态、来源和白话解释。演示数据可固定,功能效果与数字应有证据。
- **真实功能。** 正式片至少一项可追溯的更新主张;每项记录发布状态、来源和白话解释。演示数据可固定,功能效果与数字应有证据。范围与平台以 `plan.scope` 为准,交付时声明未覆盖的平台面。
- **原组件。** 功能镜头优先接入实际业务组件、原样式及状态;抽象化用于取景、布局和外层动画。逐镜头核对导入图、来源与静帧。平台确实无法接入时记录阻碍和替代方式,遵从已有授权。
- **清楚排版。** 宣传标题默认有意义的英文与中文各占一个 span、分别指定字体,中文无衬线;中文说明交代对象、动作和结果。原产品内部字体保持其设计;用户指定的语言/字体优先。
- **完整声音。** 默认代码原创音乐与独立动作音效均入轨,关键反馈可闻、音画同步。用户要求静音或省略音效时,记录 `audioExceptionReason`;该字段保存用户依据。
Expand Down
3 changes: 2 additions & 1 deletion skills/internal-comms/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ description: A set of resources to help me write all kinds of internal communica
license: Complete terms in LICENSE.txt
upstream: anthropics/skills
upstreamPath: skills/internal-comms
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

## When to use this skill
To write internal communications, use this skill for:
Expand Down
3 changes: 2 additions & 1 deletion skills/mcp-builder/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ description: Guide for creating high-quality MCP (Model Context Protocol) server
license: Complete terms in LICENSE.txt
upstream: anthropics/skills
upstreamPath: skills/mcp-builder
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# MCP Server Development Guide

Expand Down
3 changes: 2 additions & 1 deletion skills/pdf/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ description: Use this skill whenever the user wants to do anything with PDF file
license: Proprietary. LICENSE.txt has complete terms
upstream: anthropics/skills
upstreamPath: skills/pdf
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# PDF Processing Guide

Expand Down
3 changes: 2 additions & 1 deletion skills/pptx/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ description: 'Use this skill any time a .pptx or .potx file is involved in any w
license: Proprietary. LICENSE.txt has complete terms
upstream: anthropics/skills
upstreamPath: skills/pptx
upstreamSha: 34040c9c568585f6929bedeaad110ad08f079624
upstreamSha: 33375500bcea98d610eb30ce10ac4e59b89c390d
author: anthropics
---
---
---

# PPTX creation, editing, and analysis

Expand Down
5 changes: 3 additions & 2 deletions skills/remotion-best-practices/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
---
name: remotion-best-practices
description: Router for all Remotion skills
version: 4.0.526
version: 4.0.528
category: 视频创作
tags: remotion, video, react, animation, composition
upstream: remotion-dev/skills
upstreamPath: skills/remotion-best-practices
upstreamSha: bbb139d5ba3709b1ffeb27184e9579c681230a08
upstreamSha: 41b22eec767aa77eb31df62ccb3bacf52ed771fb
author: remotion-dev
---
---
---
---

## Preserve user changes

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: remotion-captions
description: Transcribing, displaying and animating captions
version: 4.0.526
version: 4.0.528
---

All captions must be processed in JSON. The captions must use the [`Caption`](https://www.remotion.dev/docs/captions/caption.md) type which is the following:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: remotion-create
description: Create a new Remotion video
version: 4.0.526
version: 4.0.528
---

These are instructions for making a new Remotion project and composition.
Expand Down
2 changes: 1 addition & 1 deletion skills/remotion-best-practices/remotion-docs/REFERENCE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: remotion-docs
description: Search Remotion documentation
version: 4.0.526
version: 4.0.528
---

This skill teaches you how to discover and read current Remotion documentation.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: remotion-interactivity
description: Structure Remotion markup for interactivity
version: 4.0.526
version: 4.0.528
---

By writing Remotion markup in a specific way, the Remotion Studio is able to recognize the structure of the code and makes it interactive:
Expand Down
2 changes: 1 addition & 1 deletion skills/remotion-best-practices/remotion-maps/REFERENCE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: remotion-maps
description: Remotion Map animation knowledge
version: 4.0.526
version: 4.0.528
---

# Remotion Maps
Expand Down
29 changes: 9 additions & 20 deletions skills/remotion-best-practices/remotion-markup/REFERENCE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: remotion-markup
description: Content, animation and effects best practices
version: 4.0.526
version: 4.0.528
---

This is guidance for writing Remotion React Markup.
Expand Down Expand Up @@ -222,6 +222,10 @@ See [text-highlights.md](text-highlights.md) for text highlights (highlight mark

See [multi-scene-video.md](multi-scene-video.md) if planning to make a video with multiple subsequent scenes.

## Connected compositions

When a scene or group of layers deserves its own editable timeline, follow [connected-compositions.md](connected-compositions.md). Prefer this structure for substantial scenes in a multi-scene video.

## Voiceover

See [voiceover.md](voiceover.md) for adding an AI-generated voiceover to Remotion compositions using ElevenLabs TTS.
Expand Down Expand Up @@ -327,7 +331,7 @@ See [calculate-metadata.md](calculate-metadata.md) for dynamically set compositi

## Advanced compositions

See [compositions.md](compositions.md) for how to define stills, folders, default props and for how to nest compositions.
See [compositions.md](compositions.md) for how to define stills, folders, default props and for how to nest compositions. For Studio navigation into a scene's own timeline, use [connected compositions](connected-compositions.md).

## Advanced sequencing

Expand All @@ -343,23 +347,8 @@ npx remotion add @remotion/media

This goes for `@remotion/*` packages, `mediabunny`, `@mediabunny/*`, `zod`, and `@huggingface/transformers`.

## Previewing markup

```
npx remotion studio --no-open
```
## Visual checks

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
```
When a visual check is useful, open the [Remotion Studio](../remotion-studio/REFERENCE.md) for an interactive preview.

At 30 fps, `--frame=30` is the one-second mark (`--frame` is zero-based).
You can also use [Rendering](../remotion-render/REFERENCE.md) to inspect one or several frames as images.
8 changes: 3 additions & 5 deletions skills/remotion-best-practices/remotion-markup/audio.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,18 +58,16 @@ The audio still starts playing at the beginning of the composition - only the sp

## Delaying

Wrap the audio in a `<Sequence>` to delay when it starts:
Set `from` directly on `<Audio>` to delay when it starts:

```tsx
import { Sequence, staticFile } from "remotion";
import { staticFile, useVideoConfig } from "remotion";
import { Audio } from "@remotion/media";

const { fps } = useVideoConfig();

return (
<Sequence from={1 * fps}>
<Audio src={staticFile("audio.mp3")} />
</Sequence>
<Audio from={fps} src={staticFile("audio.mp3")} />
);
```

Expand Down
16 changes: 11 additions & 5 deletions skills/remotion-best-practices/remotion-markup/compositions.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,18 @@ Use [`calculateMetadata`](./calculate-metadata.md) to make dimensions, duration,

## Nesting compositions within another

To add a composition within another composition, you can use the `<Sequence>` component with a `width` and `height` prop to specify the size of the composition.
To render a composition's component inside another composition, use `<Sequence>` with `width` and `height` when the nested content needs its own dimensions.

When the nested scene should have its own editable Studio timeline, use the [connected composition structure](connected-compositions.md).

```tsx
<AbsoluteFill>
<Sequence width={COMPOSITION_WIDTH} height={COMPOSITION_HEIGHT}>
<CompositionComponent />
<>
<Video src="https://remotion.media/video.mp4" />
<Sequence
width={1920}
height={1080}
>
<OverlayComponent />
</Sequence>
</AbsoluteFill>
</>
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Connected compositions

Using the connected compositions pattern, a group of layers can get their own Studio timeline, like a precomposition in After Effects.

Use connected composition when a section has its own layers or timing, will be reused, or would be easier to edit and preview on its own.

1. Put the scene's markup in a named React component. Multiple internal layers and sequences can live inside it.
2. Render exactly one direct instance of that component inside a `<Sequence>`, `<Series.Sequence>`, or `<TransitionSeries.Sequence>` in the parent.
3. Register the **same component reference** with `<Composition component={...}>` in the root. Give it a unique `id` and the dimensions, fps, and natural duration needed to preview the scene on its own. A `<Folder>` can keep scene compositions together.

```tsx
// MyVideo.tsx
import {Series} from 'remotion';
import {OpeningScene} from './OpeningScene';
import {FeatureScene} from './FeatureScene';

export const MyVideo = () => (
<Series>
<Series.Sequence
name="Opening"
durationInFrames={90}
>
<OpeningScene />
</Series.Sequence>
<Series.Sequence
name="Feature"
durationInFrames={120}
>
<FeatureScene />
</Series.Sequence>
</Series>
);
```

```tsx
// Root.tsx
import {Composition, Folder} from 'remotion';
import {MyVideo} from './MyVideo';
import {OpeningScene} from './OpeningScene';
import {FeatureScene} from './FeatureScene';

export const RemotionRoot = () => (
<>
<Folder name="MyVideo-Scenes">
<Composition
id="Opening"
component={OpeningScene}
width={1920}
height={1080}
fps={30}
durationInFrames={90}
/>
<Composition
id="Feature"
component={FeatureScene}
width={1920}
height={1080}
fps={30}
durationInFrames={120}
/>
</Folder>
<Composition
id="MyVideo"
component={MyVideo}
width={1920}
height={1080}
fps={30}
durationInFrames={210}
/>
</>
);
```

Studio replaces the layers with a reference to the connected composition in the timeline.
Double-clicking a sequence with one connected composition opens it at the corresponding frame.
Editing the shared component changes both views.

If the scene takes props, pass the intended values in the parent and use matching `defaultProps` on its standalone registration; registration does not automatically copy the parent's props.
Keep scene and parent fps and dimensions aligned unless their difference is intentional.
Loading
Loading