thedivergentai/gd-agentic-skills

godot-theme-easter

Apply a Classic Easter seasonal overlay: pastel Theme/StyleBox injection, confetti/shimmer VFX, elastic juice, mesh surface_override painting, cursor/audio swaps, and a date-window activation gate with player opt-out.

First seen Feb 16, 2026

Installation

$ npx skills add thedivergentai/gd-agentic-skills --skill godot-theme-easter

Summary

  • Apply a Classic Easter seasonal overlay: pastel Theme/StyleBox injection, confetti/shimmer VFX, elastic juice, mesh surface_override painting, cursor/audio swaps, and a date-window activation gate with player opt-out.
  • Use when shipping holiday skins, April events, or egg-hunt juice without mutating shared .mesh/.tres assets.
  • Keywords: pastel, seasonal Theme, StyleBox, confetti, Easter egg, surface_override, TRANS_ELASTIC, Disable Seasonal Themes, activation gate.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from thedivergentai/gd-agentic-skills · top by installs.

npx skills add thedivergentai/gd-agentic-skills

Browse all from thedivergentai/gd-agentic-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 678
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents cursor

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 12,599 B
  • docs SUMMARY.md 493 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 181 installs

SKILL.md

Overview

Seasonal "Easter-fy" toolkit: bright pastels, bouncy juice, egg/bunny iconography — gated by calendar + settings.

