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 archetypeai/agent-skills --skill atai-operational-state-monitoring-agent-data-prepgit clone --depth 1 https://github.com/archetypeai/agent-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/archetypeai/agent-skills/atai-operational-state-monitoring-agent-data-prep)<a href="https://agentmods.dev/skills/archetypeai/agent-skills/atai-operational-state-monitoring-agent-data-prep"><img src="https://agentmods.dev/badge/skills/archetypeai/agent-skills/atai-operational-state-monitoring-agent-data-prep/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/archetypeai/agent-skills/atai-operational-state-monitoring-agent-data-prep"><img src="https://agentmods.dev/badge/skills/archetypeai/agent-skills/atai-operational-state-monitoring-agent-data-prep.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.00239 | $0.04206 |
| Opus 5.5 | $0.00096 | $0.01682 |
| Sonnet 5.5 | $0.00048 | $0.00841 |
| Haiku 4.5 | $0.00024 | $0.00421 |
Grade A, and why
atai-operational-state-monitoring-agent-data-prep 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 9d 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.
How it starts
The opening of the file, as written. The whole thing — 308 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OSM Data Prep — Labelled Recordings → Role Files
The OSM agent learns operational states (drilling / tripping, fill / wash / spin / drain, …) from labelled recordings and classifies every window of new ones. Before anything reaches the platform, the recordings have to become role files: a small, strict layout the Optimizations and Evals APIs accept. Most ways to get it wrong don't error: an optimization with too many training files never starts, one scored window across a time gap fails the whole trial, and a state missing from the test set scores 0. This skill builds the layout and checks every rule before you upload.
recordings (any rate, gaps, jitter) role files (the contract)
+ a per-row state label prepare.py ─┐
+ recordings.csv (index) → check_states │→ build_roles.py → preflight_roles.py → OSM agent skill, Path 2
split_roles ─┘
Everything here is local and needs no API key. The contract itself is in
references/role-files.md; the platform rules in it were
measured on the dev deployment (2026-09-30) while building the LARCO washing-machine
examples (the quickstart,
and the full example).
When to Apply
- You have labelled recordings (one state per row, or per stretch) from one or more assets, and want an OSM agent that recognises those states
- An OSM optimization stays
pendingforever, or fails witheval-mode test data must not contain windows a validation node rejected— preflight your role files - You want to know whether your states are separable from the sensor before spending platform time on them
Do not use this skill when:
- You only want to run the maintained Volve bundle on one CSV — that's
atai-operational-state-monitoring-agent, Path 1 - You're embedding windows yourself over
/queryfor a local KNN — useatai-newton-omega-model-data-prep(itsFeaturePreparerhas no role here: the platform embeds) - Your raw data first needs heavy cleaning (imputing short dropouts, diagnosing sensors):
do that with
atai-newton-omega-model-data-prep'sDataPreprocessor, then come back here
What ships with it
20 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.
- references/.gitignore 62 B
- references/build_roles.py 10 KB runs code
- references/check_states.py 6.7 KB runs code
- references/osm_common.py 2.6 KB runs code
- references/preflight_roles.py 11 KB runs code
- references/prepare.py 7.1 KB runs code
- references/requirements.txt 137 B
- references/role-files.md 5.3 KB
- references/sample_data/becken_warm_15-min_40_0.parquet 1768 KB
- references/sample_data/becken_warm_15-min_40_2.parquet 1722 KB
- references/sample_data/becken_warm_20-deg_20_0.parquet 5140 KB
- references/sample_data/becken_warm_delicate_30_0.parquet 4212 KB
- references/sample_data/becken_warm_fast-45_40_0.parquet 4073 KB
- references/sample_data/becken_warm_mix_40_2.parquet 5474 KB
- references/sample_data/becken_warm_sport_40_2.parquet 4488 KB
- references/sample_data/becken-flt_warm_fast-15_2.parquet 1734 KB
- references/sample_data/README.md 3.4 KB
- references/sample_data/recordings.csv 734 B
- references/split_roles.py 2.6 KB runs code
- tests/test_osm_prep.py 12 KB runs code
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.
- 9d ago Changed 9950c37b17e1
- 15d ago First seen · 308 lines · 239 tokens per session scan A 2f0fb23e434a
atai-operational-state-monitoring-agent-data-prep is a skill published in the GitHub repository archetypeai/agent-skills (6 stars, last pushed today), licensed Apache-2.0. It adds 239 tokens to every session and 4,206 once invoked, about $0.0010 per session on Opus 5.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-10-02.
Other skills, from other repositories
sensing-track
Query flow event logs to answer questions about past sensing events — "Have you seen anybody between 10pm and midnight?", "Is there any motion in the last hour?", "What happened while I was away?". Also holds your OWN sleep history — "how many times have you slept?", "when do you usually go to sleep?".
sensing
React to passive device events tagged [sensing:...] — presence, sound, light, fire hazard — with inline emotion markers and optional short speech. Does NOT handle motion.activity (→ wellbeing) or emotion.detected / speechemotion.detected (→ user-emotion-detection).
environment
Interpret environmental sensor readings and sustained changes for room comfort and air quality. Use for [environment:initial] greeting context, [environment:update] events, questions about room temperature, humidity, measured CO2 or air quality, checking changes after ventilation or air cleaning, and room-feeling…
emotion
Express emotion through coordinated servo + LED + display eyes on EVERY conversational response. This is the PRIMARY response skill that makes the device feel alive. Do NOT use for ambiance lighting (use Scene) or custom LED colors (use LED Control).
guard
Guard mode for security monitoring. Two uses — (1) Toggle on/off when a friend says "guard mode", "watch the house", "I'm going out", or similar. (2) Handle any sensing event that carries a [guard-active] tag (e.g. [sensing:presence.enter][guard-active], [sensing:motion][guard-active]) with dramatic shock/curious…
led-control
Control the device's RGB light when the user asks for a SPECIFIC color (e.g. "yellow", "red", "yellow", "red", "turn on color X", "enable X light"), an LED effect, or turning LEDs off. Do NOT use for ambiance/activity lighting (use Scene) or emotion expression (use Emotion).