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.
npx skills add Immersive-commons/ic-skills --skill ic-headsetsgit clone --depth 1 https://github.com/Immersive-commons/ic-skillsWrote 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.
[](https://agentmods.dev/skills/immersive-commons/ic-skills/ic-headsets)<a href="https://agentmods.dev/skills/immersive-commons/ic-skills/ic-headsets"><img src="https://agentmods.dev/badge/skills/immersive-commons/ic-skills/ic-headsets/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.
<a href="https://agentmods.dev/skills/immersive-commons/ic-skills/ic-headsets"><img src="https://agentmods.dev/badge/skills/immersive-commons/ic-skills/ic-headsets.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00193 | $0.02521 |
| Opus 5 | $0.00097 | $0.01260 |
| Sonnet 5 | $0.00039 | $0.00504 |
| Haiku 4.5 | $0.00019 | $0.00252 |
Grade A, and why
ic-headsets scanned grade A with 1 finding 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -H "Authorization: Bearer $FLOOR10_AGENT_TOKEN" \ How it starts
The opening of the file, as written. The whole thing — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You help an agent's human use the Immersive Commons PICO lending program end-to-end. The fleet is 8 PICO 4 Ultra Enterprise units (IC1..IC8) on Floor 10 of Frontier Tower SF; through 2026-06-14 they do not leave the floor.
This skill is the agent walkthrough. The human-facing canonical doc is at https://www.immersivecommons.com/floor10/headsets/handling (markdown variant: /floor10/headsets/handling.md).
Pre-flight (every session)
-
Token check. Need
FLOOR10_AGENT_TOKENwith at minimumheadsets:read. Member writes also needheadsets:lendand/orheadsets:report_damage. Operator triage needsadmin:headsets_review. Smoke probe:curl -H "Authorization: Bearer $FLOOR10_AGENT_TOKEN" \ -X POST -H "content-type: application/json" \ -d '{"jsonrpc":"2.0","id":"1","method":"tools/call","params":{"name":"ic_headsets_list_inventory","arguments":{}}}' \ https://www.immersivecommons.com/api/mcp200 + a tools/call result = good. 401 = no/bad token. 403 = scope missing.
-
Identity check. The human's IC tier (
ic-memberminimum for lending) is enforced server-side via the agent token's bound Clerk identity. If the human isn'tic-member, the lend tools will refuse and the agent should walk them throughic_request_tierfirst (see theic-onboardingskill).
The four common flows
A. "Lend me a PICO"
Order matters — each step gates the next.
-
Check waiver freshness.
{ "name": "ic_headsets_check_waiver", "arguments": {} }Response
stateis one offresh|stale-version|expired|missing.fresh→ skip to step 3.stale-version/expired/missing→ continue to step 2.
-
Sign the waiver. The agent supplies the human's name + email + signed_typed string (the human's actual typed name). Phone + telegram are optional but recommended. Don't fabricate values — surface the form fields to the human and let them dictate.
{ "name": "ic_headsets_sign_waiver", "arguments": { "name": "Jane Founder", "email": "[email protected]", "phone": "+1...", "telegram": "@janef", "signature_typed": "Jane Founder", "photo_consent": "yes" } }Returns
{ ok, record_id, expires_at }. Hard rules: the agent does NOT supply theringfield — the server derives it from the live tier. The agent does NOT fabricate the typed signature — that's the human's actual keystroke string.
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.
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.
- 8d ago First seen · 165 lines · 193 tokens per session scan A ee3809a850d9
ic-headsets is a skill published in the GitHub repository Immersive-commons/ic-skills (0 stars, last pushed today), licensed MIT. It adds 193 tokens to every session and 2,521 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
tiaportal-mcp
A skill for controlling Siemens TIA Portal, the engineering software used to configure Siemens PLCs and HMIs. It works through an MCP server, a tool connection that lets an agent inspect and change projects.
asset-management
Manage ServiceNow hardware assets, software licenses, and lifecycle states on almhardware/almlicense — license allocation, CMDB-to-asset linking, warranty tracking, inventory aggregation (HAM/SAM).
kernelcad-assemblies
Multi-part assemblies — assembly(), parts, connectors, 7 mate types, fixed and revolute joints, .model()/.solvedModel(). Use for any model with two or more mechanical parts that need joint metadata.
kernelcad-kinematic
Use when verifying whether a moving assembly is buildable — sampled-pose collision sweeps across joint ranges, IK reachability for end-effector targets, mounting-hole fastener consistency, and static-load capacity on cantilever-shaped parts. Loads alongside kernelcad-authoring to gate design-time mechanism feasibility.
kernelcad-parts
Bundled parts catalog — discover, fetch, and mate standard fasteners, bearings, motors, headers, and connectors. Use whenever the model needs an off-the-shelf component instead of hand-modeled placeholder geometry.
use-the-available-kernel
Hard rules for which kernelCAD primitive to reach for when authoring from a reference photo. The from-reference loop fails most often because the author defaults to easy primitives and skips ones that exist. Read before writing any geometry.