### Install Krankie CLI Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Install the Krankie agent-first CLI tool globally using Bun. This tool is used for tracking App Store keyword rankings. ```bash bun install -g krankie ``` ```bash # or run directly bunx krankie ``` -------------------------------- ### Install and Status Krankie Cron Jobs Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Install a daily cron job for automated checks or verify the status of the existing cron job. ```bash krankie cron install --hour 6 # Daily check at 6 AM ``` ```bash krankie cron status # Verify cron is running ``` -------------------------------- ### Install All Skills via Claude Code Plugin Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/README.md Install all skills from the TimBroddin/skills repository using the Claude Code plugin. This method installs every skill available in the repo. ```text /plugin install TimBroddin/skills ``` -------------------------------- ### Install App Store ASO Skill via `skills` CLI Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/README.md Use this command to add the App Store ASO skill to any agent when using the `skills` CLI. ```bash npx skills add TimBroddin/skills --skill app-store-aso ``` -------------------------------- ### Get Agent-Readable Instructions Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Fetch instructions for the ASO skill in a JSON format that can be easily parsed by agents. ```bash krankie instructions --format json # Agent-readable usage instructions ``` -------------------------------- ### Install and Use Krankie CLI Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Krankie is an agent-first CLI tool for tracking App Store keyword rankings. It stores data locally and supports daily automated checks. ```bash # Install globally bun install -g krankie # or run without installing bunx krankie # ── App management ────────────────────────────────────────── krankie app search "photo editor" --platform ios # Find your app ID krankie app create 123456789 --platform ios # Start tracking an app krankie app list --json # List tracked apps as JSON # ── Keyword tracking ──────────────────────────────────────── krankie keyword add 123456789 "remove background" --store us krankie keyword add 123456789 "ai photo editor" --store us krankie keyword list --json # ── Ranking checks ────────────────────────────────────────── krankie check run # Check all tracked keywords now krankie check status # See status of last run krankie rankings # View current positions (1-200) krankie rankings movers # Biggest gains and losses krankie rankings history # Full position history for one keyword ``` -------------------------------- ### Krankie Agent Integration Commands Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Utilize Krankie's agent integration features by requesting structured JSON output for commands like rankings and app lists, or get agent-friendly instructions in JSON format. ```bash க்கும்krankie rankings --json ``` ```bash க்கும்krankie app list --json ``` ```bash get agent-friendly instructions: க்கும்krankie instructions --format json ``` -------------------------------- ### Krankie Automation Commands Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Automate daily ranking checks with Krankie by installing a cron job. You can also check the status of the installed cron job. ```bash # Install daily cron job (default: 6 AM) க்கும்krankie cron install --hour 6 ``` ```bash # Check cron status க்கும்krankie cron status ``` -------------------------------- ### Get Keyword Rankings in JSON Format Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Retrieve keyword rankings for an app in a structured JSON format, useful for programmatic analysis or agent integration. ```bash krankie rankings --json ``` -------------------------------- ### Full ASO Workflow: Baseline Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Initialize app tracking and add keywords to establish a baseline before making any optimization changes. ```bash krankie app create 123456789 --platform ios ``` ```bash krankie keyword add 123456789 "photo editor" --store us ``` ```bash krankie keyword add 123456789 "remove background" --store us ``` ```bash krankie keyword add 123456789 "ai photo editing" --store us ``` ```bash krankie check run ``` ```bash krankie rankings --json > baseline_rankings.json ``` -------------------------------- ### Generate ASO Metadata with Agent Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Describe your app to the agent to trigger the ASO generation workflow. The agent uses best practices to produce metadata fields and runs validation automatically. ```text User prompt: "Optimize my App Store listing. App name: PhotoPro. It's an AI photo editor for iPhone. Key features: background removal, filters, collage, retouch. Target audience: content creators and casual users. Main competitors: Snapseed and Lightroom Mobile." Agent output structure: ### 📱 App Metadata Recommendations **App Name** (25/30 characters) PhotoPro - AI Photo Editor **Subtitle** (28/30 characters) Remove BG, Filters & Collage **Promotional Text** (89/170 characters) New: One-tap AI background removal. Try all Pro features free for 7 days. **Keywords** (98/100 characters) photo,edit,remove,background,filter,collage,retouch,crop,ai,camera,enhance **Description** (1842/4000 characters) PhotoPro turns your iPhone into a professional editing studio... [full 4000-char conversion-optimized description] ### 🎯 Competitive Analysis - Snapseed dominates "photo editor" — target "AI photo editor" and "remove background" - Lightroom owns "professional" — attack "easy", "quick", "one tap" angles - Gap opportunity: "collage maker" sub-niche has lower competition ### 📸 Screenshot Storyboard Strategy 1. "Remove Background Instantly" — show before/after cutout (adds "remove background") 2. "AI Photo Editing" — show smart enhance result (adds "AI") 3. "Professional Filters" — carousel of filter previews (adds "professional filters") 4. "Make Collages in Seconds" — collage grid (adds "collage") 5. "Retouch Portraits Easily" — skin retouch demo (adds "retouch portrait") ### ✅ Validation Results ✅ App Name: 25/30 characters (5 remaining) ✅ Subtitle: 28/30 characters (2 remaining) ✅ Keywords: 98/100 characters (2 remaining) ... ✅ All fields pass validation! ``` -------------------------------- ### Krankie App Management Commands Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Manage apps within Krankie, including searching for apps by query, adding an app to track using its ID, and listing all currently tracked apps. ```bash # Search for apps க்கும்krankie app search "" --platform ios ``` ```bash # Add an app to track க்கும்krankie app create --platform ios ``` ```bash # List tracked apps க்கும்krankie app list ``` -------------------------------- ### Krankie Keyword Tracking Commands Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Manage keywords for tracking within Krankie. Add keywords for a specific app and store, or list all currently tracked keywords. ```bash # Add keywords to track for an app க்கும்krankie keyword add "" --store us ``` ```bash # List tracked keywords க்கும்krankie keyword list ``` -------------------------------- ### Krankie Ranking Check Commands Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Perform and view ranking checks using Krankie. Run checks for all keywords, view current rankings, identify biggest movers, check ranking history, and view the status of the last run. ```bash # Run ranking checks for all tracked keywords க்கும்krankie check run ``` ```bash # View current rankings க்கும்krankie rankings ``` ```bash # See biggest movers (gains/losses) க்கும்krankie rankings movers ``` ```bash # View ranking history for a keyword க்கும்krankie rankings history ``` ```bash # Check status of last run க்கும்krankie check status ``` -------------------------------- ### Request In-App Review Prompt (Swift) Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/references/aso_learnings.md Use SKStoreReviewController.requestReview() to present Apple's native rating prompt. This should be called during natural user flow after demonstrated engagement, not via direct user action. Apple enforces a maximum of 3 prompts per user per 365-day rolling window. ```swift import StoreKit func requestReview() { SKStoreReviewController.requestReview() } ``` -------------------------------- ### Measure Ranking Changes Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Monitor keyword ranking shifts after an update, either by viewing overall movers or the trend for a specific keyword. ```bash krankie rankings movers # See biggest position shifts ``` ```bash krankie rankings history # Trend for a specific keyword ``` -------------------------------- ### Manual App Store Review Deep Link Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/references/aso_learnings.md For user-initiated actions like a 'Rate Us' button, use this manual deep link to bypass the 3-prompt limit. This link directs users to the App Store to write a review. ```url https://apps.apple.com/app/id[APP_ID]?action=write-review ``` -------------------------------- ### Validate Metadata Script Source: https://github.com/timbroddin/app-store-aso-skill/blob/main/SKILL.md Use this Python script to verify that generated metadata adheres to Apple's character limits for various fields. It prompts for input and displays pass/fail indicators. ```bash python scripts/validate_metadata.py ``` -------------------------------- ### Validate App Store Metadata with Python Script Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Use the `validate_metadata.py` script to check App Store metadata fields against Apple's character limits. It can be run interactively or non-interactively by passing fields as arguments. ```bash python scripts/validate_metadata.py \ --app-name "PhotoPro - Photo Editor" \ --subtitle "AI Editing & Filters" \ --keywords "photo,edit,filter,remove,background,ai,camera,collage" \ --promotional-text "New: Remove backgrounds in one tap. Try free for 7 days." \ --description "PhotoPro is the fastest way to edit professional photos on iPhone..." \ --whats-new "✨ NEW: AI background removal\n🐛 Fixed: crash on iOS 17.4 devices" ``` -------------------------------- ### Validate Metadata Character Limits Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Use a Python script to validate that generated app metadata adheres to App Store character limits before submission. ```python python scripts/validate_metadata.py \ --app-name "PhotoPro - AI Photo Editor" \ --subtitle "Remove BG, Filters & Collage" \ --keywords "photo,edit,remove,background,filter,collage,retouch,crop,ai,camera,enhance" ``` -------------------------------- ### Validate App Store Metadata Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Use the `validate_all` function to check an entire metadata dictionary. It returns a dictionary with validation results for each field, indicating validity, character count, and remaining characters. ```python from scripts.validate_metadata import validate_all, print_validation_results metadata = { "app_name": "FitPro - Workout Planner", "subtitle": "Home Fitness & Exercise Log", "promotional_text": "🎉 New AI coaching — free for 30 days. No credit card needed.", "keywords": "workout,fitness,exercise,gym,home,training,weight,loss,yoga,run", "description": ( "FitPro turns your iPhone into a personal trainer.\n\n" "• 500+ guided workouts for every fitness level\n" "• AI-powered plan adapts to your progress\n" "• Integrates with Apple Health & Apple Watch\n\n" "Join 2 million users who train smarter with FitPro." ), "whats_new": ( "🎉 What's New in Version 4.2\n\n" "✨ NEW FEATURES\n" "• AI coaching: personalized weekly plan based on your history\n" "• Dark mode redesign across all screens\n\n" "🐛 BUG FIXES\n" "• Fixed Heart Rate monitor drop on Apple Watch Ultra\n" "Questions? support@fitpro.app" ) } results = validate_all(metadata) # Inspect individual field results for field, (is_valid, count, remaining) in results.items(): status = "✅" if is_valid else "❌" print(f"{status} {field}: {count} chars") # Or print full formatted report print_validation_results(metadata) ``` -------------------------------- ### Validate Single Metadata Field with Python Function Source: https://context7.com/timbroddin/app-store-aso-skill/llms.txt Programmatically validate a single App Store metadata field using the `validate_field` function from `scripts/validate_metadata.py`. This function returns the validation status, character count, and remaining characters. ```python from scripts.validate_metadata import validate_field, LIMITS # Validate a proposed app name name = "PhotoPro - Photo Editor" is_valid, count, remaining = validate_field(name, LIMITS['app_name']) print(f"Valid: {is_valid}") # Valid: True print(f"Count: {count}/30") # Count: 23/30 print(f"Remaining: {remaining}") # Remaining: 7 # Validate a keyword string (no spaces after commas = more keywords fit) keywords = "photo,edit,filter,remove,background,ai,camera,collage,crop,retouch" is_valid, count, remaining = validate_field(keywords, LIMITS['keywords']) if not is_valid: print(f"❌ Keywords exceed limit by {abs(remaining)} chars — trim required") else: print(f"✅ Keywords OK: {count}/100 ({remaining} chars to spare)") ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.