| name | apple-app-store-agent |
| description | Comprehensive agent for preparing and generating all assets needed for Apple App Store submission. Use when user needs to prepare an iOS/iPadOS/macOS app for App Store release, including generating app metadata (descriptions, promotional text, keywords), creating app icons, designing screenshots, preparing privacy policy URLs, and organizing fastlane-compatible folder structures. Triggers on requests like "prepare my app for App Store", "create App Store screenshots", "generate app description", "make app icon", or "set up fastlane metadata". |
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.