rdk-isp-tuning

rdk-isp-tuning is a skill for Claude Code, Codex from D-Robotics/moss. It costs 88 tokens per session (2,526 once invoked), scanned A, original, MIT.

A controlled workflow for tuning image-processing settings on a connected D-Robotics RDK camera board. It adjusts an ISP, the software pipeline that converts sensor data into viewable frames, for exposure, white balance, noise reduction, and sharpening.

In plain words
What is it for?
Use it when the sensor driver already works and you need to improve image quality, match a reference image, test tuning JSON files, or compare camera output across fixed scenes.
Why use it?
It provides a repeatable way to compare image changes while avoiding hardware, service, and configuration mistakes.

Skill for Claude CodeCodex

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

Good fit Use it when the sensor driver already works and you need to improve image quality, match a reference image, test tuning JSON files, or compare camera output across fixed scenes.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/d-robotics/moss/rdk-isp-tuning
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-isp-tuning
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-isp-tuning

README.md
[![agentmods](https://agentmods.dev/badge/skills/d-robotics/moss/rdk-isp-tuning.svg)](https://agentmods.dev/skills/d-robotics/moss/rdk-isp-tuning)
Your own site
<a href="https://agentmods.dev/skills/d-robotics/moss/rdk-isp-tuning"><img src="https://agentmods.dev/badge/skills/d-robotics/moss/rdk-isp-tuning.svg" alt="Measured on agentmods" height="20"></a>
Per session 88 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,526 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 warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Tool Misuse · line 61
    Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
    Fix: Validate all tool parameters against an allowlist. Reject dangerous parameter values (shell=True, --force, -rf /) and use safe defaults.
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.00088 $0.02526
Opus 5 $0.00044 $0.01263
Sonnet 5 $0.00018 $0.00505
Haiku 4.5 $0.00009 $0.00253

Measured 8d ago against content hash 93eac50eb37a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

rdk-isp-tuning 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 8d 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-isp-tuning/SKILL.md · 129 lines

How it starts

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

RDK ISP 画质调参

适用于板上已经存在目标 sensor 驱动、模式配置和 *_tuning.json,需要优化 RAW→ISP→NV12 的画质。没有驱动、没有 sensor index 或 I2C/MCLK 不通时,先做 sensor bring-up,不要用 tuning JSON 掩盖硬件问题。

安全边界

  1. 先运行 get_isp_data -h 确认 sensor、分辨率、帧率和 index;不要凭记忆写死 index。
  2. 只修改用户指定模式对应的 JSON。例如目标是 1920×1080,就不得顺手修改同 sensor 的 3264×2448 JSON。
  3. 修改前记录目标 JSON 和同 sensor 其他 JSON 的 MD5,并把目标文件备份到 /userdata/moss-isp-tuning/<sensor>/<mode>/backups/。每个候选也保留独立副本。
  4. cam-service 必须保持可恢复状态。采集和回灌时不要 stop/killall cam-service;加载新 JSON 时只允许短暂 systemctl restart cam-service,随后必须验证 systemctl is-active cam-serviceactive
  5. JSON 上传后先做语法校验,再覆盖正式文件。失败时立即恢复备份并重启服务。永远不要把未验证候选留在板端。
  6. 不要把“画面更亮”当作“画质更好”。最佳版本必须同时检查曝光、色彩、噪声、细节、剪裁和稳定性。

建立可复现基线

调参前至少准备以下场景;手机参考图必须与板端相机尽量同机位、同构图、同光线:

  • 白天室内普通照度
  • 窗口或灯具在画面内的大光比
  • 中性白/灰物体与常见肤色
  • 文字、布料、木纹等细纹理
  • 暗部或低照场景

每个候选都用同一个采集方法。不要用“另起一个进程预热、再起一个进程拍照”,因为新 ISP 实例不会继承前一个实例的 AEC/AWB 状态。使用同一个 get_isp_data 进程延时后批量抓帧:

sensor_idx="${SENSOR_INDEX:?set SENSOR_INDEX}"
settle_seconds="${SETTLE_SECONDS:?set SETTLE_SECONDS from measured convergence}"
capture_timeout_seconds="${CAPTURE_TIMEOUT_SECONDS:?set a bounded capture timeout}"
case "$sensor_idx:$settle_seconds:$capture_timeout_seconds" in
  *[!0-9:]*|:*|*::*|*:) echo "invalid numeric capture parameter" >&2; exit 2 ;;
esac
if [ "$settle_seconds" -le 0 ] || [ "$capture_timeout_seconds" -le "$settle_seconds" ]; then
  echo "capture timeout must be greater than a positive settle time" >&2
  exit 2
fi
capture_root=/userdata/moss-isp-tuning/captures
mkdir -p "$capture_root"
capture_dir=$(mktemp -d "$capture_root/run.XXXXXX") || exit 1
cd "$capture_dir" || exit 1
(sleep "$settle_seconds"; printf 'lq') \
  | timeout "$capture_timeout_seconds" \
      /app/multimedia_samples/sample_isp/get_isp_data/get_isp_data -s "$sensor_idx" -c io \
      >/dev/null 2>&1

先从基线流的 AEC/AWB 指标确定 settle_seconds,再为命令退出预留有限余量设置 capture_timeout_seconds;不要把示例等待时间当成所有 sensor 的固定收敛时间。每次采集使用新的 capture_dir,清理时也只删除该次目录,不要用 rm -f ~/handle_*.yuv 之类的宽泛通配符。

Read the full file on GitHub · 129 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. 8d ago First seen · 129 lines · 88 tokens per session scan A 93eac50eb37a

Subscribe to this mod's changes

rdk-isp-tuning is a skill published in the GitHub repository D-Robotics/moss (142 stars, last pushed 12d ago), licensed MIT. It adds 88 tokens to every session and 2,526 once invoked, about $0.0004 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

cad-viewer

Start CAD Viewer and return review links for CAD and robot-description files. Use when visually reviewing .step, .stp, .glb, .stl, .3mf, .dxf, .urdf, .srdf, or .sdf files, especially when handed off from CAD, URDF, SRDF, or SDF generation skills.

earthtojake/text-to-cad · 79 tokens

solidworks-vibecad

A planning guide for turning natural-language mechanical design requests into structured, parameterized SolidWorks plans that can be reviewed before execution.

wzyn20051216/solidworks-automation-skill · 96 tokens

add-interfaces

Enrich an existing PartCAD part with connection interfaces and ports (mating metadata) so it can be mated to other parts automatically. Use for /pc:add-interfaces or when the user asks to add interfaces, ports, connectors, or mating information to a part, or to make parts snap/connect/assemble together.

partcad/partcad · 69 tokens

gen-assembly

Generate a PartCAD assembly (an ASSY that composes parts with placement and/or mates) from a description, generating or reusing the component parts and validating the result with the PartCAD CLI. Use for /pc:gen-assembly or when the user asks to generate or create an assembly, mechanism, or multi-part product.

partcad/partcad · 71 tokens

render

Render a PartCAD object or a CAD file to a 2D image - PNG, JPEG, SVG or DXF - from one or many viewing angles (front, back, left, right, top, bottom, iso, or an arbitrary direction), with pc render for an object a package declares or pc adhoc render for a file that belongs to no package. Use for /pc:render or when the…

partcad/partcad · 168 tokens

gen-part

Generate a PartCAD part from a natural-language description (and optional reference images/requirements) by authoring a CAD script and validating it with the PartCAD CLI. Use for /pc:gen-part or when the user asks to generate, create, or model a single mechanical part.

partcad/partcad · 60 tokens