Edit Unity Timeline — create Timeline assets and add typed tracks (animation, activation, audio, signal, etc.). Use when building cutscenes or sequences, creating a Timeline asset, or adding tracks and clips, even if the user just says "时间轴" or "做个过场动画". 编辑 Unity Timeline(创建 Timeline 资产、添加带类型的轨道:动画、激活、音频、信号等);当用户要制作过场或序列、创建 Timeline 资产、或添加轨道与片段时使用。
npx skills add https://github.com/Besty0728/Unity-Skills --skill unity-timeline
Create and modify Unity Timeline assets — add typed tracks, drop clips on tracks, bind objects, set duration / wrap mode, and play/pause/stop the editor preview through the PlayableDirector.
timeline_list_tracks,源码标 SkillMode.SemiAuto)直接执行;其余变更/播放类(timeline_create / add_*_track / timeline_add_clip / timeline_set_duration / timeline_play / timeline_set_binding,标 SkillMode.FullAuto)需用户 grant,grant 后服务端一步执行返结果。timeline_remove_track 标记为 SkillOperation.Delete,被 IsForbiddenInSemi 静态拦截 —— 仅 Bypass 模式或加入 Allowlist 才能调用。timeline_play 仅驱动 Editor 预览(PlayableDirector.Evaluate / Play 在编辑器上下文),不会进入 Play mode。DO NOT (common hallucinations):
timeline_create_animation / timeline_add_track do not exist → use the typed track skills: timeline_add_animation_track, timeline_add_audio_track, timeline_add_activation_track, timeline_add_control_track, timeline_add_signal_tracktimeline_add_keyframe does not exist → Timeline uses clips, not direct keyframes; use timeline_add_cliptimeline_set_duration sets the Timeline asset duration, not individual clip durationRouting:
animator moduleeditor_play or write C# via script moduletimeline_createCreate a new Timeline asset and Director instance.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | Yes | - | Name of the timeline/object |
| folder | string | No | "Assets/Timelines" | Folder to save asset |
Returns: { success, assetPath, gameObjectName, directorInstanceId }
timeline_add_audio_trackAdd an Audio track to a Timeline.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | "Audio Track" | Name of the new track |
Returns: { success, trackName }
timeline_add_animation_trackAdd an Animation track to a Timeline, optionally binding an object.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | "Animation Track" | Name of the new track |
| bindingObjectName | string | No | - | Name of the GameObject to bind (animator) |
Returns: { success, trackName, boundObject }
timeline_add_activation_trackAdd an Activation track to control object visibility.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | "Activation Track" | Name of the new track |
Returns: { success, trackName }
timeline_add_control_trackAdd a Control track for nested Timelines or prefab spawning.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | "Control Track" | Name of the new track |
Returns: { success, trackName }
timeline_add_signal_trackAdd a Signal track for event markers.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | "Signal Track" | Name of the new track |
Returns: { success, trackName }
timeline_remove_trackRemove a track by name from a Timeline.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | - | Name of the track to remove |
Returns: { success, removed }
timeline_list_tracksList all tracks in a Timeline.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
Returns: { count, tracks: [{ name, type, muted, clipCount }] }
timeline_add_clipAdd a clip to a track by track name.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | - | Name of the target track |
| start | double | No | 0 | Clip start time in seconds |
| duration | double | No | 1 | Clip duration in seconds |
Returns: { success, trackName, clipStart, clipDuration }
timeline_set_durationSet Timeline duration and wrap mode.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| duration | double | No | 0 | Fixed duration in seconds |
| wrapMode | string | No | - | Wrap mode: Hold/Loop/None |
Returns: { success, duration, wrapMode }
timeline_playPlay, pause, or stop a Timeline (Editor preview).
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| action | string | No | "play" | Action: play/pause/stop |
Returns: { success, action, time }
timeline_set_bindingSet the binding object for a track.
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| name | string | No | - | GameObject name with PlayableDirector |
| instanceId | int | No | 0 | GameObject instance ID |
| path | string | No | - | GameObject hierarchy path |
| trackName | string | No | - | Name of the track |
| bindingObjectName | string | No | - | Name of the object to bind |
Returns: { success, trackName, boundTo }
Exact names, parameters, defaults, and returns are defined by GET /skills/schema or unity_skills.get_skill_schema(), not by this file.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
Take besty0728/unity-timeline from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.