How App Preview video boards work in Open Screenshot Generator: preview scenes, the user's screen recording, animation timing and the App Store rules for previews.

MITAuto-check passedMobile

Install Osg App Preview

skills CLI
$ npx skills add dotnetdreamer/open-screenshot-generator --skill osg-app-preview -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install dotnetdreamer/open-screenshot-generator osg-app-preview --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/dotnetdreamer/open-screenshot-generator.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src-tauri/claude-agent/skills/osg-app-preview .claude/skills/osg-app-preview && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
osg-app-preview
GitHub stars
125
Token cost
~1.1k tokens
SKILL.md length
647 words
Files
1
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

How App Preview video boards work in Open Screenshot Generator: preview scenes, the user's screen recording, animation timing and the App Store rules for previews.

  • Works in 5 steps: list_preview_scenes with a query… → add_preview_scene with sceneId (and a… → get_artboard for the layer ids and names. → …
  • Asks for a video
  • SKILL.md covers The rule behind it, What you can and cannot do, Building a board and Timing, plus 2 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Osg App Preview is an agent skill from dotnetdreamer/open-screenshot-generator. How App Preview video boards work in Open Screenshot Generator: preview scenes, the user's screen recording, animation timing and the App Store rules for previews. Load it before adding or editing a preview board, or when the user asks for a video or an App Preview.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile, covering App store release. It works with Tauri. The repository describes itself as: Open source Canva with CLI/GUI, AI Agent, MCP for App Store and Play Store screenshots. Free alternative to AppScreens, AppLaunchpad and Previewed. The licence is MIT.

When your agent uses it

  • Asks for a video
  • Tasks that involve App store release

Example prompts

  • “/osg-app-preview”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. list_preview_scenes with a query ("finance", "fitness", "social", "proof"). Each scene is a
  2. add_preview_scene with sceneId (and a name) adds it as a new board after the active one. It
  3. get_artboard for the layer ids and names.
  4. Rewrite every text layer with update_element: 3 to 5 words, one idea each, readable in under
  5. get_preview_timeline to check the board before telling the user it is ready.

What it can do on your machine

Read from SKILL.md and the folder at commit 556578e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Osg App Preview loads about 1.1k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 647 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from dotnetdreamer/open-screenshot-generator at commit 556578e, republished under its MIT licence (© dotnetdreamer). 647 words, ~1,124 tokens.

Download SKILL.mdSave it as .claude/skills/osg-app-preview/SKILL.md (or your agent's skills folder).
name
osg-app-preview
description
How App Preview video boards work in Open Screenshot Generator: preview scenes, the user's screen recording, animation timing and the App Store rules for previews. Load it before adding or editing a preview board, or when the user asks for a video or an App Preview.

App Preview video in depth

The rule behind it

Apple Review Guideline 2.3.4: an App Preview may only use video captured from the app itself. Text overlays and gesture hints that explain the footage are allowed; an animated mockup or a montage of stills is not. So a preview board is built around the user's real screen recording.

What you can and cannot do

  • You cannot supply the recording, not even from the user's app folder: import_project_image takes pictures only. The user adds it: they select the phone layer (named "Phone (drop your recording here)" on a scene) and use Upload Recording in the Properties panel.
  • list_recordings lists the recordings already stored, newest first, with mediaId and duration. Put one in with update_element mediaId on the video-device layer.
  • upload_recording takes source as an http(s) URL the app can fetch. Use it only when the user gives you such a link; never paste video data into a tool call.
  • posterSrc on a video-device shows a still (an asset ref, for example one of the user's screenshots) until the recording arrives.
  • The MP4 is rendered from the editor's Export dialog. No tool renders it.

Building a board

  1. list_preview_scenes with a query ("finance", "fitness", "social", "proof"). Each scene is a whole finished board: a phone playing the recording, timed copy, gesture hints and a call to action, 18 seconds long. Ids include spotlight-launch, feature-rush, headline-punch, five-star-proof, three-taps, money-mode, sweat-session, calm-hour, night-feed, order-up, trip-ready, beat-drop, learn-streak, shop-drop, focus-block, snap-fix, team-sync, health-check, play-now and home-control.
  2. add_preview_scene with sceneId (and a name) adds it as a new board after the active one. It takes the project's size when that is a portrait phone canvas; the MP4 is 886x1920 either way.
  3. get_artboard for the layer ids and names.
  4. Rewrite every text layer with update_element: 3 to 5 words, one idea each, readable in under two seconds over moving footage.
  5. get_preview_timeline to check the board before telling the user it is ready.

Building from scratch is several times the work. add_elements takes type video-device (a phone or tablet playing a recording, with the frame as subType), video (a frameless recording) and gesture (gestureType tap, double-tap, swipe-left, swipe-right, swipe-up or swipe-down, with triggerTime, gestureDuration and gestureRepeat).

Show full SKILL.md (275 more words)Show less

Timing

  • set_animation takes elementId with enter (fade, slide-up, slide-down, slide-left, slide-right, scale-up, pop), enterDelay (the second it starts), enterDuration (default 0.6), exit, exitStart (an absolute second; without it the layer never leaves) and exitDuration, or clear true. null removes an enter or an exit.
  • An exitStart before the entrance has landed is rejected.
  • set_animation refuses recordings and gestures. A recording always starts the board (trim it with trimStart and trimEnd on update_element), and a gesture is timed by triggerTime and gestureDuration.
  • On the canvas and in a PNG every layer is drawn at rest, all at once. Never stack two layers in one place to take turns in time: that works in the MP4 and looks like a smear everywhere else.
  • set_preview_duration with seconds: 15 to 30 for the App Store (1 to 60 is allowed). null goes back to the length the content needs.
  • get_preview_timeline reports the length, one clip per layer, and what will cause trouble at export: a board under 15 seconds, a layer animating past the end, no recording in the phone yet.

Export constraints

The MP4 is 886x1920 portrait (1920x886 landscape), H.264, one file per board, and the App Store takes 15 to 30 seconds. Only flat frames play the footage: a 3D or perspective device exports as a still, so keep the phone flat. The recording's own sound is kept only when keepAudio is true.

Keep it apart from screenshots

A video-device, video or gesture layer, or any animation, switches the whole project's Export to the video dialog. If the open project is a screenshot set, confirm before adding a preview board, and suggest a separate project for it.

© dotnetdreamer, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in src-tauri/claude-agent/skills/osg-app-preview of dotnetdreamer/open-screenshot-generator.

Open the folder on GitHubat commit 556578e

Compare with similar skills

Osg App Preview next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Osg App Preview compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Osg App Preview this skilldotnetdreamer/open-screenshot-generator125—~1.1kAutomated safety check: PassMIT
Aso Appstore Screenshotsadamlyttleapps/claude-skill-aso-appstore-screenshots1.8k1 repos~9.6kAutomated safety check: PassMIT
Asc Ppp Pricingrorkai/app-store-connect-cli-skills1.1k3 repos~4.2kAutomated safety check: PassMIT
Store Submitzhitongblog/solomd1.2k—~1.7kAutomated safety check: NotesMIT
Workbuddy Skin Studiocdredfox/workbuddy-skin-studio198—~1.5kAutomated safety check: PassMIT
Marionette Flutter Drive Appleancodepl/marionette_mcp482—~11kAutomated safety check: PassApache-2.0

Similar skills

  • Aso Appstore Screenshots

    adamlyttleapps/claude-skill-aso-appstore-screenshots

    Generate high-converting App Store screenshots by analyzing your app's codebase, discovering core benefits, and creating ASO-optimized screenshot images using Nano Banana Pro.

    1.8k GitHub starsUsed in 1 repo~9.6k tokens
    MobileAuto-check passed
  • Asc Ppp Pricing

    rorkai/app-store-connect-cli-skills

    Set territory-specific pricing for subscriptions and in-app purchases using current asc setup, pricing summary, price import, and price schedule commands.

    1.1k GitHub starsUsed in 3 repos~4.2k tokens
    MobileAuto-check passed
  • Store Submit

    zhitongblog/solomd

    Publish a SoloMD release to the stores that have no usable submission API — Google Play Console and Microsoft Partner Center — by driving them through the local Unzoo Browser REST API.

    1.2k GitHub stars~1.7k tokensUpdated today
    DevelopmentAuto-check: notes
  • Workbuddy Skin Studio

    cdredfox/workbuddy-skin-studio

    Apply a reversible theme/skin to the WorkBuddy desktop app (Tencent AI office agent) via local Chromium DevTools Protocol (CDP) injection.

    198 GitHub stars~1.5k tokensUpdated 2 mo ago
    MobileAuto-check passed
  • Marionette Flutter Drive App

    leancodepl/marionette_mcp

    Set up and drive a running Flutter app (debug or profile) with Marionette — an AI agent's hands and eyes for the app.

    482 GitHub stars~11k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Asc Subscription Localization

    rorkai/app-store-connect-cli-skills

    Bulk-localize subscription, subscription-group, and in-app purchase display names across App Store locales using asc, including API 4.4.1 version-scoped v2 resources.

    1.1k GitHub starsUsed in 2 repos~2.7k tokens
    MobileAuto-check passed

More from dotnetdreamer/open-screenshot-generator

All 13 skills in this repo
  • App Preview Video

    dotnetdreamer/open-screenshot-generator

    Builds an App Store App Preview video (and a Play Store or landing page promo cut) from a screen recording of the app, using the open-screenshot-generator CLI (osg video): it starts from one of 20…

    125 GitHub stars~3.3k tokensUpdated 2 days ago
    Auto-check passed
  • App Screenshots

    dotnetdreamer/open-screenshot-generator

    Drive Open Screenshot Generator headlessly (puppeteer-core + Edge) to take UI screenshots, add palette elements, upload device screenshots, export artboard PNGs, and regenerate the 3D device…

    125 GitHub stars~5.1k tokensUpdated 2 days ago
    Auto-check: notes
  • Editor Tools

    dotnetdreamer/open-screenshot-generator

    Drives the live Open Screenshot Generator editor tool by tool over MCP, using osg mcp to expose the design tools (artboards, elements, backgrounds, fonts, the asset libraries, templates, App Preview…

    125 GitHub stars~3.8k tokensUpdated 2 days ago
    Auto-check passed
  • Gpt4free Provider Sync

    dotnetdreamer/open-screenshot-generator

    Check the latest xtekky/gpt4free releases for provider additions/changes and decide whether Open Screenshot Generator's AI providers need the same.

    125 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Stock Image Assets

    dotnetdreamer/open-screenshot-generator

    Add properly licensed Adobe Stock photos to the Images palette library (e.g.

    125 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check passed
  • Store Compliance

    dotnetdreamer/open-screenshot-generator

    Checks that rendered store assets will actually be accepted, and then ships them, using the open-screenshot-generator CLI: osg verify audits the produced PNGs and MP4s against App Store and Google…

    125 GitHub stars~3k tokensUpdated 2 days ago
    Auto-check passed

Works with

Categories

Questions about Osg App Preview

What does Osg App Preview do?

How App Preview video boards work in Open Screenshot Generator: preview scenes, the user's screen recording, animation timing and the App Store rules for previews. Osg App Preview is an agent skill from dotnetdreamer/open-screenshot-generator. How App Preview video boards work in Open Screenshot Generator: preview scenes, the user's screen recording, animation timing and the App Store rules for previews.

When should I use Osg App Preview?

Osg App Preview fits situations like: asks for a video; tasks that involve App store release.

How do I install Osg App Preview in Claude Code?

Run `npx skills add dotnetdreamer/open-screenshot-generator --skill osg-app-preview -a claude-code`. Or copy the skill folder (src-tauri/claude-agent/skills/osg-app-preview in dotnetdreamer/open-screenshot-generator) into .claude/skills/osg-app-preview in your project. Claude Code loads it when a task matches its description.

How do I install Osg App Preview in Codex?

Run `npx skills add dotnetdreamer/open-screenshot-generator --skill osg-app-preview -a codex`. Or copy the skill folder (src-tauri/claude-agent/skills/osg-app-preview in dotnetdreamer/open-screenshot-generator) into .agents/skills/osg-app-preview in your project. Codex loads it when a task matches its description.

Can I use Osg App Preview in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add dotnetdreamer/open-screenshot-generator --skill osg-app-preview -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/osg-app-preview, .gemini/skills/osg-app-preview, .github/skills/osg-app-preview and .opencode/skills/osg-app-preview in your project.

What does Osg App Preview need to run?

SKILL.md names no scripts, command-line tools or credentials: Osg App Preview is instructions for the agent only.

Does Osg App Preview access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Osg App Preview safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Osg App Preview use?

Osg App Preview is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Osg App Preview use?

About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Osg App Preview?

Skills that share tags, products or a category with Osg App Preview: Aso Appstore Screenshots (adamlyttleapps/claude-skill-aso-appstore-screenshots, 1.8k stars), Asc Ppp Pricing (rorkai/app-store-connect-cli-skills, 1.1k stars), Store Submit (zhitongblog/solomd, 1.2k stars) and Workbuddy Skin Studio (cdredfox/workbuddy-skin-studio, 198 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Osg App Preview?

dotnetdreamer (a GitHub user) maintains it in dotnetdreamer/open-screenshot-generator, which has 125 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on October 7, 2026.

Source: dotnetdreamer/open-screenshot-generator on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.