All skills
thedivergentai avatar

/godot-genre-educational

@9d6e91e

Expert blueprint for educational games including gamification loops (learn/apply/feedback/adapt), progress tracking (student profiles, mastery %), adaptive difficulty (target 70% success rate), spaced repetition, curriculum trees (prerequisite system), and visual feedback (confetti, XP bars). Use for learning apps, training simulations, or edutainment. Trigger keywords: educational_game, gamification, adaptive_difficulty, spaced_repetition, student_profile, curriculum_tree, mastery_tracking.

Use this Skill: https://skilld.dev/gh/thedivergentai/gd-agentic-skills/godot-genre-educational

This session only. Nothing lands on disk.

SKILL.md

β‰ˆ130 tokens always: the name and description. β‰ˆ3.3k when used: this file. β‰ˆ2.2k more on demand in 2 files.

NEVER Do (Expert Anti-Patterns)

Pedagogy & Flow

  • NEVER punish failure with a "Game Over"; strictly use "Try Again" or Contextual Hints to ensure a safe, encouraging learning environment.
  • NEVER separate learning from gameplay ("Chocolate-covered broccoli"); strictly ensure the mechanic IS the learning (e.g., math-based trajectory calc).
  • NEVER use walls of text for instructions; strictly use Show, Don't Tell methods: interactive diagrams, non-verbal tutorials, or 3-second looping GIFs.
  • NEVER skip Spaced Repetition logic; strictly ensure successfully answered questions reappear at increasing intervals to verify long-term retention.
  • NEVER focus on failure; strictly prominently display Mastery %, XP Bars, and Skill Trees to motivate through visible progress.
  • NEVER assume a fixed difficulty; strictly implement Dynamic Scaffolding that adjusts challenge based on the student's mastery level to keep them in the "Zone of Proximal Development".
  • NEVER hardcode student stats in UI components; strictly use Resource scripts (StudentProfile) to decouple student data from the presentation layer for persistence and scalability.
  • NEVER build custom debug dashboards for performance tracking during development; strictly use Performance.add_custom_monitor() to inject live student metrics into the Godot Editor Debugger.

Technical & Accessibility

  • NEVER hardcode text into UI; strictly use Translation Keys (PO files) for internationalization and classroom localized support.
  • NEVER force TTS without user consent; strictly provide an in-game toggle and respect OS-level screen reader settings.
  • NEVER use absolute pixel positioning; strictly use the Anchoring & Container system for responsive scaling across tablets and classroom laptops.
  • NEVER perform heavy data grading on the main thread; strictly use WorkerThreadPool to prevent UI freezes during automated assessments.
  • NEVER forget to handle IME updates; strictly monitor NOTIFICATION_OS_IME_UPDATE for complex character input support (e.g., East Asian).
  • NEVER ignore mouse_filter on overlays; strictly set to PASS to prevent invisible containers from silently consuming clicks.
  • NEVER update static strings in _process(); strictly update labels ONLY on state change events to save mobile/tablet battery.
  • NEVER embed sensitive database credentials in exports; strictly use Environment Variables or proxy APIs for student data security.

Available Scripts

MANDATORY: Read the script matching the scenario before implementing. Do not paste quiz/profile tutorials inline.

Pedagogy / Adaptivity

Accessibility / Classroom UI

Assessment UX


Core Loop

  1. Learn β†’ 2. Apply β†’ 3. Feedback β†’ 4. Adapt β†’ 5. Master

Skill Chain

Phase Skills Purpose
1. UI godot-ui-rich-text, godot-ui-theming Readable text, drag-and-drop answers
2. Data godot-save-load-systems Student profiles, progress tracking
3. Logic godot-state-machine-advanced Quiz flow (Question β†’ Answer β†’ Result)
4. Juice godot-particles, godot-tweening Making learning feel rewarding
5. Meta godot-scene-management Navigating between lessons and map
6. Balance godot-monte-carlo-balancer Override bands to ~70% flow / mastery

Architecture Decision Tree

Pick the owner script; keep SKILL free of duplicate StudentProfile / quiz_manager paste-ups.

Need Decision MANDATORY script
Track mastery / XP / badges One StudentProfile Resource + ConfigFile I/O student_progress_config.gd
Keep learners in flow (~70%) Windowed success ratio + hint branch adaptive_difficulty_adjuster.gd
Long-term retention Interval queue (success β†’ longer delay; fail β†’ sooner) spaced_repetition_scheduler.gd
Prerequisite lesson map Curriculum Resource graph (id + required_topics) β€” data only, no UI Peer godot-resource-data-patterns
Grade without hitching Offload scoring threaded_scoring_engine.gd
Classroom a11y TTS + locale + focus + anchors tts_manager / dynamic_localization / focus_navigation_manager / adaptive_ui_anchors
Live debugger metrics Performance.add_custom_monitor("edu/...") β€” no custom dashboards (inline one-liner OK)

