agentsclimarketplace

Unikit gd brainstorm

Skill NintendaDev/unikit-ai/skills/unikit-gd-brainstorm

AI-Powered Code Toolkit for Game Engines

Install
npx -y skills add NintendaDev/unikit-ai --skill unikit-gd-brainstorm

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 16 stars16 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Ideate a brand-new game concept with the user, from a blank page or a one-line hint to a finished CONCEPT card. Use it whenever the user wants to come up with a new game — whether the project has no design document yet, or already has one and they're exploring a fresh idea. Through a structured divergence/convergence dialogue it explores ideas, frames the hook, generates and scores concepts (market validation delegated to /unikit-gd-explore), and settles pillars, loops, motivation, and a pre-mortem. Trigger whenever the user wants to make or invent a game, doesn't know where to start, or gives a genre/theme hint, e.g. "let's come up with a game", "I don't know what game to make", "I want to make a roguelike", "a game about zombies", "a farming game", "help me come up with a concept". For researching or dissecting existing games use /unikit-gd-explore; to write an already-chosen concept as the master GDD use /unikit-gd-spec.

SKILL.md

32.5 KB, as published. Nobody here has run it

Game Design — Concept Brainstorming

Generate game ideas with the user and crystallize the chosen one into a CONCEPT card at .unikit/gamedesign/concepts/<date>_<slug>/CONCEPT.md, with the rejected ideas parked in IDEAS.md. This is the ideation front of the design pipeline — it produces concepts; unikit-gd-spec turns a concept into GAME.md and a system map.

This skill generates new ideas. Analyzing an existing game or market (reference dissection, trade-off tables) is unikit-gd-explore. The distinguishing test: five concept cards → brainstorm; a comparison table → explore.

Language Awareness — BLOCKING PRE-REQUISITE

BEFORE producing ANY output, silently read .unikit/system/LANGUAGE_RULES.md and apply it to all output and artifacts (fall back to English if it is missing) — including the rule to translate concepts, not transliterate jargon. gd-principles → "Language" adds the game-design specifics: which IDs and stored field values (e.g. market_signal: red-ocean) stay English. Do not announce the language setting.

Bootstrap (MANDATORY)

Before responding, silently load — do not narrate:

  1. .unikit/system/gamedesign/gd-principles.md (the core) — the collaborative protocol (Question → Options → Decision → Draft → Approval, Explain → Capture), the "never guess" rule, anti-anchoring, the language rules. This skill applies it. If missing, warn (unikit-ai update) and continue with the protocol summarized above.
  2. .unikit/memory/gamedesign/RULES_INDEX.md — load on demand by Load When the rules ideation leans on: frameworks (MDA, SDT/PENS, Flow), player-motivation (Quantic Foundry, Bartle), core-loops. Re-read at skill start; never rely on a prior conversation's cache. Obey the index's Rule-Loading Discipline: load by Load When, load a reference only from its parent rule's > **References**:, and never glob the memory tree (.unikit/memory/gamedesign/**) to discover rules.
  3. {{skills_dir}}/{{self_name}}/references/methods.md — the method cheat-sheets (divergence/convergence techniques, HMW, pre-mortem, find-the-fun). Do not load up front — read on demand, per phase: when you enter a phase that points to it (Phases 1, 3, 4, 5, 7.5, 8, 8.5), read that section then. The phase summaries below carry the workflow; methods.md carries the deep "how", so a resume or a phase that needs no method theory never pays for it.
  4. {{skills_dir}}/{{self_name}}/references/tables.md — the canonical shapes of every output table the phases emit (Phases 2, 3, 4, 5, 6, 7, 8, 8.5). Read on demand when you enter a phase that emits a table; it is the single source of truth for those tables — SKILL.md and methods.md only point to it, never re-spell a table.
  5. .unikit/DESCRIPTION.md (optional) — existing project constraints, if this is ideation inside an established project.
  6. .unikit/RULES.md (if present) — project overrides, highest priority.

