SkillAgentSearch skills...

matlab-design-radar

Launch and control the MATLAB Radar Designer app programmatically via MCP

Install / Use

npx skills add matlab/matlab-agentic-toolkit --skill matlab-design-radar

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

90/100

Supported Platforms

Universal

Our assessment of matlab-design-radar

matlab-design-radar scores 90/100 on our quality scale, 1540th of 4,582 Development & Engineering skills we index (top 34%).

Its SKILL.md is 19 KB long, well organised into 37 sections with 8 code examples: a thorough specification that gives an agent plenty to work with.

With 1,098 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
12/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 21 days ago, so matlab-design-radar is actively maintained.
  • No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
  • Its trust signals score 88/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

matlab-design-radar compared with similar skills

All 4 of these similar skills score higher than matlab-design-radar; compare them before choosing.

SkillScoreStarsUpdatedFormat
matlab-design-radar (this skill)by matlab901.1k21d agoSKILL.md
Agent-Reachby Panniantong10092.6k21d agoCLAUDE.md
headroomby headroomlabs-ai10074.5ktodayCLAUDE.md
CowAgentby zhayujie10047.3k1d agoCLAUDE.md
ai-job-searchby MadsLorentzen10045.1k1d agoCLAUDE.md

Frequently asked questions

How do I install matlab-design-radar?
Run npx skills add matlab/matlab-agentic-toolkit --skill matlab-design-radar. The install tabs above show the steps for each supported agent.
Which AI agents does matlab-design-radar work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is matlab-design-radar safe to use?
It declares no license and scores 88/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is matlab-design-radar still maintained?
The repository was last updated 21 days ago, so matlab-design-radar is actively maintained.

name: matlab-design-radar description: Launch and control the MATLAB Radar Designer app programmatically via MCP. Use when designing radar systems, configuring parameters, comparing radar types, analyzing performance metrics, or managing radar design sessions. license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md metadata: author: MathWorks version: "1.0"

Radar Designer MCP Control

Launch and control the MATLAB Radar Designer app programmatically via MCP. Use this skill when a user asks about radar design parameters, wants to configure a radar system, compare radar types, analyze radar performance, or visualize radar metrics interactively in the Radar Designer app.

On Entry

When this skill is first invoked without a specific user request, present the following example prompts to inspire the user:

  1. Design a tracking radar at 5 GHz with 2 MW peak power at 1500 km range for a 1 sq meter target
  2. Compare airport radar performance at 2.8 GHz vs 5.6 GHz — which can achieve 150 km range for a 10 sq meter target?
  3. Set up a weather radar and show how heavy rain (16 mm/hr) degrades detection range
  4. Configure an automotive radar at 77 GHz with electronic scanning for 100 meters range
  5. Add a 200 km max range requirement to my current radar design and check if it meets the objective

Then wait for the user to type their own radar design question.

IMPORTANT

  • Never generate MATLAB scripts for the user that call the wrapper functions directly. These are for the agent's internal use only. When the user asks for a script, use only the built-in export commands via radarDesignerExport.
  • When greeting the user, simply ask about their radar design goals (type, frequency, power, requirements) without referencing the underlying mechanism.

When to Use

  • User asks to design, configure, or analyze a radar system
  • User wants to launch or open the Radar Designer app
  • User asks to change radar parameters (frequency, power, antenna, etc.)
  • User wants to compare different radar types (tracking, airport, airborne, etc.)
  • User asks about radar performance metrics (max range, SNR, detection probability, etc.)
  • User wants to load or save a radar design session (.mat file)
  • User asks about target or environment configuration for radar analysis
  • User wants to set requirements/objectives for a radar design

When NOT to Use

  • User asks about general MATLAB programming unrelated to radar design
  • User wants to use Radar Toolbox functions directly (without the Radar Designer app)
  • User asks about Simulink radar models or Phased Array System Toolbox without the app
  • User wants to create radar waveforms or signals outside the app context
  • User asks about radar theory or equations without wanting to use the app

Prerequisites

  • MATLAB MCP server must be running and connected
  • The mcp__matlab__evaluate_matlab_code tool must be available
  • The Radar Toolbox must be installed in the MATLAB instance
  • The skill's scripts/ directory must be on the MATLAB path (set via project_path)

Code Reference

Consult code-reference.md for detailed code patterns — including multi-radar comparison, session management, export, and range auto-tuning examples. The patterns below are summaries; code-reference.md is authoritative.


Wrapper Scripts

