SkillAgentSearch skills...

configuring-block-policy

Guide users through creating and managing .satk/block-policy.json for controlling which blocks the agent can use, which are excluded, and which block parameters the agent should not modify

Install / Use

npx skills add matlab/simulink-agentic-toolkit --skill configuring-block-policy

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

87/100

Supported Platforms

Universal

Tags

Our assessment of configuring-block-policy

configuring-block-policy scores 87/100 on our quality scale, 1793rd of 4,615 Development & Engineering skills we index (top 39%).

Its SKILL.md is 3.7 KB long, well organised into 10 sections with 3 code examples: a solid amount of guidance for an agent.

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

Substance
26/30
Structure
18/20
Description
15/15
Adoption
13/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 16 days ago, so configuring-block-policy 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.

configuring-block-policy compared with similar skills

All 4 of these similar skills score higher than configuring-block-policy; compare them before choosing.

SkillScoreStarsUpdatedFormat
configuring-block-policy (this skill)by matlab871.1k16d agoSKILL.md
ai-job-searchby MadsLorentzen10044.9k1d agoCLAUDE.md
claude-howtoby luongnv8910041.7k3d agoCLAUDE.md
algorithmic-artby anthropics100177.9k11d agoSKILL.md
pptxby anthropics100177.9k11d agoSKILL.md

Frequently asked questions

How do I install configuring-block-policy?
Run npx skills add matlab/simulink-agentic-toolkit --skill configuring-block-policy. The install tabs above show the steps for each supported agent.
Which AI agents does configuring-block-policy 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 configuring-block-policy 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 configuring-block-policy still maintained?
The repository was last updated 16 days ago, so configuring-block-policy is actively maintained.

name: configuring-block-policy description: Guide users through creating and managing .satk/block-policy.json for controlling which blocks the agent can use, which are excluded, and which block parameters the agent should not modify. Use when setting up block usage policy for a project. license: https://www.mathworks.com/content/dam/mathworks/license/pmrl/license.md metadata: author: MathWorks version: "1.1"

Configuring Block Policy

Create or update .satk/block-policy.json — the file that controls which blocks (library or built-in) the agent can use, which are excluded, and which block parameters the agent should not modify.

When to Use

  • User asks to set up, create, or configure block policy
  • User asks to restrict or exclude blocks
  • User wants to prevent the agent from modifying certain block parameters
  • building-simulink-models routes here via the policy gate

When NOT to Use

  • Actively building a model → building-simulink-models
  • Improving block descriptions or categories → simulink-curating-library-kg
  • Declaring which libraries exist → Library Setup gate in building-simulink-models

Prerequisites

  • .satk/reuse-libraries.json must exist.

Workflow

  1. Check state — Does .satk/block-policy.json exist? If yes, load and summarize. If no, start fresh.
  2. Policy mode — (skip if no libraries specified) Ask: prefer libraries with built-in fallback, or custom libraries blocks only (no fallback)?
  3. Excluded blocks (optional) — Are there any blocks (library or built-in) that should never be placed in your models? Collect referenceBlock + reason.
  4. Off-limits parameters (optional) — Are there any block parameters you don't want the agent to modify? Collect referenceBlock + protectedParams[].
  5. Save — Validate and write with library.BlockPolicy.save().

API

policyData = struct();
policyData.policyMode = 'approved_blocks_only';
policyData.fallbackToBuiltins = false;
% Excluded — agent will never place these blocks
policyData.blockedBlocks = struct('referenceBlock', 'LegacyLib/OldCtrl', 'reason', 'Superseded');
% Protected params — agent won't modify these values
policyData.blockRules = struct('referenceBlock', 'Lib/SpeedCtrl', ...
    'protectedParams', {{'Kp', 'Ki', 'Kd'}});

library.BlockPolicy.save(projectRoot, policyData);

For defaults (no restrictions):

policyData = library.BlockPolicy.defaults();
library.BlockPolicy.save(projectRoot, policyData);

Schema

{
  "schemaVersion": 1,
  "policyMode": "approved_blocks_only | prefer_customer_libraries",
  "fallbackToBuiltins": false,
  "blockedBlocks": [
    { "referenceBlock": "LegacyLib/OldController", "reason": "Superseded" }
  ],
  "blockRules": [
    { "referenceBlock": "Lib/SpeedController", "protectedParams": ["Kp", "Ki", "Kd", "SampleTime"] }
  ]
}

Validation Rules

  • policyMode: must be prefer_customer_libraries or approved_blocks_only
  • approved_blocks_only + fallbackToBuiltins: true → rejected (contradictory)
  • protectedParams must be a non-empty array of strings
  • Malformed policy → error (never silently ignored)

Updating an Existing Policy

When .satk/block-policy.json already exists:

  1. Load with library.BlockPolicy.loadRaw(projectRoot, libConfig)
  2. Summarize current state — do NOT re-run the full wizard
  3. Ask what to change, apply to existing struct, save

Common updates: exclude a block, mark params as off-limits, change mode, remove an entry.

Guardrails

  • Never write block-policy.json without user confirmation
  • Always validate before saving (library.BlockPolicy.validate(policyData))
  • If user provides a block name without the full library path, look it up in the KG to resolve the referenceBlock

Copyright 2026 The MathWorks, Inc.


Related Skills

View on GitHub
GitHub Stars1.1k
CategoryDevelopment
Updated16d ago
Forks106

Languages

HTML

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