Install any skill in seconds. Free to start, no credit card required.
Get Started Free →randallliuxin/gecs
gecs ECS framework API reference — the Entity-Component-System addon for Godot 4.x used by this project. Covers Entity, Component, System, World, QueryBuilder, Relationship, Observer, CommandBuffer, SystemTimer.
Passed 21 of 22 test cases with the skill, and 10 of 22 without it.
and 13 more in the full report
11 fixed10 passed either way1 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 11 test cases the skill fixed. Same model, same prompt, with and without the skill.
In my Godot 4 game using gecs, I want to check if an entity has ANY ally relationship target active (a wildcard relationship search). Show the GDScript snippet using `Relationship` and `has_relationship`.
| Checked | Without skill | With skill |
|---|---|---|
| Passes null as target parameter in Relationship constructor | Missed | Passed |
The instructions your model reads when the skill loads.
$ARGUMENTS
gecs is the ECS backend for GodotMaker. It has zero LLM training data coverage — all API knowledge must come from this skill.
| gecs Class | Godot Base | Key Insight |
|---|---|---|
Entity | extends Node | Entity IS a Node — lives in scene tree, can have child nodes |
Component | extends Resource | Pure data, @export properties with defaults, no logic |
System | extends Node | Contains game logic, queries entities, placed in scene tree |
World | extends Node | Manages all entities/systems, archetype storage, query engine |
QueryBuilder | extends RefCounted | Chain API: with_all/with_any/with_none, auto-cached |
Relationship | extends Resource | Pair (relation_component, target), archetype-level indexing |
Observer | extends Node | Reactive: fires on component add/remove/change events |
CommandBuffer | extends RefCounted | Safe structural changes during iteration via cmd |
ECS | Autoload singleton | Global access: ECS.world, ECS.process(delta, group) |
# --- Component (pure data, extends Resource) ---
class_name C_Health extends Component
@export var current: float = 100.0
@export var maximum: float = 100.0
class_name C_Velocity extends Component
@export var direction: Vector3 = Vector3.ZERO
@export var speed: float = 100.0
# --- Entity (extends Node, define default components) ---
class_name Player extends Entity
func define_components() -> Array:
return [C_Health.new(), C_Velocity.new()]
func on_ready():
add_to_group("player")
test cases passed, vs 10 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.