# Touch Taps on Phone UI — effect skill for cursors & clicks

> **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 translucent touch circle taps, swipes and pulls to refresh on a phone screen instead of an arrow.

- **Type:** [Effect](https://varg.ai/how-to/effects.md) · [Cursors & clicks](https://varg.ai/how-to/browse/skills/cursors.md)
- **Slug:** `touch-taps-on-phone`
- **Status:** live
- **Publisher:** HeyGen (community)
- **License:** Apache-2.0
- **Source:** https://github.com/heygen-com/hyperframes/tree/main/registry/components/touch-indicator
- **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 [Touch Indicator](https://github.com/heygen-com/hyperframes/tree/main/registry/components/touch-indicator) by HeyGen (HyperFrames), Apache-2.0. The write-up and recipes below are varg's.

A soft grey dot (~44 pt) appears on touch, compresses on press, drags with momentum on swipes, and fades on release.

**When:** Mobile app demos and phone mockups; anywhere an arrow cursor would look wrong.

**Watch out:** Do not show an arrow cursor on a phone; use touch circles sized like a fingertip.

**Timing:** Tap: appear 0.08 s, press 0.1 s, release 0.15 s. Swipe 0.3–0.5 s with momentum carry.

**Also called:** tap indicator, touch circle, mobile gestures

### In HyperFrames

```bash
npx hyperframes add touch-indicator
npx hyperframes add swipe-rail
```
Or `gesture-tap` for a single button tap and `pull-to-refresh` for list pulls.

### In Remotion

```tsx
const press = interpolate(frame,[tapAt,tapAt+3,tapAt+8],[0,1,0],{extrapolateLeft:'clamp',extrapolateRight:'clamp'});
<div style={{width:88,height:88,borderRadius:99,background:'rgba(255,255,255,0.45)',transform:`scale(${1-press*0.15})`,opacity:press?1:0}}/>
```

### In CapCut

Add a white circle shape at 45% opacity on each tap frame (0.2 s), with Animation In "Zoom out"; keyframe its Position for swipes.

### Ready-made components

- [Touch Indicator](https://skills.varg.ai/component/hf.touch-indicator/) (hyperframes): npx hyperframes add touch-indicator
- [Gesture Tap](https://skills.varg.ai/component/hf.gesture-tap/) (hyperframes): npx hyperframes add gesture-tap
- [Swipe Rail](https://skills.varg.ai/component/hf.swipe-rail/) (hyperframes): npx hyperframes add swipe-rail
- [Share-Sheet Carousel](https://skills.varg.ai/component/hf.share-sheet-carousel/) (hyperframes): npx hyperframes add share-sheet-carousel

### Where this comes from

- [Rotato: how to make an animated mockup](https://rotato.app/blog/animated-mockup)
- [Screen Studio: auto zoom, cursor smoothing, click effects](https://screen.studio/)

## Use when

- Mobile app demos and phone mockups; anywhere an arrow cursor would look wrong.

## Not for

- Do not show an arrow cursor on a phone; use touch circles sized like a fingertip.

## 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/share-sheet-carousel/preview.mp4 — Preview of the Share-Sheet Carousel component that builds this take (credit: Share-Sheet Carousel · hyperframes, https://hyperframes.heygen.com/catalog/blocks/share-sheet-carousel)

## More cursors & clicks skills

- [Auto Zoom on Every Click](https://varg.ai/how-to/skills/auto-zoom-on-click.md): The camera eases in toward each upcoming click, trails the cursor on a spring, and eases out after.
- [Oversized Look-Here Cursor](https://varg.ai/how-to/skills/oversized-look-here-cursor.md): A macOS arrow at ~3–4× normal size glides in and lands its tip on what matters.
- [Click Ripple and Button Press](https://varg.ai/how-to/skills/click-ripple-press.md): Every click shows a quiet expanding ring while the clicked button presses in and responds.
- [Shortcut Keycaps Overlay](https://varg.ai/how-to/skills/shortcut-keycaps-overlay.md): Physical-looking keycaps rise at the bottom of the frame and press in the real order when a shortcut is used.
- [Named Agent Cursor](https://varg.ai/how-to/skills/named-agent-cursor.md): A cursor with an accent name tag ("Claude", "Agent") moves and clicks on its own, typing each step.
- [Multiplayer Cursors Drift In](https://varg.ai/how-to/skills/multiplayer-cursors-drift.md): Several labeled cursors in different colors drift in from the edges and gather on the canvas.

## 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
