Skip to content
Back to skills

Simulate Scene

ASecurity

Use when the user wants a test signal or a simulated RF environment with no hardware — translate intent into a scene and register it as a persistent simulated device.

  • 48 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 6, 2026
toolsgogit

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add yoelbassin/gr-mcp --skill simulate-scene --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Simulate Scene?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Simulate Scene
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yoelbassin-simulate-scene/badge)](https://www.skillsdirectory.com/skills/yoelbassin-simulate-scene)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: simulate-scene
description: Use when the user wants a test signal or a simulated RF environment with no hardware — translate intent into a scene and register it as a persistent simulated device.
---

# Simulate Scene

Create a simulated device whose "on-air" contents you control. This is the no-hardware on-ramp, and a real workflow in its own right: prototype a receiver against known ground truth before going on-air, or reproduce a colleague's scenario without their antenna.

## Method

1. **Translate intent into elements.** Each element is `{kind, freq, amplitude, params}`:
   - `tone` — an unmodulated carrier at `freq`.
   - `fm_tone` — an NBFM voice carrier; `params.mod_freq` is the modulating audio tone (e.g. 1000 for 1 kHz). Renders only when the capture `sample_rate` is a multiple of 100000.
   - `noise` — a noise floor (`freq` ignored).
   - `iq_file` — replay a recorded capture (usually created via transmit, not by hand).
2. **Always add a noise floor.** Include a `noise` element (amplitude ≈ 0.005). A noiseless scene produces analysis artifacts (phantom sidebands) that confuse survey-spectrum.
3. **Register it.** `simulate_scene(device_id, elements)`. The scene is saved to `scenes/<device_id>.yaml` and the device reappears in later sessions — it's a shareable, git-friendly fixture.
4. **Verify the scene is what you intended.** `capture` the device and run survey-spectrum; confirm the signals land where you placed them.

## Judgment

- Keep amplitudes sane: a strong carrier ≈ 1.0, a weaker one ≈ 0.3–0.5, noise ≈ 0.005. Huge dynamic range makes weak signals invisible.
- Place signals comfortably inside the captured band — elements beyond ±45% of the sample rate from the center are skipped at render time.
- Name devices for what they represent (`fm_band`, `ism_test`), since the name becomes the scene filename.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.