Market validation is delegated, not ad-hoc. This skill does not research the market inline or early — early data anchors timid ideas (anti-anchoring, gd-principles). Market evidence enters at Phase 3.5, where brainstorm spawns unikit-gd-explore as a subagent to scan the shortlist and return a brief into this session. The delegation interface — the brief's fields, the canonical marker, the four-verdict gate — is the contract at {{skills_dir}}/unikit-gd-explore/references/delegation-contract.md, loaded on entering Phase 3.5 (per-phase, like methods.md), not up front; brainstorm reads that interface, never explore's engine (market-scan.md). General WebSearch / WebFetch lookups remain available as read-only advisors — they never write and never substitute for the Phase 3.5 scan.

Phase 0 — Auto-Resume (no flags)

Brainstorming runs across many turns, so this step looks in the concepts index for an unfinished concept that matches the hint and offers to continue it — a session interrupted by a /clear or a closed terminal is never lost.

Read .unikit/gamedesign/concepts/INDEX.md (if it exists). Each row carries a slug, title, keywords, status (in-progress | complete | promoted | abandoned), and the last phase reached. Semantically match the user's hint against the rows:

  • A live in-progress concept matches the hint →

    AskUserQuestion: Found "<title>" — you left off at phase <N>. What now?
    Options:
    1. Continue "<title>" from phase <N> (recommended)
    2. Start a fresh concept
    3. List all concepts
    
  • No match, or the user chooses fresh → start a new concept (new dated slug).

promoted and abandoned concepts are never offered for resume, but their IDEAS.md is read so the session does not re-pitch a killed idea. Repeated brainstorms always create new slug directories.

On resume, jump to the saved phase — including the fractional phases 3.5, 7.5, and 8.5 (a session interrupted mid-scan, mid-flow-seeds, or mid-validation resumes there, not back at 3, 7, or 8); on a fresh start, begin at Phase 1.

Phases 1–9

Run the phases in order. Each phase below is the workflow; its deep method detail lives in references/methods.md — read that section when you reach the phase, not up front. Diverge and converge as separate moves — never score an idea as you generate it.

How to respond in each phase

  • Go deep, not terse. Each phase is a consultation, not a form to fill in. When you present options, loops, pillars, or risks, explain the reasoning in a few sentences — the framework it draws on, the comparable game that proves it, the trade-off it carries — not a bare one-line bullet. The user is making a creative decision and needs the why, not just the what. A phase answered in a single line is almost always too thin; spend the words.
  • Open every phase with its purpose. The italic line under each heading below says what the phase is and why it exists — orient the user the same way in your own words before you dive into the questions, so no phase arrives unexplained.
  • Readable plain markdown only. Number options and concepts with plain 1. / 2. and label variants A) / B). Never use circled or enclosed glyphs (①②③, 🅰🅱, Ⓐ) or other decorative unicode — they render as boxes or unreadable smudges in most terminals. Bold, short tables, and plain headings carry all the structure you need.

Phase 1 — Creative Discovery (+ commercial frame)

Find the seed before generating anything: who you are designing for, the feeling you are chasing, and what "success" means commercially. This is what makes every idea that follows aimed and yours, instead of generic.

Ask about the person, not the game: emotional anchors, three games they love and what those left them wanting, plus constraints (solo/team, deadline, engine, experience). Synthesize a Creative Brief (3–5 sentences) and confirm it.

Then capture a commercial frame (one screen, kept separate from the person questions):

  • Target outcome tier — hobby / recoup / commercial.
  • Target platform — ask explicitly, never default to Steam (the four options below). Platform is a market-shaping decision, not a deployment detail.
  • Budget / team size — solo / small team / funded. A reachability constraint: a clone-dense mobile market is unreachable without a UA budget, however good the concept. Phase 3.5 reads demand as reachable vs someone else's against it, and passes it to the delegated scan as the budget/team input.
  • Target session length — shapes platform fit (web rewards short instant loops; premium PC tolerates long sessions); sets the card's platform-fit sanity line (field 8).
  • Monetization intent — premium / F2P-IAP / ads / portal rev-share / none. Feeds the T8 monetization_fit read in Phase 3.5 (monetization_intent in the scan).
  • Scan modequick / standard / deep for the Phase 3.5 delegation; standard is the default, quick for an early red-ocean sweep of 3–4 concepts.
  • Kill-readiness — drop on bad data, or passion-project regardless?

