Skip to content
Deployment
Skill

/flame-harness-research

Phase 1 — discover Flame game concepts from store charts/competitors, propose 2-3 options, query the user, and record the chosen concept.

From plugin
flutter-flame-harness
6014 skills1 hook
Install
$ npx -y skills add tjdrhs90/flutter-flame-harness --skill flame-harness-research --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/flame-harness-research

Context preview

The summary Claude sees to decide when to auto-load this skill.

Phase 1 — discover Flame game concepts from store charts/competitors, propose 2-3 options, query the user, and record the chosen concept.

SKILL.md

flame-harness-research.SKILL.md
name: flame-harness-research
description: Phase 1 — discover Flame game concepts from store charts/competitors, propose 2-3 options, query the user, and record the chosen concept.
argument-hint: ""
allowed-tools: [Agent, Read, Write, Edit, WebFetch, WebSearch, AskUserQuestion, Bash]

flame-harness-research

Phase 1 of the flutter-flame-harness pipeline. Reads the user's raw idea from `config.md`, performs market research if needed, proposes 2-3 concrete game concepts, queries the user via AskUserQuestion to pick one, checks it for App Store guideline 4.3 clone risk, then writes the research spec and advances the pipeline state.

All file schemas (`config.md`, `state.md`, `pipeline-log.md`) are defined in `docs/harness-protocol.md` — refer to that document as the single source of truth. Do not redefine schemas here.

---

Input

Read `docs/harness/config.md` and extract:

  • `app_idea` — the raw one-line game idea supplied by the user (may be blank if the user invoked

the harness without an idea, in which case you will generate ideas from scratch in the Discovery step). When `app_idea` is blank, the Discovery and "Propose & query" steps run exactly as normal but driven purely by market research and creative reasoning with no seed concept; the resulting proposals are presented via AskUserQuestion for the user to pick — the AI does not select automatically **unless `auto_idea: true`**, in which case the "Propose & query" step auto-scores and selects the best concept with no user prompt (see that section).

  • `skip_research` — boolean. If `true`, treat `app_idea` as the chosen concept verbatim and

**skip the Discovery and "Propose & query" steps entirely**. Jump directly to Clone avoidance, then Output. Even when skipping discovery you must still write the research spec.

  • `auto_idea` — boolean (default `false`). When `true`, the "Propose & query" and "Clone avoidance"

steps auto-decide instead of calling AskUserQuestion: the skill scores its own generated concepts, selects the best, and auto-revises any clone — running fully hands-off with no user input. Has no effect when `skip_research: true` (the idea is already taken verbatim — nothing to select).

If `config.md` does not exist, abort with: `flame-harness-research: docs/harness/config.md not found — run the orchestrator to bootstrap first.`

---

Discovery

> Skip this section when `skip_research: true`.

Goal: understand the current mobile game landscape so the proposals are grounded in real market data.

1. Top-charting games

Use WebSearch and/or WebFetch to fetch the current top-grossing and top-free charts for mobile games on Google Play and the App Store. Search queries to use:

  • `"Google Play" top grossing mobile games 2026 site:sensor tower OR site:appfigures OR site:apptopia`
  • `"App Store" top free games 2026 site:sensor tower OR site:apptopia`
  • `"Flutter Flame" game examples 2026`

For each chart, extract at least 10 titles and their genre/mechanic (e.g. idle clicker, hyper-casual runner, match-3, tower defense, merge).

2. Competitor mapping

For the genre most aligned with `app_idea` (if provided), or the top 2 genres by chart frequency, fetch the store pages of 3-5 representative titles via WebFetch. Record for each:

  • Title, genre, core mechanic
  • Differentiating feature (what makes it stand out)
  • Approximate rating and download tier (if visible on the page)

3. Trend signals

Use WebSearch to look for "hypercasual game trends 2026" and "mobile game genre growth 2026". Extract 2-3 specific trend signals (e.g. "merge mechanics growing 40% YoY", "offline-playable games rising") to inform your proposals.

---

Propose & query

Synthesise your Discovery findings (and `app_idea` if provided) into exactly **2-3 concrete game concept proposals**. Each proposal must include:

| Field | Description | |---|---| | Title | Working title | | Tagline | One sentence (≤ 15 words) describing the core loop | | Core mechanic | What the player does every 10–30 seconds | | Differentiator | One thing that makes it distinct from existing top charts | | Flame suitability | Why Flutter/Flame is a good fit (≤ 2 sentences) | | Monetisation hook | How AdMob ads fit naturally (interstitial / rewarded / banner) |

Present the proposals in a numbered list that is easy to read.

Then branch on `auto_idea`:

If `auto_idea: false` (default) — ask the user

Use **AskUserQuestion** to ask the user to pick one or refine:

Which concept would you like to build?
Reply with the number (1, 2, or 3), or describe a variation.
If you are happy with one as-is, just type its number.

Wait for the user's response. If the user types a number, set the chosen concept to that proposal. If the user describes a variation, merge their input with the closest base proposal and confirm the merged concept with a follow-up AskUserQuestion before proceeding:

Got it. I'll build: <merged concept summary>.
Is this correct? (yes / describe further)

Repeat until the user confirms.

If `auto_idea: true` — auto-score and select (no user input)

Do **not** call AskUserQuestion. Score each of the 2-3 proposals against these weighted criteria and present a short scoring table:

| Criterion | Weight | |---|---| | Market fit | 30% | | Differentiation / clone-safety | 25% | | Flame suitability | 20% | | Monetisation fit | 15% | | MVP scope feasibility | 10% |

Score each criterion 0–10, multiply by its weight, and sum to a weighted total per proposal. Render the table (one row per proposal, one column per criterion, plus a Total column), then **select the proposal with the highest total** as the chosen concept. Print the choice and a one-line rationale, e.g. `Auto-selected: <title> (total 8.4/10) — strongest market fit with a clone-safe twist.` Then proceed to Clone avoidance. Do not query the user.

---

Clone avoidance

App Store guideline **4.3** prohibits apps that are copies of existing apps ("clone avoida

Read more
Ships withflutter-flame-harness

A Claude Code plugin that takes a Flutter/Flame game from raw idea all the way to the app stores.

Get the whole plugin

Other skills on flutter-flame-harness.