gdscript-patterns SKILL.md skillA

gdscript-patterns from summerengine/summer is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add summerengine/summer/gdscript-patterns@git:20261010.4ade947

Pins git:20261010.4ade947 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
summerengine/summer
Path
library/skills/gdscript-patterns/SKILL.md
Versions recorded
3
Latest version
git:20261010.4ade947, committed Oct 10, 2026
First version recorded
Sep 1, 2026
Size
7,287 bytes
Repository stars
86
License
MIT

GDScript conventions — type hints, signals, exports, onready, lifecycle methods, get_node vs $NodePath, naming.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# GDScript Patterns for Summer Engine

When writing GDScript for Summer Engine projects, follow these patterns. They match the engine's GDScript 4 conventions and work well with MCP scene operations.

## Type Hints

Always use type hints for clarity and editor support:

```gdscript
var health: int = 100
var speed: float = 5.0
var player_name: String = ""
var velocity: Vector3 = Vector3.ZERO
var is_alive: bool = true
```

For nodes, use typed references:

```gdscript
@onready var collision_shape: CollisionShape3D = $CollisionShape3D
@onready var camera: Camera3D = $Camera3D
```

## Signals

Define signals at the top of the script, then emit them:

```gdscript
signal died
signal health_changed(new_health: int)
signal item_collected(item_name: String)

func take_damage(amount: int) -> void:
    health -= amount
    health_changed.emit(health)
    if health <= 0:
        died.emit()
```

When connecting via MCP, use `summer_connect_signal` with the emitter path, signal name, receiver path, and method name. The receiver script must have the method defined.

## Exports

Use `@export` for inspector-editable properties:

```gdscript
@export var move_speed: float = 5.0
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add summerengine/summer/gdscript-patterns@sha256:38f4e31f9be9b547

The line at the top of this page pins the label git:20261010.4ade947, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_yqoa2ntiqdldfjgx.svg)](https://markdownregistry.com/a/art_yqoa2ntiqdldfjgx)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 3 versions of this file, between Sep 1, 2026 and Oct 10, 2026, about one every 19 days.

versioncommittedcommitsizeaudit
git:20261010.4ade947 latest2026-10-10 4ade947 7,287 BA view · diff
git:20260911.b4df3582026-09-11 b4df358 7,268 BA view · diff
git:20260901.0837e7a2026-09-01 0837e7a 7,437 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (7287 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

summerengine/summer · 86 stars · license MIT · pushed 2026-10-20 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_yqoa2ntiqdldfjgx
GET https://markdownregistry.com/api/v1/resolve?ref=summerengine/summer/gdscript-patterns
GET https://markdownregistry.com/api/v1/blob/38f4e31f9be9b547ab085ba15028436281b3a9d1b0e985d03b9b2d5623080d87

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from summerengine/summer

AGENTS.md AGENTS.md file
summerengine/summer · AGENTS.md
git:20261010.8edeb3f · audit A · 86 stars
3d-lighting SKILL.md skill
summerengine/summer · library/skills/3d-lighting/SKILL.md · Set up 3D scene lighting — DirectionalLight3D vs Omni vs Spot, WorldEnvironment, sky, shadow tuning, ambient — per…
git:20261010.4ade947 · audit A · 86 stars
adaptive-music SKILL.md skill
summerengine/summer · library/skills/adaptive-music/SKILL.md · Wire music stems to game state — combat/explore/boss/tension crossfades on a shared bus, paired with a state machine…
git:20261010.4ade947 · audit A · 86 stars
agent-playtesting SKILL.md skill
summerengine/summer · library/skills/agent-playtesting/SKILL.md · Playtest by driving the LIVE game — deterministic launch, frame-stamped probes before/after each action, exact frame…
git:20260911.b4df358 · audit A · 86 stars
ai-characters-in-games SKILL.md skill
summerengine/summer · library/skills/ai-characters-in-games/SKILL.md · Safe AI characters in published games: no keys in the build, replies via Summer's player AI gateway, moderation, spend…
git:20261010.4ade947 · audit A · 86 stars
ambient-bed SKILL.md skill
summerengine/summer · library/skills/ambient-bed/SKILL.md · Generate a long looping location ambience — forest, dungeon, city, spaceship, cave — a looping AudioStreamPlayer on the…
git:20261010.4ade947 · audit A · 86 stars
animated-loop SKILL.md skill
summerengine/summer · library/skills/animated-loop/SKILL.md · Generate a short seamlessly-looping video clip — splash background, animated logo backdrop, idle title-screen footage —…
git:20261010.4ade947 · audit A · 86 stars
animation-tree SKILL.md skill
summerengine/summer · library/skills/animation-tree/SKILL.md · Design and wire AnimationTree state machines and blend trees so clips respond to gameplay — locomotion blends, attack…
git:20261010.4ade947 · audit A · 86 stars
art-direction SKILL.md skill
summerengine/summer · library/skills/art-direction/SKILL.md · Define the game's visual style — references, palette, mood, lighting plan, post-processing, do/don't list — output as…
git:20261010.4ade947 · audit A · 86 stars
asset-strategy SKILL.md skill
summerengine/summer · library/skills/asset-strategy/SKILL.md · Route any 'I need a [thing]' asset request to the right specialist skill — disambiguates 2D / 3D / audio / video / VFX…
git:20261010.4ade947 · audit A · 86 stars
audio-direction SKILL.md skill
summerengine/summer · library/skills/audio-direction/SKILL.md · Define the game's sonic identity — music style, instruments, SFX vocabulary, dynamic music plan — output as an audio…
git:20261010.4ade947 · audit A · 86 stars
auto-fire-targeting SKILL.md skill
summerengine/summer · library/skills/auto-fire-targeting/SKILL.md · Design or fix auto-fire weapon targeting (survivors, top-down ARPG, tower defense) — the pending-damage pattern that…
git:20261010.4ade947 · audit A · 86 stars

Every file in summerengine/summer

Browse by kind, by grade A, or by owner.