Expert blueprint for turn-based combat with turn order, action points, phase management, and timeline systems for strategy/RPG games. Covers speed-based initiative, interrupts, and simultaneous turns. Use when implementing turn-based combat OR tactical systems. Keywords turn-based, initiative, action points, phase, round, turn order, combat.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-turn-system
Turn order calculation, action points, phase management, and timeline systems define turn-based combat.
duplicate() or apply queue modifications after the loop.call_group(); strictly use call_group_flags(SceneTree.GROUP_CALL_DEFERRED, ...) to prevent frame spikes when notifying hundreds of units.can_perform_action(cost) before applying current_ap -= cost to prevent exploits.if phase == 0); strictly use an enum + match or a dedicated State Machine for Draw/Main/End phases.==) for AP checks; strictly use >= or is_equal_approx() for robust comparisons.AStar2D for tile grids; strictly use AStarGrid2D for 10x faster pathfinding and native diagonal handling.update() on AStarGrid2D after changing obstacle states; if you toggle set_point_solid(), the grid MUST refresh before the next query.while loops for input; strictly use the await keyword or signals to yield execution back to the Tree.is_action_pressed(); strictly use is_action_just_pressed() for discrete, frame-locked menu input.| Need | Choose | MANDATORY script |
|------|--------|----------------------|
| Discrete rounds (chess / tactics / card phases) | Round + initiative queue + AP phases | turn_system_patterns.gd |
| Continuous gauges (FF-style ATB) | Per-actor gauge fill in _process | active_time_battle.gd |
| Timeline / CTB with interrupts & prediction | Event timeline + predictive UI | timeline_turn_manager.gd |
> Do NOT invent a fourth model inline. Read the matching script before coding.
AStarGrid2D board helpers.Keep the Autoload thin. Do not paste full queue math here — implement in the script chosen above.
# turn_manager.gd (AutoLoad) — contract only
extends Node
signal turn_started(combatant: Node)
signal turn_ended(combatant: Node)
signal round_ended
signal turn_timed_out(combatant: Node) # multiplayer: server default-pass
func start_combat(participants: Array[Node]) -> void: pass
func end_turn() -> void: pass
func request_pass(combatant: Node) -> void: pass # default action on timeout
Referenced from NEVER: server owns the clock; clients never decide "pass."
turn_started, server starts a one-shot Timer / SceneTreeTimer (authoritative).request_pass(current) (or auto-end-turn), then emits turn_timed_out.func can_perform_action(cost: int) -> bool:
return current_action_points >= cost
func perform_action(cost: int) -> bool:
if not can_perform_action(cost):
return false
current_action_points -= cost
return true
Phases: prefer enum Phase { DRAW, MAIN, END } + match, or route to godot-state-machine-advanced. Full ATB / timeline math lives in the MANDATORY scripts — do not duplicate Elite snippets here.
> LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.
| Topic | Reference |
|-------|-----------|
| ATB / prediction / previews | elite-turn-patterns.md |
> Progressive disclosure: open Official Documentation links only when researching a specific API;
> load Related Skills when routing work to a peer domain — do not preload the whole lattice.
_process vs _physics_process vs pure event steps.await sequencing for multi-phase turns.A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take thedivergentai/godot-turn-system 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.