apple-app-store-agent
Apple App Store Agent
Automate preparation of all assets required for Apple App Store submission: metadata, screenshots, icons, and fastlane configuration.
Workflow Decision Tree
User Request
│
├─► "Full App Store preparation" ──► Run complete workflow (all steps)
│
├─► "Generate metadata" ──► Step 1: Gather app info → Generate descriptions, keywords
│
├─► "Create screenshots" ──► Step 2: Get app screens → Generate styled screenshots
│
├─► "Make app icon" ──► Step 3: Get concept → Generate icon in all sizes
│
├─► "Set up fastlane" ──► Step 4: Create folder structure with all metadata files
│
└─► "Prepare review info" ──► Step 5: Generate review notes, demo credentials template
Step 1: Generate App Metadata
Gather information from user about their app:
- App name and bundle identifier
- Core functionality (what problem it solves)
- Target audience
- Key features (3-5 main features)
- Competitor apps (for positioning)
Output Files
Generate these localized text files (start with en-US):
| File | Max Length | Purpose |
|---|---|---|
name.txt |
30 chars | App name on App Store |
subtitle.txt |
30 chars | Brief tagline below app name |
description.txt |
4000 chars | Full app description |
promotional_text.txt |
170 chars | Updatable promo text (top of description) |
keywords.txt |
100 chars | Comma-separated, no spaces after commas |
release_notes.txt |
4000 chars | What's new in this version |
support_url.txt |
URL | Support page link |
marketing_url.txt |
URL | Marketing page link |
privacy_url.txt |
URL | Privacy policy link (REQUIRED) |
Writing Guidelines
Description structure:
- Opening hook (1-2 sentences) - immediately convey value
- Key features with bullet points (use ● not -)
- Social proof if available
- Call to action
Keywords strategy:
- Use all 100 characters
- No duplicates of words in app name
- Include common misspellings
- Mix head terms and long-tail
- Separate with commas, no spaces
Step 2: Create App Screenshots
Required Dimensions (2024/2025)
iPhone (Required: ONE of these):
- 6.9" display: 1320 x 2868 px (portrait) / 2868 x 1320 px (landscape) - iPhone 16 Pro Max
- 6.5" display: 1242 x 2688 px (portrait) / 2688 x 1242 px (landscape) - fallback
iPad (Required if app runs on iPad):
- 13" display: 2064 x 2752 px (portrait) / 2752 x 2064 px (landscape)
Optional (auto-scaled from above):
- All other iPhone sizes scale from 6.9"/6.5"
- All other iPad sizes scale from 13"
Screenshot Design Process
- Identify key screens - Focus on 5-10 most compelling features
- Create device mockups - Use scripts/generate_screenshot_mockup.py
- Add marketing text - Short, benefit-focused headlines
- Maintain consistency - Same style, colors, typography across all
Screenshot Content Guidelines
- First 3 screenshots are critical (visible in search results)
- Show actual app UI (Apple rejects misleading screenshots)
- Text overlays: 6-8 words max per screenshot
- Include device frame for professional look
- Use app's brand colors for backgrounds
See references/screenshot-specs.md for detailed dimensions and file naming.
Step 3: Generate App Icon
Icon Specifications
App Store icon: 1024 x 1024 px (PNG, no transparency, no rounded corners)
Apple applies corner radius automatically. Submit square icon.
Icon Design Principles
- Simple, recognizable silhouette
- Limited color palette (2-3 colors)
- No text (illegible at small sizes)
- Avoid photos (don't scale well)
- Test at 29x29 px for clarity
Use scripts/generate_app_icon.py to create icon or provide concept for AI generation.
Step 4: Set Up Fastlane Structure
Create this folder structure for fastlane deliver:
fastlane/
├── Appfile
├── Deliverfile
├── metadata/
│ ├── copyright.txt
│ ├── primary_category.txt
│ ├── secondary_category.txt
│ ├── en-US/
│ │ ├── name.txt
│ │ ├── subtitle.txt
│ │ ├── description.txt
│ │ ├── keywords.txt
│ │ ├── promotional_text.txt
│ │ ├── release_notes.txt
│ │ ├── privacy_url.txt
│ │ ├── support_url.txt
│ │ └── marketing_url.txt
│ └── review_information/
│ ├── demo_password.txt
│ ├── demo_user.txt
│ ├── email_address.txt
│ ├── first_name.txt
│ ├── last_name.txt
│ ├── notes.txt
│ └── phone_number.txt
└── screenshots/
└── en-US/
├── iphone_6.9_inch/
│ ├── 1_feature_one.png
│ ├── 2_feature_two.png
│ └── ...
└── ipad_13_inch/
├── 1_feature_one.png
└── ...
Use scripts/init_fastlane_structure.py to generate this structure.
Step 5: App Review Preparation
Review Information Checklist
- Demo account credentials (if login required)
- Notes explaining non-obvious features
- Contact information for reviewer questions
- Any required hardware/conditions explained
Common Rejection Reasons to Address
- Incomplete metadata - Fill ALL required fields
- Placeholder content - Remove "lorem ipsum" or test data
- Broken links - Test privacy_url and support_url
- Login issues - Demo account must work
- Misleading screenshots - Must show actual app
Privacy Policy Requirements
Privacy URL is mandatory. Must include:
- What data is collected
- How data is used
- Third-party sharing
- Data retention policy
- Contact information
Provide GitHub Pages URL or hosted policy link.
App Categories
Primary category is required. See references/app-categories.md for full list.
Common categories:
- Games (with subcategory)
- Business
- Education
- Entertainment
- Finance
- Health & Fitness
- Lifestyle
- Productivity
- Social Networking
- Utilities
Scripts
| Script | Purpose |
|---|---|
init_fastlane_structure.py |
Create complete fastlane folder structure |
generate_screenshot_mockup.py |
Add device frames and text to screenshots |
generate_app_icon.py |
Create app icon in required size |
validate_metadata.py |
Check character limits and required fields |
Quick Start
For full preparation, run:
python scripts/init_fastlane_structure.py --app-name "My App" --bundle-id "com.company.app"
Then populate the generated text files with content.
More from johanruttens/paddle-battle
game-developer
Expert game development and design skill for building complete, polished games. Use when creating games, game prototypes, or interactive entertainment experiences across platforms (React Native, web, Unity concepts, Godot). Covers game mechanics, physics, AI opponents, level design, progression systems, visual effects, sound integration, and player experience. Triggers on requests to build games, create game mechanics, design levels, implement game AI, add game audio, or develop interactive entertainment.
8skill-writer
Guide users through creating Agent Skills for Claude Code. Use when the user wants to create, write, author, or design a new Skill, or needs help with SKILL.md files, frontmatter, or skill structure.
5rn-security-audit
Security audit skill for React Native applications. Use when reviewing code for vulnerabilities, detecting leaked secrets (API keys, tokens, credentials), identifying exposed personal data (PII), checking insecure storage, validating authentication flows, reviewing network security, and ensuring compliance with mobile security best practices (OWASP MASVS). Covers both JavaScript/TypeScript and native iOS/Android code.
5react-native-expert
Expert guidance for building mobile applications with React Native and Expo. Use when the user asks to create, modify, debug, or architect mobile apps, implement native features (camera, notifications, storage, navigation), set up React Native projects, work with Expo or bare React Native workflows, integrate with device APIs, handle app state management, or optimize mobile performance. Triggers on mobile app development, React Native, Expo, iOS/Android cross-platform development.
5qa-engineer
Expert guidance for software testing and quality assurance. Use when the user asks to write tests, create test plans, review code for bugs, perform code reviews, write test cases, set up testing frameworks, debug issues, validate requirements, create bug reports, perform regression testing, or improve test coverage. Triggers on testing, QA, quality assurance, test cases, bug reports, test automation, unit tests, integration tests, E2E tests, test coverage, debugging, code review.
4rn-visual-testing
Visual testing skill for React Native apps across iPhone models. Use when testing app appearance on iPhone 11 through 17 (all variants including Pro, Pro Max, Plus, Mini, Air, and SE). Covers screenshot capture, simulator configuration, screen dimension validation, safe area handling, Dynamic Island/notch compatibility, and pixel-perfect verification across all iPhone screen sizes and resolutions.
4