Help us improve
Share bugs, ideas, or general feedback.
From summer
Captures game-development session learnings into Summer Engine's skill library, making ad-hoc fixes durable and reusable for future agents and users.
npx claudepluginhub summerengine/summer-engine-agent --plugin summerHow this command is triggered — by the user, by Claude, or both
Slash command
/summer:gameskillThe summary Claude sees in its command listing — used to decide when to auto-load this command
You are capturing what we just learned in this game-development session into Summer Engine's skill library, so the next agent (and every Summer user) gets to start where we ended. This is the meta-skill: the loop that turns ad-hoc fixes into durable, reusable expertise. ## What "Summer Engine" is, so you're grounded Three repos, one ecosystem: 1. **`~/development/SummerEngine`** — the desktop engine (Godot fork in C++) + the canonical CLI. The engine source lives at `editor/`, `core/`, and the Summer-specific module at `modules/1summer_engine/`. The Summer CLI lives at `tools/summer-cli...
/fire-add-new-skillAdds new skill to skills library via interactive wizard from session context, RECORD.md summary, or manual input. Guides through problem, category, name, pattern, code examples, security checks, and saves.
/skill-create-gameCreates a new reusable game development skill from a proven pattern, producing structured output with assumptions, risks, and documentation updates.
/learn-evalExtracts reusable patterns from the session, self-evaluates quality via checklist and verdict, determines Global or Project save location, and saves approved skills.
/create-skillCreates a new Claude Skill with YAML frontmatter in personal or project directory. Validates inputs, checks existence, analyzes for bundled resources, and adds scripts/, references/, or assets/ directories as needed.
Share bugs, ideas, or general feedback.
You are capturing what we just learned in this game-development session into Summer Engine's skill library, so the next agent (and every Summer user) gets to start where we ended.
This is the meta-skill: the loop that turns ad-hoc fixes into durable, reusable expertise.
Three repos, one ecosystem:
~/development/SummerEngine — the desktop engine (Godot fork in C++) + the canonical CLI. The engine source lives at editor/, core/, and the Summer-specific module at modules/1summer_engine/. The Summer CLI lives at tools/summer-cli/. It ships as npm i -g summer-engine. It does install/login/create/run for the engine, plus summer skills install --as-claude-skill which writes a curated subset of skills into ~/.claude/skills/ for any agent to auto-discover.~/development/PublicSummerEngine — the web app at summerengine.com. Has its own AI skill stores at src/lib/ai/skills/bundled/ and public/knowledge/summer/skills/ for the in-browser chat agent. ALSO has its own MCP-style consumers of the engine API (src/lib/bridge/direct-executor.ts, src/lib/ai/tools/run-and-verify.ts) which call the same engine endpoints the CLI does.~/development/<game-name> (Godot 4.6) or whatever game we were just working on. Real working code in this repo is the gold standard for examples.The skill system is the value flywheel: every game we ship teaches lessons → the lessons become skills → the next user (or AI) starts smarter. Your job here is to close that loop for what we just did.
When the lesson is "the engine should expose more / behave differently," the change usually crosses repo boundaries. Map the layers before you edit:
[active game] → calls MCP / web app
↓
[summer-cli MCP server (TypeScript)] → calls /api/ops + /api/state/* on the engine
↓
[Summer Engine binary (C++ in SummerEngine repo)] — source of truth for what the API can return
[PublicSummerEngine web app (TypeScript)] → also calls the same engine endpoints via direct-executor or Redis bridge
Implications:
SummerEngine/modules/1summer_engine/ or SummerEngine/editor/ reaches everyone (CLI MCP, web app, future tools). Most powerful, also highest blast radius.tools/summer-cli/src/mcp/ only changes what the CLI exposes. The web app has its own TypeScript layer in PublicSummerEngine/src/lib/bridge/ — same engine endpoints, different glue. Don't assume your CLI tool change is web-app-aware.tools/summer-cli/skills/ affects every agent that runs summer skills install. The web app's skill store is separate (PublicSummerEngine/src/lib/ai/skills/bundled/) and currently uses a different format (template wizards, not Markdown discipline guides). Don't try to mirror skills there blindly.When you change an engine endpoint's response shape (add fields, rename fields, change semantics):
tools/summer-cli/src/ and PublicSummerEngine/src/lib/ for consumers of that endpoint.Engine binary changes ship via a rebuild + new release. The user has to pull the new engine for the change to take effect. CLI/web TypeScript changes ship via npm publish or web deploy. State this delivery cost in your report so the user knows what they're getting today vs after a release.
~/development/SummerEngine/tools/summer-cli/skills/
ui-and-ux, gameplay-mechanics, character-controllers, scripting-patterns, visual-effects, debugging, rendering-and-lighting, scene-and-project, level-design, audio, ai-and-npcs, asset-pipeline, performance, deployment, multiplayer-and-networking, plus workflow for process skills.skills: array in .claude-plugin/plugin.json is the registry. Sibling shared docs live at top-level references/; test specs at top-level tests/.~/.claude/skills/ (currently 7 skills, written here by summer skills install --as-claude-skill).~/development/PublicSummerEngine/src/lib/ai/skills/ and public/knowledge/summer/skills/. Mirror only if the learning applies to the web chat agent too — check what's there before assuming.One short sentence to the user. "Capturing learnings from this session into the skill library." That's it. No plan dump.
Probe the stores. Glob each path above. Note what exists and what's empty. Print a tight summary (one line per domain with skill count).
Recap the session. Look back over the conversation. Pull out the learnings that are non-obvious AND general — things a future agent or user would benefit from but couldn't derive from reading the codebase. Examples that count:
visual-effectsscripting-patternsui-and-uxdebugging.keys() weirdness, signal gotchas) → scripting-patternsai-and-npcs or gameplay-mechanicsperformanceasset-pipelineExamples that DON'T count:
CLAUDE.md or an existing skillDecide placement. For each learning:
One tight pause for the user. Five-to-ten lines max: what files you'll touch, what each one captures, what gets left out. Wait for OK or redirect. Don't ask multiple questions.
Apply.
.md files under tools/summer-cli/skills/<domain>/..claude-plugin/plugin.json (plus .codex-plugin/, .cursor-plugin/) AND in src/lib/skills-registry.ts SKILL_REGISTRY. Both are required.~/.claude/skills/<name>/ so it's live in the current session — and tell the user to consider adding it to the CLI's default install set.PublicSummerEngine skill stores too.git status in ~/development/SummerEngine (and PublicSummerEngine if touched) so the diff is visible.Report. One short message. Files changed, the future-agent payoff in one sentence per skill, and what (if anything) is still uncaptured.
[SUMMER] markers on core Godot engine file edits — but skill .md files don't need them.It's totally fine to come back with "session was tactical, no durable learnings worth a skill update." Don't manufacture skills from thin air. Better to ship nothing into the skill library than ship noise.