Agent Builder
shareAI-lab/learn-claude-code
Design and build AI agents for any domain. An agent skill from shareAI-lab/learn-claude-code.
CPU-only motion data processing pipeline for game animation: BVH import, contact detection, root decomposition, motion blending, FABRIK IK.
$ npx skills add notque/vexjoy-agent --skill motion-pipeline -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install notque/vexjoy-agent motion-pipeline --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game/motion-pipeline .claude/skills/motion-pipeline && rm -rf skills-srcUse ~/.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/
Install the "motion-pipeline" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipeline into .claude/skills/motion-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-pipeline", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipelineType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add notque/vexjoy-agent --skill motion-pipeline -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install notque/vexjoy-agent motion-pipeline --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/game/motion-pipeline .agents/skills/motion-pipeline && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "motion-pipeline" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipeline into .agents/skills/motion-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-pipeline", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add notque/vexjoy-agent --skill motion-pipeline -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install notque/vexjoy-agent motion-pipeline --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/game/motion-pipeline .cursor/skills/motion-pipeline && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "motion-pipeline" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipeline into .cursor/skills/motion-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-pipeline", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/notque/vexjoy-agent.git --path skills/game/motion-pipeline--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add notque/vexjoy-agent --skill motion-pipeline -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install notque/vexjoy-agent motion-pipeline --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/game/motion-pipeline .gemini/skills/motion-pipeline && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "motion-pipeline" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipeline into .gemini/skills/motion-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-pipeline", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install notque/vexjoy-agent motion-pipelineInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add notque/vexjoy-agent --skill motion-pipeline -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/game/motion-pipeline .github/skills/motion-pipeline && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "motion-pipeline" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipeline into .github/skills/motion-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-pipeline", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add notque/vexjoy-agent --skill motion-pipeline -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install notque/vexjoy-agent motion-pipeline --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/game/motion-pipeline .opencode/skills/motion-pipeline && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "motion-pipeline" agent skill from https://github.com/notque/vexjoy-agent/tree/main/skills/game/motion-pipeline into .opencode/skills/motion-pipeline/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "motion-pipeline", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
motion-pipelineCPU-only motion data processing pipeline for game animation: BVH import, contact detection, root decomposition, motion blending, FABRIK IK.
Motion Pipeline is an agent skill from notque/vexjoy-agent. CPU-only motion data processing pipeline for game animation: BVH import, contact detection, root decomposition, motion blending, FABRIK IK. No GPU required.
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering. The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.
Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadBashWriteEditGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pythonpython3pipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Motion Pipeline loads about 2.1k tokens when it runs. Until then it costs about 43 tokens; SKILL.md has 672 words of instructions outside code blocks.
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.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Bash, Write, Edit, Glob, GrepAutomated 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); files beside SKILL.md are not scanned.
The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 672 words, ~2,105 tokens.
.claude/skills/motion-pipeline/SKILL.md (or your agent's skills folder).CPU-only motion data processing pipeline for game animation, inspired by Meta's ai4animationpy framework (CC BY-NC 4.0). All operations run on numpy and scipy with no GPU or PyTorch required.
ai4animationpy's Math/Tensor.py imports torch unconditionally at the top
level, which propagates through every module (Animation, Import, IK, Math).
This means zero ai4animationpy modules are importable without PyTorch installed.
The standalone implementations in scripts/motion-pipeline.py replicate the
key algorithms from their source code using only numpy + scipy.
# Create venv (one-time)
python3 -m venv /home/feedgen/vexjoy-agent/motion-pipeline-env/
# Install CPU-only deps
motion-pipeline-env/bin/pip install numpy scipy pygltflib Pillow
# Verify
motion-pipeline-env/bin/python -c "import numpy; import scipy; import pygltflib; print('OK')"The venv is gitignored. The skill documents setup; it does not commit the venv.
All commands output JSON to stdout. Errors go to stderr with exit code 1.
Parse a BVH mocap file and print a motion summary.
motion-pipeline-env/bin/python scripts/motion-pipeline.py import-bvh FILE \
[--scale 0.01] # scale cm->m for CMU/Mixamo filesOutput fields: name, num_frames, num_joints, framerate,
total_time_seconds, bones[], root_trajectory (x/y/z range).
Detect ground contact frames per bone (foot, hand) using height + velocity
thresholds. Replicates ContactModule.GetContacts() from ai4animationpy.
motion-pipeline-env/bin/python scripts/motion-pipeline.py extract-contacts FILE \
--bones LeftFoot RightFoot \
--height 0.1 \
--vel 0.5Output: { "bones": { "<name>": { "contact_frames": [...] } }, "total_frames": N }.
Split motion into root trajectory (WHERE + HOW) and per-joint local Euler angles (POSE). Implements the RootModule / MotionModule decomposition pattern.
motion-pipeline-env/bin/python scripts/motion-pipeline.py decompose FILE \
--hip HipsOutput: root_trajectory.positions[], root_trajectory.velocities[],
root_trajectory.facing_directions[], per_joint_euler_zyx_degrees{}.
First 5 frames shown in stdout; full data requires piping to a file.
Blend two BVH clips at a fixed alpha using SLERP rotations and LERP positions. Clips must share the same bone hierarchy.
motion-pipeline-env/bin/python scripts/motion-pipeline.py blend FILE_A FILE_B \
--alpha 0.5Output: summary of the blended motion.
Run FABRIK inverse kinematics on a bone chain at a single frame.
motion-pipeline-env/bin/python scripts/motion-pipeline.py solve-ik FILE \
--chain Hips:LeftFoot \
--target 0.2,0.05,0.3 \
--frame 10Output: chain[], target[], initial_positions[], solved_positions[],
end_effector_error (metres).
Convert a BVH mocap file into a TypeScript MoveFrame function compatible with
road-to-aew's wrestlingMoves.ts interface. Outputs keyframe-interpolated
TypeScript to stdout (and optionally a file).
motion-pipeline-env/bin/python scripts/generate-move-ts.py BVH MOVE_NAME \
[--scale 0.01] \
[--contact-bones LeftToeBase RightToeBase LeftHand RightHand] \
[--num-keyframes 12] \
[--hip-bone Hips] \
[--output path/to/output.ts]| Argument | Default | Purpose |
|---|---|---|
BVH | — | Path to .bvh mocap file |
MOVE_NAME | — | Kebab-case name (e.g. roundhouse-kick) used in TS identifiers |
--scale | 0.01 | Position scale; 0.01 converts cm→m for CMU/Mixamo files |
--contact-bones | LeftToeBase RightToeBase LeftHand RightHand | Bones used to detect the impact window |
--num-keyframes | 12 | Keyframe count in the output array (min 2) |
--hip-bone | Hips | Root bone name for trajectory extraction |
--output | stdout only | Write TS to this file path in addition to stdout |
Implementation note: The script imports motion-pipeline.py as a module
via importlib rather than calling it as a subprocess. This bypasses the 5-frame
truncation applied by the decompose CLI command, giving access to all frames.
Output structure:
// Generated from roundhouse-kick.bvh on 2026-04-13
// Keyframes: 12, Impact window: 0.45-0.55
const ROUNDHOUSE_KICK_KEYFRAMES = [...] as const;
export function getRoundhouseKick(progress: number): MoveFrame {
// keyframe lookup + linear interpolation
// isImpact based on detected contact window
return { attacker, defender, isImpact };
}The attacker's offsetX/Y/Z are root trajectory positions normalized to
start at origin. Rotations are in radians (converted from the BVH's Euler
ZYX degrees). The defender reaction is computed procedurally: pushed backward
at impact, eases to mat post-impact.
Impact detection: The script finds the first run of 3+ consecutive contact
frames across the specified bones. For strike moves, this captures the moment
of hit. For walking/idle clips (feet always down), the window will be frame-0
and isImpact will be nearly never true — this is correct behavior.
Validation: The script prints a summary to stderr including trajectory range, impact window, and a structural syntax check. Exit code 1 if validation fails.
The decomposition from ai4animationpy becomes a design contract for all game animation work:
Animation State
root_trajectory -- WHERE (position, velocity, facing direction)
per_joint_euler -- HOW (local pose in ZYX Euler degrees)
contact_frames -- WHAT (contact states for feet, hands)
[guidance] -- WHY (intent; handled at game engine layer)This separation enables:
| ai4animationpy module | This script equivalent | Notes |
|---|---|---|
Import/BVHImporter.BVH | load_bvh() | Same parsing logic; scipy replaces torch |
Animation/Motion | Motion dataclass | numpy-only; no torch backend |
Animation/ContactModule | extract_contacts() | Height + velocity criterion identical |
Animation/RootModule | decompose() root section | FK decomposition via matrix inverse |
Animation/MotionModule | decompose() joint section | Local Euler extraction via scipy |
IK/FABRIK | solve_ik_fabrik() | Algorithm identical; no Actor dependency |
| Downstream agent | Data consumed |
|---|---|
rive-skeletal-animator | per_joint_euler_zyx_degrees from decompose |
pixijs-combat-renderer | contact_frames from extract-contacts |
combat-effects-upgrade | contact_frames (impact timing) |
game-asset-generator | Produces source BVH files for this pipeline |
A walking cycle from ai4animationpy demos is available at:
/tmp/ai4animationpy/Demos/BVHLoading/WalkingStickLeft_BR.bvhThis is a full-body biped walking clip from the Geno character rig.
/tmp/ai4animationpy (cloned locally)Math/Tensor.py line 5.
No conditional import path exists. Standalone implementations are the correct approach.© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/game/motion-pipeline of notque/vexjoy-agent.
Open the folder on GitHubat commit 5218674
Motion Pipeline 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Motion Pipeline this skillnotque/vexjoy-agent | 439 | — | ~2.1k | Automated safety check: Notes | MIT | |
| Agent BuildershareAI-lab/learn-claude-code | 78k | 5 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Add Uint Supportpytorch/pytorch | 104k | 2 repos | ~2.3k | Automated safety check: Pass | Custom licence | |
| LLM Benchmarking with lm-evaluation-harnessOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~3k | Automated safety check: Pass | MIT | |
| Segment Anything Model GuideOrchestra-Research/AI-Research-SKILLs | 13k | 8 repos | ~3.3k | Automated safety check: Pass | MIT | |
| 1passwordtrpc-group/trpc-agent-go | 1.9k | 14 repos | ~656 | Automated safety check: Pass | Apache-2.0 |
shareAI-lab/learn-claude-code
Design and build AI agents for any domain. An agent skill from shareAI-lab/learn-claude-code.
pytorch/pytorch
Add unsigned integer (uint) type support to PyTorch operators by updating ATDISPATCH macros.
Orchestra-Research/AI-Research-SKILLs
Runs lm-evaluation-harness to benchmark language models on academic suites such as MMLU, GSM8K and HumanEval, compare models and track training checkpoints.
Orchestra-Research/AI-Research-SKILLs
Guide to using Meta's Segment Anything Model for zero-shot image segmentation with point, box or mask prompts, or automatic mask generation.
trpc-group/trpc-agent-go
Set up and use 1Password CLI (op). An agent skill from trpc-group/trpc-agent-go.
jarrodwatts/claude-code-config
Transforms workflow to use Manus-style persistent markdown files for planning, progress tracking, and knowledge storage.
notque/vexjoy-agent
Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.
notque/vexjoy-agent
Improve architecture across modules by deepening interfaces.
notque/vexjoy-agent
Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.
notque/vexjoy-agent
Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.
Categories
CPU-only motion data processing pipeline for game animation: BVH import, contact detection, root decomposition, motion blending, FABRIK IK. Motion Pipeline is an agent skill from notque/vexjoy-agent. CPU-only motion data processing pipeline for game animation: BVH import, contact detection, root decomposition, motion blending, FABRIK IK.
Motion Pipeline fits situations like: AI & LLM Engineering work in your project.
Run `npx skills add notque/vexjoy-agent --skill motion-pipeline -a claude-code`. Or copy the skill folder (skills/game/motion-pipeline in notque/vexjoy-agent) into .claude/skills/motion-pipeline in your project. Claude Code loads it when a task matches its description.
Run `npx skills add notque/vexjoy-agent --skill motion-pipeline -a codex`. Or copy the skill folder (skills/game/motion-pipeline in notque/vexjoy-agent) into .agents/skills/motion-pipeline in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --skill motion-pipeline -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/motion-pipeline, .gemini/skills/motion-pipeline, .github/skills/motion-pipeline and .opencode/skills/motion-pipeline in your project.
Going by SKILL.md and its folder, Motion Pipeline needs the command-line tools its instructions call (python, python3 and pip). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Bash, Write, Edit, Glob, Grep.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Motion Pipeline is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Motion Pipeline: Agent Builder (shareAI-lab/learn-claude-code, 78k stars), Add Uint Support (pytorch/pytorch, 104k stars), LLM Benchmarking with lm-evaluation-harness (Orchestra-Research/AI-Research-SKILLs, 13k stars) and Segment Anything Model Guide (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 439 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.
Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.