Platform options (name a lead even for cross/console):

  1. PC / Steam — wishlist-driven, long tail, premium or early-access pricing.
  2. Mobile — store-feed and UA-driven, F2P norms, short sessions, clone-dense.
  3. Web / instant — portal- and embed-driven (itch, CrazyGames, Poki): instant play, near-zero install friction, ad/portal economics.
  4. Cross / console — still name a lead platform; one store shapes every later signal.

The platform steers the Phase 3.5 scan (each platform has its own demand signals, sources, and clone-density; the cross-market rule turns a mobile/web target into a Steam demand-check plus a target-store clone-check — full per-platform table and the cross-market rule in references/methods.md § Phase 1).

Anti-anchoring boundary (explicit). Structural platform facts (mobile is clone-dense; web rewards an instant hook; Steam is wishlist-driven) may inform this frame now — they are not about any specific concept and do not anchor divergence. Concept-specific demand data (does this idea sell, how many clones of this concept exist) is withheld until Phase 3.5, after divergence.

The frame scopes Phase 3.5; it does not censor divergence. A user with no commercial intent leaves it empty — that is valid and skips Phase 3.5 (market-signal then stays an ordinary Pugh judgment, not a delegated scan).

Phase 2 — How-Might-We Framing

Recast the brief as open "How might we…" questions that invite many answers instead of smuggling in one solution. Good framing is what keeps the next step — divergence — genuinely wide.

Reframe the brief as 3–5 "How might we…" questions (positively framed, no baked-in solution). Present them as a table so the user can weigh the framings side by side instead of reading a flat list, and mark the strongest (Recommended) with a one-line WHY; the user picks one to diverge on. The table's columns and a worked example live in references/tables.md § Phase 2 (the single source of truth for this table).

Phase 3 — Divergence

Generate breadth on purpose: five concepts from five different idea-generators, so the field is genuinely varied and not five repaints of the first thought. Hold all judgment for later — quantity now, scoring in Phase 4.

