RN Human Motion Extractor

SkillMedia

Lets your agent turn a reference video into frame-by-frame body and hand motion data with skeleton previews.

Then ask your AI: use the RN Human Motion Extractor skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add it as a step in a pipeline you build on Ahel, or connect Ahel to Claude, ChatGPT, Cursor, Claude Code or Codex and ask your AI to use it.

About this skill

Extract anonymized frame-by-frame body and hand trajectories from an authorized reference video, with skeleton previews, confidence evidence, and machine-readable keypoints. Use when the user asks to 提取博主动作, 提取人体动作轨迹, 做姿态参考, 生成骨架视频, or prepare motion control data for an avatar; do not route graphic-

What this skill tells your AI

The instructions your AI receives, as published by pluviobyte/rnskill in skills/rn-human-motion-extractor/SKILL.md and read by Ahel’s review.

Convert a selected range of an authorized reference video into reusable motion data. Preserve motion and timing; do not package the source person's appearance, voice, subtitles, or footage as a reusable identity asset.

Boundary

  • Use only a public or local reference the user is authorized to analyze.
  • Keep source footage and identity-preserving overlay previews in the private project workspace. The pure-skeleton video and keypoint data are the portable motion assets.
  • This Skill extracts evidence; it does not promise that a generative video model will obey every keypoint.
  • Do not call a result "exact hand motion" when fingers are occluded, blurred, outside the frame, or below the confidence gate. Report coverage instead.
  • Route designed cards, connectors, typography, and UI motion to rn-motion-replica; route full-frame replica claims to rn-replica-qc.

Workflow

1. Lock the range and timebase

Confirm the input file and desired range. Probe the source with ffprobe and record width, height, fps, duration, frame count, and audio presence. Default to the full clip only when the range is already short and unambiguous.

2. Create a local runtime

The bundled extractor requires FFmpeg plus Python 3.10–3.12. Use an isolated environment; do not modify the system Python.

uv venv --python 3.12 .venv
uv pip install --python .venv/bin/python -r \
  <skill-dir>/scripts/requirements.txt

3. Extract the trajectory

.venv/bin/python <skill-dir>/scripts/extract_motion.py \
  --input <reference.mp4> \
  --output <private-project-dir>/motion-extraction \
  --start 0 \
  --duration 10

Omit --duration to process from --start to the end. Use --no-overlay when an identity-preserving QC preview is unnecessary.

The extractor records:

  • 33 MediaPipe pose landmarks
  • 21 landmarks for each detected hand
  • raw coordinates and confidence-aware smoothed coordinates
  • normalized image x/y, relative z, visibility, frame index, and timestamp

Short missing spans may be interpolated. Long gaps remain missing; never fill a long occlusion with invented finger choreography.

4. Inspect evidence

Open both the overlay preview and pure-skeleton preview. Inspect at least the beginning, every major gesture change, and the final frame. Read qc/extraction-stats.json before describing fidelity.

The preview convention is:

  • yellow: body
  • blue/red: left/right hands
  • thin gray: low-confidence body nodes

Verify that shoulders, elbows, wrists, and hand clusters stay on the correct limbs through crossings. If a hand swaps sides or jumps, keep the raw data, mark the affected time range, and correct it with manual keyframes before using it as a hard control signal.

5. Deliver claims at the proved level

The expected output is:

motion-extraction/
├── data/
│   ├── motion-keypoints.json
│   └── motion-keypoints.npz
├── qc/
│   ├── extraction-stats.json
│   ├── media-probe.json
│   ├── motion-overlay.mp4
│   ├── motion-skeleton.mp4
│   └── contact-sheet.jpg
└── work/
    └── *.mp4

Report body coverage and left/right hand coverage separately. A useful body and wrist trajectory can coexist with incomplete finger tracking; say so plainly. For the JSON contract and handedness rules, read references/keypoint-schema.md.

Completion gates

  • Source range, fps, and processed frame count agree.
  • JSON parses and contains one entry per processed frame.
  • Both final MP4s decode without FFmpeg errors and match the extracted duration.
  • Contact sheet has been visually inspected.
  • Confidence gaps and occlusions are reported, not hidden by smoothing.
  • No paid generation task is implied or submitted by this extraction Skill.

Signals

GitHub stars
2k
Forks
192
Last commit
Sep 2026

Ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Item type
skill
Key
rn-human-motion-extractor
Source
github.com/pluviobyte/rnskill