# Simulink Collect Metrics

Collect and assess quality metrics for Simulink models using the metric.Engine API.

- Repository: https://github.com/matlab/simulink-agentic-toolkit (1305 stars)
- Category: Design
- License: see repository
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add matlab/simulink-agentic-toolkit --skill simulink-collect-metrics -g -a claude-code -y`
Codex: `npx skills add matlab/simulink-agentic-toolkit --skill simulink-collect-metrics -g -a codex -y`
Cursor: `npx skills add matlab/simulink-agentic-toolkit --skill simulink-collect-metrics -g -a cursor -y`
Gemini CLI: `npx skills add matlab/simulink-agentic-toolkit --skill simulink-collect-metrics -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add matlab/simulink-agentic-toolkit`

## Description

Collect and assess quality metrics for Simulink models using the metric.Engine API. Use when evaluating model design quality (maintainability, complexity, architecture) or testing completeness (unit testing, SIL, PIL, coverage, pass rates) after edits or test runs. Covers metric discovery, collection, report generation, and diagnostics. Triggers on: "collect metrics", "quality metrics", "metric.Engine", "testing metrics", "maintainability metrics", "SIL metrics", "PIL metrics", "what metrics are available", "assess quality", "coverage metrics", "generate metric report", "diagnose metric errors".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Collect Quality Metrics

Assess the quality and completeness of model edits and testing work using `metric.Engine`. This skill teaches the canonical workflow for discovering, collecting, and interpreting quality metrics across releases.

## When to Use

- After editing a model, assess maintainability, complexity, or design quality
- After running tests, assess coverage, pass rates, requirements traceability
- When asked to collect or check quality metrics from a MATLAB project
- When diagnosing why metrics show errors or missing data
- When generating metric reports (HTML, PDF)
- When asked what metrics are available for a project

## When NOT to Use

- No MATLAB project is open, `metric.Engine` requires an open project
- Writing or running tests, use `matlab-testing`
- Static code analysis or coding standards, use `matlab-review-code`
- Model Advisor compliance checks, use `checking-model-compliance`
- Building or editing Simulink models, use `building-simulink-models`
- Digital thread configuration (`digitalthread.settings`)
- Requirements authoring (`slreq` APIs)
- Custom metric authoring (writing new metric algorithms)
- Threshold customization

## Workflow

A project must be open before using `metric.Engine`.

### 1. Create Engine

```matlab
me = metric.Engine;
```

One instance per session is sufficient. Do not create multiple engines.

### 2. Attach Progress Monitor (Optional)

For progress visibility during `updateArtifacts`, attach a listener to the project's existing digital thread artifact service.

**Setup:** Add the skill's `scripts/` directory to MATLAB's path **before** creating the monitor:

```matlab
addpath("SKILL_DIR/scripts");
projectRoot = currentProject().RootFolder;
pm = AgentProgressMonitor(projectRoot);
```

Replace `SKILL_DIR` with the absolute path to this skill's directory on disk.

The rest: https://github.com/matlab/simulink-agentic-toolkit/blob/HEAD/skills-catalog/verification-validation-and-test/simulink-collect-metrics/SKILL.md
