← ExtensionDash: Store RankingsCONTENT HISTORY
WHAT CHANGED
Update to ExtensionDash: Store Rankings
Snapshot Nov 4, 2026 · 06:14 UTC · version 0.1.2
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save ExtensionDash: Store Rankings and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Use when the user wants to research a browser-extension niche, find or compare Chrome Web Store extensions or Firefox add-ons, look for market gaps (many users but weak ratings, stale listings, few languages), read a competitor's listing, or brainstorm keywords to investigate. Works without an ExtensionDash account. Uses the ExtensionDash MCP tools search_catalog and get_listing.",
"included_files": [],
"name": "research-extensions",
"skill_md_contents": "---\nname: research-extensions\ndescription: Use when the user wants to research a browser-extension niche, find or compare Chrome Web Store extensions or Firefox add-ons, look for market gaps (many users but weak ratings, stale listings, few languages), read a competitor's listing, or brainstorm keywords to investigate. Works without an ExtensionDash account. Uses the ExtensionDash MCP tools search_catalog and get_listing.\n---\n\n# Research extensions\n\nAnswer market and competitor questions from the ExtensionDash catalog. The\ncatalog holds a weekly-refreshed copy of Chrome Web Store and Firefox Add-ons\nlistings, so reading it never fetches the store and never waits.\n\n## Tools\n\n- `search_catalog`: search one store per call. Chrome is the default; pass\n `store: \"firefox\"` for Firefox.\n - `query`: name words, at most 8. Use `match` (`all` or `any`) to say how\n they combine. Prefix a word with `-` to exclude it.\n - `category`: one category slug of that store.\n - Inclusive ranges: `users_min`/`users_max`, `rating_min`/`rating_max`,\n `reviews_min`/`reviews_max`, `langs_min`/`langs_max`,\n `description_length_min`/`description_length_max`, and\n `screenshots_min`/`screenshots_max`.\n - Sorting: `sort` takes users, rating, reviews, langs, description_length,\n screenshots, updated or added. `dir` is desc or asc.\n - Paging: `limit` (50 at most) and `page`.\n- `get_listing`: one listing in full, given `store` and `external_id` (a\n search_catalog row's `id`). Returns the description, users, rating,\n reviews, version, languages, categories, permissions, publisher and\n `refreshed_at`.\n\nNo other tool does research. There is no live store search, no store-ranking\nlookup for untracked terms, and no search-volume lookup.\n\n## Workflow\n\n1. **Pin down the store.** Default to Chrome. Run Firefox as a separate\n search when the user asks for it, or when the niche plainly matters there.\n Never merge the two stores into one ranking: Chrome users are a rounded\n weekly count, Firefox users an exact daily average.\n2. **Resolve names to ids before comparing.** Search by the name the user\n gave.\n - An exact name match comes first unless you pass `sort`.\n - If several rows plausibly match (same or near-same name, different\n publishers or very different user counts), list the candidates with\n their user counts and URLs and ask which one is meant. Do not guess.\n - If nothing matches, say so and try fewer or alternative name words\n before concluding the catalog lacks the extension.\n3. **Search the niche.** Describe the niche in name words and run a few\n searches with synonyms (`match: \"any\"` widens). Pass `sort: \"users\"` when\n you want the biggest players rather than exact-name matches.\n - Use `category` when the niche maps to one. An unknown slug is refused,\n and the refusal lists the valid slugs.\n - Name words only match names. An extension whose name never uses the\n user's words will not appear, so say the search is name-based.\n4. **Filter for opportunity questions.** Translate the question into ranges.\n For example, \"many users but weak ratings\" becomes `users_min: 10000,\n rating_max: 3.9, reviews_min: 20`. Require a minimum review count so a\n single review does not decide a \"weak rating\", and state the thresholds\n you picked.\n5. **Read the listings that matter** with `get_listing`, usually 2–5 of\n them. Compare promise (summary and description), permissions, languages,\n last update, publisher and the users/rating/reviews figures.\n6. **Report** in the format below.\n\n## Reading the data honestly\n\n- **Coverage.** Every search_catalog answer carries `listed`, `known` and\n `synced_on`. Quote them, for example \"the Chrome catalog holds 303,293\n listed extensions as of 2026-10-17\". Results cover the catalog, not\n necessarily the whole store. `total` counts matches in the catalog only.\n- **Nulls.** A null `users`, `rating` or `reviews` means the store showed no\n number. It is not zero; never average it in as zero.\n- **Rounding.** Chrome user counts are rounded store figures (1,000, 2,000,\n 10,000, ...). Treat two listings at \"10,000\" as tied, and do not read\n precision into the difference between 1,000 and 2,000.\n- **Freshness.** Listing copy is English and refreshed weekly. Quote\n `refreshed_at` or `last_updated_on` when it matters.\n- **Facts vs hypotheses.** Label everything inferred, such as \"probably\n ranks well because its title contains the term\" or \"likely abandoned,\n last updated 2021\", as a hypothesis. Never invent search volume, revenue,\n installs-per-day, conversion rates or causes.\n- **Keyword ideas are suggestions.** Terms you pull from competitors' names\n and summaries are candidates to investigate, not proven demand. Say that\n ranking and volume data only exist once a term is tracked (see the\n manage-tracking skill), and that the catalog has no store-position data\n for terms nobody tracks.\n- **Reading is not tracking.** Never imply that searching or reading a\n listing adds it to the user's account. Do not call `add_competitor` or\n `add_keyword` from this skill. Offer it as a next step instead.\n\n## Limits and account errors\n\n- `search_catalog` and `get_listing` allow about 60 calls a minute, with or\n without an account. Budget calls; do not page through hundreds of results.\n- If a call reports a per-minute limit, stop and tell the user. Do not retry in a loop.\n- Rows carry `yours` and `competitor` flags only when the connection has an\n account.\n\n## Output\n\nKeep it concise:\n\n1. **Answer.** The short answer to the question.\n2. **Comparison table.** Name (linked to its store `url`), store, users,\n rating (with review count), languages, last update, and one notable\n observation each.\n3. **Evidence.** What you searched (store, words, filters, sort) and the\n coverage figures.\n4. **Limitations.** Name-based matching, catalog coverage, rounding, nulls,\n and anything that could not be resolved.\n5. **Next steps.** Concrete and optional. For example: read a specific\n listing, add a listing as a competitor, or track a candidate term to get\n real rankings. Ask before doing anything that writes to the account.\n"
}SHA-256 of public snapshot: 9a32f63ca34561c1014c29d5fcfa9d43776d5456c7730196d43809551ec24c4b