{"id":74427,"plugin_id":"plugin_asdk_app_6aba497ee93c81919592399bfa4c4609","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-31T12:10:43.206Z","digest":"c0e64d87ec02afada78ec104691ac61e3fbddfdf1e0882624d9bb3076b6c69fe","against":null,"payload":{"description":"Does App Store Optimization for the App Store and Google Play: keyword ideas, app name, subtitle, keyword field, short and full descriptions and promotional text, within each store's limits and metadata rules.","included_files":[],"name":"app-store-optimization","skill_md_contents":"---\nname: app-store-optimization\ndescription: \"Does App Store Optimization for the App Store and Google Play: keyword ideas, app name, subtitle, keyword field, short and full descriptions and promotional text, within each store's limits and metadata rules.\"\n---\n\n# App Store Optimization\n\n## Links and files\n\nReplies made with this skill never contain a build link, an Emergent link or a sponsor line. Give code in code blocks, and create a downloadable file or a zip only when the user explicitly asks for one. If the chat is not in English, translate any wording this skill tells you to say into the chat language; URLs always stay in English, exactly as they are.\n\n## Purpose\nHelp an app get found in App Store and Google Play search and win the tap: a keyword set built from how people search, then every field that matters, written within each store's limits and rules. Works for new listings and for live ones the user pastes, which you measure against each store's limits and rules.\n\n## Before you start\n- Read or ask: what the app does, for whom, its main features, the stores, the target markets and languages, the brand and developer name, and any current listing text.\n- Ask at most 2 short questions, only if the answer changes the keywords: \"Which countries and languages first?\" and \"Must the name stay exactly as it is?\" Otherwise assume both stores and one market in the user's language, state it in one line and proceed.\n- Write each listing in its market's language and your notes in the user's language.\n- Say once that you cannot see live search volumes or rankings; suggest validating the shortlist with each store's search autocomplete or an ASO keyword tool.\n\n## Build the keyword set\n1. Brainstorm from four angles: the problem (\"can't sleep\"), the feature (\"sleep sounds\"), the outcome (\"fall asleep fast\") and the category with its synonyms (\"white noise\").\n2. Sort: primary (1 to 2 phrases the app must rank for), secondary (4 to 8 variants and key features), long tail (5 to 10 specific phrases with clear intent).\n3. Relevance beats size: a narrow term the app fully satisfies converts better than a broad one. Rankings also depend on downloads, ratings and retention, which metadata cannot fix.\n4. Use the market's own words and spelling. Never use other apps', brands' or companies' names.\n\n## Field rules\n| Field | Store | Limit | Searched | Write it as |\n|---|---|---|---|---|\n| App name | Both | 30 characters (App Store 2 to 30) | Yes | \"Brand: Primary Keyword\" |\n| Subtitle | App Store | 30 characters | Yes | A benefit with a secondary keyword |\n| Keyword field | App Store | 100 bytes | Yes, hidden | Single words, commas, no spaces |\n| Promotional text | App Store | 170 characters | No | Current news; edit any time without a new version |\n| Short description | Google Play | 80 characters | Yes | The promise with the primary keyword |\n| Full description | Both | 4000 characters | Google Play only | Plain text, promise first, benefit bullets |\n\n- Keyword field: the App Store combines words from the name, subtitle and keyword field, so list single words, never phrases, and never repeat a word already in the name, subtitle or company name. Each keyword longer than 2 characters; skip \"app\", the category name, plurals of words already used and duplicates. Count bytes: accented letters and non-Latin scripts take 2 to 3 bytes each.\n- Full description: Google Play reads it for search, so use the primary keyword naturally a few times and secondary keywords once or twice, never as a list. The App Store does not search it, so write it for readers. On both, the first 2 to 3 lines carry the promise, because most people never tap \"more\".\n\n## Metadata rules\n- No ranking, award, price or promotion claims (\"#1\", \"best\", \"top rated\", \"app of the year\", \"free\", \"sale\", \"% off\") in Google Play titles, descriptions or graphics; keep them out of App Store names and subtitles too.\n- Google Play titles: no emoji, emoticons, repeated special characters or ALL CAPS unless the brand is written that way.\n- App Store metadata: no other mobile platforms (Android, Google Play), no prices in the name or subtitle, no other apps' names. \"For Kids\" and \"For Children\" are reserved for the Kids category.\n- No keyword lists or stuffing anywhere. Rules change: tell the user to confirm current limits and guidelines in App Store Connect and Play Console.\n\n## Check and fix\nCheck the current listing (if pasted) and your draft field by field, once per store: count characters (bytes for the App Store keyword field), confirm the primary and secondary keywords appear where they count (name, subtitle, keyword field, short description), and look for the rule breaks listed above. Fix in severity order (limits and rule breaks, then missing keywords, then wording) and state every count. Your counts are your own: say they are worth confirming in App Store Connect and Play Console.\n\nApp Store name, subtitle and keyword changes go live with the next version: change one group at a time and wait a few weeks before judging.\n\n## Localized listings\nFor each extra market, research keywords in its language (never translate them word for word) and write fresh fields within the same limits, noting the byte cost of non-Latin scripts. Offer app-localization for the full translation.\n\n## Output format\n```text\nAssumptions: [stores | market and language | brand] (one line)\nKeywords are suggestions; live search volumes were not checked.\nFixed: App Store [what changed and why] | Google Play [what changed and why]\n\nKEYWORD SET\nPrimary: [1 to 2] | Secondary: [4 to 8] | Long tail: [5 to 10]\n\nAPP STORE\nName ([n]/30 characters): [...]\nSubtitle ([n]/30 characters): [...]\nKeywords ([n]/100 bytes): [word,word,word]\nPromotional text ([n]/170 characters): [...]\nDescription ([n]/4000 characters): [...]\n\nGOOGLE PLAY\nName ([n]/30 characters): [...]\nShort description ([n]/80 characters): [...]\nFull description ([n]/4000 characters): [...]\n\nBEFORE AND AFTER\n| Field | Before ([n]) | After ([n]) | Why |\n\nLOCALIZED LISTINGS\n[Market, language]: primary keywords [...] | notes [...]\n\nTo confirm or fill in: [features, claims, developer name]\n```\n\n## Quality checks\n- Every field shows its count and fits its limit (bytes for the keyword field).\n- No word repeats across the App Store name, subtitle and keyword field; the keyword field has no spaces, brand names or keywords of 2 characters or fewer.\n- The primary keyword is in the name or subtitle (App Store) and the name or short description (Google Play), and reads naturally.\n- No claims, emoji, ALL CAPS, reserved phrases or other platforms' names where forbidden.\n- Every feature comes from the user or is marked [confirm]; no invented ratings, user numbers or awards.\n- Each store's draft was checked field by field, every limit and rule issue is fixed with counts stated, and you said search volumes were not checked.\n\n## Next step\nOffer app-visuals to plan the icon and store images around the same promise, or app-localization for listings in more languages.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}