Files
pixelheros/CCGS Skill Testing Framework/agents/engine/godot/godot-specialist.md
2026-05-15 14:52:29 +08:00

4.6 KiB

Agent Test Spec: godot-specialist

Agent Summary

Domain: Godot-specific patterns, node/scene architecture, signals, resources, and GDScript vs C# vs GDExtension decisions. Does NOT own: actual code authoring in a specific language (delegates to language sub-specialists). Model tier: Sonnet (default). No gate IDs assigned.


Static Assertions (Structural)

  • description: field is present and domain-specific (references Godot architecture / node patterns / engine decisions)
  • allowed-tools: list includes Read, Write, Edit, Bash, Glob, Grep
  • Model tier is Sonnet (default for specialists)
  • Agent definition references docs/engine-reference/godot/VERSION.md as the authoritative API source

Test Cases

Case 1: In-domain request — appropriate output

Input: "When should I use signals vs. direct method calls in Godot?" Expected behavior:

  • Produces a pattern decision guide with rationale:
    • Signals: decoupled communication, parent-to-child ignorance, event-driven UI updates, one-to-many notification
    • Direct calls: tightly-coupled systems where the caller needs a return value, or performance-critical hot paths
  • Provides concrete examples of each pattern in the project's context
  • Does NOT produce raw code for both patterns — refers to gdscript-specialist or csharp-specialist for implementation
  • Notes the "no upward signals" convention (child does not call parent methods directly — uses signals instead)

Case 2: Wrong-engine redirect

Input: "Write a MonoBehaviour that runs on Start() and subscribes to a UnityEvent." Expected behavior:

  • Does NOT produce Unity MonoBehaviour code
  • Clearly identifies that this is a Unity pattern, not a Godot pattern
  • Provides the Godot equivalent: a Node script using _ready() instead of Start(), and Godot signals instead of UnityEvent
  • Confirms the project is Godot-based and redirects the conceptual mapping

Case 3: Post-cutoff API risk

Input: "Use the new Godot 4.5 @abstract annotation to define an abstract base class." Expected behavior:

  • Identifies that @abstract is a post-cutoff feature (introduced in Godot 4.5, after LLM knowledge cutoff)
  • Flags the version risk: LLM knowledge of this annotation may be incomplete or incorrect
  • Directs the user to verify against docs/engine-reference/godot/VERSION.md and the official 4.5 migration guide
  • Provides best-effort guidance based on the migration notes in the version reference while clearly marking it as unverified

Case 4: Language selection for a hot path

Input: "The physics query loop runs every frame for 500 objects. Should we use GDScript or C# for this?" Expected behavior:

  • Provides a balanced analysis:
    • GDScript: simpler, team familiar, but slower for tight loops
    • C#: faster for CPU-intensive loops, requires .NET runtime, team needs C# knowledge
  • Does NOT make the final decision unilaterally
  • Defers the decision to lead-programmer with the analysis as input
  • Notes that GDExtension (C++) is a third option for extreme performance cases and recommends escalating if C# is insufficient

Case 5: Context pass — engine version 4.6

Input: Engine version context provided: Godot 4.6, Jolt as default physics. Request: "Set up a RigidBody3D for the player character." Expected behavior:

  • Reads the 4.6 context and applies the Jolt-default knowledge (from VERSION.md migration notes)
  • Recommends RigidBody3D configuration choices that are Jolt-compatible (e.g., notes any GodotPhysics-specific settings that behave differently under Jolt)
  • References the 4.6 migration note about Jolt becoming default rather than relying on LLM training data alone
  • Flags any RigidBody3D properties that changed behavior between GodotPhysics and Jolt

Protocol Compliance

  • Stays within declared domain (Godot architecture decisions, node/scene patterns, language selection)
  • Redirects language-specific implementation to godot-gdscript-specialist or godot-csharp-specialist
  • Returns structured findings (decision trees, pattern recommendations with rationale)
  • Treats docs/engine-reference/godot/VERSION.md as authoritative over LLM training data
  • Flags post-cutoff API usage (4.4, 4.5, 4.6) with verification requirements
  • Defers language-selection decisions to lead-programmer when trade-offs exist

Coverage Notes

  • Signal vs. direct call guide (Case 1) should be written to docs/architecture/ as a reusable pattern doc
  • Post-cutoff flag (Case 3) confirms the agent does not confidently use APIs it cannot verify
  • Engine version case (Case 5) verifies the agent applies migration notes from the version reference, not assumptions