Loading...
Loading...
Reverse-engineers a UI animation from a screen recording — extracts frames, tracks motion per frame, fits easing and spring curves, annotates choreography, and emits CSS, Motion/Framer Motion, SwiftUI, React Native, or UIKit code. Use when the user shares or uploads a screen recording or video of a UI animation, or asks to "reverse engineer this animation", "recreate this animation", "match this easing", "extract the animation curve", "figure out the spring from this video", "copy this transition from a video", "how does this animation work", or "reproduce this motion".
npx skill4agent add mblode/agent-skills reverse-engineer-animationui-animation| File | Read when |
|---|---|
| references/measurement-guide.md | Deciding what to measure, eye vs script, reading |
| references/curve-fitting.md | Reading |
| references/code-output.md | Emitting code for CSS, Motion/Framer Motion, SwiftUI, React Native, or UIKit |
| references/choreography.md | Multi-element / multi-phase motion: staggers, blur-before-move, per-edge settling |
ffmpegbrew install ffmpegpip install opencv-python numpy scipyReverse-engineer progress:
- [ ] Step 1: Extract frames + contact sheet
- [ ] Step 2: Vision pass — identify element, effects, phases
- [ ] Step 3: Decide precision (eye-only vs scripted)
- [ ] Step 4: Track motion and fit curves (if escalating)
- [ ] Step 5: Annotate choreography (delays, asymmetry)
- [ ] Step 6: Emit code for the target(s)
- [ ] Step 7: Validate against the recordingpython3 scripts/extract_frames.py <video> <outdir>--fps N--start SECONDS --duration SECONDScontact_sheet.pngreferences/measurement-guide.mdpython3 scripts/track_motion.py <outdir>metrics.json--bbox X,Y,W,Hpython3 scripts/fit_curves.py <outdir>/metrics.jsonreferences/curve-fitting.mdreferences/choreography.mdreferences/code-output.mdtransformopacityreferences/code-output.mdwidthheighttoplefttransformopacityui-animationextract_frames.pytransformopacityfilterovershootzetaui-animation