All Radar Designer operations go through 5 p-coded wrapper scripts in scripts/. Always set project_path to the skill's root directory when calling mcp__matlab__evaluate_matlab_code so the scripts are on the MATLAB path.

radarDesignerSession — App lifecycle and sessions

| Action | Call | Returns | |--------|------|---------| | Launch app | h = radarDesignerSession('launch') | App handle h | | Reuse existing | h = radarDesignerSession('launch', h) | Same h if valid | | Start new | radarDesignerSession('startNew', h, templateName) | — | | Save session | radarDesignerSession('save', h, filePath) | — | | Load session | radarDesignerSession('load', h, filePath) | — |

Templates: 'AirborneRadarSpec', 'AirportRadarSpec', 'AutomotiveRadarSpec', 'TrackingRadarSpec', 'WeatherRadarSpec'

radarDesignerParam — Get/set parameters and requirements

| Action | Call | Returns | |--------|------|---------| | Set parameter | radarDesignerParam(h, 'set', specType, propName, value) | — | | Get parameter | val = radarDesignerParam(h, 'get', specType, propName) | Property value | | Set requirement | radarDesignerParam(h, 'setRequirement', reqIndex, propName, value) | — |

specType: 'Radar', 'Target', 'Environment'

radarDesignerResults — Read results and auto-tune

| Action | Call | Returns | |--------|------|---------| | Read results | T = radarDesignerResults(h, 'read') | Table (16 metrics) | | Auto-tune range | result = radarDesignerResults(h, 'autoTune', range_m) | Struct |

Results table columns: Metric, Units, Threshold, Objective, Result_<radarName>, Status_<radarName> (PASS/WARN/FAIL)

Auto-tune result fields: requestedRange_km, achievedRange_km, ratio, converged

radarDesignerMultiRadar — Multiple radar management

| Action | Call | Returns | |--------|------|---------| | Add template | radarDesignerMultiRadar(h, 'add', templateName) | — | | Clone current | radarDesignerMultiRadar(h, 'clone') | — | | Select by index | radarDesignerMultiRadar(h, 'select', index) | — | | Delete current | radarDesignerMultiRadar(h, 'delete') | — | | List names | names = radarDesignerMultiRadar(h, 'names') | Cell array |

Add templates: 'AirborneRadar', 'AirportRadar', 'AutomotiveRadar', 'TrackingRadar', 'WeatherRadar'

radarDesignerExport — Built-in export

| Action | Call | Description | |--------|------|-------------| | SNR vs Range | radarDesignerExport(h, 'snr') | Opens SNR vs Range script in editor | | Metrics Report | radarDesignerExport(h, 'report') | Opens Radar Metrics Report | | Vertical Coverage | radarDesignerExport(h, 'coverage') | Opens Vertical Coverage script | | Range-Doppler Grid | radarDesignerExport(h, 'rdgrid') | Opens Range-Doppler Grid script |


Workflow

Step 1: Launch the App

h = radarDesignerSession('launch');

Always check if h already exists:

if ~exist('h','var') || ~isvalid(h)
    h = radarDesignerSession('launch');
end

Step 2: Select a Radar Template

radarDesignerSession('startNew', h, 'TrackingRadarSpec');

Step 3: Set Parameters

radarDesignerParam(h, 'set', 'Radar', 'Frequency', 5e9);     % 5 GHz
radarDesignerParam(h, 'set', 'Radar', 'PeakPower', 2e6);     % 2 MW
radarDesignerParam(h, 'set', 'Target', 'RCS', 1);             % 1 m²
radarDesignerParam(h, 'set', 'Environment', 'RainRate', 4);   % 4 mm/hr

All values in SI units: frequency in Hz, power in W, range in m, etc.

Step 3a: Map User Objectives to Requirements

When the user states a performance goal, set it as the Threshold on the matching requirement.

| User says | Req Index | Example call | |-----------|-----------|--------------| | "150 km range" | 2 (MaxRange) | radarDesignerParam(h, 'setRequirement', 2, 'Threshold', 150e3) | | "10 m range resolution" | 6 (RangeResolution) | radarDesignerParam(h, 'setRequirement', 6, 'Threshold', 10) | | "0.5° azimuth accuracy" | 10 (AzimuthAccuracy) | radarDesignerParam(h, 'setRequirement', 10, 'Threshold', 0.5) | | "100 m/s first blind speed" | 7 (FirstBlindSpeed) | radarDesignerParam(h, 'setRequirement', 7, 'Threshold', 100) | | "5 km min range" | 4 (MinRange) | radarDesignerParam(h, 'setRequirement', 4, 'Threshold', 5e3) |

