transition-reverse-engineering
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.
More from dididy/ui-skills
ui-reverse-engineering
Clone or replicate a live website URL as React + Tailwind. Triggers on "clone <URL>", "copy the hero from <URL>", "make it look like <URL>", "reverse-engineer this layout", "extract the animation from <URL>". Key signal — the user has a reference URL. Outputs React components with real extracted values (getComputedStyle, DOM, JS bundle analysis). Accepts screenshot/video as fallback (Claude Vision approximation). Does NOT apply to general CSS help or building UIs from scratch without a reference.
38visual-debug
Compare original site vs implementation with automated AE/SSIM diff — zero LLM vision tokens. Triggers on "it looks different", "doesn't match", "compare with original", "what's wrong". Only reads diff images when AE/SSIM reports a failure.
3ui-capture
Capture or record visual behavior from a website — scroll transitions, hover, mousemove/parallax, auto-timers. Also for side-by-side comparison between a reference site and a local clone. Triggers on "take baseline screenshots of <URL>", "record the hover effects", "capture scroll animations", "compare <ref> vs <localhost>". Works standalone or from ui-reverse-engineering / ralph workflows.
2