hand-tracking
Enables real-time detection and tracking of hand gestures using computer vision in AR/VR environments.
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o hand-tracking.zip https://jpskill.com/download/22024.zip && unzip -o hand-tracking.zip && rm hand-tracking.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/22024.zip -OutFile "$d\hand-tracking.zip"; Expand-Archive "$d\hand-tracking.zip" -DestinationPath $d -Force; ri "$d\hand-tracking.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
hand-tracking.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
hand-trackingフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
hand-tracking
目的
このスキルは、コンピュータービジョンアルゴリズムを使用してAR/VR環境における手のジェスチャーをリアルタイムで検出し、追跡することを可能にし、仮想インタラクションやジェスチャーベースのコントロールなどのアプリケーションにシームレスに統合できます。
使用場面
ゲームにおけるジェスチャー制御インターフェース、リモートコラボレーションツール、バーチャルリアリティヘッドセットのアクセシビリティ機能など、手のジェスチャー入力を必要とするAR/VRアプリを構築する際にこのスキルを使用してください。リアルタイムのオブジェクト操作のように、低遅延の追跡が不可欠なライブカメラフィードのシナリオで適用します。
主な機能
- MediaPipe Handsのような事前学習済みモデルを使用して、手ごとに最大21のキーポイントを持つリアルタイムの手のポーズ推定。
- 一般的なアクション(例:ピンチ、ウェーブ、スワイプ)に対するジェスチャー認識。精度は設定可能な閾値で調整できます。
- ウェブカメラストリームやAR/VRデバイスカメラを含む複数の入力ソースをサポートし、最大60 FPSのフレームレートに対応します。
- 手のランドマークのJSON形式出力と、検出されたジェスチャーのイベントトリガー出力。
- 最小信頼度レベル(例:検出の場合は0.5)の指定など、設定ファイルによるモデルのカスタマイズ。
使用パターン
常に、入力ソースと認証を使用してスキルを初期化してください。まず、APIアクセス用の環境変数を設定します。例:export OPENCLAW_API_KEY=your_api_key。CLIを使用する場合は、カメラデバイスから入力をパイプで渡します。コードでは、スキルをモジュールとしてインポートし、ループ内で追跡関数を呼び出します。メインスレッドをブロックしないように、非同期操作を処理してください。AR/VR統合の場合、レンダリングループと組み合わせて、手の位置に基づいて仮想オブジェクトを更新します。
一般的なコマンド/API
迅速なプロトタイピングにはCLIツールを、プログラムによるアクセスにはREST APIを使用してください。認証には$OPENCLAW_API_KEY環境変数が必要です。
-
CLIコマンド:
- 追跡の実行:
claw hand-track --input /dev/video0 --model mediapipe --confidence 0.7- フラグ:
--inputはカメラデバイス(例:/dev/video0)を指定し、--modelは追跡モデル(例:mediapipeまたはcustom)を選択し、--confidenceは検出閾値を設定します。
- フラグ:
- 出力の保存:
claw hand-track --input file.mp4 --output results.json --gestures pinch,wave- これはビデオファイルを処理し、検出されたジェスチャーをJSONファイルに出力します。
- 追跡の実行:
-
APIエンドポイント:
/api/hand-trackへのPOST:{ "input": "camera", "model": "mediapipe", "confidence": 0.7 }というJSONペイロードを送信して追跡を開始します。- 応答例:
{ "hand_landmarks": [ [x1,y1,z1], ... ], "gestures": ["pinch"] }。
- 応答例:
/api/hand-track/statusへのGET: 現在のセッションステータスを確認します。ヘッダーAuthorization: Bearer $OPENCLAW_API_KEYが必要です。
-
コードスニペット:
- Python (OpenClaw SDKを使用):
import openclaw client = openclaw.Client(api_key=os.environ['OPENCLAW_API_KEY']) results = client.hand_track(input_source='camera', model='mediapipe') print(results['gestures']) - JavaScript (Node.js):
const openclaw = require('openclaw'); const client = new openclaw.Client(process.env.OPENCLAW_API_KEY); client.handTrack({ input: 'camera', confidence: 0.7 }).then(data => console.log(data.hand_landmarks));
- Python (OpenClaw SDKを使用):
-
設定形式:
- 設定にはJSONを使用します:
{ "model": "mediapipe", "gestures": ["pinch", "wave"], "confidence": 0.7 }。 - CLI経由でロード:
claw hand-track --config path/to/config.json。
- 設定にはJSONを使用します:
統合に関する注意点
AR/VRフレームワークのイベントループにスキルをラップして統合してください。Unityの場合、OpenClaw Unityプラグインを使用して手のイベントを購読します。Webアプリでは、WebRTCと組み合わせてカメラストリームを使用します。常に、入力ソースの互換性を検証してください(例:カメラの解像度が少なくとも640x480であることを確認します)。カスタムモデルを使用する場合は、マルチパートフォームでAPIエンドポイント/api/hand-track/models経由でアップロードしてください。本番環境に移行する前に、さまざまな照明条件に対応するためにモックデータでテストしてください。
エラー処理
無効なAPIキーやカメラアクセスに関する問題など、一般的なエラーを確認してください。コードスニペットではtry-catchブロックを使用します。CLIの場合、エラーは終了コードを返します(例:認証失敗の場合は1)。具体的なケース:
$OPENCLAW_API_KEYが不足している場合、APIは401 Unauthorizedで応答します。実行する前にexport OPENCLAW_API_KEY=your_keyで設定してください。- 入力エラー(例:利用できないカメラ)の場合、
InputNotFoundErrorのような例外をキャッチし、デフォルトのソースにフォールバックしてください。 - 低信頼度の検出は、最小閾値を設定し、警告をログに記録することで処理します。例:コードで
if results['confidence'] < 0.5: raise ValueError("Low confidence detection")。 - 一時的なエラー(例:ネットワークの問題)は、API呼び出しで指数関数的バックオフを使用して再試行してください。
具体的な使用例
-
例1: ARアプリでのリアルタイムジェスチャー制御
- シナリオ: 手のジェスチャーで仮想オブジェクトを動かすARアプリを構築します。
- 手順:
OPENCLAW_API_KEYをエクスポートし、claw hand-track --input camera --gestures pinchを実行した後、Pythonで以下を実行します:import openclaw client = openclaw.Client(os.environ['OPENCLAW_API_KEY']) while True: results = client.hand_track(); if 'pinch' in results['gestures']: move_object(results['hand_landmarks'])- これはピンチを検出し、リアルタイムでオブジェクトの位置を更新します。
-
例2: ジェスチャー検出のためのビデオ分析
- シナリオ: 記録されたビデオを分析して、トレーニングデータ用の手のウェーブを検出します。
- 手順: CLIを使用します:
claw hand-track --input video/sample.mp4 --output gestures.log --gestures wave。 - コードでは、
{ "input": "file.mp4", "gestures": ["wave"] }を付けて/api/hand-trackにPOSTし、応答を処理して検出されたウェーブのタイムスタンプをログに記録します。- スニペット例:
fetch('/api/hand-track', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENCLAW_API_KEY}` }, body: JSON.stringify({ input: 'file.mp4' }) }) .then(res => res.json()).then(data => console.log(data.gestures));
- スニペット例:
グラフ関係
- 関連: ar-vr (clu
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
hand-tracking
Purpose
This skill enables real-time detection and tracking of hand gestures in AR/VR environments using computer vision algorithms, allowing for seamless integration into applications like virtual interactions or gesture-based controls.
When to Use
Use this skill when building AR/VR apps that require hand gesture input, such as gesture-controlled interfaces in gaming, remote collaboration tools, or accessibility features in virtual reality headsets. Apply it in scenarios with live camera feeds where low-latency tracking is essential, like real-time object manipulation.
Key Capabilities
- Real-time hand pose estimation with up to 21 key points per hand using pre-trained models like MediaPipe Hands.
- Gesture recognition for common actions (e.g., pinch, wave, swipe) with configurable thresholds for accuracy.
- Support for multiple input sources, including webcam streams or AR/VR device cameras, with frame rates up to 60 FPS.
- Output formats including JSON for hand landmarks and event triggers for detected gestures.
- Customizable models via config files, such as specifying minimum confidence levels (e.g., 0.5 for detection).
Usage Patterns
Always initialize the skill with an input source and authentication. Start by setting the environment variable for API access, e.g., export OPENCLAW_API_KEY=your_api_key. For CLI usage, pipe input from a camera device. In code, import the skill as a module and call tracking functions in a loop. Handle asynchronous operations to avoid blocking the main thread. For AR/VR integration, combine with rendering loops to update virtual objects based on hand positions.
Common Commands/API
Use the CLI tool for quick prototyping or the REST API for programmatic access. Authentication requires the $OPENCLAW_API_KEY environment variable.
-
CLI Commands:
- Run tracking:
claw hand-track --input /dev/video0 --model mediapipe --confidence 0.7- Flags:
--inputspecifies the camera device (e.g.,/dev/video0),--modelselects the tracking model (e.g.,mediapipeorcustom),--confidencesets the detection threshold.
- Flags:
- Save output:
claw hand-track --input file.mp4 --output results.json --gestures pinch,wave- This processes a video file and outputs detected gestures to a JSON file.
- Run tracking:
-
API Endpoints:
- POST to
/api/hand-track: Send a JSON payload with{ "input": "camera", "model": "mediapipe", "confidence": 0.7 }to start tracking.- Example response:
{ "hand_landmarks": [ [x1,y1,z1], ... ], "gestures": ["pinch"] }.
- Example response:
- GET
/api/hand-track/status: Check current session status, requires headerAuthorization: Bearer $OPENCLAW_API_KEY.
- POST to
-
Code Snippets:
- Python (using OpenClaw SDK):
import openclaw client = openclaw.Client(api_key=os.environ['OPENCLAW_API_KEY']) results = client.hand_track(input_source='camera', model='mediapipe') print(results['gestures']) - JavaScript (Node.js):
const openclaw = require('openclaw'); const client = new openclaw.Client(process.env.OPENCLAW_API_KEY); client.handTrack({ input: 'camera', confidence: 0.7 }).then(data => console.log(data.hand_landmarks));
- Python (using OpenClaw SDK):
-
Config Formats:
- Use JSON for configurations:
{ "model": "mediapipe", "gestures": ["pinch", "wave"], "confidence": 0.7 }. - Load via CLI:
claw hand-track --config path/to/config.json.
- Use JSON for configurations:
Integration Notes
Integrate by wrapping the skill in your AR/VR framework's event loop. For Unity, use the OpenClaw Unity plugin to subscribe to hand events. In web apps, pair with WebRTC for camera streams. Always validate input sources for compatibility (e.g., ensure camera resolution is at least 640x480). If using custom models, upload them via the API endpoint /api/hand-track/models with a multipart form. Test with mock data before production to handle varying lighting conditions.
Error Handling
Check for common errors like invalid API keys or camera access issues. Use try-catch blocks in code snippets. For CLI, errors return exit codes (e.g., 1 for authentication failure). Specific cases:
- If
$OPENCLAW_API_KEYis missing, the API responds with 401 Unauthorized; set it viaexport OPENCLAW_API_KEY=your_keybefore running. - For input errors (e.g., unavailable camera), catch exceptions like
InputNotFoundErrorand fallback to a default source. - Handle low-confidence detections by setting a minimum threshold and logging warnings, e.g., in code:
if results['confidence'] < 0.5: raise ValueError("Low confidence detection"). - Retry transient errors (e.g., network issues) with exponential backoff in API calls.
Concrete Usage Examples
-
Example 1: Real-time Gesture Control in AR App
- Scenario: Build an AR app that moves a virtual object with hand gestures.
- Steps: Export
OPENCLAW_API_KEY, runclaw hand-track --input camera --gestures pinch, then in Python:import openclaw client = openclaw.Client(os.environ['OPENCLAW_API_KEY']) while True: results = client.hand_track(); if 'pinch' in results['gestures']: move_object(results['hand_landmarks'])- This detects pinches and updates object positions in real-time.
-
Example 2: Video Analysis for Gesture Detection
- Scenario: Analyze a recorded video to detect hand waves for training data.
- Steps: Use CLI:
claw hand-track --input video/sample.mp4 --output gestures.log --gestures wave. - In code: POST to
/api/hand-trackwith{ "input": "file.mp4", "gestures": ["wave"] }, then process the response to log timestamps of detected waves.- Example snippet:
fetch('/api/hand-track', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.OPENCLAW_API_KEY}` }, body: JSON.stringify({ input: 'file.mp4' }) }) .then(res => res.json()).then(data => console.log(data.gestures));
- Example snippet:
Graph Relationships
- Relates to: ar-vr (cluster), gesture-detection (tag), camera-access (skill for input handling).
- Depends on: computer-vision (core technology), requires authentication via API key.
- Connected to: object-tracking (for extending to full-body tracking), integrates with rendering-engine (for AR/VR visualization).