rdk-capture-photo

rdk-capture-photo is a skill for Claude Code, Codex from D-Robotics/moss. It costs 100 tokens per session (2,490 once invoked), scanned A, original, MIT.

A procedure for taking JPEG photos with a connected D-Robotics RDK board using its built-in MIPI camera sensor. MIPI is a hardware connection commonly used for camera modules.

In plain words
What is it for?
Use it to capture one or more photos from a board camera and, for the supported OV08D setup, apply the included day or low-light capture profile.
Why use it?
It avoids common capture failures caused by using the wrong device, stopping the camera service, selecting the wrong sensor, or capturing before automatic exposure and white balance settle.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to capture one or more photos from a board camera and, for the supported OV08D setup, apply the included day or low-light capture profile.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/d-robotics/moss/rdk-capture-photo
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add D-Robotics/moss --skill rdk-capture-photo
Clone the repo
git clone --depth 1 https://github.com/D-Robotics/moss

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for rdk-capture-photo

README.md
[![agentmods](https://agentmods.dev/badge/skills/d-robotics/moss/rdk-capture-photo/github.svg)](https://agentmods.dev/skills/d-robotics/moss/rdk-capture-photo)
Your own site
<a href="https://agentmods.dev/skills/d-robotics/moss/rdk-capture-photo"><img src="https://agentmods.dev/badge/skills/d-robotics/moss/rdk-capture-photo/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for rdk-capture-photo

Your own site · 80×15
<a href="https://agentmods.dev/skills/d-robotics/moss/rdk-capture-photo"><img src="https://agentmods.dev/badge/skills/d-robotics/moss/rdk-capture-photo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 100 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,490 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00100 $0.02490
Opus 5 $0.00050 $0.01245
Sonnet 5 $0.00020 $0.00498
Haiku 4.5 $0.00010 $0.00249

Measured 11d ago against content hash f65124ac2f60, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

rdk-capture-photo scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

packages/moss-agent/assets/rdk-knowledge/skills/rdk-capture-photo/SKILL.md · 67 lines

How it starts

The opening of the file, as written. The whole thing — 67 lines — stays where its author put it; the contents beside it link to each section on GitHub.

在 RDK 板子上拍照(快速路径)

用板载 MIPI sensor 出一张 JPEG。本 skill 给"拍照"这个高频任务一个可直接执行的步骤,不展开硬件 pipeline 概念(那在 rdk-multimedia)。

前置确认(别跳过)

  1. 已连板子(device_exec 可用)。没连就用 /connect <ip>
  2. 板端命令只用 device_exec,不要用宿主机 execfleet_batch Hybrid 模式下 /app/tmp/rootsystemctlget_isp_dataffmpeg 都属于板端。逐条调用 device_exec,避免批量工具的参数错误中断拍照。
  3. cam-service 必须在跑,绝不能停。 它是 ISP 的 ISC peer 来源;停了跑 ISP 会报 -22(isp->isc == NULL)。检查:systemctl is-active cam-service(或 ps aux | grep cam-service)。只有独占 VIN 调 I2C/MCLK 时才停,用完立即 systemctl start cam-service——拍照不需要停。
  4. 列出可用 sensor,记下目标 index:get_isp_data -h。OV08D 在 X5 上是 index 50(1920×1080 60fps)——这只是示例,换 sensor 一定先 -h 看,别写死。
  5. OV08D index 50 优先走已安装的画质 wrapper:先检查 test -x /usr/local/bin/moss-ov08d-quality-run。它在首个有效 ISP frame 后对 CNR/3DNR/EE 做实测门控:保留 CNR,关闭会显著损失细节或放大颗粒的 3DNR/EE,并保持 WDR 关闭。默认 MOSS_OV08D_PROFILE=day 使用白天室内实测值(Gamma 2.3、Contrast 1.25、Saturation 1.2);低照时用 MOSS_OV08D_PROFILE=lowlight(Gamma 2.5、Contrast/Saturation 1.2)。这些控制必须在实际 get_isp_data 进程里注入,不能靠重启或预热另一个进程继承。wrapper 不存在时才退回通用命令。

拍照步骤(默认拍 1 张)

每次 device_exec 只跑一个逻辑步骤。 device_exec 没有 cwd 参数;get_isp_data 会把 YUV 写到进程 cwd,因此捕获命令必须显式 cd 到本任务目录,后续也只在同一目录找 marker 之后的新帧。

  1. 列 sensor:跑 /app/multimedia_samples/sample_isp/get_isp_data/get_isp_data -h(绝对路径,不用先 cd),记下目标 index(下文用 <idx> 代指)。
  2. 在同一个 ISP 进程里等待 AEC/AWB 收敛,再批量抓稳定帧(不要第一帧)
    • 建任务目录:mkdir -p /tmp/moss-rdk-capture
    • 建新鲜度 marker:touch /tmp/moss-rdk-capture/capture-start.marker
    • OV08D index 50 且画质 wrapper 存在时,延时后喂 l 抓一组帧,再喂 q 退出。当前 X5/OV08D 驱动包已验证的是 offline mode,不加 -c iocd /tmp/moss-rdk-capture && (sleep 8; printf 'lq') | timeout 30 /usr/local/bin/moss-ov08d-quality-run /app/multimedia_samples/sample_isp/get_isp_data/get_isp_data -s 50 >/dev/null 2>&1
    • 明确是低照场景时,在上条命令的 wrapper 前加 MOSS_OV08D_PROFILE=lowlight;白天室内不设置,使用默认 day
    • OV08D wrapper 不存在时仍走 offline mode:cd /tmp/moss-rdk-capture && (sleep 8; printf 'lq') | timeout 30 /app/multimedia_samples/sample_isp/get_isp_data/get_isp_data -s 50 >/dev/null 2>&1
    • 其他 sensor 先按它在 -h 中的能力确定模式,不要把 OV08D 的 -c io 失败路径套过去。
    • 只考虑 capture-start.marker 之后、大小等于 宽×高×1.5 的 YUV;按文件名里的数值 frame id 排序取最大者,并丢弃 frameid_0frameid_1

Read the full file on GitHub · 67 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 11d ago First seen · 67 lines · 0 tokens per session scan A f65124ac2f60

Subscribe to this mod's changes

rdk-capture-photo is a skill published in the GitHub repository D-Robotics/moss (142 stars, last pushed 15d ago), licensed MIT. It adds 100 tokens to every session and 2,490 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume control of Bluesound and NAD speakers. Use when the user wants to play music, stream audio, control speakers, adjust volume, group or ungroup Bluesound players, search TuneIn radio, or manage multi-room streaming setups.

elizaOS/eliza · 64 tokens

openscad

Create and render OpenSCAD 3D models. Generate preview images from multiple angles, extract customizable parameters, validate syntax, and export STL files for 3D printing platforms like MakerWorld.

mitsuhiko/agent-stuff · 42 tokens

piper-tts-training

Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches. Use when creating new synthetic voices, fine-tuning existing Piper checkpoints, preparing audio datasets for TTS training, or deploying voice models to devices like Raspberry Pi or Home Assistant. Covers dataset preparation…

sammcj/agentic-coding · 79 tokens

xiaoai-tts

Control Xiaoai speaker via OpenXiaoAI Voice API for high-quality TTS playback. Use when the user wants to play voice notifications, announcements, or TTS through the Xiaoai speaker using the OpenXiaoAI HTTP API. Supports Doubao (ByteDance) TTS with emotions, voice types, and speed control. Triggers on queries like…

coderzc/open-xiaoai-bridge · 127 tokens

threejs

Three.js scene-graph parsing and export workflows: mesh baking, InstancedMesh expansion, part partitioning, per-link OBJ export, and URDF articulation.

xuansenpa1/skillrevise · 0 tokens

nvidia-cosmos-video

Select, run, and govern NVIDIA Cosmos world-video generation across Cosmos 3 Generator, Predict2.5, Transfer2.5, downloadable checkpoints, self-hosted NIMs, and hosted preview surfaces. Use for text/image/video-to-world, controlled world transfer, multiview or action-conditioned physical-AI video, local checkpoint…

calesthio/generative-media-skills · 97 tokens