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
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.
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
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 tokensAlways available to the agent
SKILL.md
5,647 tokensWhen the skill is activated
Reference documents
2,699 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Core Approach
- Process
- Architecture: Step-Based Capture
- Priming View State
- Creating a Demo Data Seeder
- Element Rendering
- Known Gotchas
- Output Layout
- Verification Checklist
- 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 bytesCONTRIBUTING.mddoc3,124 bytesLICENSEasset1,069 bytesREADME.mddoc8,521 bytesSKILL.mdcore24,379 bytesSKILL.mdcore24,379 bytestemplates/MarketingCapture.swift.templateasset14,339 bytestemplates/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 GitHubSkills 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 shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 3 dangerous shell commandsin 1 file: templates/capture-marketing.sh.template:107
- 12 network referencesin 2 files: README.md:1 templates/MarketingCapture.swift.template:279
- No hidden or obfuscated text
- No instruction overrides
- 1 executable scriptin 1 file: templates/capture-marketing.sh.template:1
- No access to secrets
- No requests to vote in Hot
Show all 16 signals by file
README.md
- Network accessline 1
[](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()
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
- Network access in prose of documentationREADME.md:1Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:27Low confidence
- Network access in code of documentationREADME.md:44Low confidence
- Network access in prose of documentationREADME.md:219Low confidence
- Network access in prose of documentationREADME.md:243Low confidence
- Executable script in code of a file that runstemplates/capture-marketing.sh.template:1High confidence
- Dangerous shell operation in code of a file that runstemplates/capture-marketing.sh.template:107High confidence
- Dangerous shell operation in code of a file that runstemplates/capture-marketing.sh.template:131High confidence
- Dangerous shell operation in code of a file that runstemplates/capture-marketing.sh.template:133High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.