ios-marketing-capture

by ParthJadhavVerified

Automate Multi-Locale asset creation for your iOS app.

247
Stars
14
Forks
Shell
Language
8/23/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/ParthJadhav/ios-marketing-capture

Getting Started

Guides for using skills like ios-marketing-capture.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

bloom-banner-01-light-tags-1500x500

iOS Marketing Capture

A skill for AI-powered coding agents (Claude Code, Cursor, Windsurf, etc.) that automates marketing screenshot capture for SwiftUI iOS apps. It builds an in-app capture system, seeds demo data, snapshots every screen and UI element, and loops across all your locales automatically.

Built for and used by Bloom - https://apps.apple.com/us/app/bloom-coffee-shelf-recipe/id6759914524

What it does

  • Adds a #if DEBUG-gated capture system to your app target — zero production footprint
  • Seeds deterministic demo data so every screenshot looks populated and polished
  • Navigates to each screen programmatically via a step-based coordinator
  • Snapshots the full window including status bar, safe area, and presented sheets
  • Renders isolated elements (cards, widgets, charts) via ImageRenderer at 3x with transparency
  • Loops every locale automatically — one build, N relaunches with -AppleLanguages
  • Works with any SwiftUI navigation pattern: TabView, NavigationStack, NavigationSplitView

Install

Using npx skills (recommended)

npx skills add ParthJadhav/ios-marketing-capture

This works with Claude Code, Cursor, Windsurf, OpenCode, Codex, and 40+ other agents.

Install globally (available across all projects):

npx skills add ParthJadhav/ios-marketing-capture -g

Install for a specific agent:

npx skills add ParthJadhav/ios-marketing-capture -a claude-code

Manual (git clone)

git clone https://github.com/ParthJadhav/ios-marketing-capture ~/.claude/skills/ios-marketing-capture

Usage

Once installed, the skill triggers automatically when you ask your agent to:

  • Capture marketing screenshots for my iOS app
  • Generate locale screenshots across all languages
  • Render my widgets as isolated PNGs
  • Automate App Store screenshot capture

Or just tell the agent what you need:

> Capture marketing screenshots for my app across all locales

The agent will ask you about your screens, elements, locales, device, appearance, and seed data before writing any code.

Example prompts

These are good starting prompts because they provide context while still leaving room for the skill to guide the process.

Coffee app

Capture marketing screenshots for my coffee tracking app.
I want Home, Shelf, Coffee Detail, Brew Timer, and Settings.
Also render coffee cards and all my widgets as isolated elements.
Capture across en, de, es, fr, ja.

Habit tracker

Generate locale screenshots for my habit tracker app.
I need the dashboard, habit detail, streak view, and settings.
Light mode only, iPhone 17 simulator.
All 5 locales in my Localizable.xcstrings.

Finance app

Capture marketing assets for my finance app.
I want the overview, transaction list, budget detail, and charts.
Render the spending chart and category cards as isolated elements.
English and German only.

Fitness app with widgets

Automate App Store screenshot capture for my workout app.
Capture the main dashboard, workout detail mid-session, and history.
Render all my WidgetKit widgets (small, medium, lock screen) as isolated PNGs.

Better prompt tips

  • List the exact screens you want captured by tab name or navigation path
  • Mention any components you want rendered independently (cards, widgets, charts)
  • Specify locales explicitly or say "all locales in my xcstrings"
  • Say which simulator and iOS version you want
  • Mention if any screen needs to be captured in a non-default state (e.g. timer mid-countdown)
  • Say light only, dark only, or both

How it works

In-app capture mode, not XCUITest

The skill uses an in-app capture approach instead of XCUITest / Fastlane:

  • No test target surgery — many projects have none, and adding one means fragile pbxproj edits
  • Direct access to everything — ViewModels, SwiftData, ImageRenderer, UIWindow.drawHierarchy
  • Fasterxcodebuild build once, then simctl launch per locale (no test-bundle overhead)
  • Element renders require itImageRenderer on widget views must run inside the app process

Step-based coordinator

Each screenshot is a self-contained CaptureStep:

struct CaptureStep {
    let name: String                         // "01-home"
    let navigate: @MainActor () -> Void      // put the app in the right state
    let settle: Duration                     // wait for animations
    let cleanup: (@MainActor () -> Void)?    // tear down before next step
}

The coordinator is a simple loop — no hardcoded screen sequences. The agent composes steps for your specific navigation architecture.

Navigation patterns

The skill covers three navigation architectures:

PatternHow steps drive it
TabView(selection:)setTab(index)
NavigationStack + routerrouter.push(.route) / router.popToRoot()
NavigationSplitViewSet sidebar + detail selection bindings

Element rendering

Isolated components are rendered via ImageRenderer at 3x scale with natural background inside rounded corners and transparency outside:

MarketingElementHarness.renderElement(
    name: "card-morning-blend",
    width: 380,
    cornerRadius: 20,
    background: theme.background
) {
    CoffeeCard(coffee: coffee, theme: theme)
        .padding(.horizontal, 16)
        .padding(.vertical, 12)
}

Widget rendering handles the quirks of rendering WidgetKit views outside the widget process (missing containerBackground, missing padding, ProgressView rendering bugs).

What gets generated

The skill guides the agent to create:

YourApp/
├── Debug/
│   └── MarketingCapture.swift      # Capture system (DEBUG-only)
├── ContentView.swift               # Modified — DEBUG hook for seed + coordinator
├── Views/.../TimerView.swift       # Modified — primed state hooks (if needed)
scripts/
└── capture-marketing.sh            # Build + install + per-locale loop

Output layout

marketing/
    en/
        01-home.png
        02-detail.png
        03-settings.png
        elements/
            card-morning-blend.png
            widget-pulse-small.png
            chart-cupping.png
    de/
        ...
    es/
        ...

Known gotchas

The skill documents 11 real bugs discovered during development. These are all baked into the skill's guidance so the agent avoids them automatically:

#GotchaWhat happens
1Live Activities persist across launchesNext locale crashes on stale SwiftData references
2Re-seeding per localeCloudKit sync churn causes crashes
3VMs setup before seedHold stale empty snapshots
4Setting trigger binding to nilDoesn't dismiss fullScreenCover — wrong screenshot
5NavigationPath can't be popped externallyMust capture clean stack before pushed detail
6membershipExceptions is an INCLUSION listWidget target membership goes backwards
7ImageRenderer + ProgressViewRenders as prohibited symbol without explicit style
8.containerBackground outside WidgetKitNo-op — widget renders have no background
9iPhone 8 Plus gone on iOS 26Legacy 6.5" simulator unavailable
10Locale launch argument formatParens are mandatory: (xx) not xx
11SwiftUI animations in ImageRendererCaptures frame 0, not the animated state

Pairs well with

Use app-store-screenshots as a post-processing step to composite the captured PNGs into Apple-style marketing pages with device mockups, headlines, and gradients.

Requirements

  • Xcode 16+ (synchronized folder groups support)
  • iOS 17+ deployment target (for ImageRenderer, @Observable)
  • A simulator runtime matching your target iOS version
  • Python 3 (used by the shell script for JSON parsing)

Contributing

Contributions are welcome, especially around:

  • Support for additional navigation patterns
  • New gotcha documentation from real projects
  • Cross-agent compatibility improvements
  • Clearer docs and onboarding

License

MIT

Frequently Asked Questions

What is ios-marketing-capture?

ios-marketing-capture is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ParthJadhav. Automate Multi-Locale asset creation for your iOS app. It has 247 GitHub stars.

Is ios-marketing-capture safe to use?

Yes. ios-marketing-capture passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install ios-marketing-capture?

Clone the repository with "git clone https://github.com/ParthJadhav/ios-marketing-capture" and add it to your Claude Code skills directory (see the Installation section above). ios-marketing-capture ships a SKILL.md manifest, so compatible agents can discover and load it automatically.

What programming language is ios-marketing-capture written in?

ios-marketing-capture is primarily written in Shell. It is open-source under ParthJadhav on GitHub, so you can review or fork the full source.

Are there alternatives to ios-marketing-capture?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ios-marketing-capture against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI Agents
View details

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI Agentsai-agentsbrainstorming
View details

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP Serversapisai-tools
View details

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI Agentsclaude-codeai-tools
View details