Specify algorithms for Model-Based Design: system specs, architecture specs, implementation plans, test plans. Use when creating specifications for controllers, signal processing, diagnostics, estimators, or other algorithms authored in Simulink, Stateflow, System Composer, or MATLAB Function blocks.
npx skills add https://github.com/matlab/simulink-agentic-toolkit --skill specifying-mbd-algorithms
Structured specification of algorithms for Model-Based Design. Adapts the specifying-software templates for the MBD algorithm domain.
building-simulink-modelstesting-simulink-modelsspecifying-plant-modelsspecifying-softwarespecifying-plant-models for the plant sideStore specs per algorithm. Prefix every filename with the algorithm name:
docs/specs/algorithms/<algorithm-name>/
├── <algorithm-name>-system.md
├── <algorithm-name>-architecture.md
├── <algorithm-name>-implementation-plan.md
└── <algorithm-name>-test-plan.md
> Is this a single-function algorithm with <3 operating modes, single-rate, and will be built by one person/agent?
> - Yes → Quick spec: 2 documents (system+architecture combined, implementation+test combined)
> - No → Full spec: 4 separate documents
Identify what this algorithm connects to. If an existing system exists, read it with model_overview and model_read. If greenfield, define the boundary from requirements.
Classify every signal crossing the algorithm boundary:
Establish what the algorithm must achieve — tracking performance, bandwidth, disturbance rejection, detection thresholds, processing latency, etc. These are the acceptance criteria that drive architecture decisions and test plan design.
Use web_search to confirm key equations, standards, or conventions referenced in the spec. Record confirmed sources in Appendix B: Research Notes.
Skip when: algorithm is purely logic-based, domain is well-known, or no equations are involved.
Template: references/system-spec-template.md
Review gate before proceeding — verify:
Template: references/architecture-spec-template.md
Review gate before finalizing — verify:
Required: API Verification for any API, function, or block behavior not already used in neighboring code. Test actual signatures and behavior using evaluate_matlab_code, web_search, or existing codebase usage. Record in Appendix B of the architecture spec.
Templates: references/implementation-plan-template.md, references/test-plan-template.md
Review gate — Implementation Plan — verify:
Review gate — Test Plan — verify:
Get user approval before implementation begins.
When updating specs: check affected sections, update them, update "Last Updated" date, review for consistency with other specs.
For guidance on when to create optional specs (detailed spec, component spec), see references/spec-types.md. Create a detailed spec when architecture is blocked by: control law definition, state machine definition, or interface contract.
references/system-spec-template.md — System spec template (what & why)references/architecture-spec-template.md — Architecture template (functional decomposition)references/implementation-plan-template.md — Build sequence templatereferences/test-plan-template.md — Validation plan templatereferences/algorithm-guidance.md — Optional domain research checklistreferences/detailed-spec-template.md — Control law, state machine, or interface contract (use when architecture is blocked)references/component-spec-template.md — Complex component internals (rarely needed)----
Copyright 2026 The MathWorks, Inc.
----
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Comprehensive GitHub release orchestration with AI swarm coordination for automated versioning, testing, deployment, and rollback management
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
Modern JavaScript/TypeScript development with Bun runtime. Covers package management, bundling, testing, and migration from Node.js. Use when working with Bun, optimizing JS/TS development speed, or migrating from Node.js to Bun.
You are a dependency management expert specializing in safe, incremental upgrades of project dependencies. Plan and execute dependency updates with minimal risk, proper testing, and clear migration pa
Master systematic debugging techniques, profiling tools, and root cause analysis to efficiently track down bugs across any codebase or technology stack. Use when investigating bugs, performance issues, or unexpected behavior.
Opinionated backend development standards for Node.js + Express + TypeScript microservices. Covers layered architecture, BaseController pattern, dependency injection, Prisma repositories, Zod validation, unifiedConfig, Sentry error tracking, async safety, and testing discipline.
Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns.
Take matlab/specifying-mbd-algorithms from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.