Agent skill

Godot Characterbody 2D

by thedivergentai in thedivergentai/GD-Agentic-Skills

Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way…

LGPL-3.0Auto-check passedGame Development

Install Godot Characterbody 2D

skills CLI
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-characterbody-2d -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install thedivergentai/GD-Agentic-Skills godot-characterbody-2d --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/godot-characterbody-2d .claude/skills/godot-characterbody-2d && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
godot-characterbody-2d
GitHub stars
821
Token cost
~3.3k tokens
SKILL.md length
938 words
Files
18 (incl. scripts, references)
Skills in repo
98
Repo updated
First seen
Licence
LGPL-3.0

At a glance

Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way…

  • Works in 3 steps: Wall Cling (Variable Friction) → Animation-Driven Movement (Root Motion) → Game-Feel Profiler (Jump Arcs)
  • Player characters
  • SKILL.md covers NEVER Do, When to Use CharacterBody2D, Decision Tree → MANDATORY… and One-Way Platforms (correct…, plus 2 more sections
  • Keywords: CharacterBody2D

What it does

Godot Characterbody 2D is an agent skill from thedivergentai/GD-Agentic-Skills. Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way platforms, and state machines. Use for player characters, NPCs, or enemies. Trigger keywords: CharacterBody2D, moveandslide, isonfloor, coyotetime, jumpbuffer, velocity, getslidecollision, onewayplatforms, statemachine.

Its SKILL.md is about 3.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files, including scripts and reference files (for example `references/migration-notes.md` and `references/movement-recipes.md`).

It sits in Game Development, covering Game development and Slides and decks. It works with Godot. The repository describes itself as: The official "Long-Term Memory" for Godot 4.7+ AI Agents. A high-density library of 99 expert skills and 27 genre blueprints, providing audited, strictly typed GDScript patterns… The licence is LGPL-3.0.

When your agent uses it

  • Player characters
  • Keywords: CharacterBody2D
  • Getslidecollision
  • Onewayplatforms

Example prompts

  • “/godot-characterbody-2d”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Wall Cling (Variable Friction)
  2. Animation-Driven Movement (Root Motion)
  3. Game-Feel Profiler (Jump Arcs)

What it can do on your machine

Read from SKILL.md and the folder at commit 4c4d0ff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 15 files in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.godotengine.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Godot Characterbody 2D loads about 3.3k tokens when it runs, and up to ~4.8k if it reads all its reference files. Until then it costs about 111 tokens; SKILL.md has 938 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~3.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from thedivergentai/GD-Agentic-Skills at commit 4c4d0ff, republished under its LGPL-3.0 licence (© thedivergentai). 938 words, ~3,318 tokens.

Download SKILL.mdSave it as .claude/skills/godot-characterbody-2d/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.
name
godot-characterbody-2d
description
Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way platforms, and state machines. Use for player characters, NPCs, or enemies. Trigger keywords: CharacterBody2D, move_and_slide, is_on_floor, coyote_time, jump_buffer, velocity, get_slide_collision, one_way_platforms, state_machine.

CharacterBody2D Implementation

Expert CharacterBody2D feel systems — not beginner move_and_slide tutorials.

NEVER Do

  • NEVER use RigidBody2D for standard player controllers — RigidBody is for physics-simulated objects. For responsive, feel-driven player movement, always use CharacterBody2D.
  • NEVER multiply velocity by delta before move_and_slide() — move_and_slide() handles delta internally. Manual multiplication makes movement framerate-dependent.
  • NEVER use global_position updates for gameplay movement — Use velocity + move_and_slide(). Direct position hacks bypass collision, floor snap, and one-way rules.
  • NEVER "fall through" one-ways by nudging position.y — Use one-way collision shapes + layer/mask (and temporary mask disable / collide-with-areas patterns). See godot-2d-physics.
  • NEVER ignore floor/wall/ceiling state right after move_and_slide() — is_on_floor(), is_on_wall(), is_on_ceiling(), and slide collisions drive coyote, wall jump, and bonk logic.
  • NEVER rely on default floor_snap_length for fast stair-climbing — Default snapping is too small for high-velocity characters. Use custom raycast-based stair logic.
  • NEVER apply gravity while is_on_floor() is true — Constant downward force causes micro-jitter and fights floor-snap. Reset velocity.y on land.
  • NEVER use Area2D as primary ground detection — Prefer is_on_floor() / shapecasts; Areas are for triggers, not floor truth.
  • NEVER forget ceiling bonk — Reset velocity.y when is_on_ceiling() or the player floats into the ceiling until gravity wins.
  • NEVER round physics positions for pixel art — Keep physics high-precision; round sprite positions in _process only (subpixel_movement_rounding.gd).
  • NEVER spam queue_free() for hordes — Pool bullets/enemies when spawn/despawn is frequent (performance_character_pooling.gd).

When to Use CharacterBody2D

NeedBody
Feel-driven player / NPC / enemy locomotionCharacterBody2D
Rolling debris, ragdoll-ish props, force pilesRigidBody2D
Static level collidersStaticBody2D / TileMapLayer physics

Decision Tree → MANDATORY Scripts

TaskDo FirstThen (optional)Do NOT Load
Platformer foundation (coyote, buffer, accel/friction)expert_physics_2d.gd—Inline tutorial controllers
Isolate coyote/buffer onlyframe_perfect_coyote_time.gd—Duplicate coyote blocks in SKILL
Variable jump / short hopvariable_jump_height.gd——
Slopes / stairsslope_stair_snapping.gdgodot-raycasting-queries—
Wall slide / wall jumpwall_slide_jump_refined.gd or wall_jump_controller.gd—Both unless comparing
Dash + i-framesdash_state_controller.gd or dash_controller.gd—Both unless comparing
Air control polishaerial_drift_acceleration.gd——
Ceiling stick / bonkceiling_bonk_detection.gd——
Knockback / wind impulsesimpulse_response_handler.gd——
Pixel-art visualssubpixel_movement_rounding.gd—Rounding global_position in physics
Many AI bodiesperformance_character_pooling.gd——
One-way platformsTile/StaticBody one-way + layers/masksgodot-tilemap-mastery / godot-2d-physicsposition.y += 1 drop-through hacks
Top-down / tank locomotionmovement-recipes.md—Inline 8-way tutorials
Jump arc debug tuninggame_feel_profiler.gd——
Animation root motionroot_motion_controller.gdgodot-2d-animation—

Golden path: Read expert_physics_2d.gd first. Add dash/wall/jump scripts only after that controller is in place. Do not re-inline coyote/buffer/accel loops in the scene when the script already owns them.

One-Way Platforms (correct recipe)

  1. Author one-way on the platform collider (CollisionShape2D one-way / TileSet physics one-way), not by teleporting the player.
  2. Put platforms and player on explicit collision layers/masks so drop-through can temporarily clear the platform bit (or disable collide-with) while holding down + jump — then restore next physics frames.
  3. Keep drop-through on the physics tick; never bypass move_and_slide with position nudges.
  4. For tile one-ways, align TileSet physics layers with CharacterBody masks — see godot-tilemap-mastery + godot-2d-physics.

Expert Character Architectures

1. Wall Cling (Variable Friction)

Monitor is_on_wall() while falling; scale velocity.y by a friction factor (optionally from tile custom data) instead of a binary wall-slide bool. Prefer wall_slide_jump_refined.gd over a bespoke cling fork.

2. Animation-Driven Movement (Root Motion)

Pull AnimationTree.get_root_motion_position(), convert to 2D, assign velocity = motion / delta, then move_and_slide(). Keeps feet locked to authored clips; pair with godot-2d-animation.

3. Game-Feel Profiler (Jump Arcs)

Debug-draw historical positions + current velocity in _draw() to visualize apex, coyote, and buffer windows while tuning exports on expert_physics_2d.gd — game_feel_profiler.gd.

MANDATORY for top-down/tank recipes, moving platforms, slide-collision response, and gotcha tables: movement-recipes.md. Do NOT Load when expert_physics_2d.gd already covers your platformer scope.

Show full SKILL.md (379 more words)Show less

Reference

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.

Official Documentation
  • Using CharacterBody2D — Canonical move_and_slide / floor-wall-ceiling contracts; do not set position for gameplay motion.
  • CharacterBody2D — API for velocity, snap, is_on_floor / wall / ceiling, and slide-collision accessors.
  • Physics introduction — Why CharacterBody vs RigidBody/StaticBody, and how layers/masks gate every contact.
  • Collision shapes (2D) — Capsule/box sizing and why scaled CollisionShape2D nodes corrupt normals and floor detect.
  • 2D movement — Input axes into velocity for top-down and platformer starters before juice systems.
  • Kinematic character (2D) — Classic slide/collision loop patterns that still inform custom stair and slope handling.
  • Troubleshooting physics issues — One-way platforms, tunneling, and jitter diagnoses that show up in CharacterBody feel bugs.
  • Ray-casting — Direct-space rays for stair snaps, ledge checks, and ground probes beyond is_on_floor().
  • KinematicCollision2D — Per-slide normals/remainders from get_slide_collision for wall jumps and ceiling bonks.
  • Physics interpolation introduction — Smooth visuals at high refresh while keeping jump/coyote logic on the physics tick.
  • InputEvent — Action just-pressed timing that jump buffers and coyote windows depend on.
Prerequisites
  • godot-project-foundations — Default gravity, physics tick rate, and 2D layer names must be set before coyote/jump feel is tunable.
  • godot-gdscript-mastery — Typed _physics_process, timers, and move_toward discipline underpin every movement script here.
  • godot-2d-physics — Collision layer/mask matrices, one-way shapes, and query hygiene CharacterBody motion sits on.
  • godot-input-handling — Physics-step action sampling so jump buffer / coyote windows stay frame-stable.
Complements
  • godot-raycasting-queries — Stair snaps, wall cling probes, and ledge rays that extend beyond is_on_* helpers.
  • godot-tilemap-mastery — One-way tiles and tile physics layers must match CharacterBody masks for platforms.
  • godot-2d-animation — Drive walk/jump/fall clips from floor/air/dash state without fighting move_and_slide.
  • godot-state-machine-advanced — Dash, wall-slide, and airborne states scale cleaner than giant _physics_process switches.
  • godot-camera-systems — Follow/look-ahead cameras couple tightly to CharacterBody velocity and landing snaps.
  • godot-signal-architecture — Landed/dashed/wall-jumped events need clean ownership so UI/VFX listeners do not spam.
Downstream / consumers
  • godot-genre-platformer — Genre-level platformer feel consumes coyote, buffer, slopes, and one-ways from this skill.
  • godot-genre-metroidvania — Ability-gated movement (wall jump, dash) builds on the controllers defined here.
  • godot-combat-system — Knockback and hitstun apply impulses through the same velocity + slide loop.
  • godot-monte-carlo-balancer — Coyote frames, jump height, dash cooldown, and air accel are balance knobs — simulate them instead of guessing.
Master
  • godot-master — Library router and mirrored entry point for CharacterBody2D alongside sibling domains.

© thedivergentai, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 17 other files (scripts, references) in skills/godot-characterbody-2d of thedivergentai/GD-Agentic-Skills.

  • SKILL.md
  • references/migration-notes.md
  • references/movement-recipes.md
  • scripts/aerial_drift_acceleration.gd
  • scripts/ceiling_bonk_detection.gd
  • scripts/dash_controller.gd
  • scripts/dash_state_controller.gd
  • scripts/expert_physics_2d.gd
  • scripts/frame_perfect_coyote_time.gd
  • scripts/game_feel_profiler.gd
  • scripts/impulse_response_handler.gd
  • scripts/performance_character_pooling.gd
  • scripts/root_motion_controller.gd
  • scripts/slope_stair_snapping.gd
  • scripts/subpixel_movement_rounding.gd
  • scripts/variable_jump_height.gd
  • scripts/wall_jump_controller.gd
  • scripts/wall_slide_jump_refined.gd

Open the folder on GitHubat commit 4c4d0ff

Compare with similar skills

Godot Characterbody 2D next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Godot Characterbody 2D compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Godot Characterbody 2D this skillthedivergentai/GD-Agentic-Skills821—~3.3kAutomated safety check: PassLGPL-3.0
Godot 2D Movementgamedev-skills/awesome-gamedev-agent-skills1.4k—~1.5kAutomated safety check: PassApache-2.0
Godot Gdscript Patterns925236118/AlphaAgent10310 repos~5kAutomated safety check: PassMIT
2D Map and Scene Generator0x0funky/agent-sprite-forge4.4k—~2.9kAutomated safety check: PassMIT
Godot UI Integrationzimo-xiao-zheng/godot-ui-integration285—~1.5kAutomated safety check: PassMIT
Godot Wechat Minigame Adaptergodothub/godot-minigame187—~1.5kAutomated safety check: PassMIT

Similar skills

  • Godot 2D Movement

    gamedev-skills/awesome-gamedev-agent-skills

    Implement 2D kinematic character movement in Godot 4.7 with CharacterBody2D and moveandslide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions.

    1.4k GitHub stars~1.5k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 10 repos~5k tokens
    Game DevelopmentAuto-check passed
  • 2D Map and Scene Generator

    0x0funky/agent-sprite-forge

    Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.

    4.4k GitHub stars~2.9k tokensUpdated 5 days ago
    Game DevelopmentAuto-check passed
  • Godot UI Integration

    zimo-xiao-zheng/godot-ui-integration

    Build or revise Godot UI from an approved design, separated art, or a visual reference when scene structure, gameplay binding, and runtime visual verification all matter.

    285 GitHub stars~1.5k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Godot Wechat Minigame Adapter

    godothub/godot-minigame

    Apply the bundled self-contained Godot WeChat Mini Game adapter kit to an official Godot checkout.

    187 GitHub stars~1.5k tokensUpdated 25 days ago
    Game DevelopmentAuto-check passed
  • AI Game Art Pipeline

    ybuild-ai/ai-game-art-pipeline-skill

    Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…

    297 GitHub stars~1.1k tokensUpdated 3 mo ago
    Game DevelopmentAuto-check passed

More from thedivergentai/GD-Agentic-Skills

All 98 skills in this repo
  • Godot 2D Animation

    thedivergentai/GD-Agentic-Skills

    Expert patterns for 2D animation in Godot using AnimatedSprite2D and skeletal cutout rigs.

    821 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot 3D World Building

    thedivergentai/GD-Agentic-Skills

    Expert patterns for 3D level design using GridMap with MeshLibrary, CSG constructive solid geometry, occlusion, and runtime GridMap builders.

    821 GitHub stars~3.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Adapt 2D To 3D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for migrating 2D games to 3D including node type conversions, camera systems (third-person, first-person, orbit), physics layer migration, sprite-to-model art pipeline, and control…

    821 GitHub stars~4.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Adapt 3D To 2D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for simplifying 3D games to 2D including dimension reduction strategies, 2.5D fake-depth, isometric ports, camera flattening, physics conversion, 3D-to-sprite art pipeline, and…

    821 GitHub stars~4.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Agent Vision

    thedivergentai/GD-Agentic-Skills

    Agentic eyes for Godot work: cross-platform screenshot CLI (asset/region/window/screen) to budgeted WebP, TEMP editor viewport bridge under .gdskills/, and Taste Receptor Atlas v2 (~237…

    821 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Animation Tree Mastery

    thedivergentai/GD-Agentic-Skills

    Expert patterns for AnimationTree including StateMachine transitions, BlendSpace2D for directional movement, BlendTree for layered animations, root motion, transition conditions, advance…

    821 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Godot Characterbody 2D

What does Godot Characterbody 2D do?

Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way…. Godot Characterbody 2D is an agent skill from thedivergentai/GD-Agentic-Skills. Expert patterns for CharacterBody2D including platformer movement (coyote time, jump buffering, variable jump height), top-down movement (8-way, tank controls), collision handling, one-way platforms, and state machines.

When should I use Godot Characterbody 2D?

Godot Characterbody 2D fits situations like: player characters; keywords: CharacterBody2D; getslidecollision; onewayplatforms.

How do I install Godot Characterbody 2D in Claude Code?

Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-characterbody-2d -a claude-code`. Or copy the skill folder (skills/godot-characterbody-2d in thedivergentai/GD-Agentic-Skills) into .claude/skills/godot-characterbody-2d in your project. Claude Code loads it when a task matches its description.

How do I install Godot Characterbody 2D in Codex?

Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-characterbody-2d -a codex`. Or copy the skill folder (skills/godot-characterbody-2d in thedivergentai/GD-Agentic-Skills) into .agents/skills/godot-characterbody-2d in your project. Codex loads it when a task matches its description.

Can I use Godot Characterbody 2D in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-characterbody-2d -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/godot-characterbody-2d, .gemini/skills/godot-characterbody-2d, .github/skills/godot-characterbody-2d and .opencode/skills/godot-characterbody-2d in your project.

What does Godot Characterbody 2D need to run?

SKILL.md names no scripts, command-line tools or credentials: Godot Characterbody 2D is instructions for the agent only.

Does Godot Characterbody 2D access the network?

SKILL.md names 1 domain. As links in the text: docs.godotengine.org. This is read from the text; nothing was executed.

Is Godot Characterbody 2D safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Godot Characterbody 2D use?

Godot Characterbody 2D is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Godot Characterbody 2D use?

About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.

What are the alternatives to Godot Characterbody 2D?

Skills that share tags, products or a category with Godot Characterbody 2D: Godot 2D Movement (gamedev-skills/awesome-gamedev-agent-skills, 1.4k stars), Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars) and Godot UI Integration (zimo-xiao-zheng/godot-ui-integration, 285 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Godot Characterbody 2D?

thedivergentai (a GitHub user) maintains it in thedivergentai/GD-Agentic-Skills, which has 821 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on September 9, 2026.

Source: thedivergentai/GD-Agentic-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.