A suite of Claude Code skills for the Viam robotics platform. The SDK skills provide deep, source-verified expertise built from direct analysis of SDK source code and real module repositories — not documentation summaries. The machine-tooling skills bundle ready-to-run scripts that drive live Viam machines through the Viam app API.
This library of skills is a work-in-progress. If you have feedback about how to improve any of the skills or ones to add, please file an issue or submit a PR.
Deep, source-verified reference skills — each pairs a SKILL.md with reference files extracted from real codebases.
| Skill | Scope | Lines |
|---|---|---|
| viam-go-motion-vision | Arm, camera, vision, motion planning, frame system, spatial math — Go SDK | 1,310 |
| viam-go-platform | All other components (17), services (7), and the resource API — Go SDK | 3,109 |
| viam-modules-fleet | viam CLI, module lifecycle, fleet management, robot configuration |
2,150 |
| viam-python | Python SDK: async patterns, all components/services, module dev, ecosystem integration | 2,221 |
| viam-ml | Data capture, training scripts (Keras, Ultralytics), model deployment (TFLite, Triton) | 2,004 |
| viam-cpp | C++ SDK: driver patterns from 6 production modules (UR, RealSense, Orbbec, TFLite, Triton, audio) | 1,876 |
| viam-typescript | TypeScript SDK: browser robot control, Viam Applications, HMI/dashboard patterns | 1,831 |
Total: ~14,500 lines of reference material across 25 files.
Operational skills — each bundles an executable Python script for working with live Viam machines from the command line, in places the viam CLI itself can't.
| Skill | Scope |
|---|---|
| local-viam-server | Create a Viam cloud machine and bring up a local viam-server connected to it — fetches the machine part secret the viam CLI does not expose, and picks a free port |
| viam-machine-config | Push or replace a machine's robot config (modules, components, services) via the Viam app API — the CLI can read config history but cannot set it |
The skills cross-reference each other rather than duplicating knowledge:
viam-modules-fleet
(CLI, deploy, config)
/ | | \
/ | | \
viam-go-motion-vision | | viam-typescript
(manipulation, Go) | | (web/HMI)
| |
viam-go-platform | viam-cpp
(components, Go) | (drivers, C++)
|
viam-python ──── viam-ml
(Python SDK) (training, deployment)
local-viam-server ──── viam-machine-config
(create machine + (push robot config)
run viam-server)
└──── operate live machines (Viam app API) ────┘
- Manipulation concepts (frame system, motion planning, WorldState) live in
viam-go-motion-vision— language skills reference it for architecture - Module lifecycle (scaffold, build, upload, deploy) lives in
viam-modules-fleet— all language skills reference it for deployment - ML pipeline (data capture, training, model deployment) lives in
viam-ml— referenced by vision and language skills - Machine operations (create a machine, run
viam-server, push a robot config) live inlocal-viam-serverandviam-machine-config— they drive live machines via the Viam app API, complementing the build/upload workflows inviam-modules-fleet
This repo is published as a Claude Code plugin marketplace. You can install the full bundle in one go, or pick individual plugins.
Inside Claude Code, run:
/plugin marketplace add viam-devrel/agent-skills
This registers the marketplace from the GitHub repo. You can also point at a local clone:
/plugin marketplace add /path/to/agent-skills
Open the interactive picker:
/plugin
You'll see the viam-agent-skills marketplace with these plugins:
| Plugin | What it installs |
|---|---|
viam-skills |
Bundled — all 9 skills below |
viam-go-motion-vision |
Arm, camera, vision, motion planning (Go) |
viam-go-platform |
Non-manipulation Go components, services, resource API |
viam-modules-fleet |
Viam CLI, module lifecycle, fleet/robot config |
viam-python |
Python SDK |
viam-ml |
Data capture, training, model deployment |
viam-cpp |
C++ SDK driver patterns |
viam-typescript |
Browser robot control, HMIs, Viam Applications |
local-viam-server |
Create a cloud machine + run a local viam-server |
viam-machine-config |
Push a machine's robot config via the app API |
/plugin install viam-skills@viam-agent-skills
/plugin install viam-python@viam-agent-skills
/plugin install viam-cpp@viam-agent-skills
/plugin install local-viam-server@viam-agent-skills
The @viam-agent-skills suffix selects this marketplace.
Once installed, skills activate automatically based on triggers in their frontmatter (for example, touching a file that imports @viamrobotics/sdk activates viam-typescript). To invoke a skill manually, use the Skill tool or mention the skill by name.
/plugin marketplace update viam-agent-skills
/plugin uninstall viam-python@viam-agent-skills
.claude-plugin/
plugin.json # bundled "viam-skills" plugin manifest
marketplace.json # marketplace listing (bundle + per-skill)
skills/ # canonical skill sources
<skill>/
plugins/ # per-skill plugin wrappers (symlink into skills/)
<skill>/
.claude-plugin/plugin.json
skills/<skill> -> ../../../skills/<skill>
The per-skill plugins are thin wrappers that symlink into skills/ — there is only one source of truth for each skill.
SDK & pipeline skills pair a SKILL.md with reference files:
skills/viam-<name>/
SKILL.md # Main skill definition
references/
<topic>-reference.md # Deep reference (interfaces, architecture)
cheatsheet.md # Quick-reference tables and templates
Machine tooling skills pair a SKILL.md with an executable script:
skills/<skill-name>/
SKILL.md # When to use the skill, usage, options, gotchas
<script>.py # The script the skill drives (run via python3)
- Frontmatter — trigger description (when the skill activates)
- Knowledge Sources — which reference files to consult, with version awareness caveats
- Out of Scope — what belongs to other skills, with cross-references
- Detecting Developer Level — adjusts response depth based on user signals
- Domain Guidance — structured advice for the skill's core topics
- Gotcha Library — proactive warnings for common mistakes
- Code Example Patterns — complete, working examples
Source-verified interface definitions, method signatures, type systems, architecture diagrams, and patterns extracted from real codebases. These are not documentation summaries — they are built from reading the actual source code.
The SDK & pipeline skills were built from analysis of these repositories:
| Source | Used by |
|---|---|
| viamrobotics/rdk | viam-go-motion-vision, viam-go-platform, viam-modules-fleet, viam-ml |
| viamrobotics/viam-python-sdk | viam-python |
| viamrobotics/viam-cpp-sdk | viam-cpp |
| viamrobotics/viam-typescript-sdk | viam-typescript |
| viam-modules/universal-robots | viam-cpp |
| viam-modules/orbbec | viam-cpp |
| viam-modules/viam-camera-realsense | viam-cpp |
| viam-modules/mlmodel-tflite | viam-cpp, viam-ml |
| viam-modules/viam-mlmodelservice-triton | viam-cpp, viam-ml |
| viam-modules/system-audio | viam-cpp |
| viam-modules/classification-tflite | viam-ml |
| viam-modules/detection-tflite | viam-ml |
| viam-modules/tabular-data-tensorflow | viam-ml |
| viam-devrel/yolo-training | viam-ml |
| viam-devrel/cube-sorter-webapp | viam-typescript |
The SDK & pipeline skills were built from source analysis circa April 2026. The Viam platform evolves rapidly. Each of those skills includes version awareness guidance instructing the LLM to:
- Check the user's
go.mod/requirements.txt/package.jsonfor their SDK version - Prefer grepping local source over trusting the reference blindly
- Acknowledge gaps rather than fabricating API signatures
- Recommend
pkg.go.devor SDK docs for canonical API references