summer-board-modeling is a skill from the Summer skill library: a guide your AI agent reads when the task matches, so it builds the good version on the first try. How granular to model a game on its Summer Board: what earns a type, what stays a note or a field, and starter type sets per genre.
When your agent uses it
- Before defining the first types on a Summer Board, or when a board’s types feel too many or too few
- A person asks how to organise characters, levels or items on the board
Install
summer setup installs every skill for your agent. To add only this one:
claude-code for your agent, such as codex or cursor. See Skills for every option.
The skill
Types are for the things a game has many of and the code reads. Everything else is notes. A board with 6 good types is easy to read; one with 25 thin ones is a mess nobody keeps up to date. When unsure, model less: adding a type later is easy, merging two is work for a person. Defining them without duplicates:summer-board-types.
1. Does it earn a type?
A thing earns a type when all three are true:- There are 3 or more of it, now or soon. One hook, one pitch, one world are notes.
- They share 2 or more fields people compare. “Which boss has the most hp?” means hp is a field and Boss things are cards.
- The game will use the data, or the art and sound work needs it. A list nobody builds from is a note list.
2. One type with a choice, or two types?
Start with one type and a choice field. Split only when the kinds need 3 or more different fields.- Hero, NPC, enemy, boss: one Character with
role. They all have a name, a look and hp. - Sword, potion, key: one Item with
kind, until weapons need damage, range and rate and potions need none of them. Then Weapon splits off and Item keeps the rest. - Forest level, ice level: one Level with
biome. Never a type per level.
Dragon type with one card) is always wrong: that is a card.
3. Field or linked type?
- A value: a field.
hp,biome,price. - A list of plain words: an array of strings.
tags,palette. - A thing with its own fields, used in more than one place: its own type, linked with
x-ref. A boss’s drops are Items; a level’s boss is a Character. - Never nest: if you want an object inside an object, that inner thing is a type.
4. Which fields earn a place
Keep a field if it changes play, or someone builds from it:- Play: hp, damage, speed, cost, cooldown, unlock_level, spawn_rate, duration.
- Build: look (one line for art), palette, size, sound (one line), the links to other cards.
- Track: nothing. Status and owner come from the card’s task; do not add
status,doneorassigned_tofields.
enum over free text when the game branches on it (role, biome, rarity).
Keep types short: 4 to 10 fields. More than 12 usually means two types in one.
5. How many types
- Starting a game: 3 to 6. See
starter-sets.mdfor the genre. - A full game: rarely more than 12. Over 15, look for types to merge (section 2) and propose it.
- A type with 1 or 2 cards after a while is probably a note or a choice value in another type.
6. Grow it when the need is real
- A person keeps writing “hp 30” in notes: time for a field.
- Three notes describe the same kind of thing: time for a type, and turn the notes into cards.
- Agents keep asking “which X are left”: X should be cards with tasks.
Examples
Too fine:From a shell
No Summer MCP tools in this session? Run each one as a command; whensummer --version is missing or below 4.0, use npx -y summer-engine@latest in place of summer. Fields are flags in kebab-case (--scene-path res://main.tscn) or one --input '<json>', and summer ops describe <op> prints the exact input. The summer-cli skill has the rest.
Files in this skill
Related skills
summer-board: Summer Board co-op: tasks, claims, files, card frames.summer-board-types: Define and reuse types on a Summer Board (Character, Level, Item) so ideas become typed cards: read the board’s types first, reuse before you define.
Source:
library/skills/summer-board-modeling/SKILL.md, rendered from summer-engine@4.9.1 on npm.
