Communitygithub.com

blender-motion-state-inspection

Use this skill when inspecting Blender characters, rigs, poses, animation retargeting, ground contact, facing direction, or model-vs-motion alignment where screenshots alone are not enough.

What is blender-motion-state-inspection?

blender-motion-state-inspection is a Claude Code agent skill that use this skill when inspecting Blender characters, rigs, poses, animation retargeting, ground contact, facing direction, or model-vs-motion alignment where screenshots alone are not enough.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/blender-motion-state-inspection

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Blender Motion State Inspection

When to Use

  • A Blender character looks twisted, mirrored, flattened, offset, or foot-sliding in an animation.
  • A user asks whether an imported avatar, armature, or retargeted motion matches an expected pose.
  • You need to compare rendered evidence with structured facts such as bones, bounding boxes, contacts, and facing vectors.
  • A workflow depends on deciding whether a model is a character, prop, proxy mesh, control rig, or broken import.

Core Principle

Do not judge animated 3D assets only from screenshots. Screenshots are review evidence, but they hide axis conventions, bone names, object scale, local transforms, parented meshes, material slots, and frame-by-frame contact state.

First extract structured Blender state, then use viewport screenshots or renders to confirm what the facts imply.

How It Works

  1. Establish the clean scene and asset baseline before judging motion.
  2. Extract structured facts from Blender using an exporter or Blender Python run inside Blender's own interpreter.
  3. Sample the frames most likely to expose contact, orientation, scale, and retargeting errors.
  4. Compare the measured facts against the user's expected pose, direction, ground plane, and render goal.
  5. Return a concise report that separates confirmed facts, likely causes, and required fixes.

Inspection Workflow

  1. Inventory the scene.

    • List meshes, armatures, empties, cameras, lights, modifiers, parent relationships, and hidden objects.
    • Separate character meshes from helper/proxy geometry before judging the avatar.
    • Record object-space and world-space bounding boxes.
  2. Identify the skeleton.

    • Capture armature names, pose bones, bone heads/tails, roll, parent chains, constraints, and rest-pose axes.
    • Map semantic bones such as hips, spine, neck, head, shoulders, elbows, hands, thighs, knees, ankles, and feet.
    • Flag missing left/right pairs and unusual naming schemes.
  3. Determine forward, up, and side axes.

    • Use the pelvis, spine, shoulders, hips, head, and feet together; do not rely on a single mesh normal.
    • Compare local armature axes with world axes and imported file conventions such as glTF Y-up vs Blender Z-up.
    • Mark likely mirrored or backwards imports when face/head/feet direction conflicts with root motion.
  4. Sample animation frames.

    • Inspect first, middle, contact, airborne, and extreme frames.
    • Record root location, root heading, pelvis height, torso lean, limb directions, foot clearance, and mesh bounds.
    • For long or fast motion, sample more densely around flips, landings, turns, collisions, and floor contacts.
  5. Check model integrity before retargeting blame.

    • Confirm the clean baseline shape before applying animation.
    • Preserve original mesh, materials, armature, and skinning unless the user explicitly asks for repair.
    • Treat unexplained sphere-like blobs, giant proxy meshes, or crushed bodies as import/selection issues until proven otherwise.
  6. Diagnose contact and motion issues.

    • Ground penetration: compare lowest foot or shoe vertices with floor height per frame.
    • Foot sliding: compare foot world positions across planted frames.
    • Leg crossover: compare left/right thigh, knee, ankle, and foot side ordering.
    • Twist damage: compare bone swing direction separately from roll/twist around the limb axis.
    • Scale drift: compare animated mesh bounds against the clean baseline bounds.
  7. Report facts before opinions.

    • Include frame numbers, object names, bone names, world coordinates, and thresholds.
    • Separate confirmed failures from visual suspicions.
    • Attach screenshots only after the structured state explains what to look for.

Recommended Report Shape

## Blender Motion Inspection

### Scene Inventory
- Character candidates:
- Armatures:
- Helper/proxy objects:
- Cameras/lights:

### Orientation
- World up:
- Character forward:
- Root heading:
- Mirrored/backwards risk:

### Baseline Integrity
- Clean mesh bounds:
- Animated mesh bounds:
- Materials/skin preserved:
- Suspicious non-character meshes:

### Frame Findings
| Frame | Finding | Evidence |
| --- | --- | --- |
| 1 | Clean baseline pose | hips/spine/feet aligned |
| 96 | Foot penetrates floor | left_foot min_z = -0.04 |

### Verdict
- Pass/fail:
- Required fix:
- Render readiness:

Examples

Walk Cycle With Foot Sliding

Scenario: a retargeted character appears to skate during a walk cycle, but the front camera angle makes the foot contact hard to judge.

Apply the workflow:

  • Inventory the scene: character mesh HeroBody, armature HeroRig, ground plane Floor, no hidden proxy meshes.
  • Identify the skeleton: semantic feet are foot.L and foot.R; hips are pelvis; root bone is root.
  • Sample animation frames: inspect frames 1, 18, 24, 30, 42, and 48 around planted-foot moments.
  • Diagnose contact and motion issues: compare world-space foot locations during planted frames.

Extracted facts:

FrameFactEvidence
18Left foot is plantedfoot.L min_z = 0.004, toe and heel both near floor
24Left foot slides while plantedfoot.L x = 0.21 -> 0.28 over six frames
30Pelvis keeps moving forwardpelvis y = 1.14 -> 1.31

Verdict: fail for render readiness. The motion needs foot-lock cleanup or retargeting constraint review; the body mesh does not need proportion changes.

Backwards Imported Character

Scenario: a character looks correct in a still frame, but the animation moves opposite the expected travel direction.

Apply the workflow:

  • Determine forward, up, and side axes: compare head, chest, feet, and root motion.
  • Sample animation frames: inspect frame 1 and the midpoint of the travel path.
  • Report facts before opinions: include the root heading and model-facing direction separately.

Extracted facts:

FrameFactEvidence
1Character face points toward world -Yhead/chest vector from neck to head resolves to -Y
72Root motion travels toward world +Yroot y = 0.0 -> 2.8
72Feet remain visually forward-facing opposite traveltoe bones point -Y while displacement is +Y

Verdict: likely backwards import or retargeting forward-axis mismatch. Fix the import/retarget axis mapping before editing animation curves.

Practical Thresholds

  • Assume Blender's default meter-scale units unless the scene unit scale says otherwise.
  • Treat ground penetration above 1-2 cm as visible unless the floor is soft or intentionally stylized.
  • Treat a sudden scale change above 5% as a likely rig, constraint, or transform inheritance problem.
  • Treat left/right ankle side-order flips during airborne inverted motion as leg crossover risk even if it recovers later.
  • Treat root heading jumps above 30 degrees per frame as suspicious unless the source motion includes a snap turn.

Anti-Patterns

  • Do not modify body proportions to force pose matching unless the task is explicitly mesh repair.
  • Do not bake away the clean baseline before recording it.
  • Do not use one rendered camera angle as proof that a pose is correct.
  • Do not delete helper objects until you have recorded why they are not part of the character.
  • Do not assume an avatar faces +Y, -Y, +X, or -X without checking head, feet, torso, and root motion together.

Tooling Notes

If a Blender state exporter is available, prefer JSON that includes meshes, armatures, pose bones, materials, contacts, bounding boxes, and sampled animation frames. If no exporter exists, run a small Blender Python script through Blender itself, for example blender --background scene.blend --python collect_motion_state.py, because bpy is not available in a normal system Python interpreter.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

Related Skills