godot-ability-system

Implements Resource-driven ability systems with cooldowns, combos, and skill trees in Godot.

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/DecioLuvier/Shatterless --skill godot-ability-system-decioluvier
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: godot-ability-system
Source: https://github.com/DecioLuvier/Shatterless/tree/main/.claude/skills/godot/references/godot-ability-system
Command: npx skills add https://github.com/DecioLuvier/Shatterless --skill godot-ability-system-decioluvier

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Building RPG or action-game ability systems in Godot often leads to hardcoded manager logic, frame-dependent cooldown bugs, shared Resource mutation across characters, and misplaced global state that breaks multiplayer authority. ## Core Features & Use Cases - Resource-Driven Abilities: Define abilities as Resources with virtual execute() methods, managed by scene-scoped AbilityManager or AbilityContainer scripts. - Cooldown & Status Management: Physics-frame cooldown ticking, global cooldown anti-spam, charge-based abilities, and status effects with duplicate(true) protection against shared .tres mutation. - Combos, Skill Trees & Networking: Windowed combo chains with finishers, prerequisite-based skill trees that grant Resources to casters, and predicted casts with server-authoritative validation. - Use Case: When adding an unlockable dash ability with charges and a cooldown to a Godot 4 character, this Skill provides the AbilityResource definition, scene-scoped manager wiring, and save-safe cooldown persistence using absolute end timestamps. ## Quick Start Ask the AI to create a new ability with a cooldown for your Godot character using the ability_resource.gd and ability_manager.gd scripts from this Skill.

Frequently Asked Questions about godot-ability-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement ability cooldowns in Godot?▼

Implement ability cooldowns in Godot using a scene-scoped AbilityManager that ticks timers in _physics_process, not _process, so cooldowns stay deterministic under frame spikes. Each ability is a Resource with its own cooldown entry in the manager's registry.

How to build a skill tree with prerequisites in Godot?▼

Build a skill tree using SkillNode and SkillTreeManager scripts that model prerequisite graphs and point spending as progression data. The tree grants ability Resources to the caster's scene-scoped manager rather than casting through a global Autoload.

Why do status effects affect all characters sharing one .tres in Godot?▼

Status effect templates mutate every character sharing the asset because Resources are shared by reference. Always apply effect_template.duplicate(true) when adding a status effect at runtime so each character gets an independent copy.

Should ability managers be Autoloads in Godot multiplayer?▼

No, live cast state and cooldowns should live in a scene-scoped manager on the caster, because a global Autoload breaks encapsulation and multiplayer authority. Autoloads may store unlock ranks and progression data only.

How do I save cooldowns without exploits in Godot?▼

Persist absolute end timestamps using Time.get_unix_time_from_system() plus remaining time, not raw remaining floats. On load, subtract the current time to recover remaining cooldown, preventing clock rollback or reload exploits.