animation-tree

animation-tree is a skill for Claude Code from ouzlifaneyassine1-dot/onyx-engine. It costs 93 tokens per session (3,685 once invoked), scanned A, a copy of animation-tree, MIT.

A tool for connecting a character's existing animation clips to gameplay behavior in Godot 4.6.3. It sets up states such as idle, walking, attacking, being hit, and dying, including smooth walking-to-running changes.

In plain words
What is it for?
Making a game character play the right movement, attack, hit, and death animation as the game state changes.
Why use it?
It removes the need to manually switch and blend animation clips in gameplay code. It helps prevent conflicting animations, snapping, or a character returning to a stiff pose.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions Claude Code; mentions Codex.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is onyx_set_prop(path: "./World/Goblin/AnimationTree", key: "anim_player", value: "../AnimationPlayer").

Part of the onyx plugin — 77 skills, 1 command, 2 hooks, 1 MCP server shipped together

Good fit Making a game character play the right movement, attack, hit, and death animation as the game state changes.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/ouzlifaneyassine1-dot/onyx-engine
agentmods
npx agentmods add skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree

Made for: Claude Code.

Or install onyx, the plugin that ships this one along with the rest of its 77 skills, 1 command, 2 hooks, 1 MCP server.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for animation-tree

README.md
[![agentmods](https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree/github.svg)](https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree)
Your own site
<a href="https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for animation-tree

Your own site · 80×15
<a href="https://agentmods.dev/skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree"><img src="https://agentmods.dev/badge/skills/ouzlifaneyassine1-dot/onyx-engine/animation-tree.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 93 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,685 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 89% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00093 $0.03685
Opus 5 $0.00046 $0.01843
Sonnet 5 $0.00019 $0.00737
Haiku 4.5 $0.00009 $0.00368

Measured 11d ago against content hash ea69abdded0d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

animation-tree scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

89% identical to animation-tree — 82 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/animation/animation-tree/SKILL.md · 263 lines

How it starts

The opening of the file, as written. The whole thing — 263 lines — stays where its author put it; the contents beside it link to each section on GitHub.

AnimationTree — Wire Clips Into Behavior

Generation gives you clips. The AnimationTree gives the character life. This skill is not generative — no FAL, no MCP AI calls. It composes existing clips on an AnimationPlayer into an AnimationTree with a StateMachine for distinct states (idle / attack / hit / dead) and BlendSpace nodes for continuous parameters (walk-run blend by speed). Done right, the character moves like a shipped game; done wrong, you get T-poses, snapping, or animations that "eat" each other.

The canonical Godot 4.6.3 stack:

Character (CharacterBody3D)
├── Skeleton3D (from the Meshy rig)
├── AnimationPlayer            # holds the raw clips (idle, walk, run, attack_sword, ...)
└── AnimationTree              # references AnimationPlayer, drives behavior

Before adding the tree, prove direct AnimationPlayer.play() visibly moves the rig. Godot may import animation GLBs as AnimationLibrary resources or as PackedScenes with embedded AnimationPlayers. If a copied clip appears in the list but the mesh T-poses, its tracks probably target a different root/skeleton path. Use the embedded player that came with the matching GLB, or remap/copy tracks only after confirming they target the active Skeleton3D. An inactive AnimationTree is also a no-op, so always set AnimationTree.active = true.

When to use this skill

  • Character has 3+ clips and switching between them via AnimationPlayer.play("walk") is causing pops, T-poses, or "starts halfway through".
  • Need a walk → run blend that's continuous, not boolean.
  • Need attack to interrupt locomotion but only on the upper body, while feet keep walking.
  • Need hit-react one-shot that returns to whatever state was playing before.
  • Building any non-trivial NPC or player character past the prototype phase.

When NOT to use this skill

  • Single-clip looping background prop (banner waving, water surface). Just AnimationPlayer.play("loop") is fine.
  • Cinematic with hand-authored timing. Use AnimationPlayer directly with play_with_capture; AnimationTree is overkill.
  • Character has zero clips — generate first via onyx:animation/generate-motion.
  • Procedural-only animation (no clips, all IK). That's onyx:animation/procedural-animation.

Read the full file on GitHub · 263 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 263 lines · 93 tokens per session scan A ea69abdded0d

Subscribe to this mod's changes

animation-tree is a skill published in the GitHub repository ouzlifaneyassine1-dot/onyx-engine (0 stars, last pushed 3mo ago), licensed MIT. It adds 93 tokens to every session and 3,685 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. It is 89% identical to animation-tree, differing in 82 lines, and is treated as a copy.

Related

Other skills, from other repositories

animation-blueprint

Navigate, inspect, and author Animation Blueprints — state machines, states, transitions, and transition rules (AnimGraphService). Use when the user asks to create or edit an Animation Blueprint/AnimBP, add a state machine or states, wire transitions between states, set a state's animation, or inspect AnimGraph…

kevinpbuckley/VibeUE · 68 tokens

animation-montage

Create and manipulate Animation Montages — sections, slots, segments, branching points, notifies, and blend settings (AnimMontageService). Use when the user asks to create a montage (from an animation or empty), add or link montage sections, set up slots/segments, add branching points, or adjust montage blend timing.

kevinpbuckley/VibeUE · 71 tokens

animsequence

Create and edit AnimSequence keyframes and tracks — add/remove keyframes, set bone tracks, query sequence info, and bake edits (AnimSequenceService). Use when the user asks to create a new animation sequence, add keyframes/tracks, or edit raw animation data. For constraint-aware bone posing, also load…

kevinpbuckley/VibeUE · 70 tokens

ai-game-world-design

Complete mastery guide for designing and building AI-powered game worlds — procedural world generation, NPC behavior trees, LLM-driven dialogue systems, emergent storytelling, economy simulation, player modeling, and real-time difficulty adaptation. Covers the full stack from world-building fundamentals to integrating…

nirholas/three.ws · 88 tokens

kimodo-unity-bridge

Install KimodoUnityBridge and route Unity animation work through its cooperating capability tools.

OneYoungMean/KimodoUnityBridge · 23 tokens

animation-tree

Use when the user has clips on a character and needs them to play in response to gameplay — idle/walk/run blend, attacks that interrupt locomotion, hit reactions that override everything. Designs and wires Summer Engine AnimationTree state machines and blend trees. Trigger on "AnimationTree", "state machine", "blend…

SummerEngine/summer-engine-agent · 86 tokens