octocode-mannequin について
解剖学に基づく名称と関節可動域の制約を備えたリグで、人型モデルのポーズやキーフレームアニメーションを作成・検証するスキルです。Node CLI、Three.js ビューアー、エージェント向けの WebMCP 操作機能を含みます。
主な機能
- 01リグ、関節、動作スキームの確認
- 02制約付きポーズの作成と検証
- 03アニメーションフレーム列の検証
- 04Three.js ビューアーの生成と操作
- 05WebMCP ツールによるリグ操作
活用シーン
- 01制約に沿った人型ポーズの作成
- 02関節動作が制限されたかの確認
- 03キーフレームアニメーションのプレビュー
- 04エージェントのツール呼び出しによる操作
MCP 対応
ビューアーは、reach や look_at を含む11個の WebMCP ツールをリアルタイム操作用に公開します。エージェントはツールを検出・実行し、ポーズを検証できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ bgauryy/ octocode --skill octocode-mannequinインストール後、Claude Code で/octocode-mannequinを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdassets/backflip.jsondance.jsonidle.jsonrun-cycle.jsonviewer.template.htmlreferences/anatomy-scheme.mdjoint-constraints.mdmovement-protocol.mdreferences.mdrom-table.mdviewer-guide.mdwebmcp-agent.mdscripts/skeleton.mjs詳細
Octocode Mannequin
解剖学的な名称を付けた22本の骨で構成されるヒューマノイドリグ(腕を下ろしたニュートラル姿勢、左右対称)と、すべての関節を実際の可動域に制限する動作プロトコルです。移動、旋回、ジャンプ、バックフリップ用に、ルートの6自由度チャンネル(平行移動/ピッチ/ヨー/ロール)を備えています。Node CLI、自己完結型のThree.jsビューアー(接地処理と滑らかなCatmull-Romアニメーション)、エージェントがリアルタイムで操作するWebMCPツールも含まれます。フロー:SCHEME → COMMAND → CLAMP+FK → RENDER → DRIVE。
厳守事項
scripts/skeleton.mjsは、骨/関節/ROM/動作の唯一の信頼できる情報源です。リファレンスとビューアーもこれを反映します。ビューアーはクランプ/sideSign/FKの計算を再実装しているため、変更は両方のファイルに加え、再検証する必要があります(両者は常に一致していなければなりません)。- 動作コマンドには、その関節で有効な解剖学的名称を使ってください。符号付きの角度を直接指定したり、関節の許可リストにない動作を指定したりしてはいけません。コマンドを作成する前に
references/movement-protocol.mdを読んでください。CLIとツールはこれらを拒否します。 - ROM値はリグのデフォルト値であり、医学的な事実ではありません。制限値を引用する前に
references/rom-table.mdを読んでください。
事前確認
ビューアーファイル(viewer --out <file>.html)を作成すると、そのパスのファイルが上書きされます。また、エージェントによる操作には、新しいポートで起動した新しい非ヘッドレスChromeが必要です。最初にファイルを書き込む前、またはブラウザーを起動する前に、出力パスを確認し、ユーザーの承認を得てください。
ワークフロー
- まず
node scripts/skeleton.mjs schemeを実行して、骨と関節の自由度/ROM/動作を確認します。階層についてはreferences/anatomy-scheme.mdを、制約モデルについてはreferences/joint-constraints.mdを、正確な角度についてはreferences/rom-table.mdを読んでください。 references/movement-protocol.mdを使ってポーズコマンドを作成し、node scripts/skeleton.mjs pose --cmd '...'を実行します。warnings/clampedを確認し、skeleton.mjs sequence --file frames.jsonを実行してアニメーションを検証します。- レンダリングするには、
node scripts/skeleton.mjs viewer --out <file>.html [--pose pose.json]を実行し、ビューアーを開きます。スライダーをドラッグするか、コンソールからwindow.applyPose/window.playSequenceを呼び出します。すぐに使えるアニメーションはassets/にあります(生きているような呼吸や揺れの動きには、run-cycle.json、backflip.json、dance.json、idle.json)。ビューアーの仕組みについてはreferences/viewer-guide.mdを読んでください。 - エージェントにリアルタイムで操作させるには、
references/webmcp-agent.mdを読み込み、CDP経由でビューアーのWebMCPツールを提供します。タスク空間のreach(手や足をワールド座標の点に配置)とlook_atを含む11個のツールがあります。get_scheme.guideにはフレームと単位の仕様が記載されています。ツールを検出して実行し、get_poseまたはスクリーンショットで確認してください。
次の場合は停止してください:ポーズを get_pose またはスクリーンショットで確認できた場合、clamped:true が示されて関節がすでにROMの制限値に達している場合(これが回答です。制限を超えて動かそうとしてはいけません)、関節に無効な動作として拒否された場合(報告された許可リストを使って再試行し、角度を直接指定してはいけません)、reach が残差距離とともに reached:false を返した場合(目標は範囲外です。目標を変更し、同じ呼び出しを繰り返してはいけません)、ツールの検出結果が WEBMCP_NO_TOOLS または11個未満の場合(Runtime.evaluate 経由で window.applyPose に切り替えてください)、スクリーンショットが空白の場合(Chromeがヘッドレスです。非ヘッドレスで再起動してください)、または物理演算、IKによる足の固定、モーションキャプチャが必要な場合(対象外であることを伝えてください)。
このスキルを使わない場合
一般的な3Dシーンのセットアップ、物理演算/ラグドールシミュレーション、IKによる足の固定、バランス、衝突、モーションキャプチャ(BVH/glTF)のインポートには使用しません。動きはキーフレームによる運動学であり、バックフリップは作成するもので、シミュレーションするものではありません。この対象範囲が選ばれた理由については references/references.md を読んでください。
段階的な参照
| 参照 | 使用する場面 |
|---|---|
references/anatomy-scheme.md | 骨格階層の構築・説明 |
references/joint-constraints.md | DOF/制約モデルと、各関節で確認済みの回転方向 |
references/rom-table.md | 動作ごとの正確な角度制限 |
references/movement-protocol.md | ポーズコマンドの作成・検証 |
references/viewer-guide.md | Three.js ビューアーの生成・操作 |
references/webmcp-agent.md | WebMCP + CDP を使ったエージェントによるマネキンの操作 |
references/references.md | 出典/設計上の選択理由 |
スクリプト
node scripts/skeleton.mjsを実行すると、scheme/pose/sequence/viewerサブコマンド(--help)を使用できます。npm のインストールは不要です。WebMCP の CDP 操作はoctocode-chrome-devtoolsスキルに委任されます。