Token导航 LogoToken导航

Agent Skill · 前端设计

motioneyes-animation-debug(Motioneyes 动画调试)

用于辅助视频生成、动画合成、脚本化剪辑或 Remotion 等视频项目开发。它适合让 Agent 组织镜头、生成素材说明、维护合成代码或排查渲染问题。使用时需要确认分辨率、时长、素材路径和导出格式;涉及外部素材、人物肖像或商业发布时,应先核对版权授权和内容审核要求。

motioneyes-animation-debug 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描有提醒项,按安装量在前端设计类的 10,216 个 Skill 里排第 8,606。

总安装 272周安装 11GitHub Stars 186下载 85核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:motioneyes-animation-debug(Motioneyes 动画调试)
来源仓库:https://github.com/edwardsanchez/motioneyes
仓库路径:skills/motioneyes-animation-debug
安装命令:
npx skills add https://github.com/edwardsanchez/motioneyes --skill motioneyes-animation-debug
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/edwardsanchez/motioneyes --skill motioneyes-animation-debug

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

motioneyes-animation-debug 用于辅助视频生成、动画合成和 Remotion 项目开发。适合组织镜头、生成素材说明和维护合成代码。使用时需要确认分辨率、时长、素材路径和导出格式。涉及外部素材或商业发布时应先核对版权授权和内容审核要求。

适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:skills/motioneyes-animation-debug

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/edwardsanchez/motioneyes --skill motioneyes-an…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

motioneyes-animation-debug 怎么安装?

在终端执行 npx skills add https://github.com/edwardsanchez/motioneyes --skill motioneyes-animation-de…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

motioneyes-animation-debug 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

motioneyes-animation-debug 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/edwardsanchez/motioneyes --skill motioneyes-animation-debug 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

motioneyes-animation-debug 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

motioneyes-animation-debug 用的人多吗?

公开数据是累计安装 272 次,近一周安装 11 次,下载 85 次,GitHub 186 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

motioneyes-animation-debug 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
motioneyes-animation-debug

Motioneyes 动画调试 · 本页

272186执行命令未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

MotionEyes Animation Debug

Overview

Use MotionEyes as temporary observability for SwiftUI animation debugging and regression validation. Instrument targeted values and geometry, capture time-series logs, compare observed motion against expected motion, apply fixes or assertions, re-validate, and clean up all agent-added tracing.

Use This Skill When

  • An animation moves in the wrong direction, starts too late, or ends too early.
  • Opacity, offset, or position changes do not match expected timing.
  • Two elements drift or desynchronize during a transition.
  • ScrollView offsets jump, drift, or fail to restore.
  • You need evidence from runtime motion values rather than visual guesses.
  • You want to turn MotionEyes traces into UITest or regression assertions for timing, continuity, or backtracking.

Do Not Use If

  • The problem is unrelated to SwiftUI animation or scroll behavior.
  • You cannot reproduce the behavior in a simulator or device.

Agent Behavior Contract

Follow these rules for every run:

  1. Confirm the complaint and expected behavior in measurable terms before instrumentation.
  2. Add only the minimum traces needed to test the complaint.
  3. Prefer XcodeBuildMCP for log capture; fall back to CLI log streaming if MCP is unavailable.
  4. Use semantic trace names that map directly to the user intent.
  5. Preserve all pre-existing MotionEyes instrumentation.
  6. Remove only agent-added MotionEyes imports, modifiers, and metrics after validation.
  7. Re-run after fixes and verify against logs, not assumptions.
  8. Treat continuity, direction, and timing as separate concerns; do not use one heuristic as a proxy for all three.

Workflow

Follow this exact order:

  1. Confirm the complaint and expected behavior in measurable terms.
  2. Locate the target view and the state values that drive the animation.
  3. Ensure MotionEyes availability; if missing, auto-integrate the MotionEyes package into the app target before continuing.
  4. Add temporary .motionTrace(...) instrumentation with Trace.value, Trace.geometry, and (for scroll issues) Trace.scrollGeometry metrics named after user intent.
  5. Run the app and reproduce the issue.
  6. Capture logs with XcodeBuildMCP first; fall back to CLI log streaming if MCP is unavailable.
  7. Analyze how values evolve over time versus expected behavior or extract a focused sample window for assertions.
  8. Implement a fix or add an assertion, rerun, and verify the motion now matches intent.
  9. Remove only agent-added MotionEyes imports, modifiers, and trace metrics from this run; never remove user-authored pre-existing MotionEyes code.

