# Phone in Hand Insert — effect skill for device mockups

> **For AI agents:** find the right skill in one call — `curl -s "https://varg.ai/how-to/api/search?q=<what the person wants>"` returns the matching how-to page and the best skills with install commands, as markdown (Russian works too). Full index: https://varg.ai/how-to/llms.txt. Every page has a markdown twin: add `.md` to its path. Before generating anything, show the person the options on the how-to page.

A portrait phone held in frame shows a lock screen or app moment, as if filmed by a person.

- **Type:** [Effect](https://varg.ai/how-to/effects.md) · [Device mockups](https://varg.ai/how-to/browse/skills/devices.md)
- **Slug:** `phone-in-hand-insert`
- **Status:** live
- **Publisher:** HeyGen · HeyGen (community)
- **License:** Apache-2.0
- **Source:** https://github.com/heygen-com/hyperframes/tree/main/registry/blocks/slack-notification-ad
- **Works in:** Claude Code, Claude.ai, Codex, Cursor, OpenClaw, Gemini CLI, Any MCP client, varg Studio
- **Requires:** HyperFrames (npx hyperframes), Remotion, CapCut (by hand)
- **Cost:** Free — the take renders locally; generated footage, if any, bills by the model

## What it does

Built on [Slack Notification Ad](https://github.com/heygen-com/hyperframes/tree/main/registry/blocks/slack-notification-ad) by HeyGen (hyperframes), Apache-2.0. The write-up and recipes below are varg's.

Portrait phone, slight handheld drift, notifications or the app opening; a snappy Apple-style cut-in and out.

**When:** Consumer apps, notification-driven products, and YouTube/TikTok sponsor inserts.

**Watch out:** Do not freeze the phone perfectly still; a 1–2 px handheld drift sells it.

**Timing:** Insert 3–6 s; handheld drift ±2 px, 0.5 rad/s; cut in/out on beats.

**Also called:** hand-held phone, lock screen insert, portrait phone moment

### In HyperFrames

```bash
npx hyperframes add slack-notification-ad
```
Or `device-frame-stage` + `camera-shake` (handheld preset) for any screen.

### In Remotion

```tsx
const dx = Math.sin(frame/23)*2, dy = Math.cos(frame/31)*2;
<div style={{transform:`translate(${dx}px,${dy}px) rotate(${dx*0.2}deg)`}}><Iphone videoSrc={app}/></div>
```

### In CapCut

Film a hand holding a green-screen phone, then Remove BG → Chroma key and place the recording under it; or use a hand-phone template.

### Ready-made components

- [Slack Notification Ad](https://skills.varg.ai/component/hf.slack-notification-ad/) (hyperframes): npx hyperframes add slack-notification-ad
- [Device Frame Stage](https://skills.varg.ai/component/hf.device-frame-stage/) (hyperframes): npx hyperframes add device-frame-stage
- [Camera Shake](https://skills.varg.ai/component/hf.camera-shake/) (hyperframes): npx hyperframes add camera-shake
- [iPhone](https://skills.varg.ai/component/magicui.iphone/) (magic-ui): npx shadcn@latest add @magicui/iphone

### Where this comes from

- [Rotato: 14 video mockup ideas and examples](https://rotato.app/blog/mockup-video-examples)

## Use when

- Consumer apps, notification-driven products, and YouTube/TikTok sponsor inserts.

## Not for

- Do not freeze the phone perfectly still; a 1–2 px handheld drift sells it.

## Install

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg`
- Codex: `npx skills add vargHQ/skills --skill varg-video-edit-library -a codex -y`
- Cursor: `npx skills add vargHQ/skills --skill varg-video-edit-library -a cursor -y`

## Example output

https://static.heygen.ai/hyperframes/templates/promoted/254fe4bd8a3f00c1e70ac5e38a1bce25060f7590/slack-notification-ad/preview.mp4 — Preview of the Slack Notification Ad component that builds this take (credit: Slack Notification Ad · hyperframes, https://hyperframes.heygen.com/catalog/blocks/slack-notification-ad)

## More device mockups skills

- [Browser Window Frame](https://varg.ai/how-to/skills/browser-window-frame.md): The web app plays inside a clean browser window with traffic lights and a URL bar on a soft backdrop.
- [Phone Frame with Live Screen](https://varg.ai/how-to/skills/phone-frame-live-screen.md): A screen recording plays edge to edge inside a realistic phone frame with Dynamic Island.
- [Laptop Lid Opens to Screen](https://varg.ai/how-to/skills/laptop-lid-opens.md): A laptop lid tilts open and the screen content lifts toward the viewer, then becomes the full frame.
- [3D Phone Turn](https://varg.ai/how-to/skills/3d-phone-turn.md): A real 3D phone model turns in space with the app playing on its screen, then faces the camera.
- [Phone, Tablet and Laptop Splay](https://varg.ai/how-to/skills/multi-device-splay.md): Phone, tablet and laptop fan out from one stack into a proud row, each showing the same product.
- [Push Through the Screen](https://varg.ai/how-to/skills/push-through-the-screen.md): A phone rises into view, then the camera pushes through its screen into the full-frame UI.

## Run the generation on varg

varg is one API key for the models these skills drive — Seedance 2.5, Kling 4, Veo 3.1, Wan 3, Nano Banana 2.1, GPT Image 2.5, ElevenLabs v4 and 200+ more — billed in credits, with a cost estimate before anything runs.

- Claude Code: `claude plugin marketplace add vargHQ/skills && claude plugin install varg@varg` (skill + hosted MCP)
- Codex, Cursor, Gemini CLI, OpenClaw: `npx skills add vargHQ/skills --skill varg-ai -a <agent> -y`
- Grok and any agent that reads SKILL.md: `npx skills add vargHQ/skills --skill varg-ai`, or point it at the skill's SKILL.md
- Claude.ai, ChatGPT, any MCP client: connect `https://mcp.varg.ai/mcp`
- API key: https://varg.ai/dashboard/api · Model specs: https://varg.ai/models/llms.txt
