← ExtensionDash: Store RankingsCONTENT HISTORY

Update to ExtensionDash: Store Rankings

Snapshot Nov 4, 2026 · 06:14 UTC · version 0.1.2

Collection source: downloaded plugin package.

WHAT CHANGED

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 JSON
Full 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