Build data-driven 2D character rigs for local animation: parts, pivots, layers, constraints, views, and reusable rig packages.
Scanned 9/12/2026
Install to Claude Code
npx -y skills add het8802/OpenNolan --skill character-rigging --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Character Rigging?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/het8802-character-rigging)More formats (shields.io, HTML) on the badges page.
---
name: character-rigging
description: "Build data-driven 2D character rigs for local animation: parts, pivots, layers, constraints, views, and reusable rig packages."
license: MIT
---
# Character Rigging
Use this skill when building OpenNolan `rig_plan` artifacts or renderer input
for local 2D character animation.
## Proven Patterns
- Keep runtime code generic; make each character a data package.
- Split characters into independently transformable parts.
- Define pivots in the same coordinate space as the artwork.
- Store constraints on moving parts to prevent impossible rotations.
- Keep layer order explicit; do not rely on SVG source order after generation.
- Start with one view and add views only when the shot list requires them.
## Rig Package
```json
{
"character_id": "mouse",
"rig_type": "svg_rig",
"parts": [
{ "id": "body", "kind": "torso", "layer": 10 },
{ "id": "head", "kind": "head", "layer": 30, "parent": "body" },
{ "id": "arm_right", "kind": "limb", "layer": 40, "parent": "body" }
],
"joints": {
"head": { "pivot": [320, 180], "rotation": [-20, 20] },
"arm_right": { "pivot": [390, 310], "rotation": [-70, 95] }
}
}
```
## Quality Checklist
- Every moving part has a pivot.
- Every child part has a parent where hierarchy matters.
- Mouth shapes are separate assets or separate path groups.
- Eyes and pupils are separate when gaze needs to change.
- Props are separate if the character touches or carries them.
## Sources
- SVG transform-origin behavior is browser-defined and can be sensitive to
coordinate space; prefer explicit SVG-coordinate pivots when using GSAP
`svgOrigin`: https://gsap.com/docs/v3/GSAP/CorePlugins/CSS/
- Remotion animations must be frame-driven and deterministic via current frame:
https://www.remotion.dev/docs/use-current-frame
Is this your skill, or is something wrong with this listing? . Author removals are honored within 72 hours.
No comments yet. Be the first to comment!