Generate five concepts using five different methods (verb-first, genre mashup with the intersection-audience caveat, experience-first/MDA-backward, world-first, constraint-first — each method's prompt and source in references/methods.md § Phase 3). Render each concept as its own nine-field card — a Field | Value table so the fields stay aligned and scannable instead of buried in prose. Then, after the five cards, present one comparison table across all of them: the shortlist decision is a side-by-side judgment ("which two hooks are strongest?") that five separate cards cannot support at a glance. The nine fields, the comparison columns, and worked examples of both live in references/tables.md § Phase 3 (the single source of truth for these tables).

Once the five are on the table, ask the user how to proceed — and offer three distinct moves, not just "pick some":

  1. Shortlist 2–4 to carry forward into validation / scoring.
  2. Five moreextend the field with a stimulus method (random input / SCAMPER / Lotus Blossom) built on the current favorite; keeps what is working and pushes for adjacent variety.
  3. Regenerate from scratchdiscard this whole batch and generate five new concepts from different methods or a different How-Might-We angle. This is the right call when none of the five land or they all feel like one idea wearing five hats. The discarded batch still goes to IDEAS.md (with its revival condition) so nothing is silently lost or re-pitched later.

Phase 3.5 — Market validation (delegated to explore) — gated

Pressure-test the shortlist against the real market — does a reachable audience exist, and is there unmet room for it — delegated to explore so brainstorm never grades a market from memory. It runs after divergence, on purpose: early data anchors timid ideas.

Gate: run this phase only if Phase 1 produced a non-empty commercial frame. Empty frame → skip; market-signal stays an ordinary Phase 4 judgment, no subagent.

Run after divergence, on the user's shortlist (2–4 concepts) — never earlier (early data anchors timid ideas; gd-principles). brainstorm does not research the market itself — it delegates to unikit-gd-explore and consumes the evidence.

Load the contract first. On entering this phase, read {{skills_dir}}/unikit-gd-explore/references/delegation-contract.md — the interface this delegation follows: the brief's fields, the canonical marker, and the four-verdict gate. brainstorm reads that interface, never explore's engine (market-scan.md). (Hard-code the unikit-gd-explore path — it is not {{self_name}}.)

Delegate — spawn explore as a subagent and wait for the return. Expands to:

Agent(
  subagent_type: "general-purpose",
  prompt: "/unikit-gd-explore <commercial frame incl. target platform + budget/team + shortlist>. scan_mode: <quick|standard|default standard>. Validate cross-market per the platform rule. Return the brief into this session as text; do not save any files.",
  description: "Market-validate the shortlist",
  skills: ["unikit-gd-explore"]
)

Pass scan_mode explicitly: standard is the default; use quick for an early 3–4 concept red-ocean sweep (it returns C-capped signals — enough to flag, not to commit on). Carry the budget/team slot from the commercial frame as a reachability input; until Phase 1 captures it, it arrives unknown and the scan degrades gracefully (never fabricates a budget read). Substitute the real frame values into the <…> placeholders.

Fallback (no Agent tool). If the Agent tool is unavailable in this environment, do not print the delegation as a recommendation — that is a known failure mode where the model renders the call instead of running it. Instead, invoke /unikit-gd-explore inline as a real skill call, passing the same commercial frame + shortlist and the canonical marker verbatim, and wait for its brief. If skill invocation is also unavailable, run the scan yourself inline with WebSearch / WebFetch against the technique catalogue in unikit-gd-explore/references/market-scan.md (comparable mapping, demand classification, review mining, and the cross-market rule above), and label every finding with the same market_signal + validation_confidence fields so the rest of the flow is unchanged.

The prompt MUST carry the canonical marker verbatim, on one line:

"Return the brief into this session as text; do not save any files."

so explore runs its market lens deterministically and persists nothing (the contract). The subagent returns, per concept, market_signal + validation_confidence + a short evidence brief into this session.

Carry the platform — the cross-market rule. A market is platform-specific (a genre that thrives on Steam can be a clone-saturated graveyard on mobile, and the reverse happens too), so the delegation prompt names the target platform from Phase 1 and, for a non-PC target, asks explore to validate across markets: prove the genre on Steam (the clearest demand signal even when you ship elsewhere), then scan the target store for clones, then read the gap — Steam-proven + no strong clone on the target store is the prize; Steam-proven but the target store already clone-dense is a red ocean on the platform that actually matters. The mechanics of that rule live in references/methods.md § Phase 1, and the scan engine that runs it in unikit-gd-explore/references/market-scan.md. Report the read per platform in the brief; it feeds the kill gate below.

Consume — the calling session owns persistence:

  • Lift the six machine fields (market_signal, validation_confidence, clone_density, trend_fit, monetization_fit, recommendation) verbatim into the CONCEPT card header machine-block, outside the nine-field table (the card stays "nine fields, no more").
  • Distil key_evidence and go_to_market_risk (comparables, the unmet need, the reach risk) into the card's ## Notes — not just the machine fields.
  • Write no researches/ file — that directory is explore's; a delegated scan is evidence for this concept, carried in the card.

Decision gate — four verdicts, not a binary. Consume the brief's recommendation per concept and surface it before Phase 4 scoring (the contract's gate table):

VerdictMeaningAction
proceedwhite-space, confidence ≥ Bcarry into Phase 4 as a strong candidate
proceed-with-differentiationcontested, conf ≥ B, a clear twist existscarry forward; sharpen the hook
validate-laterwhite-space/contested at conf C, or unknowncarry forward but route the open risk to the Phase 8.5 validation plan
pivotred-ocean but an adjacent white-space existscross-pollinate (below): graft the under-competed angle onto a stronger concept; render the hybrid as a full nine-field card
killred-ocean, no adjacent white-space, unreachable at scopepark in IDEAS.md with a revival condition

