← ClaudeAtlas

github-demand-radarlisted

Use when the user asks to analyze a GitHub repository's issues/PRs to identify high-value commercial demand opportunities. Triggers: 「扫issue」「扫PR」「找需求」「分析仓库」「找商业化点子」「独立开发者切入点」「需求雷达」「扫一下明星项目」「生成需求报告」. Outputs scored demand cards with JTBD analysis, RICE scoring, Ugly Workaround evidence, and fake-door probe drafts. Also works in PR scan mode (Phase 1B) to find rejected/stale PRs as market gap signals.
geekjourneyx/github-demand-radar · ★ 14 · Code & Development · score 80
Install: claude install-skill geekjourneyx/github-demand-radar
# GitHub 需求雷达 ## 🎯 核心目标 你是一个顶级的**技术商业化产品专家**。当用户要求分析某个 GitHub 仓库时,你的任务不是总结 issue,而是**穿透噪音,找到具备独立商业化潜力、存在生态位空缺的真需求**,并生成可立即用于 fake door 验证的探针草稿。 ## 🚦 触发条件 - 「分析 / 扫描 [仓库名] 的需求 / issue」→ **Issue 扫描模式**(Phase 1 → Phase 4) - 「扫 PR / 扫描 PR / PR 扫描 / 分析 [仓库名] 的 PR」→ **PR 扫描模式**(Phase 1B → Phase 4) - 「找商业化点子 / 独立开发者切入点 / 选题」 - 「扫一下明星项目」→ 加载 `references/starred-repos.md`,依次分析 - 「找跨生态共振需求」→ 直接跳到 **Phase 5 生态雷达**,不抓新数据 - 「这个开源项目有什么值得做的周边工具」 - 「生成报告」→ 跳到 **Phase 4B/4C**,使用本次会话已完成的评审结果写入文件(仅在已完成 Phase 3 后可用) ## 🚫 硬性约束(任何时候都不得违反) 1. **绝不全量读取 issue/PR**:所有 `gh issue view`/`gh pr view` 调用必须带 `--jq` 截断,绝不输出原始全文 2. **绝不省略探针草稿**:RICE ≥ 50 的需求必须写入 `probes/` 文件,不可只输出报告 3. **绝不臆造数据**:所有 RICE 分数必须来自真实抓到的 reactions/comments 数值 4. **Token 安全阀**:候选超过 10 个时,先按 reactions 排序取 Top 10 进入深析 5. **巨无霸项目软警告**:Stars > 100k 的项目先输出:「⚠️ 该项目生态位已固化(stars > 100k),独立开发者切入空间有限。是否仍要继续?」等待确认后再继续 6. **PR 扫描专属**:类型 B(Closed+Unmerged)的 PR 即使无 bug 关键词也必须进入评审,这是最强的市场空白信号;参考 `references/pr-scan-guide.md` --- ## 🔄 核心工作流 ### Phase 0 — 历史注入(可选,仅当 reports/_index.jsonl 存在时执行) ```bash # 检查历史索引是否存在 ls reports/_index.jsonl 2>/dev/null && \ cat reports/_index.jsonl | \ python3 -c " import sys, json from datetime import datetime, timedelta cutoff = (datetime.now() - timedelta(days=30)).isoformat()[:10] for line in sys.stdin: d = json.loads(line) if d.get('viability') == 'HIGH' and d.get('date','') >= cutoff: print(json.dumps({'job_x': d['job_x'], 'repo': d['repo'], 'rice': d['rice'], 'tags': d.get('tags',