MANDATORY first read: [easterseasonalactivationgate.gd](scripts/easterseasonalactivationgate.gd) — date window, Disable Seasonal Themes opt-out (user://settings.cfg), and Dev Override. Call refreshactivation() when settings change; never poll the calendar in process.

Prerequisite: Do NOT Load godot-ui-theming until a base Theme resource exists — seasonal overlays inject StyleBox overrides; they do not replace foundational Theme authoring.

Seasonal Bootstrap (ordered)

  1. Gate — Attach [easterseasonalactivationgate.gd](scripts/easterseasonalactivationgate.gd); call refreshactivation() on ready and when settings change.
  2. Theme — If gate active: MANDATORY [easterruntimeuithemer.gd](scripts/easterruntimeuithemer.gd) using tokens from [easterpastelcolorpalette.gd](scripts/easterpastelcolorpalette.gd).
  3. AudioMANDATORY [easterseasonalaudioswapper.gd](scripts/easterseasonalaudioswapper.gd) to map standard UI SFX → seasonal streams.
  4. Juice — Layer confetti/shimmer/cursor/wobble scripts only after steps 1–3 pass (gate off = skip 2–4 entirely).

Decision Tree — Alternate Painters (pick one)

Context Use Do NOT also wire
3D mesh seasonal tint via surface_override [eastermeshpainteroverride.gd](scripts/eastermeshpainteroverride.gd) [easterpaletteoverride.gd](scripts/easterpaletteoverride.gd) on same mesh
2D/modulate or material slot swap already wired [easterpaletteoverride.gd](scripts/easterpaletteoverride.gd) or [seasonalmaterialswapper.gd](scripts/seasonalmaterialswapper.gd) mesh_painter on the same target

Core Components (Expert Easter Tools)

[easterseasonalactivationgate.gd](scripts/easterseasonalactivationgate.gd)

MANDATORY — Date-aware manager with opt-out + Dev Override.

[easterpastelcolorpalette.gd](scripts/easterpastelcolorpalette.gd)

Single source of truth for pastel Color tokens — do not hardcode hex lists in SKILL bodies or random scripts.

[easterruntimeuithemer.gd](scripts/easterruntimeuithemer.gd)

Runtime theme injector for applying mass pastel styles across the UI tree.

[eastersquashstretchjuice.gd](scripts/eastersquashstretchjuice.gd)

Expert 'Squash and Stretch' logic for organic egg-like interactions using Tweens.

[eastershimmervfxemitter.gd](scripts/eastershimmervfxemitter.gd)

Professional 'Hidden Item' shimmer effect with additive blending and scale curves.

[eastereggcollectiontracker.gd](scripts/eastereggcollectiontracker.gd)

Expert registry for tracking hidden items with signal-based progression signals.

[eastermeshpainteroverride.gd](scripts/eastermeshpainteroverride.gd)

Seasonal 3D material swapper using surface overrides to preserve base assets.

[easterwobblephysicsbody.gd](scripts/easterwobblephysicsbody.gd)

Instability-driven physics body for 'Egg-like' wobbly movement.

[eastercamerapopjuice.gd](scripts/eastercamerapopjuice.gd)

Immersive FOV 'kick' logic to emphasize collection or pop events.

[easterconfetticanonvfx.gd](scripts/easterconfetticanonvfx.gd)

Celebratory confetti explosion with multi-colored pastel flakes.

[eastercustomcursormanager.gd](scripts/eastercustomcursormanager.gd)

Expert logic for swapping system mouse cursors with themed Easter icons.

[easterseasonalaudioswapper.gd](scripts/easterseasonalaudioswapper.gd)

Dynamic audio resource loader that replaces standard UI sounds with seasonal variants.

[easterpaletteoverride.gd](scripts/easterpaletteoverride.gd) / [seasonalmaterialswapper.gd](scripts/seasonalmaterialswapper.gd)

Alternate painters — see Decision Tree — Alternate Painters above; pick one path per target.

Visual Guidelines

  • Colors: Import tokens from [easterpastelcolorpalette.gd](scripts/easterpastelcolorpalette.gd) (PINK, BLUE, YELLOW, MINT, PURPLE) — never paste ad-hoc hex laundry lists into features.
  • Shapes: Rounded corners (corner_radius > 8–12). Avoid sharp edges / high-contrast blacks.
  • VFX: Confetti, sparkles, ribbons via confetti/shimmer scripts.

NEVER Do (Expert Easter Rules)

Aesthetics & Juice

  • NEVER use sharp edges or high-contrast blacks — Easter aesthetics favor rounded corners (corner_radius > 12) and soft pastel tones.
  • NEVER use standard linear scaling for pops — Linear scaling feels 'robotic.' Always use TRANSELASTIC or TRANSQUART for organic eggs.
  • NEVER use billboarding for Easter particles — In close-up UI or VR, billboard sparkles look flat. Use mesh-based particles or axial rotation.

Logic & Performance

  • NEVER modify the original .mesh or .tres resource — Swapping materials on a shared Resource changes it for EVERY instance in the game. Always use surface_override or duplicate().
  • NEVER run date-checks in process — Checking the system calendar every frame is wasteful. Run Time.getdatedictfromsystem() once on ready or event trigger via the activation gate.
  • NEVER ignore the 'No-Seasonal' toggle — Some players hate seasonal overrides. Always provide a 'Disable Seasonal Themes' option in settings (wired through the gate's ConfigFile keys).

Elite Theming Hooks

  • Dynamic Z-Ordering: Use RenderingServer.canvasitemsetdrawindex() to dynamically move collected egg particles to the front of the UI stack without reparenting nodes.
  • Physics Interpolation: When using TRANSELASTIC tweens on physics-driven eggs, invoke RenderingServer.canvasitemresetphysics_interpolation() to prevent visual "jitter" on the first frame of the pop animation.
  • StyleBox Overrides: Use Control.addthemestyleboxoverride("panel", mystylebox) instead of modifying the global Theme to isolate seasonal changes to specific UI modules.

Expert Easter Implementation

1. Custom-Mouse-Cursor (Juice)

MANDATORY: [eastercustomcursormanager.gd](scripts/eastercustomcursormanager.gd) — always set a hotspot (bunny-ear tip / base).

2. Themed-Sound-Loaders

MANDATORY: [easterseasonalaudioswapper.gd](scripts/easterseasonalaudioswapper.gd) — Resource map of original → seasonal AudioStream pairs.

3. World-Environment-Override (Spring Glow)

Tween Environment ambient/tonemap/fog during a transition — never hard-cut colors mid-frame.

func _apply_spring_env(env: Environment) -> void:
    var tween := create_tween()
    tween.tween_property(env, "ambient_light_color", EasterPastelColorPalette.YELLOW, 2.0)
    tween.tween_property(env, "tonemap_exposure", 1.2, 2.0)
    tween.tween_property(env, "fog_light_color", EasterPastelColorPalette.BLUE, 2.0)

Deep recipes (on demand)

LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.

Topic Reference
Cursor / audio / env recipes [seasonal-implementation-recipes.md](references/seasonal-implementation-recipes.md)

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API;
load Related Skills when routing work to a peer domain — do not preload the whole lattice.

Official Documentation

Related Skills

Prerequisites

Complements

Downstream / consumers

Master

  • godot-master — Library router and mirrored module entry for seasonal themes.