From dora-skills
Provides camera and video capture nodes for dora dataflow pipelines, supporting OpenCV webcams, Intel RealSense depth cameras, and Orbbeck sensors.
How this skill is triggered — by the user, by Claude, or both
Slash command
/dora-skills:hub-cameraThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Capture video frames from cameras and depth sensors
Capture video frames from cameras and depth sensors
| Node | Install | Description | Platform |
|---|---|---|---|
| opencv-video-capture | pip install opencv-video-capture | OpenCV camera/video | All |
| dora-pyrealsense | pip install dora-pyrealsense | Intel RealSense depth | Linux |
| dora-pyorbbecksdk | pip install dora-pyorbbecksdk | Orbbeck depth camera | All |
OpenCV-based video capture from webcam or video file.
- id: camera
build: pip install opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/16 # ~60fps
outputs:
- image
env:
PATH: "0" # Camera index (0, 1, ...) or video file path
IMAGE_WIDTH: 640 # Optional: output width
IMAGE_HEIGHT: 480 # Optional: output height
image - UInt8Array with metadata:
metadata = {
"width": 640,
"height": 480,
"encoding": "bgr8", # or "rgb8"
"primitive": "image" # for dora-rerun
}
storage = event["value"]
metadata = event["metadata"]
width = metadata["width"]
height = metadata["height"]
encoding = metadata["encoding"]
channels = 3
frame = storage.to_numpy().astype(np.uint8).reshape((height, width, channels))
# Convert BGR to RGB if needed
if encoding == "bgr8":
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
Intel RealSense camera with RGB and depth streams.
- id: realsense
build: pip install dora-pyrealsense
path: dora-pyrealsense
inputs:
tick: dora/timer/millis/33 # ~30fps
outputs:
- image # RGB image
- depth # Depth image
env:
IMAGE_WIDTH: 640
IMAGE_HEIGHT: 480
image - RGB UInt8Array
metadata = {"width": 640, "height": 480, "encoding": "rgb8"}
depth - Float32Array depth values (meters)
metadata = {"width": 640, "height": 480}
Orbbeck depth camera support.
- id: orbbeck
build: pip install dora-pyorbbecksdk
path: dora-pyorbbecksdk
inputs:
tick: dora/timer/millis/33
outputs:
- image
- depth
All camera nodes output images in Apache Arrow format:
import pyarrow as pa
import numpy as np
# Encoding image
image_data = pa.array(frame.ravel()) # UInt8Array
# Sending
node.send_output("image", image_data, {
"width": 640,
"height": 480,
"encoding": "bgr8",
"primitive": "image" # for dora-rerun visualization
})
nodes:
- id: camera
build: pip install opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/33
outputs:
- image
env:
IMAGE_WIDTH: 640
IMAGE_HEIGHT: 480
- id: yolo
build: pip install dora-yolo
path: dora-yolo
inputs:
image: camera/image
outputs:
- bbox
- id: rerun
build: pip install dora-rerun
path: dora-rerun
inputs:
image: camera/image
detections: yolo/bbox
nodes:
- id: camera_left
build: pip install opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/33
outputs:
- image
env:
PATH: "0"
- id: camera_right
build: pip install opencv-video-capture
path: opencv-video-capture
inputs:
tick: dora/timer/millis/33
outputs:
- image
env:
PATH: "1"
nodes:
- id: realsense
build: pip install dora-pyrealsense
path: dora-pyrealsense
inputs:
tick: dora/timer/millis/33
outputs:
- image
- depth
- id: rerun
build: pip install dora-rerun
path: dora-rerun
inputs:
rgb_camera:
source: realsense/image
metadata:
primitive: "image"
depth_sensor:
source: realsense/depth
metadata:
primitive: "depth"
focal: [600, 600]
camera_position: [0, 0, 0]
# List available cameras
v4l2-ctl --list-devices # Linux
# Add user to video group (Linux)
sudo usermod -a -G video $USER
Provides behavioral guidelines to reduce common LLM coding mistakes, focusing on simplicity, surgical changes, assumption surfacing, and verifiable success criteria.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub zhanghandong/dora-skills --plugin dora-skills