AGENT SKILL
competitor-scan
Scan competitors in a 2GIS category around a location — count, ratings, weak spots
- License 许可
- MIT
- 所属仓库
- theYahia/WWmcp
- 最近更新
- 2026-09-26
- Stars
- ★ 38
- Forks
- 5
01 前言 Front Matter
- name
- competitor-scan
- description
- Scan competitors in a 2GIS category around a location — count, ratings, weak spots
- argument-hint
- <rubric id or category name> <location> [radius in meters]
03 SKILL.md 正文
/competitor-scan — Category density and ratings
Algorithm
- Resolve the location: call
geocodeon the address the user gave, take lat/lon. - Resolve the category. If the user gave a 2GIS rubric_id, use it directly with
search_by_rubric. If they gave a name ("barbershop", "coffee"), usesearch_placeswith that query and type = org instead — there is no rubric lookup tool in this server. - Call
search_by_rubric(orsearch_places) with point = "lon,lat" and radius (default 1500). Note the total count — that is the density number. - For the top 5 results call
get_reviewswith each place_id. Record rating and review count. - For the two highest-rated call
get_placeto pull schedule and contacts. - Summarize: how many competitors, rating spread, who dominates, where the gap is (low ratings, few reviews, short opening hours).
Response format
## Barbershops within 1.5 km of Arbat 12
**Density**: 23 in radius
**Rating spread**: 3.4 — 4.9 (median 4.3)
| # | Name | Rating | Reviews | Hours |
|---|------|--------|---------|-------|
| 1 | ... | 4.9 | 480 | 10:00–22:00 |
**Gap**: 9 of 23 have under 20 reviews — thin social proof in this radius.
Notes
- Report only what the tools returned. Do not estimate revenue or traffic — 2GIS has no such fields.
get_reviewsaccepts an optional limit; keep it small (10) since only the aggregate matters.- A large total with a small returned page is normal: increase page_size on
search_placesor paginate before claiming a number is final.
Examples
/competitor-scan barbershop "Arbat 12" 1500
/competitor-scan "coffee shop" 55.7558,37.6173
/competitor-scan pharmacy "Kazan, Bauman 5" 800
04 同仓库更多 Skills
refund-payment
Возврат по платежу — полный или частичный. Проверяет статус перед возвратом
★ 38
daily-report
Отчёт по платежам за сегодня — суммы, статусы, итого. Использует list_payments
★ 38
create-and-track
Создать платёж в ЮKassa и показать ссылку для оплаты. Использует create_payment и get_payment
★ 38
check-account
Проверка статуса магазина ЮKassa — тестовый/боевой, фискализация, ID
★ 38
semantic-core
Сбор семантического ядра под русский рынок — частотность, расширение, сезонность
★ 38
geo-priority
Где спрос по фразе выше среднего — регионы РФ по объёму и affinity для геотаргетинга
★ 38