Not in the top 1,000 by GitHub stars

ParthJadhav/ios-marketing-capture

Automate Multi-Locale asset creation for your iOS app.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

5d78311bd486 → 5d78311bd486

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 5d78311bd486

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 5d78311bd4868c82cbaad3046298f28ed296fcb2

265GitHub stars
-1star in 7 days
1skill in this repository
0commits in 30 days

Heat

0.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 1, 2026266

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

ios-marketing-capture

When your agent uses it

Use when the user wants to automate capture of marketing screenshots for a SwiftUI iOS app across multiple locales, devices, or appearances. Covers full-screen shots, isolated element renders (carousel cards, widgets), and reproducible output naming. Triggers on marketing screenshots, locale screenshots, widget renders, App Store assets, fastlane-alternative, simctl screenshots.

What it loads into context

Frontmatter

82 tokens

Always available to the agent

SKILL.md

5,647 tokens

When the skill is activated

Reference documents

2,699 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Overview
  2. Core Approach
  3. Process
  4. Architecture: Step-Based Capture
  5. Priming View State
  6. Creating a Demo Data Seeder
  7. Element Rendering
  8. Known Gotchas
  9. Output Layout
  10. Verification Checklist
  11. Templates

Scripts executed separately

  • templates/capture-marketing.sh.template

Files

  • .github/FUNDING.ymlasset855 bytes
  • .github/ISSUE_TEMPLATE/bug_report.ymlasset1,494 bytes
  • .github/ISSUE_TEMPLATE/config.ymlasset28 bytes
  • .github/ISSUE_TEMPLATE/feature_request.ymlasset986 bytes
  • .github/pull_request_template.mddoc413 bytes
  • CONTRIBUTING.mddoc3,124 bytes
  • LICENSEasset1,069 bytes
  • README.mddoc8,521 bytes
  • SKILL.mdcore24,379 bytes
  • SKILL.mdcore24,379 bytes
  • templates/MarketingCapture.swift.templateasset14,339 bytes
  • templates/capture-marketing.sh.templateruns4,756 bytes
Read SKILL.md

# iOS Marketing Capture

## Overview

Automate reproducible marketing screenshot capture for a SwiftUI iOS app across multiple locales, with two parallel output streams:

1. **Full-screen captures** — every marketing-relevant screen, with deterministic seeded data, real status bar / safe-area chrome
2. **Element captures** — isolated renders of specific components (cards, widgets, charts) at any scale, with natural background inside rounded corners and transparency outside

This skill is the **capture** step. If the user also wants Apple-style marketing pages composited around the shots (device mockups, headlines, gradients), combine with the `app-store-screenshots` skill as a post-processing step.

## Core Approach

**In-app capture mode**, not XCUITest. This is a hard decision that trades off against Fastlane snapshot / XCUITest conventions, and it wins for almost every real project.
View the complete source on GitHub

Skills included

  • ios-marketing-capture

Repository facts

License
MIT
Created
Apr 10, 2026
Last pushed
Sep 5, 2026
Forks
15
Open issues
1
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 1 note
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 16 signals by file

README.md

  • Network accessline 1
    [![bloom-banner-01-light-tags-1500x500](https://github.com/user-attachments/assets/31139b9d-1b89-44e8-b563-5bb7ba150b7b)](https://bloom.parthjadhav.com)
  • Network accessline 7
    #### Built for and used by Bloom - https://apps.apple.com/us/app/bloom-coffee-shelf-recipe/id6759914524
  • Network accessline 27
    This works with Claude Code, Cursor, Windsurf, OpenCode, Codex, and [40+ other agents](https://github.com/vercel-labs/skills#available-agents).
  • Network accessline 44
    git clone https://github.com/ParthJadhav/ios-marketing-capture ~/.claude/skills/ios-marketing-capture
  • Network accessline 219
    Use [app-store-screenshots](https://github.com/ParthJadhav/app-store-screenshots) as a post-processing step to composite the captured PNGs into Apple-style marketing pages with device mockups, headlines, and gradients.
  • Network accessline 243
    Created by [Parth Jadhav](https://www.parthjadhav.com/).

templates/MarketingCapture.swift.template

  • Network accessline 279
    // //        // (b) Seed data only if empty (store persists across relaunches) //        itemVM.fetch()
  • Network accessline 280
    //        // (b) Seed data only if empty (store persists across relaunches) //        itemVM.fetch() //        if itemVM.items.isEmpty {
  • Network accessline 281
    //        itemVM.fetch()
  • Network accessline 282
    //        if itemVM.items.isEmpty { //            DemoDataSeeder.seedIfEmpty(in: modelContext) //            itemVM.fetch()
  • Network accessline 283
    //            DemoDataSeeder.seedIfEmpty(in: modelContext) //            itemVM.fetch() //        }
  • Network accessline 284
    //            itemVM.fetch()

templates/capture-marketing.sh.template

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 107
    rm -rf "$SBOX/Documents/marketing/$L"
  • Dangerous shell operationline 131
    rm -rf "$OUT_ROOT/$L"
  • Dangerous shell operationline 133
    rm -f "$OUT_ROOT/$L/_done"

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 10 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.