openvinotoolkit/physicalai/add-camera-backend
Claude Code and agent skill by openvinotoolkit/physicalai
- community
Checking that the SKILL.md file is still in the repository.
Adds or modifies a camera backend in the Physical AI Runtime source tree. Use when implementing Camera, extending create_camera or discovery under src/physicalai/capture, adding optional vendor SDK extras, or writing capture tests with fake devices. DO NOT USE FOR configuring an existing camera in a runtime YAML recipe.
Install
npx vskill@latest install openvinotoolkit/physicalai/add-camera-backendSKILL.md
Adding a Camera Backend
Cameras implement the Camera interface in src/physicalai/capture/camera.py. Factory entry: create_camera() in src/physicalai/capture/factory.py maps lowercase type names (uvc, realsense, basler, …) to implementations. Reference layouts: src/physicalai/capture/cameras/uvc/, src/physicalai/capture/cameras/realsense/, src/physicalai/capture/cameras/basler/.
Workflow
- Pick a reference backend closest to the new hardware (UVC for USB video, RealSense for RGB-D, Basler for GenICam industrial).
- Done when: you can list which modules to mirror (
_camera.py,_discover.py,__init__.pyexports).
- Implement `Camera`:
connect(),disconnect(),read()/read_latest(), context manager support, monotonic timestamps onFrame(src/physicalai/capture/frame.py).
- Done when: fake or mocked device tests can exercise connect/read without hardware.
- Wire discovery if the device is enumerable — add helpers under
src/physicalai/capture/discovery.pyor backend-specific_discover.py. - Register the type in
src/physicalai/capture/factory.pyand export public class fromsrc/physicalai/capture/__init__.pywhen user-facing. - Optional extra in
pyproject.tomlfor vendor SDKs; lazy-import inside the camera module sopip install physicalaistays light.
- Done when:
import physicalai.captureworks without the extra; importing the camera class fails with a clear message if the extra is missing.
- Tests in
tests/unit/capture/using existing fakes (tests/unit/capture/fake.py,conftest.pypatterns).
- Done when:
uv run pytest tests/unit/capture -k <backend>passes.
Shared transport
For multi-process access, create_camera(..., shared=True) wraps with SharedCamera (physicalai[capture] / transport extra, iceoryx2). Only document shared mode when the transport extra is installed.
Required checks
CameraTypeor factory string is documented indocs/reference/camera-api.mdwhen user-visible.- Frame shapes and dtypes match README examples (RGB
(H, W, 3)). - No blocking discovery at import time.
Verify
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/contributing/add-camera-backend/SKILL.md
Popularity
- Repository stars
- 37
- Repository forks
- 29
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/openvinotoolkit/physicalai/add-camera-backend)