thedivergentai/godot-game-loop-collection
Expert collection-loop systems for collectible IDs, scavenger hunts, completion archives, nearest-item compass UI, hidden spawners, and persistent find-all-X progress. Use when implementing collectibles, scavenger hunts, completion% archives, or compass-guided item hunts. Keywords: collectible_id, scavenger_hunt, collection_manager, collection_compass, completion_archive, hidden_item_spawner, find_all, collectible_item.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-game-loop-collection
Stable collectible IDs → manager → compass → save. Not generic game-loop boilerplate.
body_entered can re-fire on re-entry; gate with "already collected" / one-shot disable of monitoring.get_path().queue_free() collectibles with zero juice and no ID commit — Commit ID first (signal), then VFX, then free.ResourceLoader (see references).call_deferred only.item_id (unique) + collection_id (hunt), one-shot Area pickupregister_item() + get_remaining_ids()item_id is still in manager remaindersOptional: hidden_item_spawner.gd for randomized hunts; collection_loop_patterns.gd for advanced loop/MainLoop helpers.
item_id per instance and hunt collection_idstart_collection(id, item_ids) then register_item(id, item_id)collection_manager and query get_remaining_ids()Serialize the manager’s collected item_id set per collection_id (PackedStringArray via get_collected_ids() / restore_collected_ids()), not node paths. Reload: manager restores set → collectibles self-disable if item_id already owned.
Grid of icons: uncollected modulate silhouette; reveal when manager signals that ID. UI never invents collected state.
> MANDATORY for threaded loads, MainLoop helpers, and archive/save depth: collection-loop-advanced.md. Do NOT Load for simple fixed-ID scavenger hunts.
> 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.
body_entered pickup volumes for 3D collectibles and layer/mask setup so only the player triggers collection.get_nodes_in_group / call_group without hard-coded node paths._physics_process / physics frames; throttle compass/UI work in _process.physics_frame, and current_scene ownership used by collection state transitions.ResourceLoader.load_threaded_request / status polling so large collectible levels do not hitch the main thread.FileAccess under user://.direction_to / get_angle_to for nearest-collectible compass pointing.item_collected / collection_updated wiring from pickups into the manager and UI.@onready, and resource basics before wiring managers, markers, and collectible scenes.match, await, and deferred calls used throughout collection managers and loop patterns.collection_updated.queue_free so pickups feel responsive.Take thedivergentai/godot-game-loop-collection from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.