android-reverse-engineering.../plugins/market-research/README.md

52 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# market-research
A Claude Code plugin that autonomously researches the app/game market and surfaces
scored, non-repeating clone candidates, then hands user-chosen candidates to the
`clone-app` plugin for feasibility analysis.
## What it does
`/market-research` runs an 8-phase workflow (07):
0. **Seed rotation** — pick varied search angles (category × region × niche) so runs differ.
1. **Gather** — App Store RSS (`fetch-charts.py`) + play.google.com charts (`fetch-play-charts.py`) + Google Trends best-effort (`trends.py`) + free web search.
2. **Synthesize** — cluster findings into ≥10 distinct app/game ideas.
3. **Score** — composite numeric score: cloneability 35 + market 35 + monetization 20 + niche 10 (see `scoring-guide.md` + `numeric-sources.md`).
4. **Dedup** — exclude anything already in `./work/market-research/history.json`.
5. **Present** — show the scored, ranked table.
6. **Survivor-only enrichment** — for user-chosen candidates only: resolve the Play Store package ID (`play.py`) and verify the link is live via WebFetch before handing off.
7. **Handoff** — chosen candidates (with verified Play links) flow into `clone-app`.
## State
Written under `./work/market-research/` in your current directory:
- `history.json` — every past suggestion; the non-repeat memory.
- `research-<date>.md` — the full report for a run.
## Scripts
- `scripts/fetch-charts.py` — fetch Apple App Store RSS chart feeds → normalized JSON.
- `scripts/fetch-play-charts.py` — fetch play.google.com top/category charts → normalized JSON (no AppBrain; uses the public Play web endpoint directly).
- `scripts/play.py` — resolve an app name or bundle ID to a Play Store package ID and count search results (used in survivor-only enrichment, Phase 6).
- `scripts/trends.py` — best-effort Google Trends interest data for a keyword; never hard-fails (falls back to `null` if the endpoint is unavailable).
- `scripts/history.py` — read / append / dedup the suggestion history.
Python is stdlib-only. Tests run offline against `tests/fixtures/`:
```bash
bash plugins/market-research/tests/run-all.sh
```
## References
AI-judgment rubrics under `skills/market-research/references/`:
- `research-angles.md` — rotating category × region × niche seeds for run-to-run variety.
- `scoring-guide.md` — the 0100 weighted composite formula and per-dimension guidance.
- `numeric-sources.md` — how to map raw data (chart rank, install count, rating, search results) to numeric sub-scores used by `scoring-guide.md`.
- `report-template.md` — output format for the scored candidate table and per-candidate write-ups.
## Effort convention
Effort is measured in **AI Sprints** (one focused Claude session), never calendar time.