Intent Mapping (Screen vs Layout vs Local)

Choose the geometry mode that matches what the user actually cares about.

  • User-visible/on-screen motion (phrases like "did it move?", "what the user sees", "slide on screen"):

- Trace.geometry(..., space:.screen, source:.presentation)

  • Layout relationships/spacing (phrases like "aligned", "spacing", "relative to container", "stays in the same stack position"):

- Trace.geometry(..., space:.swiftUI(.global), source:.layout)

  • Local container relationships (phrases like "within this card", "inside this stack", "relative to parent bounds"):

- Trace.geometry(..., space:.swiftUI(.local), source:.layout) or a named coordinate space

If you are unsure, start with on-screen motion and add layout geometry only if you need relationships.

Quick Decision Tree

  1. If you need to observe a single value changing over time, start with Trace.value.
  2. If the user cares about visible on-screen motion, start with Trace.geometry using space:.screen, source:.presentation.
  3. If the issue involves layout relationships or spacing, add Trace.geometry with space:.swiftUI(.global), source:.layout (or .local for local container relationships).
  4. If the first geometry trace is flat but the user sees motion, add the complementary geometry mode (layout vs presentation) and compare.
  5. If the bug involves scrolling or restoration, use Trace.scrollGeometry on the ScrollView container.

Triage-First Playbook

  • Fade or visibility mismatch: Trace.value("opacity", opacity).
  • Offset or translation issues: Trace.value("offset", CGPoint(x: offset.width, y: offset.height)).
  • Missing or disputed on-screen motion: Trace.geometry in .screen +.presentation (add layout if needed).
  • Position drift between elements: Trace.geometry for both views in the same space that matches intent.
  • Timing mismatch: trace the driving state with Trace.value plus one geometry metric.
  • Scroll jumps or restoration drift: Trace.scrollGeometry with contentOffset and visibleRect metrics.
  • Unexpected motion when something should remain still: Trace.geometry in .screen +.presentation.

Instrumentation Rules

Add instrumentation only to the minimum set of views needed to test the complaint.

  • Use stable, semantic trace names that match the user complaint.
  • Set the values to the same name as the property, so it is easier to identify.
  • Default to on-screen motion (.screen +.presentation) when the user is describing what they see.
  • Use layout geometry when the issue is about spacing, alignment, or container/sibling relationships.
  • Use scroll geometry tracing when the bug involves ScrollView offset, visible region, content size, insets, or restoration behavior.
  • Place Trace.scrollGeometry on the ScrollView container or an immediate descendant bound to the same scroll context.
  • If a geometry trace is flat but the user reports motion, add the complementary geometry mode and compare.
  • Scroll caveat: layout frames can stay stable while scroll geometry or presentation geometry changes.

Choose geometry mode based on intent:

  • Layout relationship in SwiftUI coordinates: space:.swiftUI(.global), source:.layout
  • Local container relationship: space:.swiftUI(.local), source:.layout (or a named coordinate space)
  • Window-relative layout motion: space:.window, source:.layout
  • Physical screen-visible motion: space:.screen, source:.presentation

Example Template

import MotionEyes
import SwiftUI

struct CardMotionExample: View {
    @State private var opacity = 1.0
    @State private var offset = CGSize.zero

    var body: some View {
        RoundedRectangle(cornerRadius: 16)
            .fill(.orange)
            .frame(width: 180, height: 120)
            .opacity(opacity)
            .offset(offset)
            .motionTrace("Card Motion", fps: 30) {
                Trace.value("opacity", opacity)
                Trace.value("offset", CGPoint(x: offset.width, y: offset.height))
                Trace.geometry(
                    "cardFrame",
                    properties: [.minX, .minY, .width, .height],
                    space: .screen,
                    source: .presentation
                )
            }
            .onTapGesture {
                withAnimation(.easeInOut(duration: 0.6)) {
                    opacity = opacity == 1 ? 0.4 : 1
                    offset = offset == .zero ? CGSize(width: 0, height: 36) : .zero
                }
            }
    }
}

Scroll-Focused Template

ScrollView {
    content
}
.motionTrace("Chat Scroll", fps: 30) {
    Trace.scrollGeometry(
        "scrollMetrics",
        properties: [.contentOffsetY, .visibleRectMinY, .visibleRectHeight]
    )
}

Log Capture

