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-radarInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Development & EngineeringSupported Platforms
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.
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.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| matlab-design-radar (this skill)by matlab | 90 | 1.1k | 21d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 92.6k | 21d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.5k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.3k | 1d ago | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 45.1k | 1d ago | CLAUDE.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.
Skill content
View source on GitHubname: 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:
- Design a tracking radar at 5 GHz with 2 MW peak power at 1500 km range for a 1 sq meter target
- Compare airport radar performance at 2.8 GHz vs 5.6 GHz — which can achieve 150 km range for a 10 sq meter target?
- Set up a weather radar and show how heavy rain (16 mm/hr) degrades detection range
- Configure an automotive radar at 77 GHz with electronic scanning for 100 meters range
- 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_codetool 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 viaproject_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
Agent-Reach
92.6kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.5kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.3kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
ai-job-search
45.1kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
