| name | lbs-market-analyzer |
| description | Geo-spatial market intelligence using AMAP (Gaode) LBS API. Trigger when the user needs: (1) competitor distribution & saturation analysis around a location, (2) site-selection 'heat logic' evaluation (office/residential/transit synergy), (3) 'Golden Path' foot-traffic flow analysis, (4) market-gap / blue-ocean identification. Includes automated AMAP API Key provisioning. |
LBS Market Analyzer
1 · Description — 这个 Skill 做什么
利用高德地图 LBS API,围绕用户指定的地址或 POI,自动完成:
| 能力 | 说明 |
|---|
| 🔑 API Key 自动开通 | 无 Key 时自动打开浏览器完成高德控制台注册 |
| 📍 地理编码 | 将地址/店名转换为经纬度坐标 |
| 🏪 竞品扫描 | 按行业关键词 + 半径抓取周边 POI |
| 📊 密度与缺口分析 | 生成竞争压力、蓝海区域、Golden Path 等洞察报告 |
2 · Input — 需要向用户收集哪些信息
在执行分析之前,必须与用户确认以下参数。使用对话逐步澄清,不要自行假设。
| 参数 | 必填 | 示例 | 说明 |
|---|
| 城市 / 区域 | ✅ | "上海市徐汇区" | 限定搜索的城市或行政区 |
| 具体地址或店铺名 | ✅ | "漕河泾开发区" / "瑞虹天地" | 作为分析中心点进行地理编码 |
| 行业关键词 | ✅ | "咖啡|奶茶" / "健身房|瑜伽" | 多个关键词用 | 分隔 |
| 搜索半径 (米) | ❌ | 3000(默认) | 建议 1000–5000,视业态密度调整 |
| 分析侧重 | ❌ | "想看有没有蓝海" / "帮我做选址" | 决定报告侧重竞争压力还是选址热力 |
澄清话术参考
如果用户只说了"帮我做竞品分析",请这样追问:
"好的!为了给你做精准的竞品分析,我需要确认几个信息:
- 你想分析哪个城市/区域?(比如"上海徐汇")
- 具体围绕哪个地址或商圈?(比如"漕河泾开发区")
- 目标行业是什么?(比如"咖啡"、"健身房")
- 搜索半径多大?默认 3 公里,需要调整吗?"
3 · Implementation — 执行步骤
Step 0 — 环境准备
检查 .env 文件中是否存在 AMAP_KEY。如果没有,立即运行自动开通脚本:
pip install -r requirements.txt
python scripts/amap_key_automator.py
⚠️ 脚本会打开浏览器并需要用户手动完成支付宝/高德登录扫码,之后脚本将自动创建 Web 服务 Key 并写入 .env。
Step 1 — 数据采集
用户参数确认后,运行竞品分析脚本:
python scripts/competitor_analysis.py \
--address "用户提供的地址" \
--keywords "行业关键词" \
--radius 3000
脚本会自动完成:地理编码 → 周边 POI 检索 → 结构化输出 JSON。
Step 2 — 洞察生成
拿到 JSON 数据后,阅读 references/analysis-logic.md 中的分析框架,依据以下维度生成商业洞察:
- 竞争压力:500 米内直接威胁、品牌连锁集中度
- 选址热力:写字楼/住宅/地铁站协同评估
- Golden Path:通勤流线上的黄金点位
- 蓝海缺口:无竞品覆盖的空白扇区
📖 详细的分析方法论和评分逻辑见 → references/analysis-logic.md
📖 高德 API 状态码和参数限制见 → references/amap-api-guide.md
📖 常见业态的推荐关键词和分类码见 → references/industry-keywords.md
4 · Output — 输出格式
最终向用户交付一份结构化的 Markdown 分析报告,包含以下模块:
# 📊 [城市·商圈] 竞品分析报告
## 基本信息
- 分析中心:[地址] ([经度, 纬度])
- 搜索关键词:[keywords]
- 搜索半径:[radius] 米
- 检索到竞品数量:[count] 家
## 竞品清单
| 排名 | 名称 | 距离(m) | 类型 | 评分 | 地址 |
|------|------|---------|------|------|------|
| 1 | XX咖啡 | 120 | 咖啡厅 | 4.2 | XX路XX号 |
| ... | ... | ... | ... | ... | ... |
## 竞争压力分析
- 500m 内直接竞品:X 家(高/中/低压力)
- 品牌集中度:连锁品牌占比 XX%
- 市场饱和度评估:[饱和/适中/稀疏]
## 选址热力评估(如适用)
- 写字楼密度 / 住宅密度 / 交通节点
- Golden Path 分析结论
## 蓝海机会
- 空白扇区识别
- 服务缺口发现
## 建议
- [基于以上分析的 2-3 条可执行建议]
5 · References — 渐进式参考资料
设计原则:渐进式层级披露 (Progressive Disclosure)
SKILL.md 本身只作为"图书馆目录"——告诉 Agent 有哪些参考资料、什么时候该去读。
详细内容放在 references/ 目录下,Agent 在需要时再按需加载,避免一次性加载所有内容浪费 tokens。
何时读取 References
- ✅ 按需读取:只在执行到对应步骤、或遇到问题时才加载对应文件
- ❌ 不要预加载:不需要在开始时就读取所有 references
- 💡 这就像去图书馆——先看目录(SKILL.md),找到需要的书(reference),再翻到具体章节