Set both Threshold and Objective to the same value unless the user distinguishes a minimum acceptable (Threshold) from a desired goal (Objective).

Step 3b: Range Auto-Tuning (MANDATORY when user specifies a range)

If the user specifies a target range, you MUST run auto-tune BEFORE reading/reporting results:

result = radarDesignerResults(h, 'autoTune', 300e3);  % 300 km target

The auto-tune adjusts peak power (and gain if needed) so the achieved range is within ±15% of the user's request. It also sets the MaxRange requirement threshold to the user's requested range.

Skip this step ONLY if the user did not mention a specific range target.

Step 4: Read Analysis Results

T = radarDesignerResults(h, 'read');

The returned table has 16 rows (one per metric) with columns: Metric, Units, Threshold, Objective, and per-radar Result_<name> and Status_<name> columns.

Status values: PASS (meets objective), WARN (between threshold and objective), FAIL (does not meet threshold).

Step 5: Multi-Radar, Sessions, Export

See code-reference.md for complete patterns.


Complete Property Reference

Radar Properties (Settable)

Waveform

| Property | Description | Units | Example | |----------|-------------|-------|---------| | Frequency | Carrier frequency | Hz | 3e9 | | PulseBandwidth | Pulse bandwidth | Hz | 20e6 | | PeakPower | Peak transmit power | W | 15e6 | | pulsewidth | Pulse duration | s | 1e-3 | | prf | Pulse repetition frequency | Hz | 1000 | | CarrierWaveInput | Input type for carrier wave | enum | 'Frequency' or 'Wavelength' | | PowerInput | Input type for power | enum | 'PeakPower' or 'AveragePower' | | PulseDurationInput | Input type for duration | enum | 'PulseWidth' or 'DutyCycle' | | PulseRepetitionInput | Input type for PRF | enum | 'PRF' or 'PRI' |

Noise

| Property | Description | Units | Example | |----------|-------------|-------|---------| | SystemNoiseInput | Noise input type | enum | 'Temperature' or 'Figure' | | NoiseTemperature | System noise temperature | K | 290 | | referenceNoiseTemperature | Reference noise temp | K | 290 | | QuantizationNoise | Enable quantization noise | logical | true/false | | QuantizationNumBits | ADC bits | integer | 12 | | QuantizationDynamicRange | ADC dynamic range | dB | 60 |

Antenna

| Property | Description | Units | Example | |----------|-------------|-------|---------| | AntennaHeight | Antenna height above ground | m | 75 | | TiltAngle | Antenna tilt angle | deg | 0 | | Polarization | Antenna polarization | enum | 'H', 'V', 'Circular' | | TxGain | Transmit antenna gain | dBi | 40 | | TxAzBeamwidth | Tx azimuth beamwidth | deg | 2 | | TxElBeamwidth | Tx elevation beamwidth | deg | 2 | | DifferentRx | Use different Rx antenna | logical | false | | RxGain | Receive antenna gain | dBi | 40 | | RxAzBeamwidth | Rx azimuth beamwidth | deg | 2 | | RxElBeamwidth | Rx elevation beamwidth | deg | 2 | | TxGainInput | Tx gain input mode | enum | 'GainBeamwidth', 'GainOnly', 'Imported' | | RxGainInput | Rx gain input mode | enum | 'GainBeamwidth', 'GainOnly', 'Imported' | | TxSincInput | Tx sinc pattern option | enum | 'Sinc' or 'Gaussian' |

Scanning

| Property | Description | Units | Example | |----------|-------------|-------|---------| | Scanning | Scan type | enum | 'None', 'Mechanical', 'Electronic' | | AzScanSectorMech | Mechanical az scan sector | deg | 360 | | AzScanSectorElec | Electronic az scan sector | deg | 120 | | ElScanStart | Elevation scan start | deg | 0 | | ElScanStop | Elevation scan stop | deg | 30 |

Detection

| Property | Description | Units | Example | |----------|-------------|-------|---------| | Pfa | Probability of false alarm | probability | 1e-6 | | NumPulses | Number of pulses integrated | integer | 10 | | PulseIntegration | Integration type | enum | 'Coherent', 'Noncoherent' | | NumCPIs | Number of CPIs | integer | 1 | | BinaryIntegration | Enable binary integration | logical | false | | NumBinaryDetections | Binary de

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated21d ago
Forks134

Languages

MATLAB

Trust signals

88/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 medium
matlab-design-radar — Universal Skill: Install & Safety Check | SkillAgent