Never silently carry a kill/pivot concept forward, and never proceed or kill on unknownunknown always routes to validate-later. The gate informs; the user decides.

Cross-pollinate before you cut (the pivot verdict). A red-ocean concept is not only a kill candidate — it is also raw material, and the gate's pivot verdict routes here rather than to kill. When one shortlisted concept reads red-ocean while another reads white-space / contested, do not just drop the crowded one: proactively offer a genre mash-up that grafts the under-competed concept's angle onto the stronger one (the genre-mashup divergence method, with its intersection-audience caveat — the hybrid must please both audiences, not merely exist). A saturated genre often hides a strong twist the moment it is crossed with a fresher one. The hybrid is a new candidate concept, so present it as a full nine-field concept card — the same Field | Value table as Phase 3 (references/tables.md § Phase 3), not a loose prose pitch — so it is directly comparable to the shortlist; route it to Phase 4 / Phase 8.5. Recommend it when the evidence supports it, but never impose it — the user decides.

Phase 4 — Convergence (two-pass Pugh) → incremental write

Now judge. A two-pass Pugh matrix scores the survivors on locked creative criteria first, then on the market evidence — keeping the two apart so optimism can never out-vote data. Pugh scoring just compares each option against criteria to rank them transparently.

Score the surviving concepts with a two-pass Pugh matrix (full method, the hard rule, and the market-signal vs market_signal terminology in references/methods.md § Phase 4 + § Content velocity):

  • Pass 1 — creative (lock before the scan): hook / scope-fit / team-fit / personal-fire / content-velocity — can the design feed itself cheaply (procedural / systemic / competitive / UGC), or does every play-hour cost author-hours of hand-made content? A low-velocity model is a hidden scope and live-game risk, scored here as a real feasibility axis, not a footnote.
  • Pass 2 — evidence (from the Phase 3.5 brief, only if it ran): market-signal + validation-confidence.

Hard rule: the market-signal score may not exceed what validation-confidence allows — an unproven market read cannot win on optimism. Show the two passes as two separate tables (columns and a worked matrix in references/tables.md § Phase 4) — kept apart so locked creative scores and market evidence never share a column; the user weights, arithmetic transparent. If Phase 3.5 was skipped, market-signal is scored as an ordinary Pass-1 judgment. Use How-Now-Wow if "I like all of them". Do not approve a hybrid whose winning bet rests on a low-confidence market assumption — route it to Phase 8.5 instead. Select or hybridize. Rejected concepts go to IDEAS.md (idea, essence, reason, revival condition). Persist now — write the chosen card draft and IDEAS.md; an interruption after this loses nothing.

Phase 5 — Loop Stack

Map the nested gameplay loops — from the 30-second core action up to the meta-game — plus the discoverability loops that decide whether anyone starts and comes back. This is the spine of moment-to-moment fun and the first read on whether the game retains.

Define the nested loops (30 s / 5 min / session / meta) plus the discoverability loops (first-session → retention, the 6-second trailer moment, the "one more run" retention hook — full detail in references/methods.md § Phase 5). Then audit SDT (Autonomy / Competence / Relatedness — flag if only 1 of 3 is served) and game feel (does the core verb get ≤100 ms, multi-channel feedback? — Swink). Present all three as tables — the loop stack, the SDT audit, the game-feel check — so a gap (an unserved need, a flat verb) is visible at a glance rather than lost in prose. Columns and worked examples are in references/tables.md § Phase 5 (the single source of truth).

Phase 6 — Pillars & Anti-Pillars → incremental write

Pillars are the 3–5 load-bearing design values every later decision gets tested against ("does this serve a pillar?"). Anti-pillars name what the game deliberately refuses to be — together they keep scope honest and decisions consistent.