StudentProfile (single shape): @export mastery Dictionary + XP; emit change signals; persist via student_progress_config.gd. Do not redefine the class twice in this skill.

Quiz curtain: state machine owns Question β†’ Answer β†’ Result β†’ Adapt; spaced-repetition + adaptive-difficulty scripts decide what is next β€” do not inline a full quiz_manager.gd tutorial here.

Juice (Duolingo Effect)

Learning is hard β€” reward effort: satisfying SFX, particles on correct, Tweened XP bars. Pedagogue first; juice never substitutes for spaced repetition / ZPD scaffolding.

Common Pitfalls

  1. Chocolate-Covered Broccoli β€” mechanic must be the learning.
  2. Punishing Failure β€” Try Again / hint, never Game Over for wrong answers.
  3. Wall of Text β€” show/interact first; use text_reveal_effect / rich-text meta.

Expert knowledge (on demand)

LLM-ignorance rule: If a general agent would not know it before reading, load the reference β€” never delete expert deltas.

Reference

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

Official Documentation

  • Internationalizing games β€” tr() / locale workflow for classroom multi-language UI without hardcoding strings.
  • Localization using gettext β€” PO/CSV pipeline and plural forms used by runtime locale switching.
  • Text-to-speech β€” DisplayServer TTS voices, speak/stop, and consent-friendly accessibility read-aloud.
  • BBCode in RichTextLabel β€” Colored keywords, formulas, meta links, and custom RichTextEffect reveals for lessons.
  • Using Containers β€” Responsive quiz/layout composition for tablets and classroom laptops.
  • Size and anchors β€” Anchor/offset rules that replace absolute pixel placement across orientations.
  • Keyboard/Controller Navigation and Focus β€” Focus neighbors and grab_focus patterns for keyboard-only classroom navigation.
  • Resources β€” StudentProfile / curriculum node Resources decoupled from presentation.
  • Saving games β€” Persist mastery, XP, and progress without baking credentials into exports.
  • Using multiple threads β€” WorkerThreadPool grading so heavy assessment never freezes the quiz UI.
  • Pausing games β€” Tree pause + process_mode so assessments freeze world logic while UI stays interactive.
  • Performance β€” Custom monitors, low-processor mode, and battery-friendly idle screens for ed apps.

Related Skills

Prerequisites
  • godot-project-foundations β€” Project locale, display, and input map defaults must exist before classroom UI and TTS toggles.
  • godot-gdscript-mastery β€” Typed Resources, signals, and await patterns underpin student profiles and quiz flow.
  • godot-ui-containers β€” Anchors/containers are the non-negotiable layout base for multi-device lesson screens.
Complements
  • godot-ui-rich-text β€” BBCode, meta clicks, and custom effects for glossaries and formula-heavy prompts.
  • godot-ui-theming β€” Readable theme scales and contrast for mixed tablet/laptop classrooms.
  • godot-save-load-systems β€” Durable StudentProfile / mastery persistence beyond ad-hoc ConfigFile snippets.
  • godot-tweening β€” XP bars, confetti timing, and overlay fades that sell the β€œDuolingo effect.”
  • godot-signal-architecture β€” Mastery-up, hint-revealed, and difficulty-changed events without UI↔logic hardwiring.
  • godot-input-handling β€” Focus actions, drag-and-drop answers, and IME-safe text entry for assessments.
Downstream / consumers
  • godot-monte-carlo-balancer β€” Simulate override bands so adaptive difficulty actually lands near ~70% flow/mastery success.
  • godot-state-machine-advanced β€” Question β†’ Answer β†’ Result β†’ Adapt quiz FSMs once the curtain grows beyond one script.
  • godot-scene-management β€” Lesson map ↔ quiz ↔ results transitions without leaking paused tree state.
  • godot-performance-optimization β€” Escalate when scoring threads, TTS, or rich-text effects still show profiler cost on school hardware.
  • godot-particles β€” Confetti/reward bursts wired to correct-answer juice without blocking pedagogy.
Master
  • godot-master β€” Library router and mirrored module entry; open when discovering which Domain Skill owns a cross-cutting educational concern.

Source: SKILL.md on GitHub

1 warning17d4 checks Β· Risk SAFE
  • Gen Agent Trust Hub17d

    The skill provides blueprint patterns for educational game development in Godot, focusing on pedagogy, accessibility, and performance. It follows safe practices for local data persistence and multi-threading. A minor security surface was identified regarding the ingestion of student data without explicit sanitization, which is typical for local game logic but noted for completeness.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW Β· No issues

  • Runlayer7mo

    2/2 files flagged

Signed by skilld at 9d6e91e. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 weeks ago.

Activeupdated 2 months ago

README badge

README badge for thedivergentai/gd-agentic-skills/godot-genre-educational