--- name: kmp-starter-create-fresh-app description: Research and plan a brand-new app before scaffolding it on the KMP Starter Template. Gather project info, research the market (stores, Reddit, ASO tools), finalize features + value proposition, get user approval, and persist everything to memory. author: DevAtrii license: MIT --- # Create a Fresh App (Research → Plan → Approve) Use when the user wants to **create a brand-new app** (or just **research/validate an app idea**). Do the thinking and market research *before* scaffolding with the CLI or writing code. Do **not** jump straight into `starter create` or feature building. Research first, get approval, then proceed. ## When to use - User says "create an app for X", "I want to build a … app", "make me a …". - User asks to research/validate an app idea or a niche. - User asks "is this app idea good?" / "what features should my app have?". ## Phase 0 — Collect project information Build this profile. If the user already gave some of it, fill it in; ask for the rest. ```markdown ## Project Information **App Name:** {{App Name}} **Short Description:** {{Short Description}} **Primary Feature:** {{Primary Feature}} **Sub Features:** {{Sub Features}} **Detailed Description:** {{Detailed Description}} **Target Audience:** {{Target Audience}} ``` **Ask the user** for anything missing (name, what it does, core feature, audience). Keep it lightweight — don't interrogate; a rough one-liner is enough to start. ## Phase 1 — Research (if info is thin) If the idea is vague or you need to validate direction, research before proposing features. Use the tools available: | Source | Tool | What it gives you | | --- | --- | --- | | Web search | WebSearch / WebFetch | Market size, trends, competitors, user complaints | | Play Store / App Store | browser tool, WebFetch store pages | Competitor features, reviews, ratings, screenshots | | Reddit / forums | WebSearch / WebFetch | Real user pain points, complaints, feature requests | | ASO / keyword research | ASO MCP tools (`inspect_keyword`, `run_niche_analysis`, `run_autocomplete`, `top_charts`, `list_competitors`) | Search demand, keyword difficulty, niche opportunity, competitor rankings | | Deep research | research MCP tools (e.g. Gemini deep research) | Structured synthesis | Always research **competitors** and **user pain points** — those drive the value proposition more than the raw idea. ### ASO tools (if available) If the user has an ASO provider (e.g. `applyra`) connected, use it: - `run_niche_analysis(topic=..., store, country, lang)` — discover keyword clusters + opportunity scores + an app concept suggestion. - `inspect_keyword(keyword, store, country, lang)` — difficulty, traffic, KEI, top-20 ranking apps, related keywords. - `run_autocomplete(prefix, ...)` — what users actually type in store search. - `top_charts(store, country, category, collection)` — see the leaderboard + gaps. - `list_competitors` / `add_competitor` — track and compare against rivals. **Save the extracted keywords + ASO findings into memory** (see Phase 3) so they're available when the app is built and published. ## Phase 2 — Reason & propose From the research, produce a clear proposal. Reason about: 1. **Problem** — what pain does it solve? 2. **Target audience** — who, concretely (not "everyone"). 3. **Value** — why is this better than what exists? The differentiator. 4. **Features** — finalized list, split into: - **MVP / primary** (must ship first) - **Secondary / later** (sub-features, growth) 5. **Monetization** (if relevant) — subscription, one-time, ads, freemium. Present the final answer to the user as: - **What you researched** (sources, competitors, pain points, ASO keywords). - **Features finalized** (primary vs sub). - **Value it brings** (problem → solution → why it wins). **Stop and wait for approval.** Do not scaffold or write code until the user confirms. ## Phase 3 — Persist to memory After approval (or even before, once research is done), save everything using the [memory](../memory/SKILL.md) system under `{skill}/.skill-storage/{project}/`: - `memory.md` — the "Project Information" profile, goal, target audience, finalized features, value proposition. - `decisions.md` — feature priority decisions + why. - If ASO was run, save a dedicated section/file (e.g. `aso.md`) with **keywords**, difficulty/traffic scores, niche clusters, competitor list, and the chosen app concept. Derive the `{project}` slug from the app/package name (see the memory skill). Never store secrets/keys. Then, when the user is ready to build, return to the parent skill flow: `starter create` → then "Phase 1 — Understand the project". **CLI vs latest source:** if the installed `@devatrii/starter` CLI cannot generate from the newest starter source, **ask yes/no first (Yes recommended)** to update: ```bash npm update -g @devatrii/starter ``` If yes: run that command yourself immediately, then continue project initialization. If no: continue with the version this CLI supports. ## Rules - Never scaffold/write code before approval. - Don't invent competitor facts — research, don't assume. - Keep the target audience concrete and the MVP scoped small. - Save all research + ASO output to memory; don't redo it later. ## Reference - Parent flow: `../SKILL.md` (scaffold + build phases). - Memory system: `../memory/SKILL.md`. - ASO (if connected): the user's ASO MCP tools.