{"id":51492,"plugin_id":"plugin_asdk_app_6ac610197a3c81918467050d9bf9d0cd","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:46:33.082Z","digest":"6104b31713350b6f7a0bb165e3d924058e3199fd99d951f0595746ad719a87e6","against":null,"payload":{"description":"Researches and improves an app's visibility on the App Store and Google Play with Applyra's data (keyword rankings and their history, keyword difficulty and traffic, store autocomplete, niche analysis, competitors, top charts, the ASO Health audit of a listing), and scores a draft title, subtitle, short description or keywords field before it ships. Use when the user asks why their app dropped in search, which keywords to target, how they rank against a competitor, what to write in their store listing, or anything about App Store Optimization for an app tracked in Applyra.","included_files":[],"name":"aso-research","skill_md_contents":"---\nname: aso-research\ndescription: Researches and improves an app's visibility on the App Store and Google Play with Applyra's data (keyword rankings and their history, keyword difficulty and traffic, store autocomplete, niche analysis, competitors, top charts, the ASO Health audit of a listing), and scores a draft title, subtitle, short description or keywords field before it ships. Use when the user asks why their app dropped in search, which keywords to target, how they rank against a competitor, what to write in their store listing, or anything about App Store Optimization for an app tracked in Applyra.\n---\n\n# ASO research with Applyra\n\nApplyra tracks the user's apps on the App Store and Google Play every day. Its tools read that data,\nand score listing text on the same engine that audits live listings. No tool publishes anything to\nApp Store Connect or Google Play: the user ships changes themselves.\n\n## Ground rules\n\n- **Start from `list_applications`.** It gives each app's numeric `id`, which every app-scoped tool\n  takes, with its store, country and language. Never guess an ID. `add_application` and\n  `add_competitor` are the exceptions: they take the store bundle ID.\n- **Every number comes from a tool call.** Say which tool it came from, with the store, the country\n  and the date of the data. Quote difficulty and traffic as the 0-100 scores Applyra returns.\n- **Rankings are per store and per country.** Keep markets apart, never blend them into one figure.\n- **Let `check_metadata` count lengths.** The stores count UTF-16 code units, not characters, so a\n  count done by hand is wrong in many languages.\n- **Ask before changing the account.** `track_keywords`, `untrack_keyword`, `set_keyword_favorite`,\n  `add_application`, `add_competitor` and `remove_competitor` change what Applyra tracks. Every other\n  tool only reads.\n- **Reuse past work first.** `list_keyword_inspections`, `list_niche_analyses`,\n  `list_metadata_simulations` and `list_autocomplete_history` return what was already run.\n\n## What moved\n\n1. `list_keywords` for the app: current rank, the apps just ahead and behind, the top 5.\n2. `get_keyword_rank_history` on the keywords that moved, with the `keyword_id` from `list_keywords`.\n   It covers the last 30 days unless a range is given.\n3. Report before and after, largest drops first. A move of one or two places is daily noise: lead\n   with the large ones.\n4. When many keywords fell on the same day, `get_app_score_history` shows whether the app's overall\n   visibility fell with them. A drop across the board on one date usually comes from the store, not\n   from the listing.\n\n## Keywords worth targeting\n\n1. Collect candidates: `run_autocomplete` on the app's core terms (what people type), and\n   `run_niche_analysis` on its topic (clusters of keywords with an opportunity score). A fresh niche\n   analysis takes a few minutes.\n2. `inspect_keyword` each candidate: difficulty, traffic, KEI, the 20 apps ranking for it.\n3. Prefer real traffic at a difficulty the app can win. `get_aso_health` calibrates its targeting\n   verdicts on the app's size (tier 1 Emerging, 2 Growing, 3 Established): the same keyword can be\n   reachable for an established app and out of reach for a new one. Say so when recommending.\n4. Propose a short list. Track it with `track_keywords` (up to 20 per call) once the user agrees.\n\n## Rewriting a listing\n\n1. `get_aso_health` first: the score, its three axes (coverage, targeting, appeal), the flags and the\n   terms the listing targets today.\n2. Draft the new text, then run `check_metadata` on it. An `error` means the store would refuse it.\n   Google names the words it forbids, while Apple leaves them to a reviewer, so the same draft can be\n   valid on one store and refused on the other.\n3. Score it with `simulate_metadata` and the app's `id`: the fields left out are read from the live\n   listing, so the gain or loss against the current score is meaningful. Without an `id`, the global\n   score is not comparable to a real app's: compare the coverage axis instead.\n4. On iOS, the keywords field is a comma-separated list: spend it on words that are not already in\n   the title or the subtitle.\n5. `get_metadata_simulation` re-reads a saved draft in full, to pick up where a past run left off.\n\n## Competitors\n\n- `list_competitors` returns each pair: the user's app, and the competitor with its full store metadata.\n- `add_competitor` with the competitor's store bundle ID, when the user names one.\n- Compare positions on shared keywords with the `ahead` and `behind` apps and the top 5 that\n  `list_keywords` returns.\n\n## Market context\n\n`list_top_chart_categories`, then `top_charts` for a store, country, category and collection (free,\npaid or grossing), with each app's movement since the day before.\n\n## Reading the numbers\n\n- **Difficulty** (0-100): how hard it is to reach the top results for a keyword.\n- **Traffic** (0-100): how much a keyword is searched, relative to other keywords.\n- **KEI**: traffic weighed against difficulty, with a level such as \"good\".\n- **Visibility score** (0-100): how discoverable the app is across a stable set of keywords from its\n  niche, so two dates compare directly.\n- **ASO Health** (0-100): how well the listing is written, as opposed to how it ranks today.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}