new-project 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. Create a blank Summer Engine project: ask for the project name and run summer create empty.
When your agent uses it
- The user wants a fresh blank Summer Engine project — from scratch, blank canvas
- Starting a Summer Engine project with no template, only a name, ready for an empty main scene
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
Use this when the user wants a blank project instead of a template.When to use this skill
- “Let’s start a new project.”
- “I want to make a [game type] from scratch.”
- “Blank project.”
- “Empty project.”
- “I don’t want a template, just a blank starting point.”
When NOT to use this skill
- “Show me templates” / “use a template” →
browse-templates. - “Make me a game” with a defined idea → run
brainstorm-gamefirst to scope, then come back here once the user knows what they want. - “I have an existing Godot project I want to import” → not this skill; have the user run
summer open <path>directly.
Steps
1. Ask the project name
One question, no menu:“What do you want to call your project?”Default:
my-game. If they say “anything is fine” or similar, use my-game and move on. The directory name is reversible — they can always rename.
2. Pick the starting scene
Two built-in options:empty— rootNode3Donly. Pure blank canvas. Best for: experimentation, when the user knows exactly what they want to build.3d-basic— rootNode3DwithCamera3D,DirectionalLight3D, a floorMeshInstance3D, and aWorldEnvironment. Best for: first-time users who want something they can press Play on.
“Empty (just a root node) or 3d-basic (camera, light, and a floor — you can press play immediately)?”If the user has clearly invoked
brainstorm-game already and the brief calls for 3D, default to 3d-basic and mention you did. If 2D, use empty (we don’t ship a 2D-basic yet).
3. Create
project.godot and the chosen main.tscn. It makes no network call.
4. Open it
summer run fails, run summer doctor and surface the failure to the user.
5. Don’t keep going automatically
After scaffolding, stop and let the user direct. A common mistake: firefps-controller or design-mechanic automatically because “now we make a game.” Wait. The user might want to:
- Brainstorm what to build (
brainstorm-game) - Set the visual direction (
art-direction) - Jump straight into a known mechanic (
design-mechanic) - Build a specific controller (
fps-controller)
Anti-patterns
Edge cases
- Engine not running → that’s fine.
summer createdoesn’t need the engine. After scaffolding,summer run <name>will start it. - User wants 2D but
emptyis the only 2D-friendly built-in → useempty, then set up a 2D scene root viasummer_replace_node(Node3D → Node2D). Mention this — don’t surprise the user. - Directory exists → the CLI errors out. Ask for a different name; don’t try to overwrite.
Closing
End with: “Project<name> is created and open. What do you want to build first?”
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.
Related skills
make-game: Orchestrate ‘make me a game’: brainstorm, plan, scaffold, mechanics, art, audio, polish, verify, ship.
Source:
library/skills/new-project/SKILL.md, rendered from summer-engine@4.3.0 on npm.