Prefer XcodeBuildMCP:

  1. Call mcp__XcodeBuildMCP__session_show_defaults.
  2. Set missing defaults with mcp__XcodeBuildMCP__session_set_defaults.
  3. Build and run with mcp__XcodeBuildMCP__build_run_sim if needed.
  4. Start capture with mcp__XcodeBuildMCP__start_sim_log_cap using captureConsole: true and subsystemFilter: "MotionEyes".
  5. Reproduce the animation.
  6. Stop capture with mcp__XcodeBuildMCP__stop_sim_log_cap and inspect returned logs.

Fallback CLI if MCP is unavailable:

xcrun simctl spawn booted log stream \
  --style compact \
  --level debug \
  --predicate 'subsystem == "MotionEyes"'

MotionEyes Log Analysis

Use these signatures:

  • Value samples: [MotionEyes][View][Metric] key=value...
  • Change burst start: [MotionEyes][View][Metric] -- Start timestamp --
  • Change burst end: [MotionEyes][View][Metric] -- End timestamp --

Analyze:

  • Direction: sign and trend of sampled values.
  • Timing: time delta from intent trigger to first Start and to End.
  • Shape: monotonic change, overshoot, reversals, oscillation, flat segments.
  • Relationship: compare two traces over the same time window when behavior is relative.

Do not force fixed thresholds globally; evaluate against the user’s stated expectation.

Automated Trace Assertions

Use this mode when the user wants a testable pass or fail signal rather than a one-off debugging read.

  1. Choose one metric and one component that directly represents the complaint.
  2. Isolate the sample window from Start to End for that specific motion burst.
  3. Keep assertion types separate:

- continuity: abrupt local jumps or freezes - direction or monotonicity: whether the trace backtracks - timing: whether Start, End, or duration match expectation

  1. For continuity checks, use MotionSmoothness on the extracted scalar samples.
  2. Treat MotionSmoothness as a local continuity heuristic only:

- good for abrupt mid-curve jumps - not proof of render-time frame pacing - does not reject overshoot or backtracking on its own

  1. If the user cares about “went back on itself,” add a separate monotonicity or reversal assertion.
  2. If sample count is too low or timestamps are irregular enough to undermine confidence, say so and escalate to visual analysis.

Threshold guidance:

  • Do not hardcode one universal pass value for every animation style.
  • Start from the user’s actual intent and tune with a known-good baseline trace when possible.
  • Linear or tightly controlled traces can use stricter thresholds than eased or springy motion.

Verification Checklist

  • Trace names map directly to the user complaint.
  • Motion Start and End markers align with the expected interaction timeline.
  • Direction, timing, and shape match the expected motion.
  • Continuity checks and monotonicity checks are not conflated.
  • Relative motion metrics stay within expected deltas.
  • The fix is verified by a second log capture.
  • Agent-added instrumentation is removed after validation.
  • The project still builds after cleanup.

Cleanup Rules

At the end of every run:

  • Remove all MotionEyes instrumentation introduced by the agent during this debugging run.
  • Keep all MotionEyes instrumentation that already existed before the run.
  • Remove agent-added import MotionEyes only if it was added solely for temporary tracing and is no longer needed.
  • Confirm code compiles after cleanup.

Scenarios to Support

  • Fade timing bug: trace opacity and verify fade begins and ends when expected.
  • Wrong direction bug: trace Y-related value and confirm sign and trend match expected motion.
  • Relative motion bug: trace two objects and verify their positional relationship over time.
  • Scroll jump or restoration bug: trace Trace.scrollGeometry on the ScrollView and verify contentOffset and visibleRect progression through navigation and return paths.
  • No motion desired: confirm a view remains stable during transitions.
  • Regression or UITest assertion: extract a trace burst and assert continuity with MotionSmoothness, plus separate timing or monotonicity checks when needed.
  • Existing instrumentation safety: preserve user-authored MotionEyes traces.
  • MCP unavailable: use CLI log stream and continue analysis.
  • Missing package: auto-integrate MotionEyes, then execute normal workflow.

Reference

Load references/motioneyes-observability-patterns.md when choosing metrics, interpreting trace behavior, or defining MotionEyes-based assertions.

平台分布

Codex

36.09%
按下载量换算31

Claude

30.27%
按下载量换算26

Cursor

19.63%
按下载量换算17

Gemini CLI

9.8%
按下载量换算8

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/edwardsanchez/motioneyes --skill motioneyes-animation-debug 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills