Agent skill

RuView Model Training

by ruvnet in ruvnet/RuView

Trains and evaluates several WiFi-signal-based pose and sensing models, from unsupervised pose estimation to domain adaptation and publishing.

MITAuto-check: notesAI & LLM Engineering

Install RuView Model Training

skills CLI
$ npx skills add ruvnet/RuView --skill ruview-model-training -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ruvnet/RuView ruview-model-training --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ruvnet/RuView.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/ruview/skills/ruview-model-training .claude/skills/ruview-model-training && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ruview-model-training
GitHub stars
97k
Token cost
~1.3k tokens
SKILL.md length
320 words
Files
1
Skills in repo
24
Repo updated
First seen
Licence
MIT

At a glance

Trains and evaluates several WiFi-signal-based pose and sensing models, from unsupervised pose estimation to domain adaptation and publishing.

  • Training a WiFi-based pose model without any camera or labels
  • SKILL.md covers Track A — Camera-free pose…, Track B — Camera-supervised…, Track C — RuVector contrastive… and Track D — Domain…, plus 6 more sections
  • Calls cargo, python and node
  • Pairing a webcam and ESP32 to train a more accurate pose model

What it does

This skill walks through training the different model types that make up RuView, a system that turns WiFi signals rather than camera video into pose and presence data. Depending on the goal, it offers several tracks: an unsupervised pose model trained only on raw WiFi channel state information with no camera labels; a camera-supervised pose model pairing a webcam running MediaPipe with ESP32-captured signals as ground truth; contrastive embeddings for re-identification and retrieval; a domain-generalization setup letting a model transfer to a new environment without retraining; and a small spiking neural network that adapts to a new room on-device in under 30 seconds.

Each track runs through its own Cargo, Python or Node scripts for data collection, pretraining and benchmarking, and the skill also covers GPU training on a specific Google Cloud project with L4, A100 or H100 quota, local training on a Mac, and publishing a finished model to Hugging Face so others can use it.

Several tracks need specific hardware or files to run, such as an ESP32 for signal capture or a MediaPipe pose-landmarker model file, and the skill points to a dedicated design document for each track's detail.

When your agent uses it

  • Training a WiFi-based pose model without any camera or labels
  • Pairing a webcam and ESP32 to train a more accurate pose model
  • Adapting a trained model to a new room without retraining

Example prompts

  • “Train the camera-free WiFlow pose model on the data in data/csi/.”
  • “Set up GPU training for RuView on the GCloud project.”
  • “Publish the latest trained RuView model to Hugging Face.”

Requirements

  • ESP32 hardware for signal capture (camera-supervised and contrastive tracks)
  • A MediaPipe pose-landmarker model file
  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Glob, Grep

What it can do on your machine

Read from SKILL.md and the folder at commit 0ef6b96. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo
    • python
    • node
    • bash
    • gcloud

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gcloud, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

RuView Model Training loads about 1.3k tokens when it runs. Until then it costs about 105 tokens; SKILL.md has 320 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~105
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ruvnet/RuView at commit 0ef6b96, republished under its MIT licence (© ruvnet). 320 words, ~1,333 tokens.

Download SKILL.mdSave it as .claude/skills/ruview-model-training/SKILL.md (or your agent's skills folder).
name
ruview-model-training
description
Train RuView models — camera-free WiFlow pose (10 sensor signals, no labels), camera-supervised pose (MediaPipe + ESP32 CSI → 92.9% PCK@20, ADR-079), RuVector contrastive embeddings (AETHER, ADR-024), domain generalization (MERIDIAN, ADR-027), local SNN environment adaptation, plus GPU training on GCloud and Hugging Face publishing. Use when building, fine-tuning, evaluating, or shipping a model.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep

RuView Model Training

RuView trains several kinds of model. Pick the track that matches the goal; all of them run on a laptop, with an optional GPU path.

Track A — Camera-free pose (WiFlow), no cameras, no labels

Trains 17-keypoint pose from 10 sensor signals. Fast, fully unsupervised, modest accuracy.

bash
cd v2
# Pretrain on raw CSI (contrastive)
cargo run -p wifi-densepose-sensing-server -- --pretrain --dataset data/csi/ --pretrain-epochs 50
# Train pose head, save an RVF artifact
cargo run -p wifi-densepose-sensing-server -- --train --dataset data/mmfi/ --epochs 100 --save-rvf model.rvf

~84 s on an M4 Pro. Benchmarks: node scripts/benchmark-wiflow.js, eval: node scripts/eval-wiflow.js.

Track B — Camera-supervised pose (ADR-079) → 92.9% PCK@20

Uses a webcam + MediaPipe as ground truth, paired with ESP32 CSI. ~19 min on a laptop.

bash
# 1. Collect paired data (camera + CSI)
python scripts/collect-ground-truth.py        # MediaPipe pose landmarks
python scripts/collect-training-data.py       # CSI capture, time-synced
node scripts/align-ground-truth.js            # align camera ↔ CSI timestamps

# 2. Train (the camera-supervised path through the sensing-server / train crate)
cd v2
cargo run -p wifi-densepose-sensing-server -- --train --dataset data/paired/ --epochs <N> --save-rvf model.rvf

# 3. Evaluate
cd .. && node scripts/eval-wiflow.js          # reports PCK@20

Requires data/pose_landmarker_lite.task (MediaPipe model). See docs/adr/ADR-079-camera-ground-truth-training.md.

Track C — RuVector contrastive embeddings (AETHER, ADR-024)

CSI subcarrier amplitude/phase → embeddings for re-ID and retrieval (171K emb/s on M4 Pro). Driven by wifi-densepose-train + wifi-densepose-ruvector (RuVector v2.0.4). Spectrogram embeddings: ADR-076.

bash
cd v2
cargo check -p wifi-densepose-train --no-default-features      # sanity
cargo run -p wifi-densepose-sensing-server -- --model model.rvf --embed
cargo run -p wifi-densepose-sensing-server -- --model model.rvf --build-index env

Track D — Domain generalization (MERIDIAN, ADR-027)

Make a model transfer across environments without retraining. Configured through the training pipeline's domain-generalization options; see ADR-027 and wifi-densepose-train + ruview_metrics.

Track E — Local SNN environment adaptation

Spiking neural network that adapts to a new room in <30 s, on-device or on a Cognitum Seed:

bash
node scripts/snn-csi-processor.js --port 5006

See docs/tutorials/cognitum-seed-pretraining.md, ADR-084/085 (RaBitQ similarity sensor), ADR-086 (edge novelty gate).

GPU training on GCloud

Project cognitum-20260110 has L4 / A100 / H100 quota.

bash
gcloud auth login
gcloud config set project cognitum-20260110

bash scripts/gcloud-train.sh --dry-run                      # smoke test, synthetic data
bash scripts/gcloud-train.sh --gpu l4 --hours 2             # prototyping
bash scripts/gcloud-train.sh --gpu a100 --config scripts/training-config-sweep.json
bash scripts/gcloud-train.sh --sweep                        # full hyperparameter sweep
# VM is auto-deleted after training unless --keep-vm. Cost: L4 ~$0.80/hr, A100 40GB ~$3.60/hr.

Local Mac training: bash scripts/mac-mini-train.sh. Model benchmark: python scripts/benchmark-model.py.

Publishing a trained model

bash
python scripts/publish-huggingface.py        # or: bash scripts/publish-huggingface.sh

Pushes the RVF artifact + card to Hugging Face. See docs/huggingface/.

Data layout

PathContents
data/recordings/Raw CSI captures (*.csi.jsonl), overnight runs
data/csi/CSI datasets for pretraining
data/mmfi/MM-Fi dataset (ADR-015)
data/paired/Camera ↔ CSI paired samples (ADR-079)
data/ground-truth/MediaPipe pose landmarks
data/pose_landmarker_lite.taskMediaPipe model file
models/Trained artifacts

Record more data: python scripts/record-csi-udp.py (UDP CSI capture from a live node).

Validation after a training change

bash
cd v2 && cargo test --workspace --no-default-features          # 1,400+ pass, 0 fail
cd .. && python archive/v1/data/proof/verify.py                # VERDICT: PASS

Then hand off to ruview-verify for the witness bundle.

Reference

  • ADRs: 015 (MM-Fi + Wi-Pose datasets), 016 (RuVector training integration — complete), 017 (RuVector signal + MAT), 024 (AETHER), 027 (MERIDIAN), 076 (spectrogram embeddings), 079 (camera ground truth), 084/085 (RaBitQ), 095/096 (on-ESP32 temporal modeling, sparse GQA)
  • Crates: wifi-densepose-train, wifi-densepose-nn, wifi-densepose-ruvector, wifi-densepose-sensing-server
  • scripts/gcloud-train.sh, mac-mini-train.sh, benchmark-wiflow.js, eval-wiflow.js, benchmark-model.py

© ruvnet, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/ruview/skills/ruview-model-training of ruvnet/RuView.

Open the folder on GitHubat commit 0ef6b96

Compare with similar skills

RuView Model Training next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

RuView Model Training compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
RuView Model Training this skillruvnet/RuView97k—~1.3kAutomated safety check: NotesMIT
AI ML Skillswentorai/research-plugins2981 repos~993Automated safety check: PassMIT
Hugging Face Vision Trainerhuggingface/skills11k1 repos~7.5kAutomated safety check: PassApache-2.0
Hugging Face Transformers Usagedavila7/claude-code-templates32k12 repos~1.2kAutomated safety check: PassMIT
Transformers.jshuggingface/skills11k1 repos~6.2kAutomated safety check: PassApache-2.0
Adapting Transfer Learning Modelsjeremylongshore/tons-of-skills-marketplace2.8k—~1.1kAutomated safety check: PassMIT

Similar skills

  • AI ML Skills

    wentorai/research-plugins

    27 ai & machine learning skills. An agent skill from wentorai/research-plugins.

    298 GitHub starsUsed in 1 repo~993 tokens
    AI & LLM EngineeringAuto-check passed
  • Hugging Face Vision Trainer

    huggingface/skills

    Official

    Trains and fine-tunes object detection, image classification and SAM or SAM2 segmentation models on Hugging Face Jobs cloud GPUs and saves the results to the Hub.

    11k GitHub starsUsed in 1 repo~7.5k tokens
    AI & LLM EngineeringAuto-check passed
  • Hugging Face Transformers Usage

    davila7/claude-code-templates

    Loads pre-trained Hugging Face Transformers models for text, vision and audio tasks, runs inference with pipelines and fine-tunes on custom datasets.

    32k GitHub starsUsed in 12 repos~1.2k tokens
    AI & LLM EngineeringAuto-check passed
  • Transformers.js

    huggingface/skills

    Official

    Runs pre-trained Hugging Face models in JavaScript or TypeScript with Transformers.js, in browsers or Node.js, Bun and Deno, for text, vision, audio and multimodal tasks.

    11k GitHub starsUsed in 1 repo~6.2k tokens
    AI & LLM EngineeringAuto-check passed
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • Discover ML

    rand/cc-polymath

    Automatically discover machine learning and AI skills when working with machine learning, PyTorch, training, inference, RAG, embeddings, fine-tuning, LLM, DSPy, HuggingFace, or diffusion models.

    181 GitHub starsUsed in 1 repo~574 tokens
    AI & LLM EngineeringAuto-check passed

More from ruvnet/RuView

All 24 skills in this repo
  • Reference for RuView's research-grade WiFi sensing features: multistatic fusion, cross-viewpoint geometry, persistent field models, RF tomography, intention signals and mesh security.

    97k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Runs RuView's WiFi sensing applications: presence, vital signs, activity and fall detection, pose estimation, sleep monitoring and environment mapping.

    97k GitHub stars~1.1k tokensUpdated today
    Auto-check: notes
  • Covers the RuView `wifi-densepose` command line binary, its Axum REST API and the WebAssembly builds for browsers and ESP32, for embedding or scripting RuView.

    97k GitHub stars~1.2k tokensUpdated today
    Auto-check: notes
  • Tunes a deployed RuView WiFi-sensing system without changing code: firmware sdkconfig variants, NVS provisioning over serial, channel and MAC filtering, edge processing tiers and mesh slotting.

    97k GitHub stars~1.7k tokensUpdated today
    Auto-check: notes
  • Drives a web browser through the agent-browser CLI, using compact accessibility snapshots with element refs in place of the full DOM to keep context small.

    97k GitHub starsUsed in 4 repos~1.3k tokens
    Auto-check passed
  • Brings a RuView CSI sensing node online by building ESP32-S3 or ESP32-C6 firmware, flashing the board, provisioning WiFi and checking the serial output.

    97k GitHub stars~1.8k tokensUpdated today
    Auto-check: notes

Questions about RuView Model Training

What does RuView Model Training do?

Trains and evaluates several WiFi-signal-based pose and sensing models, from unsupervised pose estimation to domain adaptation and publishing. This skill walks through training the different model types that make up RuView, a system that turns WiFi signals rather than camera video into pose and presence data. Depending on the goal, it offers several tracks: an unsupervised pose model trained only on raw WiFi channel state information with no camera labels; a camera-supervised pose model pairing a webcam running MediaPipe with ESP32-captured signals as ground truth; contrastive embeddings for re-identification and retrieval; a domain-generalization setup letting a model transfer to a new environment without retraining; and a small spiking neural network that adapts to a new room on-device in under 30 seconds.

When should I use RuView Model Training?

RuView Model Training fits situations like: training a WiFi-based pose model without any camera or labels; pairing a webcam and ESP32 to train a more accurate pose model; adapting a trained model to a new room without retraining.

How do I install RuView Model Training in Claude Code?

Run `npx skills add ruvnet/RuView --skill ruview-model-training -a claude-code`. Or copy the skill folder (plugins/ruview/skills/ruview-model-training in ruvnet/RuView) into .claude/skills/ruview-model-training in your project. Claude Code loads it when a task matches its description.

How do I install RuView Model Training in Codex?

Run `npx skills add ruvnet/RuView --skill ruview-model-training -a codex`. Or copy the skill folder (plugins/ruview/skills/ruview-model-training in ruvnet/RuView) into .agents/skills/ruview-model-training in your project. Codex loads it when a task matches its description.

Can I use RuView Model Training in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ruvnet/RuView --skill ruview-model-training -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ruview-model-training, .gemini/skills/ruview-model-training, .github/skills/ruview-model-training and .opencode/skills/ruview-model-training in your project.

What does RuView Model Training need to run?

Going by SKILL.md and its folder, RuView Model Training needs the command-line tools its instructions call (cargo, python, node, bash and gcloud). Our summary lists: ESP32 hardware for signal capture (camera-supervised and contrastive tracks); A MediaPipe pose-landmarker model file. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep.

Does RuView Model Training access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is RuView Model Training safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does RuView Model Training use?

RuView Model Training is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does RuView Model Training use?

About 1.3k tokens (SKILL.md is roughly 5.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to RuView Model Training?

Skills that share tags, products or a category with RuView Model Training: AI ML Skills (wentorai/research-plugins, 298 stars), Hugging Face Vision Trainer (huggingface/skills, 11k stars), Hugging Face Transformers Usage (davila7/claude-code-templates, 32k stars) and Transformers.js (huggingface/skills, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains RuView Model Training?

ruvnet (a GitHub user) maintains it in ruvnet/RuView, which has 96,839 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.

Source: ruvnet/RuView on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.