Battle Animations & Timing

Register battle move animations in AnimFramework and validate timing with BattleAnims.

2|Updated Feb 10, 2026
One-click install
npx skills add https://github.com/gabathanasiou/Pokemon-battle-modular --skill battle-animations-timing
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Battle Animations & Timing
Source: https://github.com/gabathanasiou/Pokemon-battle-modular/tree/main/.agent/skills/battle_animations
Command: npx skills add https://github.com/gabathanasiou/Pokemon-battle-modular --skill battle-animations-timing

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide helps developers maintain authentic Game Boy Color-era battle visuals by enforcing precise sequencing for Entry, Hit, and Faint animations, while leveraging a data-driven Animation Framework to keep changes modular.

Core Features & Use Cases

  • Data-driven framework: The system uses AnimFramework with a registry-driven approach (AnimFramework, registry/core.js, elemental.js, physical.js, nature.js, steel.js, mystic.js) and a high-level BattleAnims API to orchestrate animations.
  • Deterministic sequencing: Defines timing rules for Entry, Attack hits, and Faint transitions, with data-driven definitions and deterministic playback.
  • Workflow & safety: Outlines the standard pipeline (resolveSingleHit → applyDamage → triggerHitAnim) and supports patterns like the skipAnim flag for moves that supply their own visuals.
  • Developer guidance: Instructions to consult docs/ANIMATION_DIRECTORY.json before adding new animations, and how to add a new move animation using AnimFramework.register with an 8-bit style.

Quick Start

Register a new move animation with AnimFramework and verify its timing in a test battle.

Frequently Asked Questions about Battle Animations & Timing

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

FAQPage Schema
How do I add a new move animation to a battle system using a registry framework?

To register a new move animation, use the AnimFramework.register API to define the sequence, then verify the timing precision in a test battle. Consult docs/ANIMATION_DIRECTORY.json before adding new animations to ensure proper discovery and integration.

What is the correct timing sequence for Game Boy Color-style battle animations?

Battle animations require deterministic sequencing for Entry, Attack hit, and Faint transitions. The standard workflow pipeline follows the resolveSingleHit → applyDamage → triggerHitAnim sequence to maintain authentic G/S-style timing precision during playback.

How does a data-driven animation framework handle custom move visuals?

A data-driven animation framework supports a skipAnim flag for moves that supply their own visuals, bypassing the standard pipeline. This ensures safe fallbacks during execution while keeping custom animation overrides modular.

Can I use modular registry files to organize battle animations by elemental type?

Yes, the system organizes registry files by category, including core.js, elemental.js, physical.js, nature.js, steel.js, and mystic.js. This modular approach keeps animation definitions separated by type for consistent discovery and integration.

What frontmatter metadata is required when registering battle move animations?

Registering battle move animations requires specific frontmatter metadata, front-end assets, and runtime APIs. These requirements ensure consistent discovery, integration, and safe fallbacks during execution within the AnimFramework.

Why do my custom battle animations fail during execution despite correct registry setup?

Execution failures often occur when front-end assets or runtime APIs are missing, or when the skipAnim flag is incorrectly applied. Validate timing with BattleAnims and ensure all frontmatter metadata meets the integration requirements.