custom-profile

custom-profile is a skill for Claude Code, Codex from facebookresearch/projectaria-plugins. It costs 144 tokens per session (5,855 once invoked), scanned A, original, Apache-2.0.

A guide for writing custom JSON profiles for Project Aria Gen 2. A profile selects which sensors run and sets their rates, resolutions, and encodings for both recording and live streaming.

In plain words
What is it for?
Creating, checking, and uploading custom sensor configurations when the device’s predefined profiles do not meet the project’s needs.
Why use it?
It helps configure the glasses for a specific experiment while making the trade-offs around heat, battery use, and data quality clear.

Skill for Claude CodeCodex

Part of the aria-ark plugin — 12 skills shipped together

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.

agentmods
npx agentmods add skills/facebookresearch/projectaria-plugins/custom-profile
Any agent
npx skills add facebookresearch/projectaria-plugins --skill custom-profile
Clone the repo
git clone --depth 1 https://github.com/facebookresearch/projectaria-plugins

Made for: Claude Code, Codex.

Or install aria-ark, the plugin that ships this one along with the rest of its 12 skills.

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 custom-profile

README.md
[![agentmods](https://agentmods.dev/badge/skills/facebookresearch/projectaria-plugins/custom-profile.svg)](https://agentmods.dev/skills/facebookresearch/projectaria-plugins/custom-profile)
Your own site
<a href="https://agentmods.dev/skills/facebookresearch/projectaria-plugins/custom-profile"><img src="https://agentmods.dev/badge/skills/facebookresearch/projectaria-plugins/custom-profile.svg" alt="Measured on agentmods" height="20"></a>
Per session 144 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,855 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00144 $0.05855
Opus 5 $0.00072 $0.02927
Sonnet 5 $0.00029 $0.01171
Haiku 4.5 $0.00014 $0.00585

Measured 3d ago against content hash 92856473f824, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

custom-profile 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 3d 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.

projectaria_ark_plugin/skills/custom-profile/SKILL.md · 397 lines

How it starts

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

Custom Profile Authoring

A profile is a JSON-shaped configuration that fixes which Aria Gen 2 sensors are enabled, at what rate, resolution, and encoding. The same profile applies to both recording and streaming — historically called "recording profile" (and the Companion App still labels them that way), which is misleading; profiles are not recording-only. The device ships with pre-defined profiles validated for thermal, battery, and data quality — use these by default. Custom profiles are for cases where no pre-defined profile fits.


Mental model

A profile is a high-level intent, not a literal sensor list. The device expands it: enabling a vertical (vio, et, ht) auto-adds its raw-sensor dependencies (cameras, IMU); unset fields fall back to defaults; illegal values reject the profile.

Key consequences:

  • Presence is meaning. Many fields are empty-object toggles ("button_state": {}); present = on.
  • Omit prerequisites. et alone is fine; et_cameras + IR LED are auto-added. Express intent, not plumbing.
  • Spelling matters. Misspelled or unknown fields are rejected outright on upload.
  • Selection is by name, not by filename, not by index, not by type.

When NOT to write a custom profile

Stop and use a pre-defined profile if any of these apply:

  • The user is new to Aria.
  • The data will be processed by MPS — custom profiles risk MPS incompatibility.
  • The data needs to be sharable or comparable across studies.
  • The user has not first tried a pre-defined profile.

Pre-defined profiles (use as base)

Profile Best for Notable Bundled JSON
profile8 General-purpose recording RGB 10 Hz @ 2560×1920, SLAM 30 Hz, all environmental sensors on references/profile8.json
profile9 General-purpose streaming RGB 5 Hz CBR (8 Mbps + blur filter), no GPS / BLE / WiFi / ET cameras references/profile9.json
profile10 High-frame-rate RGB RGB 30 Hz @ 2016×1512, otherwise like profile8 references/profile10.json
mp_streaming_demo Machine-perception streaming demo Streaming-only, lighter encoding for thermal, no ALS / baro / mag / GPS / BLE / WiFi references/mp_streaming_demo.json

Read the full file on GitHub · 397 lines

Files

What ships with it

4 files 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. 3d ago First seen · 397 lines · 144 tokens per session scan A 92856473f824

Subscribe to this mod's changes

custom-profile is a skill published in the GitHub repository facebookresearch/projectaria-plugins (8 stars, last pushed 9d ago), licensed Apache-2.0. It adds 144 tokens to every session and 5,855 once invoked, about $0.0007 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-31.

Related

Other skills, from other repositories

integrated-browser

Use this when working on the VS Code integrated browser ("browserView") to understand its architecture and mental model. Covers the embedded Chromium browser, its editor tab, navigation, overlay/layout, sessions, and agent browser tools under src/vs/platform/browserView and src/vs/workbench/contrib/browserView.

microsoft/vscode · 68 tokens

project-snmp-profiles-authoring

Use when editing Netdata SNMP profile YAMLs, topology SNMP profiles, ddsnmp profile parsing, or profile-format documentation. Requires checking source MIB field accessibility, especially MAX-ACCESS not-accessible INDEX objects, before adding or changing profile symbols.

netdata/netdata · 60 tokens

pcbway

PCBWay PCB fabrication and assembly — turnkey/consigned assembly, design rules, ordering workflow. Alternative to JLCPCB for manufacturing. Use with KiCad. Use this skill when the user mentions PCBWay, needs turnkey assembly (PCBWay sources parts by MPN), has parts not available on LCSC, needs assembled boards with…

aklofas/kicad-happy · 119 tokens

unifi-protect

How to manage UniFi Protect cameras and NVR — view cameras, smart detections, Find Anything detection search, recordings, snapshots, lights, sensors, Known Faces, license plates, and the Alarm Manager. Use this skill when the user mentions UniFi cameras, security cameras, NVR, recordings, motion detection, person…

sirkirby/unifi-mcp · 112 tokens

find-high-speed-nets

Analyzes a KiCad PCB to identify high-speed and impedance-controlled nets by looking up component datasheets via AI. Classifies nets by speed tier (ultra-high/high/medium/low), detects RF/antenna feeds and other controlled-impedance nets, estimates max frequencies and rise times per interface, and recommends GND…

drandyhaas/KiCadRoutingTools · 133 tokens

tilelang-env-check

TileLang-Ascend 环境检查与配置验证技能。检查代码仓库完整性、编译安装状态、环境变量配置,并运行简单测试验证环境。发现问题会自动调用相关 skill 进行修复,并按依赖顺序重新执行后续步骤。触发关键词:"环境检查"、"检查环境"、"验证环境"、"环境配置"、"环境搭建"、"env check"、"check environment"、"verify environment"、"setup environment"。.

tile-ai/tilelang-ascend · 112 tokens