SkillAgentSearch skills...

cut-the-curve

The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase…

Install / Use

npx skills add heygen-com/hyperframes --skill cut-the-curve

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

93/100

Supported Platforms

Universal

Tags

Our assessment of cut-the-curve

cut-the-curve scores 93/100 on our quality scale, 538th of 4,648 Development & Engineering skills we index (top 12%).

Its SKILL.md is 18 KB long, well organised into 14 sections and no code examples: a thorough specification that gives an agent plenty to work with.

With 76,633 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
13/20
Description
15/15
Adoption
20/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 7 days ago, so cut-the-curve is actively maintained.
  • Our last check on 2026-10-25 found the source still online.
  • It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-25. Automated pattern scan on 2026-09-25. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

cut-the-curve compared with similar skills

All 4 of these similar skills score higher than cut-the-curve; compare them before choosing.

SkillScoreStarsUpdatedFormat
cut-the-curve (this skill)by heygen-com9376.6k7d agoSKILL.md
taste-skillby Leonxlnx100112.0k1d agoCLAUDE.md
ai-job-searchby ai-job-search-dev10070.5ktodayCLAUDE.md
claude-howtoby luongnv8910046.7k5d agoCLAUDE.md
lobehubby lobehub10084.4ktodayMCP Server

Frequently asked questions

How do I install cut-the-curve?
Run npx skills add heygen-com/hyperframes --skill cut-the-curve. The install tabs above show the steps for each supported agent.
Which AI agents does cut-the-curve work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is cut-the-curve safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is cut-the-curve still maintained?
The repository was last updated 7 days ago, so cut-the-curve is actively maintained.

name: cut-the-curve description: "The technique catalog: five velocity-matched SEAMS (zoom-through, INVERSE zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus the two in-scene techniques — waterfall ENTRY (staggered arrival cascades for title cards / segment openers) and the nudge curve (slow-fast-slow three-phase group slides). Covers partial-travel (~12% of frame) velocity matching via mirrored power4 eases, the Z scale-sign rule, size-scaled blur (10px text / 18-20px full-frame), word-by-word staggered cuts, cascade pacing by element weight, and the 10/65/25 slide ratio. Read before authoring any transition, text-beat handoff, kinetic text entry, or group reposition. [depth, zoom, inverse-zoom, scale-sign, mirrored-zoom, rack-focus, pacing, velocity, cut-the-curve, waterfall, stagger, cascade, kinetic-text, title-card, segment-opener, nudge, slide, easing, group-motion, z-depth, motion-graphics, cinematic, transition, blur, directional-continuity]" metadata: internal: true

Cut the Curve — the technique catalog

Five SEAM techniques, one principle: cut at peak velocity, match direction and speed on both sides of the cut — plus the two in-scene techniques (§6 arrivals, §7 slides). The seam LAW — vector law, the current, the ledger, the Seam Gate — lives in motion-doctrine; read it first. This skill is the parameters and mechanics. All GSAP code templates (worker + registry): examples/gsap-implementation.md.

Catalog

| # | Technique | Scope | Axis | Use for | | --- | -------------------------- | ------------------------------ | ------------------- | ------------------------------------------------------ | | 1 | Zoom-Through (forward) | Within-scene text swap | Z, toward viewer | progressing deeper into the same thought | | 2 | Inverse Zoom-Through | Arrival / payoff beat | Z, away from viewer | something bigger lands | | 3 | Cut the Curve | Between scenes | X / Y | the default boundary, the film's current | | 4 | Waterfall Cut | Text-to-text seam | X, per-word | word-level handoff between big-text beats | | 5 | Rack-Focus Blur-Cut | Same-surface state swap | X / Y / Z | the one cut you want SEEN — a DSLR focus-pull flourish | | 6 | Waterfall Entry | In-scene ARRIVAL (no seam) | Y, from below | title cards, segment openers, list intros | | 7 | Nudge Curve | In-scene group slide (no seam) | X / Y | repositioning a composed group to make room |

Z direction is a sign

"Same axis" is not enough on Z — the sign of d(scale)/dt must match across the cut:

| Z vector | Exit scale | Entry scale | Variant | | -------------- | ------------------- | -------------------- | -------------------- | | Push (forward) | growing 1 → 1.2 | growing 0.75 → 1 | zoom-through | | Pull (back) | shrinking 1 → 0.8 | shrinking 1.25 → 1 | inverse zoom-through |

Banned mirrors: a receding exit answered by a grow-from-small entry (pull flips to push — the common one, since grow-from-small is the default element entrance), and a push exit answered by an oversized retraction. This binds the incoming scene's OWN entrances during the seam window (cut + ~0.5s), not just the wrapper tween: hold the incoming frame composed, or author its entrance to match the sign. Verify per Seam Gate rule 7.

Blur logic (all Z variants)

| Subject | Peak blur | Why | | --------------------------------------------- | ----------- | -------------------------------------------------------------- | | Text-scale (headline, word group) | 10px | 20px smears letterforms — the cut reads as a glitch, not speed | | Full-frame surface (window, card, screenshot) | 18–20px | lighter blur on a big surface reads as a rendering hiccup |

Same peak blur on both sides at the swap frame. Blur the WRAPPER, never children.


1. Zoom-Through (forward)

Z-axis velocity-matched cut; never both texts visible. Everything GROWS: the outgoing text accelerates toward camera, a hard swap hides at peak blur, the incoming text keeps growing into the focal plane. Headlines and short phrases only. Total ≈ 0.4s.

| Phase | Scale | Blur | Opacity | Ease | Duration | | -------------- | -------- | -------- | ----------------- | ------------------------------------------ | -------- | | Exit | 1 → 1.2 | 0 → 10px | 1 → 0.15 | power3.in (opacity: separate none tween) | 0.2s | | Cut (tl.set) | in: 0.75 | 10px | out: 0 / in: 0.15 | — | — | | Entry | 0.75 → 1 | 10 → 0px | 0.15 → 1 | expo.out | 0.5s |

Exit opacity MUST be its own linear tween — power3.in holds opacity near 1 too long. On entry all properties share expo.out.

2. Inverse Zoom-Through (backward)

The pull-back mirror: the outgoing element RECEDES; the incoming arrives OVERSIZED (as if just behind camera) and retracts into the focal plane. Everything SHRINKS. Spend on ARRIVAL/payoff beats — a payoff line, a giant reply, a held end-state — never ordinary boundaries. Total ≈ 0.7s (30% exit / 70% entry).

| Phase | Scale | Blur | Opacity | Ease | Duration | | -------------- | -------- | -------- | ----------------- | ------------------------------------------ | -------- | | Exit | 1 → 0.8 | 0 → 10px | 1 → 0.15 | power3.in (opacity: separate none tween) | ~0.2s | | Cut (tl.set) | in: 1.25 | 10px | out: 0 / in: 0.15 | — | — | | Entry | 1.25 → 1 | 10 → 0px | 0.15 → 1 | expo.out | ~0.5s |

Blur is 10px text-scale; 18–20px only when both sides are full-bleed surfaces.

Sign discipline: the incoming scene arrives as a composed frame inside the retracting wrapper — no grow-from-small intro in the seam window. Staged entrances happen after the retraction settles, or start ≥1 and retract.

3. Cut the Curve (default scene boundary)

X/Y velocity-matched cut — the default for ALL scene-to-scene boundaries, in the film's current, not an accent. The outgoing hero accelerates in one direction, the cut lands mid-motion, the incoming hero continues the SAME direction and decelerates. Total ≈ 0.6s; directions LEFT / RIGHT / UP / DOWN (default LEFT).

Partial travel: ~12% of frame (≈230px at 1920) — never full off-screen moves.

| Direction | Exit | Entry start → end | | --------- | ------------- | ----------------- | | Leftward | x: 0 → −230 | x: +230 → 0 | | Rightward | x: 0 → +230 | x: −230 → 0 | | Upward | y: 0 → −230 | y: +230 → 0 | | Downward | y: 0 → +230 | y: −230 → 0 |