Derive 3–5 pillars: active, each serving ≥1 emotion, each with a design test and mutual tension; reject empty pillars and task-pillars. For each pillar add Evidence (the data / comparable that justifies it — ideally the Phase 3.5 brief's review-mining) and a Cut rule (what is cut first under scope pressure); a pillar with no evidence is a slogan — flag it. Add ≥3 anti-pillars ("We will NOT <X> because PIL-n"); the brief's review-mining (love / hate / wish) feeds these. Present the pillars and anti-pillars as two tables — a pillar carries five columns (emotion, design test, evidence, cut rule) that only line up under scrutiny in a grid, and the table makes a sloganeering pillar (empty evidence cell) impossible to hide. Columns and worked examples are in references/tables.md § Phase 6. Run a Lock / Rename / Swap cycle. Persist now.

Phase 7 — Player Motivation (player + buyer)

Pin who this is for psychologically (what drives them to play) and commercially (what makes them buy or wishlist) — and, just as sharply, who it is NOT for. A concept that serves everyone usually moves no one.

Quantic Foundry: the user ranks the top 3 of 12 motivations; the skill checks them against the pillars and loops. Set MDA primary/secondary and a one-line Bartle read. Then separate player from buyer: the buying trigger and the quitting / refund trigger (from the Phase 3.5 brief when it ran), plus an explicit anti-persona — "who this is NOT for". Capture the whole read as one table (player psychology → buyer triggers → anti-persona) — columns and a worked example in references/tables.md § Phase 7.

Phase 7.5 — Scenario / Flow seeds

Turn the loops (Phase 5) and pillars (Phase 6) into the dynamics seeds the Flow axis picks up downstream — this does not author flows, it seeds them (as Phase 6 seeds the pillars the spec later formalizes).

Draft 3–5 scenario prompts (the concrete player situations the game must deliver, each anchored to a pillar), a candidate wiring mode per scenario (linear / conditional / emergent — a candidate only; /unikit-gd-flow confirms it), and flow seeds (1–3 draft GOAL-shaped objectives + the systems each would exercise, GOAL → SYS). Drafts, not registered ids — full method in references/methods.md § Phase 7.5. The seeds ride into Phase 9's Open Questions / Next Steps for the Flow axis (/unikit-gd-explore flow lens → /unikit-gd-flow); brainstorm never writes a FLOW.md or GD-IDS.

Phase 8 — Pre-mortem & Scope → incremental write

Klein's pre-mortem: imagine it is six months out and the project already failed — treat that as a fact — and list why. The certainty framing surfaces the doubts optimism normally hides, so you can cut scope down to the part that proves the fun.

Run Klein's pre-mortem verbatim ("six months from now the project failed — that is a fact — why?" — the certainty framing is the technique; references/methods.md § Phase 8): 8–12 reasons across fun / scope / market / tech / team / content (ran out of content, or it got too slow/expensive to make — the content-velocity risk as a failure mode). Present the 8–12 reasons as a table (reason · category · real? · mitigation — references/tables.md § Phase 8); the user marks the real ones; mitigate only those. Then settle the platform, the MVP cut — does the chosen scope match how fast you can actually ship content? — and the find-the-fun test (Cerny: the smallest prototype that proves or kills the core; references/methods.md § Phase 8). Persist now.

Phase 8.5 — Validation Plan & Kill Criteria

Turn each real risk the pre-mortem found into the cheapest test that proves or kills it before full production — every test with a pass threshold, a deadline, and explicit kill-criteria numbers. The goal: spend the least to retire the biggest risk.

For each Critical risk the pre-mortem marked real, design the cheapest test that proves or kills it before building the full game (the test catalogue — fake-door Steam page / prototype / Discord poll / capsule A/B, each with its typical signal — in references/methods.md § Phase 8.5). Each test names a pass threshold + deadline + the risk it retires. State 2–4 explicit kill criteria with numbers (reuse the Phase 3.5 brief's benchmarks, e.g. genre wishlist medians). Present both as tables — the validation tests and the kill criteria — per references/tables.md § Phase 8.5. This is where a low-confidence market bet from Phase 4 gets a cheap real-world check instead of a taste call. Record the tests and kill criteria in the card's ## Notesno separate file (brainstorm owns one card, not a research bundle).

Phase 9 — Record & Handoff

Lock the finished concept into one approved CONCEPT card and hand off to the next step. The card is the only artifact that survives the session, so it must carry the reasoning and the market evidence, not just the verdict.

Present the complete CONCEPT card for one approval ("not yet" → edit sections, do not split the approval). When Phase 3.5 ran, the card must carry the market evidence so it is traceable: the six machine fields (market_signal, validation_confidence, clone_density, trend_fit, monetization_fit, recommendation) in the header block and the distilled argument in ## Notes (no researches/ file was written — the card is the citation). Set the card header (> Status: drafted · Version: 1 · Created: <date>).

Also set the descriptive genre: hint in the header — a human genre name inferred from the concept (the elevator-pitch [genre] slot, e.g. «симулятор ломбарда», «match-3 головоломка»). It is an intent, not a catalog id: write what the game is, even if no genre-profile is named that. unikit-gd-spec resolves this hint best-fit to a bundled profile and installs it downstream. Brainstorm stays CLI-free here — it never runs unikit-ai genres list / genres install and never recommends or installs a profile; the genre catalog is consumed at spec, not here (this avoids the chicken-and-egg of an empty profile before install). Leave genre: empty/soft when no clear genre — unikit-gd-spec's universal baseline covers it.

Set the INDEX row status to complete. Then recommend the follow-up (do not auto-invoke).

Writing the Artifacts

mkdir -p .unikit/gamedesign/concepts/<date>_<slug>
  • CONCEPT.md — the nine-field card with a ## Notes section for the reasoning the table cannot hold (rejected alternatives, inspirations, the Phase 3.5 market argument, the Phase 8.5 validation tests). When Phase 3.5 ran, the header carries a machine block with the six machine fields (market_signal, validation_confidence, clone_density, trend_fit, monetization_fit, recommendation) outside the nine-field table (the table stays "nine fields, no more"). These underscore fields are evidence — distinct from the hyphenated market-signal Pugh criterion. Header: > Status: <exploring|drafted|approved> · Version: 1 · Created: <date>. Also a > genre: "<descriptive hint>" header field — the human genre name (intent, not a catalog id; Phase 9). CLI-free: brainstorm writes the hint only; unikit-gd-spec resolves it to a profile and installs it.
  • IDEAS.md — the rejected-idea backlog: each entry is idea · essence · reason (scope / not-fun / off-theme / duplicate) · revival condition.
  • concepts/INDEX.md — prepend (newest first) a row: slug · title · keywords · status · last phase · market_signal (the last column blank when Phase 3.5 was skipped). Create with a > Auto-maintained by /unikit-gd-brainstorm. Do not edit manually. header if absent. Update the existing row's status/phase on resume.

Final: Compact Report & Next Steps

The terminal plaque (TIER A — gd-principles → Language: names lead, status is a plain phrase; the pillar ids live in GAME.md / GD-IDS):

Concept: <title>  (.unikit/gamedesign/concepts/<date>_<slug>/)
Status: <still a draft | approved>  ·  reached phase 9
Pillars: <name>, <name>, …   Anti: <n>   MDA: <primary>/<secondary>
Find-the-fun: <the prototype that proves the core>
Rejected → IDEAS.md: <n>

Next steps (do not auto-invoke):

  • 🗺️ Build the master spec — /unikit-gd-spec <slug>
  • 🔬 Research a reference or the market — /unikit-gd-explore <topic>

Prototype-first is also valid — validate the find-the-fun before specing.

No summary document, no report file.

Ownership Boundaries

  • Owns: .unikit/gamedesign/concepts/CONCEPT.md, IDEAS.md, and the concepts INDEX.md.
  • Not this skill: GAME.md + the system map → unikit-gd-spec; analyzing an existing game/market → unikit-gd-explore; per-system GDDs → unikit-gd-system.
  • Never: write a concept without approval; offer promoted/abandoned concepts for resume; read the code workspace or project source.

Quick Reference

/unikit-gd-brainstorm                         → blank-page ideation (or resume from index)
/unikit-gd-brainstorm cozy farming roguelike  → seed divergence with a hint
/unikit-gd-brainstorm                         → auto-resumes a matching in-progress concept

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.