transition-reverse-engineering
Installation
SKILL.md
Transition Reverse Engineering
Precise extraction and replication of animations, transitions, and visual effects from live sites. Works independently or as a sub-skill called by ui-reverse-engineering.
Session rule: always pass
--session <project-name>— default session is shared globally.agent-browseris a system CLI. Execute all commands via the Bash tool.
Core principles
- Extract real values. Never guess timing, easing, positions, counts.
- Capture reference frames ONCE. Save to
tmp/ref/<effect-name>/frames/ref/. Never re-visit. - All
agent-browser evalmust be IIFE:(() => { ... })(). No top-level return. - Extraction ≠ completion. Done requires a passing verification cycle (impl frames vs ref frames).
- Diagnose before fixing. Name the root cause in one sentence. If you can't, add eval instrumentation.
- Measure ALL animated properties at MULTIPLE progress points in one pass. See
measurement.md. Skipping → broken animation timing. - Never assume linearity. Real animations use multi-phase timing. The 11-point measurement catches this.
getComputedStyle()alone is NOT enough for JS-driven animations. It shows the current frame only — not from/to ranges, interpolation breakpoints, or scroll-offset mappings. For scroll-driven effects, download the JS bundle.- Raw CSS stylesheets beat computed values for layout. Raw CSS reveals responsive expressions (
calc(),cqw,%, custom properties). Computed values are viewport-specific pixels.