Mechanics:

  • Mirrored eases: exit power4.in + entry power4.out, same distance and duration — the two halves of one power4.inOut, so velocity matches exactly at the cut.
  • The fade trick: exit opacity completes at ~25–30% of its travel (fade ≈ 0.18–0.3s vs motion 0.3–0.34s); entry ignites at ~0.35 opacity mid-path. Time the last fading element to die right at the cut — a gap where nothing moves reads as dead air.
  • Exit 0.2–0.4s; entry ≥ exit. Optional blur 8–10px.
  • Stage ground: #root must be opaque (background: var(--canvas-deep, var(--canvas, #000))) — the mid-window cut opens a summed-opacity < 1 window that flashes white otherwise (see seam-craft).

push-slide exists but violates partial-travel and mid-motion phase; prefer cut-the-curve.

4. Waterfall Cut (word-by-word cut-the-curve)

Cut-the-curve at WORD granularity — the strongest leftward cut for text-to-text seams. Outgoing words ramp out on their own curves; incoming words cascade in mid-flight — a wave the eye rides across the seam.

Scope: worker-authored inside one multi-beat comp (stacked full-frame .beat layers), NOT a registry/injector type — it tweens word spans, not clip wrappers. The boundary into and out of the text-beat block still gets a normal registry transition. Does not count against the 2–3 transition budget.

| Parameter | Value | Why | | ------------------- | --------------------- | ------------------------------------------- | | Travel | ±230px (~12% frame) | partial travel + velocity > full-frame push | | Exit | 0.34s power4.in | the acceleration IS the cut | | Exit fade | 0.18s, starts with x | word gone by ~25–30% of travel — no smear | | Exit stagger | +0.022s reading order | the line peels, not a block slide | | Entry | 0.3s power4.out | back half of the composite — velocity match | | Entry start opacity | 0.35 | mid-path ignition; binary 0→1 pops | | Entry gaps | 0.05s × 0.84 decay | accelerating cascade, resolves composed |

Rules:

  • One direction per chain, riding the current. Inverse zoom is the chain's ARRIVAL beat only.
  • Pre-set all words to x: +230, opacity: 0 at build time — immediateRender: false alone leaves un-started words visible at rest.
  • A short first beat may exit whole-line: its fade ends ~0.02s before the cut so it is still streaking when the next words ignite — no dead gap.
  • Transform/opacity only (seek-safe); opaque stage ground applies.

5. Rack-Focus Blur-Cut (the visible cut)

The one variant where the cut is SEEN: a defocus blur SPIKE hides a single-frame hard swap — a handheld-DSLR focus-pull. Use as an occasional flourish for a state swap of the SAME surface within one visual theme; never the default boundary.

Differences from the others: outgoing stays FULLY OPAQUE until the cut (the blur hides the swap — no early fade); eases power2.in / power2.out (soft optics, not momentum).

Rules:

  • Fire only at a narrative beat, ≤ once per ~8s; never mid-caption or during a hold.
  • Cut at PEAK blur (≥6px; peak 8–12px, ≤16–18px max) — swapping on the way up shows the cut.
  • A subtle scale (~1.06 lens-breathing) sells it as optics.
  • Same direction on both sides — the vector law still holds. Entry ≥ exit duration.
  • Blur the wrapper; never blur + opacity in one tween on one element (headless compositing bug); never blur a <video> directly (wrap it).

6. Waterfall Entry (in-scene arrival — not a seam)

Staggered ARRIVAL cascade: words/elements whip in from below (one consistent direction), each starting before the previous settles — an accelerating wave that resolves into a composed layout. Title cards, segment openers, list/feature intros. The seam sibling is §4; do not mix their rules:

| | §6 Entry (arrival) | §4 Waterfall Cut (seam) | | ------------- | --------------------------------------------- | --------------------------------------------------------- | | Opacity | BINARY 0→1 via tl.set at entry — never fade | ignites at 0.35 mid-path — the fade IS the velocity trick | | Axis default | Y, from below | X, riding the current | | Outgoing side | none | words ramp out on mirrored power4.in |

Choreography:

  • Overlap, don't queue — next element starts within ±2 fram

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars76.6k
CategoryDevelopment
Updated7d ago
Forks7.0k

Languages

TypeScript

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions