首页 / 全部技能 / 内容创作 / oversized-cursor
内容创作 · heygen-com/hyperframes

oversized-cursor

House-style oversized macOS cursor technique for HyperFrames launch videos. Load whenever a scene involves cursors or a pointer-led action, when kicking off a UI scene, when igniting a morph/transition/typing run with a click, or when a scene reads as static, dead, or stale and needs a cheap high-yield source of motion to carry the viewer's eye and segment them out of the stale state. Covers cursor size/look (incl. brand-motif cursors), the off-screen entry law, tip-targeting and the click tap, click-ignites-the-next-beat, and exit / cross-scene handoff.

风险提醒:绿色 · 放心使用AI 侦查报告
作者 heygen-comGitHub heygen-com/hyperframes ↗Stars 44283许可 Apache-2.0(仓库根 LICENSE 为 Apache License Version 2.0)commit d2f0bc7f34
agent 宿主通常会约束 skill 执行权限;风险提醒为 AI 侦查观点,不构成质量或安全保证。第三方 skill 仅作拆解与展示,安装使用风险自负,版权归原作者。

1实现原理 · 为什么它能做到

总纲:把鼠标光标当成「可见的主角」来用——它从画外进入、把观众视线带到下一个兴趣点、用一次点击**造成**接下来发生的事,然后离场。

.claude/skills/oversized-cursor/SKILL.md
A deliberately oversized macOS-style pointer that travels the frame as a _visible protagonist_: it enters from off-screen, walks the viewer's eye to the next point of interest, clicks to cause the next thing that happens, and leaves.
注:这里在做什么:给出这个技法的存在理由(视线搬运 + 因果点火 + 分段),后面所有规则都为这三件收益服务。

为什么值得做:大光标是发布片里最便宜的高产出运动源——一个元素、纯 transform 的 tween,却同时解决「画面显得死」「形变/转场没有起因」「新场景切换时观众没被切出旧状态」三件事;并给出行之有效的判据「越大越好,真实尺寸在视频尺度上等于看不见」。

.claude/skills/oversized-cursor/SKILL.md
Big cursor movement is one of the cheapest high-yield motion sources in a launch video: one element, transform-only tweens, and it (1) brings the eye across the screen on scenes that would otherwise read as dead, (2) gives causal ignition to morphs/transitions ("the click did that"), and (3) segments the eye out of a stale state when kicking off a new scene or a complex animation sequence. Bigger is better — an actual-size cursor disappears at video scale.
注:这里在做什么:用收益论替代审美论,并给出一句可判定判据(actual-size = 不可见)——这是本 skill 最常被引用的决策依据。

尺寸与造型是硬约定:满幅场景 7cqw(1920 宽时≈134px),套在 mock 里 4.6–5.5cqw,绝不更小;形制固定一套 SVG 箭头,白体黑描边或黑体(#1c1c1c)白描边(1.4px),按场景对比度二选一,全片保持一致。

.claude/skills/oversized-cursor/SKILL.md
- **Full-frame scenes: `7cqw`** (≈134px at 1920). In-mock / small-frame variants: `4.6–5.5cqw`. Never smaller. - One SVG arrow geometry everywhere. Two proven fills — white body + black stroke, or black body (`#1c1c1c`) + white stroke (1.4px). Pick per scene contrast, keep it constant per film.
注:这里在做什么:把「大」量化为 cqw 数值并给两档场景模板,同时把「全片一致」写成规则(避免每场换手感)。

入场律:永远从画外进入(标准从下方 top:115–120%),一次减速滑行到首个目标,必须「感觉像进了房间」;绝不允许就位后淡入或遮罩揭示——那会被读成故障(作者标注为反复观察到的真实失败模式)。

.claude/skills/oversized-cursor/SKILL.md
The cursor **always enters from off-screen** (canonical: from below, `top:115–120%`) and travels to its first target in one decelerating glide. It must _feel like it entered the room_. Never opacity-fade it in at a resting position, never mask-reveal it — that reads as a glitch (a real, repeatedly observed failure mode).
注:这里在做什么:把「物理进入」定成法,并给默认路径(沿 y 轴直上;对角线仅在它本身就是叙事时允许)与参数(0.4–0.92s、power3.out、fromTo 必须 immediateRender:false)。

命中点判据:热点是箭头**尖端**而非包围盒中心;尖端落在目标中心,且所有按压缩放都以尖端为支点(transformOrigin: '21% 14%')。点击 = 非对称压缩/回弹(1:2 比例读作真实点击)。

.claude/skills/oversized-cursor/SKILL.md
The hot-spot is the arrow TIP, not the box center. Land the **tip** on the target's center, and pivot all press scaling on the tip: `transformOrigin: '21% 14%'` (for the house arrow path in a 24-unit viewBox). Click = asymmetric compress/expand (1:2 ratio reads as a real tap):
注:这里在做什么:把「点到哪」与「以哪为支点压」都量化;并明确目标的反应是**并行独立 tween**(按钮 scale:0.94 + 按压色/影,同一 t 起),纯聚焦类点击(如聚焦输入框)不给目标反应。

点击必须点火下一拍:形变、打字流、窗口变换、定义场景的动画都不许「自己开始」——把光标停在触发点上,让点击在同一帧造成它(菜单级联 / 打字启动 / 窗口收缩 / logo 点火 / 播放态翻转)。

.claude/skills/oversized-cursor/SKILL.md
Never let a morph, typing run, window transform, or scene-defining animation simply _start_. Park the cursor on the trigger and let the click cause it, same-frame:
注:这里在做什么:与 motion-doctrine 的 causal motion / same-frame ignition 同构;并给出「在长时间不归它管的 beat(打字、旁白)里光标要漂到一边,不许冻在动作上、不许空转抖动」。

漂移与静止的边界:不归它管的 beat 里光标以 0.5–0.9s、power2.out 漂到一旁,绝不冻在动作正上方、绝不空闲抖动。

.claude/skills/oversized-cursor/SKILL.md
During long beats it doesn't own (typing, narration), the cursor **drifts aside** (0.5–0.9s, `power2.out`) — never sits frozen on top of the action, never wobbles idly.
注:这里在做什么:把「不许 idle wobble」这条上位禁令落到光标这一具体元素上(与 motion-doctrine 的 idle-sine 禁令一致)。

退场律:两条被许可的退场都必须是物理的,绝不允许原地淡出——① 加速离开画面(就近边缘,power2.in,0.5–0.7s);② cut-the-curve 交接(硬切前最后 ~0.3s 开始加速朝下一场首个点击点,覆盖该路径前 1/3;下一 composition 用 gsap.set 摆在交接位姿后以 power2.out 续跑,速度匹配)——此时光标本身成为缝合接缝的载体元素。

.claude/skills/oversized-cursor/SKILL.md
2. **Cut-the-curve handoff**: in the final ~0.3s before a hard cut, the cursor starts accelerating (`power2.in`) toward the NEXT scene's first click point, covering the first ~1/3 of that path; the next composition `gsap.set`s the cursor at the handoff pose and continues with `power2.out` at matched velocity. The cursor itself becomes the carrier element that stitches the seam:
注:这里在做什么:把光标接入 motion-doctrine 的 carrier 概念(跨切点以匹配位置+速度交接),并给两段可直接抄的 GSAP 代码(A 场 tl.to 于 CUT-0.3;B 场 gsap.set + tl.to 于 0)。

品牌母题光标是「权力招」但需门槛:当主体品牌有可识别的光标身份(协作工具的彩色多人箭头+名牌、创作套件的精准十字准星、独特的产品指针)时用那个光标替代 macOS 箭头——同样法则原样适用(超大尺度、物理出入场、尖端命中、点击点火),名牌变体作为一个刚体整体移动;但只有当母题真的可被指认时才用,没人认得的光标只是个怪箭头,应退回 macOS。

.claude/skills/oversized-cursor/SKILL.md
Reach for it only when the motif is genuinely referenceable; a cursor nobody recognizes is just a weird arrow — default back to macOS.
注:这里在做什么:把「默认」与「更好」分开,并给出可退回条件,避免为了花哨而牺牲可读性。

2核心能力

01尺寸/造型的房屋约定(满幅 7cqw、mock 内 4.6–5.5cqw、两种配色填充、全片一致)
02画外入场律 + 入场参数与代码(0.4–0.92s、power3.out、immediateRender:false、禁淡入/遮罩揭示)
03尖端命中与按压支点(transformOrigin '21% 14%',1:2 压缩/回弹,目标侧反应并行独立)
04点击点火下一拍 + 不归它管的 beat 里漂到一边
05两条物理退场 + 跨场景 cut-the-curve 交接代码(含速度匹配续跑)
06品牌母题光标替换策略(可指认才用,否则退回 macOS 箭头)
07交付自检清单(尺寸/入场/命中/点火/漂移/退场六条)

3外部依赖

类型依赖
package兄弟 skill 依赖(被指名配对):motion-doctrine(carrier / same-frame ignition 的上位法则)、cut-the-curve(退场交接技法)、cursor-click-ripple 与 press-release-spring(目标侧按压/涟漪)
package运行时库(片段运行于宿主 composition 的 GSAP 时间线;本 skill 不自带库)

4风险提醒 风险提醒:绿色 · 放心使用

风险提醒:绿色 · 放心使用
  • 触发条件过宽,可能被滥用成「全场都在飞光标」 — description 把「场景显得死/旧」也列为加载条件,而技法本身没有「每片最多几次」的预算(不像 motion-doctrine 的 2–3 个转场预算)。密集使用会抢戏。
  • 尺寸与支点是硬编码的房屋约定,跨品牌复用需重算 — 7cqw 与 transformOrigin '21% 14%' 都绑定「house arrow path 的 24-unit viewBox」;换成品牌母题光标时原文只要求「同样法则原样适用」,未给新的支点算法,需自行推导。
  • 跨场景交接依赖下一场「首个点击点」在编译期已知 — 交接代码里 handoff 位姿是硬编码坐标(left 40.7% / top 63.7%);若下一场排版变动,速度匹配即失效——这条耦合没有自动检查。
  • 规则是文档级约束,无 lint/gate 兜底 — 与 motion-doctrine 的 seam-gate 不同,这里没有可运行验证;不读文档的代理不会被拦,且「点击必须造成事情」这类语义约束无法被机器检查。
  • prompt injection 面低但非零:技法依赖代理对画面语义的正确判断 — 「尖端落在目标中心」「点击点火下一拍」要求代理读出正确的目标中心与触发点;弱视觉模型下会点错位置或不点中,观感反而更差。
风险提醒:绿色,放心使用。逐项核对(判级对象=skill 自身目录):目录内仅 SKILL.md(6625 字节);无脚本文件、无 npx/CLI 调用、无 URL/端点、无 process.env 或凭证读取、无写盘指令;`pointer-events: none`、`will-change: transform` 只是产物侧 CSS 属性。技法本身(大光标、点击点火、物理退场)不产生任何对外接触,故判绿。

5第二遍独立确认

  • [ok] 是否存在隐蔽的脚本或网络调用(green 档前提) — 全目录仅 SKILL.md;全文无 shebang、无 ```bash 块、无 curl/npx/node 调用;URL 与 process.env 零命中。文中出现的 `// scene A, last 0.3s …` 是给作品用的 GSAP 注释代码,不是本 skill 的执行入口。
  • [ok] 第一遍抽取的数值参数是否逐条可回源 — 7cqw / 4.6–5.5cqw、0.4–0.92s + power3.out + immediateRender:false、transformOrigin '21% 14%'、1:2 压缩回弹(0.84/0.1s + 1/0.22s)、漂移 0.5–0.9s power2.out、退场 0.5–0.7s power2.in、交接 0.3s power2.in + 0.6s power2.out、drop-shadow(0 4px 6px rgba(0,0,0,.3))、z-index:20、pointer-events:none — 均在源文件逐字命中。
  • [ok] 「品牌母题光标」是否被写成无门槛的鼓励(会误导为「随便换」) — 原文有明确门槛与退回条件(`Reach for it only when the motif is genuinely referenceable; a cursor nobody recognizes is just a weird arrow — default back to macOS.`),且强调同样法则原样适用,并给出门槛示例(Figma 式多人箭头+名牌、创作套件十字准星)。第一遍未夸大。
  • [ok] 「点击点火」是否与目标侧反应混淆(第一遍的表述风险点) — 原文把两件事分开:光标的压缩/回弹 tween 在 t 起,目标的反应用**并行独立 tween**(按钮 scale 0.94 + 按压色/影,同 t 起);并明确 `Cursor-only taps (e.g. focusing a text input) get NO target reaction.` 本 JSON 已按此分别表述。
  • [ok] 退场是否有「原地淡出」的例外(避免把规则写得比原文更绝对) — 原文 `Two sanctioned exits — both physical, **never an opacity fade in place**`,清单亦写 `exits physically (off-frame or cut-the-curve handoff) — no fade-in-place`。无例外,第一遍表述准确。

6结论

  • 把「大光标」论证为可量化收益(最便宜的高产出运动源),并给出可判定的一句话判据
  • 入场与退场都写成物理律并附参数,直接封杀「淡入/原地淡出」这类省事却像故障的做法
  • 点击的责任被写死:不允许形变/打字/转场「自己开始」,必须由点击在同一帧造成
  • 提供跨场景交接的可抄代码,把光标变成缝合接缝的载体(与 motion-doctrine 的 carrier 概念对接)
  • 交付前有六条自检清单,便于代理自查而非凭印象交付
  • 适合:适合:任何场景里出现光标或指针主导的动作时;UI 场景开场;用一次点击去点火形变/转场/打字/窗口收缩/播放态切换;画面显得静态、死或旧,需要一个廉价高产的运镜源把视线带过去并把观众切出旧状态;以及需要在硬切处用光标做跨场景载体交接时。适合与 motion-doctrine / cut-the-curve 连读。
    不适合:不适合:① 没有 UI/指针语义的场景(纯图形、纯文字、抽象动画)——硬塞光标只会变成装饰;② 每个场景都想用(会抢戏,且没有预算机制约束你);③ 需要被机器闸门保证效果的流程——本 skill 无脚本、无 gate;④ 下一场首个点击点无法在编译期确定的工程结构下做跨场景交接。
    安装 agent 直装可复制
    ① 本站镜像 更新 2026-09-28
    方式 A · 人下载镜像包下载 oversized-cursor.tar.gz
    sha256: c81758bc876bab42…
    方式 B · JSON 格式安装指南,复制给 agent
    安装指南
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② 上游 GitHub · 原始来源
    能访问 GitHub?直接去上游安装(实时版,可能已更新)GitHub 原始 ↗
    本页镜像锁定 commit d2f0bc7f34;上游为实时仓库。
    来源信息 GitHub 原始
    作者 / 仓库heygen-com / heygen-com/hyperframes
    Stars44283
    最近推送2026-09-06
    本 skill commitd2f0bc7f34
    许可Apache-2.0(仓库根 LICENSE 为 Apache License Version 2.0)
    本站信息
    收录日期2026-09-06
    分类内容创作
    侦查报告AI 侦查 · 2 遍 · 2026-09-06
    本站镜像与 GitHub 原始是不同来源:本站锁定 commit 快照经 /r2 分发;GitHub 为实时上游,内容可能已更新。
    同分类邻近